Skip to main content
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

MethodPathDescription
POST/public/contentCreate a single content item
POST/public/content/batchCreate content in batch
POST/public/content/{id}/generateGenerate an interactive-mode content item

Create content

POST /public/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

FieldTypeRequiredDescription
ideacloud_idstring (UUID)YesThe IdeaCloud to generate the content from
article_typestringYesOne of: basic, qa, expert, modellanding, comparison, salesevent
selected_question_idsarray of stringsNoQuestion IDs from the IdeaCloud (format: q-{timestamp}-{index}). Min 1 if provided. See Get IdeaCloud questions.
brand_voice_idstringNoBrand voice ID to use for tone and style
titlestringNoCustom content title (max 500 chars)
auto_compliancebooleanNoAutomatically run compliance check after generation. Default false
auto_content_toolsbooleanNoAutomatically generate content tools after generation. Default false
modestringNosimple (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

CodeDescription
200Interactive mode — awaiting input
202Simple mode — content created and generation started
400Validation error (missing or invalid fields)
401Missing or invalid API key
403API key does not have content:write scope
404IdeaCloud not found
429Rate limit exceeded
500Internal 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

FieldTypeRequiredDescription
itemsarrayYesArray 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

CodeDescription
202Batch accepted (check individual item statuses)
400Validation error (empty array, exceeds 10 items, or invalid fields)
401Missing or invalid API key
403API key does not have content:write scope
429Rate limit exceeded
500Internal 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

NameTypeRequiredDescription
idstring (UUID)YesContent ID (from the interactive-mode create response)

Request body

FieldTypeRequiredDescription
selected_question_idsarray of stringsYesQuestion IDs (format: q-{timestamp}-{index}). Min 1. See Get IdeaCloud questions.
brand_voice_idstringNoBrand voice ID
titlestringNoCustom 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

CodeDescription
202Generation started
400Validation error (missing question IDs, content not in awaiting_input state)
401Missing or invalid API key
403API key does not have content:write scope
404Content not found
500Internal 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"]
    }
  }
}
Last modified on March 1, 2026