Skip to main content
POST requests that create resources support idempotency keys to prevent duplicate operations when retrying failed requests.

How it works

Include an X-Idempotency-Key header with a unique string (up to 256 characters). If the same key is sent again within 24 hours, the API returns the original response instead of creating a duplicate.
curl -X POST https://api.app.hrizn.io/v1/public/ideaclouds \
  -H "X-API-Key: hzk_your_key_here" \
  -H "X-Idempotency-Key: create-ideacloud-2026-02-10-crv-review" \
  -H "Content-Type: application/json" \
  -d '{ "keyword": "2026 Chevrolet Equinox EV range" }'

When to use it

Use idempotency keys on any POST request that triggers a side effect:
  • Creating IdeaClouds
  • Creating articles
  • Triggering compliance checks
  • Triggering content tools generation
  • Triggering description generation
GET, PATCH, and DELETE requests are naturally idempotent and do not need this header.

Supported Endpoints

  • POST /ideaclouds — Create a single IdeaCloud
  • POST /ideaclouds/batch — Create up to 25 IdeaClouds
  • POST /content — Create a single article
  • POST /content/batch — Create up to 10 articles
  • POST /content/{id}/generate — Re-generate an article
  • POST /content/comparison — Create a comparison article
  • POST /content/model-landing — Create a model landing page
  • POST /content/sales-event — Create a sales event article
  • POST /content/{id}/compliance — Trigger compliance check
  • POST /content/{id}/content-tools — Generate content tools
  • POST /inventory/{vin}/description — Generate vehicle description
  • POST /inventory/descriptions/batch — Batch vehicle descriptions

Key format

Use any string that uniquely identifies the intended operation. Common patterns:
PatternExample
UUID550e8400-e29b-41d4-a716-446655440000
Action + timestampcreate-article-2026-02-10T12:00:00Z
External referencedsrptv-order-12345

Conflict detection

If you reuse an idempotency key with different request parameters, the API returns 409 Conflict. This prevents accidental misuse — each key is permanently bound to the first request’s parameters.
{
  "error": {
    "code": "idempotency_conflict",
    "message": "Idempotency key reused with different parameters"
  }
}

Expiration

Idempotency keys expire after 24 hours. After that, the same key can be reused with any parameters.
Last modified on March 1, 2026