States
mediaAvailability tracks the media layer on its own: processing while bytes transfer, ready when they are verified and held, expired after the hold lapsed, failed when acquisition failed after the reference was already readable, and unavailable when no media was requested (mediaProfile: none).
Fields
sourceObserved
sourceObserved
Title, description, channel, publication time, and counts exactly as observed at
acquisition time. Absent values are
null, never guessed. Refreshing the reference
records a new observation; earlier observations stay in the history.machineDerived
machineDerived
What we measured from the bytes: container, size, duration, dimensions, and tracks.
creativeSpec and aiProvenance are versioned placeholders (currently null)
reserved for structural analysis and generation lineage.provenance
provenance
The source route id and contract version that produced the reference, the
acquisition time, and the raw capture the observation was parsed from.
Media pointers
Media pointers
primaryMediaId and posterMediaId name the objects you can request download URLs
for. mediaAvailability is processing, ready, expired, failed, or
unavailable; mediaHold and mediaExpiredAt describe the retention window.Duplicates
Importing a URL whose canonical content already has a ready reference in your workspace succeeds immediately without transferring media again. The ingestion’soutcomeMessage says it was a duplicate and referenceId points at the existing reference.
Listing
GET /v1/references returns the newest first with an opaque signed nextCursor. Filter by state, platform, mediaKind, createdAfter, createdBefore; page size limit is 1..100 (default 30). A tampered or expired cursor is 400 invalid_input.