What is an asset?
An asset is a single media file (video, audio, image, or document) that you submit for processing. Each asset within a submission is processed independently and generates its own results.Asset lifecycle
An asset begins as a file in blob storage, becomes part of a submission, waits in aqueued state for a free review slot, is analyzed, and ends in one of three terminal states: compliant (no issues found), in_review (issues found and awaiting your review), or failed. The queued state is non-terminal — an asset stays queued only until capacity frees up, then moves to processing.
These are the values of processingStatus, which you read from assets[] on the submission status response:
Supported formats
Asset results
Once an asset finishes processing, you can retrieve its detailed result. There is no/results suffix — the asset detail is the asset endpoint itself.
GET /api/submissions/{submission_id}/assets/{asset_id}
issues array contains IssueResponse objects. startedAt and completedAt are when this asset actually entered and left review — null while it is still queued, and re-stamped by a retry. completedAt is set for any terminal outcome, so on a failed asset it is the failure time.
Issues
Each issue describes a compliance or quality concern found during analysis:CRITICALMAJORMINORINFO
OPENACKNOWLEDGEDAWAITING_HUMAN_INPUTRESOLVEDDISMISSED
Enriched issues
For a flat list of issues enriched with their rule-graph context, call: GET/api/submissions/{submission_id}/assets/{asset_id}/issues
Topics
To group related issues, the API clusters them into topics using AI: GET/api/submissions/{submission_id}/assets/{asset_id}/topics
orphanIssues — this is normal, not an error.
The
/issues and /topics endpoints return 404 if the asset has not finished processing yet, and 502 if the underlying analysis blob fails to load from storage.Versioning
To create a new version of an asset, submit a new submission whose asset references the original throughpreviousSubmissionId. This is useful when:
- The original file was incomplete or had audio issues
- You want a fresh analysis with newer processing models
- Processing previously failed and you want to retry against a corrected file
versionNumber within a shared versionGroupId. Previous versions remain accessible. List all versions of a submission’s assets with:
GET /api/submissions/{submission_id}/versions