Skip to main content
content:read The content:read scope grants read-only access to content and its associated data. This includes listing content, viewing individual content details, retrieving rendered HTML, accessing component data, and viewing compliance reports.

Endpoints

MethodPathDescription
GET/public/contentList content
GET/public/content/{id}Get content details
GET/public/content/{id}/htmlGet rendered HTML
GET/public/content/{id}/componentsGet all components
GET/public/content/{id}/complianceGet compliance report

List content

GET /public/content
Returns a paginated list of content for your site.

Query parameters

NameTypeDefaultDescription
limitinteger25Number of results to return (1-100)
cursorstringBase64-encoded cursor from a previous response
article_typestringFilter by article type (e.g. basic, qa, expert)

Example

curl "https://api.app.hrizn.io/v1/public/content?limit=10&article_type=basic" \
  -H "X-API-Key: hzk_your_key_here"

Response — 200 OK

{
  "data": [
    {
      "id": "1dd329f4-2f1c-482c-9ecf-795d4c1ed912",
      "title": "Understanding the 2026 Toyota Corolla Cross Hybrid's Fuel Efficiency",
      "article_type": "basic",
      "status": "complete",
      "category": null,
      "created_at": "2026-02-28T02:50:41.350326+00:00",
      "updated_at": "2026-02-28T02:55:22.397143+00:00"
    },
    {
      "id": "52ea1ca9-0c9b-48ae-aa7d-1b4e009af364",
      "title": "Comparing 2026 Toyota and Chevrolet Trucks: What Rock Hill Drivers Need to Know",
      "article_type": "basic",
      "status": "complete",
      "category": { "id": "6e4f43af-dd6a-4a81-a1bf-555c7c98afe0", "name": "toyota vs chevy trucks" },
      "created_at": "2026-02-26T18:10:54.938675+00:00",
      "updated_at": "2026-02-28T02:11:24.34567+00:00"
    }
  ],
  "pagination": {
    "has_more": true,
    "next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAy...",
    "total_count": 154
  }
}

Status codes

CodeDescription
200Success
401Missing or invalid API key
403API key does not have content:read scope
500Internal server error

Get content details

GET /public/content/{id}
Returns full details for a single content item including its component summary.

Path parameters

NameTypeRequiredDescription
idstring (UUID)YesContent ID

Example

curl https://api.app.hrizn.io/v1/public/content/1dd329f4-2f1c-482c-9ecf-795d4c1ed912 \
  -H "X-API-Key: hzk_your_key_here"

Response — 200 OK

{
  "data": {
    "id": "1dd329f4-2f1c-482c-9ecf-795d4c1ed912",
    "title": "Understanding the 2026 Toyota Corolla Cross Hybrid's Fuel Efficiency",
    "status": "complete",
    "article_type": "basic",
    "category": null,
    "ideacloud": {
      "id": "a1186354-df73-44bc-8c02-22f07991822f",
      "keyword": "2026 Toyota Corolla Cross Hybrid fuel economy"
    },
    "metadata": {
      "tone": "Informative",
      "source": "public_api",
      "language": "English",
      "maxTokens": 8000,
      "api_key_id": "4162c8a1-e6c1-4c26-94c1-921ed3c103c9",
      "api_creator_label": "API - David Gruhin (dgruhin@hrizn.io)",
      "research_graph_id": "a1186354-df73-44bc-8c02-22f07991822f",
      "selected_question_ids": [
        "q-1772246824308-0",
        "q-1772246824308-1",
        "q-1772246824308-2"
      ]
    },
    "components": [
      { "type": "body", "status": "complete", "updated_at": "2026-02-28T02:55:22.432434+00:00" },
      { "type": "searchIntent", "status": "complete", "updated_at": "2026-02-28T02:55:23.53137+00:00" },
      { "type": "imagePrompt", "status": "complete", "updated_at": "2026-02-28T02:55:27.232454+00:00" }
    ],
    "created_at": "2026-02-28T02:50:41.350326+00:00",
    "updated_at": "2026-02-28T02:55:22.397143+00:00"
  }
}

Status codes

CodeDescription
200Success
400Content ID is required
401Missing or invalid API key
403API key does not have content:read scope
404Content not found or belongs to a different site
500Internal server error

Get rendered HTML

GET /public/content/{id}/html
Returns the content’s body as HTML. By default the response is wrapped in a JSON envelope. Send Accept: text/html to receive raw HTML.

Path parameters

NameTypeRequiredDescription
idstring (UUID)YesContent ID

Example — JSON response

curl https://api.app.hrizn.io/v1/public/content/d4e5f6a7-b8c9-0123-def0-456789abcdef/html \
  -H "X-API-Key: hzk_your_key_here"

Response — 200 OK (JSON)

{
  "data": {
    "id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
    "html": "<h1>2026 Honda Civic vs Toyota Corolla</h1><p>When it comes to choosing between these two compact sedans...</p>",
    "component_status": "completed",
    "updated_at": "2026-02-01T15:25:30Z"
  }
}

Example — Raw HTML response

curl https://api.app.hrizn.io/v1/public/content/d4e5f6a7-b8c9-0123-def0-456789abcdef/html \
  -H "X-API-Key: hzk_your_key_here" \
  -H "Accept: text/html"
Returns raw HTML with Content-Type: text/html.

Status codes

CodeDescription
200Success
400Content ID is required
401Missing or invalid API key
403API key does not have content:read scope
404Content not found or body component not available
500Internal server error

Get all components

GET /public/content/{id}/components
Returns all generated components for content, or a single component if a type is specified.

Path parameters

NameTypeRequiredDescription
idstring (UUID)YesContent ID
To retrieve a single component, append the type to the path:
GET /public/content/{id}/components/{type}
NameTypeRequiredDescription
typestringNoComponent type (e.g. body, seoMetadata, articleSchema). Case-insensitive.
See Component Types for all available types.

Example — All components

curl https://api.app.hrizn.io/v1/public/content/d4e5f6a7-b8c9-0123-def0-456789abcdef/components \
  -H "X-API-Key: hzk_your_key_here"

Response — 200 OK (all components)

{
  "data": {
    "components": [
      {
        "id": "c1a2b3c4-d5e6-7890-abcd-ef1234567890",
        "type": "body",
        "content": "## Understanding the 2026 Toyota Corolla Cross Hybrid's Fuel Efficiency\n\nThe 2026 Toyota Corolla Cross Hybrid stands out...",
        "metadata": {},
        "status": "complete",
        "created_at": "2026-02-28T02:50:41.350326+00:00",
        "updated_at": "2026-02-28T02:55:22.432434+00:00"
      },
      {
        "id": "d2b3c4d5-e6f7-8901-bcde-f12345678901",
        "type": "searchIntent",
        "content": "Informational Intent",
        "metadata": {},
        "status": "complete",
        "created_at": "2026-02-28T02:50:41.350326+00:00",
        "updated_at": "2026-02-28T02:55:23.53137+00:00"
      }
    ]
  }
}

Example — Single component

curl https://api.app.hrizn.io/v1/public/content/d4e5f6a7-b8c9-0123-def0-456789abcdef/components/SeoMetadata \
  -H "X-API-Key: hzk_your_key_here"

Response — 200 OK (single component)

{
  "data": {
    "id": "d2b3c4d5-e6f7-8901-bcde-f12345678901",
    "type": "seoMetadata",
    "content": "<!-- Title Tags -->\n<title>Understanding the 2026 Toyota Corolla Cross Hybrid's Fuel Efficiency</title>\n<meta property=\"og:title\" content=\"...\" />",
    "metadata": {},
    "status": "complete",
    "created_at": "2026-02-28T02:50:41.350326+00:00",
    "updated_at": "2026-02-28T02:55:23.53137+00:00"
  }
}

Status codes

CodeDescription
200Success
400Content ID is required
401Missing or invalid API key
403API key does not have content:read scope
404Content or component type not found
500Internal server error

Get compliance report

GET /public/content/{id}/compliance
Returns the compliance check report for content. If no check has been run, the status is not_checked.

Path parameters

NameTypeRequiredDescription
idstring (UUID)YesContent ID

Example

curl https://api.app.hrizn.io/v1/public/content/d4e5f6a7-b8c9-0123-def0-456789abcdef/compliance \
  -H "X-API-Key: hzk_your_key_here"

Response — 200 OK (check completed)

{
  "data": {
    "article_id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
    "status": "completed",
    "report": {
      "score": 92,
      "issues": [
        {
          "severity": "warning",
          "rule": "pricing_accuracy",
          "message": "Price mentioned may be outdated",
          "location": "paragraph 3"
        }
      ],
      "checked_at": "2026-02-01T15:30:00Z"
    }
  }
}

Response — 200 OK (not checked)

{
  "data": {
    "article_id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
    "status": "not_checked",
    "report": null
  }
}

Status codes

CodeDescription
200Success
400Content ID is required
401Missing or invalid API key
403API key does not have content:read scope
404Content not found or belongs to a different site
500Internal server error

Error response — Missing scope

If your API key does not include content:read, any request to these endpoints returns:
{
  "error": {
    "code": "forbidden",
    "message": "This API key requires one of the following scopes: content:read",
    "details": {
      "required_scopes": ["content:read"]
    }
  }
}
Last modified on March 1, 2026