๐ŸงญTrack Requests & Status Codes

Most AutoContent generation endpoints are asynchronous. Submit the job, save the returned request ID exactly as-is, poll the status endpoint, and only read final asset fields once the request reaches 100.

Step 1: Save the Request ID

Different endpoints may return the same concept with slightly different field names:

  • request_id

  • requestId

Examples:

{
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": 0
}
{
  "requestId": "video-550e8400-e29b-41d4-a716-446655440000",
  "status": 0
}

Keep the full value unchanged. Some endpoints prefix the ID with the job type, such as video-... or research-podcast-....

Step 2: Poll /content/Status/{id}

Use the exact request ID returned by the create call:

Typical in-progress response:

Step 3: Interpret the Status Value

The two stable states are:

  • 0: accepted and queued

  • 100: completed

Intermediate values vary by endpoint. Common examples include:

Status
Meaning
Where you may see it

5

Early processing

Podcasts, research-backed flows, several tools

10, 20, 30, 60, 80, 90

Mid-pipeline work

Endpoint-specific generation stages

Treat any value between 1 and 99 as "still running" unless the response also includes an error.

Step 4: Read Success and Error Fields

Once the request reaches 100, the payload includes output-specific fields. Common ones include:

  • audio_url for podcast outputs

  • video_url or similar media URLs for video endpoints

  • document_url or briefing_doc_url for PDF briefing documents

  • document_content for html or text briefing documents

  • response_text for generated transcript or text content

  • share_url for hosted result pages

Error metadata can also vary slightly by endpoint. Watch for either:

  • error_code or errorCode

  • error_message or errorMessage

If the response includes a non-zero error value, use Error Codes to diagnose the failure before retrying.

Step 5: Use callbackData for Reconciliation

Some endpoints accept an optional callbackData field. Use it as your own stable job reference, for example:

  • a CMS entry ID

  • a campaign or customer ID

  • an internal workflow run ID

When a workflow supports webhook notifications, callbackData is the safest way to map the incoming event back to your system. Keep it short, machine-readable, and unique per job.

Endpoint-Specific Notes

  • Briefing documents: poll /content/Status/{id} first, then use /documents/{id} only after the job has completed.

  • Deep research: the research creation flow uses /deep-research/research/{id} while the downstream content generation still uses /content/Status/{id}.

  • Tools such as transcription, speaker separation, and voice cloning still follow the same "save ID, poll, read final result" pattern.

  • GET /content/Status/{id} - Check the status of a generated content request.

  • GET /deep-research/research/{id} - Check the status of a deep research request.

What's Next?

Last updated