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:write
The content:write scope allows you to create content from completed IdeaClouds and trigger content generation. Content can be created in simple mode (fully automated) or interactive mode (you choose the questions and options before generation begins).
Endpoints
| Method | Path | Description |
|---|
POST | /public/content | Create a single content item |
POST | /public/content/batch | Create content in batch |
POST | /public/content/{id}/generate | Generate an interactive-mode content item |
Create content
Creates new content from a completed IdeaCloud. In simple mode, generation starts immediately. In interactive mode, the response includes the available inputs you need to provide before calling the Generate endpoint.
Request body
| Field | Type | Required | Description |
|---|
ideacloud_id | string (UUID) | Yes | The IdeaCloud to generate the content from |
article_type | string | Yes | One of: basic, qa, expert, modellanding, comparison, salesevent |
selected_question_ids | array of strings | No | Question IDs from the IdeaCloud (format: q-{timestamp}-{index}). Min 1 if provided. See Get IdeaCloud questions. |
brand_voice_id | string | No | Brand voice ID to use for tone and style |
title | string | No | Custom content title (max 500 chars) |
content_intent | string | No | Link distribution strategy: fixed_ops (service/parts), variable (sales/financing), or general (all). Default general |
auto_compliance | boolean | No | Automatically run compliance check after generation. Default false |
auto_content_tools | boolean | No | Automatically generate content tools after generation. Default false |
mode | string | No | simple (default) or interactive |
Example — Simple mode
curl -X POST https://api.app.hrizn.io/v1/public/content \
-H "X-API-Key: hzk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"ideacloud_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"article_type": "comparison",
"selected_question_ids": [
"q1a2b3c4-d5e6-7890-abcd-ef1234567890",
"q2b3c4d5-e6f7-8901-bcde-f12345678901"
],
"auto_compliance": true,
"auto_content_tools": true
}'
Response — 202 Accepted (simple mode)
{
"data": {
"id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
"status": "generating",
"article_type": "comparison",
"title": "2026 Honda Civic vs Toyota Corolla: Complete Comparison",
"created_at": "2026-02-01T15:00:00Z"
}
}
Example — Interactive mode
curl -X POST https://api.app.hrizn.io/v1/public/content \
-H "X-API-Key: hzk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"ideacloud_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"article_type": "qa",
"mode": "interactive"
}'
Response — 200 OK (interactive mode)
{
"data": {
"id": null,
"status": "awaiting_input",
"ideacloud_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"article_type": "qa",
"required_inputs": {
"selected_question_ids": {
"type": "array",
"required": true,
"options": [
{
"id": "q1a2b3c4-d5e6-7890-abcd-ef1234567890",
"question": "What is the starting price of the 2026 Honda Civic?"
},
{
"id": "q2b3c4d5-e6f7-8901-bcde-f12345678901",
"question": "How does the Corolla's fuel economy compare to the Civic?"
}
]
},
"brand_voice_id": {
"type": "string",
"required": false
},
"title": {
"type": "string",
"required": false
}
}
}
}
In interactive mode, no content is created yet. Use the required_inputs to build your follow-up request to the Generate endpoint.
Status codes
| Code | Description |
|---|
200 | Interactive mode — awaiting input |
202 | Simple mode — content created and generation started |
400 | Validation error (missing or invalid fields) |
401 | Missing or invalid API key |
403 | API key does not have content:write scope |
404 | IdeaCloud not found |
429 | Rate limit exceeded |
500 | Internal server error |
Create content in batch
POST /public/content/batch
Creates multiple content items in a single request. Each item is processed independently. Only simple mode is supported in batch requests.
Request body
| Field | Type | Required | Description |
|---|
items | array | Yes | Array of content objects (1-10 items) |
Each item accepts the same fields as the single Create content endpoint.
Example
curl -X POST https://api.app.hrizn.io/v1/public/content/batch \
-H "X-API-Key: hzk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"ideacloud_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"article_type": "comparison",
"auto_compliance": true
},
{
"ideacloud_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"article_type": "basic",
"auto_content_tools": true
}
]
}'
Response — 202 Accepted
{
"data": {
"items": [
{
"id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
"status": "generating",
"article_type": "comparison",
"title": "2026 Honda Civic vs Toyota Corolla: Complete Comparison",
"created_at": "2026-02-01T15:00:00Z"
},
{
"id": "e5f6a7b8-c9d0-1234-ef01-56789abcdef0",
"status": "generating",
"article_type": "basic",
"title": "Top 10 Family SUVs for 2026",
"created_at": "2026-02-01T15:00:01Z"
}
]
}
}
Response — Partial failure
{
"data": {
"items": [
{
"id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
"status": "generating",
"article_type": "comparison",
"title": "2026 Honda Civic vs Toyota Corolla",
"created_at": "2026-02-01T15:00:00Z"
},
{
"article_type": "basic",
"status": "failed",
"error": "Failed to create content"
}
]
}
}
Status codes
| Code | Description |
|---|
202 | Batch accepted (check individual item statuses) |
400 | Validation error (empty array, exceeds 10 items, or invalid fields) |
401 | Missing or invalid API key |
403 | API key does not have content:write scope |
429 | Rate limit exceeded |
500 | Internal server error |
Generate interactive-mode content
POST /public/content/{id}/generate
Triggers generation for content that was created in interactive mode. You must provide the required inputs returned by the Create content endpoint.
Path parameters
| Name | Type | Required | Description |
|---|
id | string (UUID) | Yes | Content ID (from the interactive-mode create response) |
Request body
| Field | Type | Required | Description |
|---|
selected_question_ids | array of strings | Yes | Question IDs (format: q-{timestamp}-{index}). Min 1. See Get IdeaCloud questions. |
brand_voice_id | string | No | Brand voice ID |
title | string | No | Custom content title (max 500 chars) |
Example
curl -X POST https://api.app.hrizn.io/v1/public/content/d4e5f6a7-b8c9-0123-def0-456789abcdef/generate \
-H "X-API-Key: hzk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"selected_question_ids": [
"q1a2b3c4-d5e6-7890-abcd-ef1234567890",
"q2b3c4d5-e6f7-8901-bcde-f12345678901"
],
"brand_voice_id": "bv-premium-001",
"title": "Honda Civic vs Toyota Corolla: Which Should You Buy?"
}'
Response — 202 Accepted
{
"data": {
"id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
"status": "generating"
}
}
Status codes
| Code | Description |
|---|
202 | Generation started |
400 | Validation error (missing question IDs, content not in awaiting_input state) |
401 | Missing or invalid API key |
403 | API key does not have content:write scope |
404 | Content not found |
500 | Internal server error |
Error response — Missing scope
If your API key does not include content:write, any request to these endpoints returns:
{
"error": {
"code": "forbidden",
"message": "This API key requires one of the following scopes: content:write",
"details": {
"required_scopes": ["content:write"]
}
}
}