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:
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.
Related Endpoints
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.