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.
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
| Method | Path | Description |
|---|
GET | /public/content | List content |
GET | /public/content/{id} | Get content details |
GET | /public/content/{id}/html | Get rendered HTML |
GET | /public/content/{id}/components | Get all components |
GET | /public/content/{id}/compliance | Get compliance report |
GET | /public/content/published | List published content |
GET | /public/content/{id}/publish-data | Get publish data |
List content
Returns a paginated list of content for your site.
Query parameters
| Name | Type | Default | Description |
|---|
limit | integer | 25 | Number of results to return (1-100) |
cursor | string | — | Base64-encoded cursor from a previous response |
article_type | string | — | Filter 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
| Code | Description |
|---|
200 | Success |
401 | Missing or invalid API key |
403 | API key does not have content:read scope |
500 | Internal server error |
Get content details
Returns full details for a single content item including its component summary.
Path parameters
| Name | Type | Required | Description |
|---|
id | string (UUID) | Yes | Content 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
| Code | Description |
|---|
200 | Success |
400 | Content ID is required |
401 | Missing or invalid API key |
403 | API key does not have content:read scope |
404 | Content not found or belongs to a different site |
500 | Internal 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
| Name | Type | Required | Description |
|---|
id | string (UUID) | Yes | Content 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
| Code | Description |
|---|
200 | Success |
400 | Content ID is required |
401 | Missing or invalid API key |
403 | API key does not have content:read scope |
404 | Content not found or body component not available |
500 | Internal 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
| Name | Type | Required | Description |
|---|
id | string (UUID) | Yes | Content ID |
To retrieve a single component, append the type to the path:
GET /public/content/{id}/components/{type}
| Name | Type | Required | Description |
|---|
type | string | No | Component 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
| Code | Description |
|---|
200 | Success |
400 | Content ID is required |
401 | Missing or invalid API key |
403 | API key does not have content:read scope |
404 | Content or component type not found |
500 | Internal 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
| Name | Type | Required | Description |
|---|
id | string (UUID) | Yes | Content 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
| Code | Description |
|---|
200 | Success |
400 | Content ID is required |
401 | Missing or invalid API key |
403 | API key does not have content:read scope |
404 | Content not found or belongs to a different site |
500 | Internal server error |
List published content
GET /public/content/published
Returns a paginated list of content with posting_status of published or scheduled. All date and time fields (date, published_at, created_at, updated_at) are returned in UTC.
Query parameters
| Name | Type | Default | Description |
|---|
limit | integer | 25 | Number of results to return (1-100) |
cursor | string | — | Base64-encoded cursor from a previous response |
status | string | — | Filter by posting status (published or scheduled) |
Example
curl "https://api.app.hrizn.io/v1/public/content/published?status=published&limit=10" \
-H "X-API-Key: hzk_your_key_here"
Response — 200 OK
{
"data": [
{
"id": "bccf2a98-55ad-437d-b0dc-d505d95c88cf",
"title": "Land Cruiser vs Bronco Face-Off: Rugged Luxury or Off-Road Fun?",
"article_type": "comparison",
"status": "published",
"slug": "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",
"featured_image": "https://assets.hrizn.io/public/media-library/9c894353.../featured.png",
"created_at": "2026-02-13T22:56:41.872443+00:00",
"updated_at": "2026-04-11T15:45:37.297587+00:00"
}
],
"pagination": {
"has_more": false,
"next_cursor": null,
"total_count": 1
}
}
Status codes
| Code | Description |
|---|
200 | Success |
401 | Missing or invalid API key |
403 | API key does not have content:read scope |
500 | Internal server error |
Get publish data
GET /public/content/{id}/publish-data
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. All date and time fields (including publishing.date and publishing.published_at) are returned in UTC.
Path parameters
| Name | Type | Required | Description |
|---|
id | string (UUID) | Yes | Content ID |
Example
curl https://api.app.hrizn.io/v1/public/content/bccf2a98-55ad-437d-b0dc-d505d95c88cf/publish-data \
-H "X-API-Key: hzk_your_key_here"
Response — 200 OK
{
"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"],
"blog_categories": ["Vehicle Comparisons"],
"keywords": ["land cruiser vs bronco"]
},
"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!",
"twitter_title": "Rugged Meets Refined: Land Cruiser or Bronco?",
"twitter_description": "Compare the Toyota Land Cruiser and Ford Bronco."
},
"body_html": "<h2>Land Cruiser vs Bronco</h2><p>When it comes to choosing...</p>",
"seo_html": "<title>Toyota Land Cruiser vs Ford Bronco | Toyota of Rock Hill</title>",
"schema": {
"@context": "https://schema.org",
"@graph": [{ "@type": "NewsArticle", "headline": "Land Cruiser vs Bronco Face-Off" }]
}
}
}
Status codes
| Code | Description |
|---|
200 | Success |
400 | Content ID is required |
401 | Missing or invalid API key |
403 | API key does not have content:read scope |
404 | Content not found, belongs to a different site, or is not published/scheduled |
500 | Internal 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"]
}
}
}