> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.hrizn.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get publish data

> Get the complete publish payload for CMS integration

Returns a unified publish payload containing everything needed to push content to a CMS or website: article metadata, publishing status, taxonomy, images, social tags, rendered HTML body, SEO meta tags, and structured data (JSON-LD schema).

**Scope required:** `content:read`

<Warning>
  Returns `404` if the content is not published or scheduled. Use [List published content](/api-reference/content/list-published) to discover available content first.
</Warning>

## Path parameters

<ParamField path="id" type="string" required>UUID of the content.</ParamField>

## Response

The response is a single object with the following top-level sections:

<ResponseField name="article" type="object">
  Core article metadata: `id`, `title`, `article_type`, `created_at`, `updated_at`.
</ResponseField>

<ResponseField name="publishing" type="object">
  Publishing state: `status` (`published` or `scheduled`), `slug`, `canonical_url`, `date` (ISO 8601, UTC), `published_at` (ISO 8601, UTC).
</ResponseField>

<Info>
  All date and time fields — including scheduled post dates — are returned in **UTC** with a `+00:00` offset. Convert to the appropriate local timezone on your side before displaying to end users.
</Info>

<ResponseField name="taxonomy" type="object">
  Content classification: `blog_tags` (string array), `blog_categories` (string array), `keywords` (string array).
</ResponseField>

<ResponseField name="images" type="object">
  Resolved image URLs: `featured`, `og`, `twitter`. Each is a fully-qualified URL or `null`.
</ResponseField>

<ResponseField name="social" type="object">
  Social sharing metadata: `og_title`, `og_description`, `twitter_title`, `twitter_description`.
</ResponseField>

<ResponseField name="body_html" type="string | null">
  The full rendered HTML body, ready for CMS embedding. For visual builder content this is the pre-rendered layout HTML; for markdown content it includes Bootstrap table classes and a Hrizn attribution tag.
</ResponseField>

<ResponseField name="seo_html" type="string | null">
  Rendered SEO meta tag HTML string (title, og, twitter meta tags) for injection into the page `<head>`.
</ResponseField>

<ResponseField name="schema" type="object | null">
  JSON-LD structured data (`@context`, `@graph` with `NewsArticle`, `Author`, `Organization`, etc.).
</ResponseField>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "data": {
      "article": {
        "id": "bccf2a98-55ad-437d-b0dc-d505d95c88cf",
        "title": "Land Cruiser vs Bronco Face-Off: Rugged Luxury or Off-Road Fun?",
        "article_type": "comparison",
        "created_at": "2026-02-13T22:56:41.872443+00:00",
        "updated_at": "2026-04-11T15:45:37.297587+00:00"
      },
      "publishing": {
        "status": "published",
        "slug": "land-cruiser-vs-bronco-rock-hill-comparison",
        "canonical_url": "https://www.toyotarockhill.com/land-cruiser-vs-bronco-rock-hill-comparison",
        "date": "2026-04-11T15:45:37.264+00:00",
        "published_at": "2026-04-11T15:45:37.264+00:00"
      },
      "taxonomy": {
        "blog_tags": ["Toyota Land Cruiser", "Ford Bronco", "SUV Comparison"],
        "blog_categories": ["Vehicle Comparisons"],
        "keywords": ["land cruiser vs bronco", "toyota suv comparison"]
      },
      "images": {
        "featured": "https://assets.hrizn.io/public/media-library/9c894353.../featured.png",
        "og": "https://assets.hrizn.io/public/media-library/9c894353.../og.png",
        "twitter": "https://assets.hrizn.io/public/media-library/9c894353.../twitter.png"
      },
      "social": {
        "og_title": "Challenge the Trails: Land Cruiser vs. Bronco Showdown!",
        "og_description": "Dive into the ultimate showdown at Toyota of Rock Hill! Is the Land Cruiser's rugged luxury your style, or do you crave the Bronco's off-road thrills?",
        "twitter_title": "Rugged Meets Refined: Land Cruiser or Bronco for Your Next Adventure?",
        "twitter_description": "Who reigns supreme on the off-road trails? Compare the Toyota Land Cruiser and Ford Bronco at Toyota of Rock Hill."
      },
      "body_html": "<h2>Land Cruiser vs Bronco Face-Off</h2><p>When it comes to choosing between these two iconic SUVs...</p>",
      "seo_html": "<!-- Title Tags -->\n<title>Toyota Land Cruiser vs Ford Bronco in Rock Hill SC | Toyota of Rock Hill</title>\n<meta property=\"og:title\" content=\"Challenge the Trails: Land Cruiser vs. Bronco Showdown!\" />",
      "schema": {
        "@context": "https://schema.org",
        "@graph": [
          {
            "@type": "NewsArticle",
            "@id": "#article",
            "headline": "Land Cruiser vs Bronco Face-Off: Rugged Luxury or Off-Road Fun?",
            "datePublished": "2026-02-13T22:56:41.872Z",
            "dateModified": "2026-04-11T15:43:39.100Z"
          }
        ]
      }
    }
  }
  ```
</ResponseExample>

<Tip>
  Subscribe to the `content.published` webhook event to automatically trigger a CMS sync whenever content is published. Then call this endpoint to fetch the full payload.
</Tip>


## OpenAPI

````yaml GET /content/{id}/publish-data
openapi: 3.1.0
info:
  title: Hrizn Public API
  version: 1.2.0
  description: >
    The Hrizn Public API allows partners to programmatically create content,
    manage inventory descriptions, and integrate with the Hrizn platform.


    All endpoints are prefixed with `/public` and require an API key passed via
    the `X-API-Key` header (except the health check).
  contact:
    email: support@hrizn.io
servers:
  - url: https://api.app.hrizn.io/v1/public
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: IdeaClouds
    description: Create and manage AI-powered keyword research
  - name: Content Intelligence
    description: AI-powered content gap analysis and recommendations
  - name: Content
    description: Generate content from IdeaClouds
  - name: Compliance
    description: Run OEM compliance checks on content
  - name: Content Tools
    description: Generate SEO metadata, schemas, and social snippets
  - name: Inventory
    description: Access vehicle data and AI descriptions
  - name: Site
    description: View dealership details and configuration
  - name: Webhooks
    description: Manage webhook subscriptions for real-time events
  - name: Reference
    description: Look up available types, scopes, and events
  - name: Social
    description: >-
      Zernio-backed social posting and reviews across all connected platforms
      (X, Facebook, Instagram, LinkedIn, Google Business Profile)
  - name: Health
    description: Health check (no authentication)
paths:
  /content/{id}/publish-data:
    get:
      tags:
        - Content
      summary: Get publish data
      description: >
        Returns the complete publish payload for a single content item including
        article metadata,

        publishing status, taxonomy, images, social tags, rendered HTML body,
        SEO meta tags,

        and JSON-LD structured data. Returns 404 if the content is not published
        or scheduled.
      operationId: getPublishData
      parameters:
        - $ref: '#/components/parameters/ContentId'
      responses:
        '200':
          description: Complete publish payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishDataResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  parameters:
    ContentId:
      name: id
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Content ID
  schemas:
    PublishDataResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            article:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                title:
                  type: string
                article_type:
                  $ref: '#/components/schemas/ArticleType'
                created_at:
                  type: string
                  format: date-time
                updated_at:
                  type: string
                  format: date-time
            publishing:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - published
                    - scheduled
                slug:
                  type: string
                  nullable: true
                canonical_url:
                  type: string
                  nullable: true
                date:
                  type: string
                  format: date-time
                  nullable: true
                  description: Publish or scheduled date (ISO 8601, UTC)
                published_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Timestamp when first published (ISO 8601, UTC)
            taxonomy:
              type: object
              properties:
                blog_tags:
                  type: array
                  items:
                    type: string
                blog_categories:
                  type: array
                  items:
                    type: string
                keywords:
                  type: array
                  items:
                    type: string
            images:
              type: object
              properties:
                featured:
                  type: string
                  nullable: true
                  description: Fully-resolved featured image URL
                og:
                  type: string
                  nullable: true
                  description: Open Graph image URL
                twitter:
                  type: string
                  nullable: true
                  description: Twitter card image URL
            social:
              type: object
              properties:
                og_title:
                  type: string
                  nullable: true
                og_description:
                  type: string
                  nullable: true
                twitter_title:
                  type: string
                  nullable: true
                twitter_description:
                  type: string
                  nullable: true
            body_html:
              type: string
              nullable: true
              description: Full rendered HTML body ready for CMS embedding
            seo_html:
              type: string
              nullable: true
              description: Rendered SEO meta tag HTML for injection into page head
            schema:
              type: object
              nullable: true
              description: JSON-LD structured data
    ArticleType:
      type: string
      enum:
        - basic
        - qa
        - expert
        - modellanding
        - comparison
        - salesevent
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: validation_error
            message:
              type: string
              example: 'keyword: Required'
            details:
              type: object
            request_id:
              type: string
  responses:
    BadRequest:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: API key lacks required scope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Hrizn API key (prefix hzk_)

````