Skip to main content

Submit

Idempotency-Key is required: 8 to 128 unreserved characters, unique per intent. Replays return the original ingestion; a different body under the same key is 409 idempotency_conflict.

Layers

A reference is assembled in layers, each with its own switch and its own timing: The reference becomes readable as soon as the metadata layer is durable: referenceId appears on the ingestion while media is still transferring, and the reference reports mediaAvailability: "processing" until the bytes are verified. With mediaProfile: "none" the media stages are skipped and the reference reports mediaAvailability: "unavailable"; a later ingestion of the same URL with analysis or full adds the bytes to the same reference instead of creating a new one.

Follow progress

Stages run in order: validate_url, resolve_identity, acquire_metadata, persist_canonical, create_reference (the reference is readable from here), then discover_media, transfer_media, verify_media, finalize for the media layer. Transient failures are retried with backoff; attempts shows each try.

Outcomes

Cancel

POST /v1/ingestions/{id}/cancel requests cancellation. The worker yields at the next stage boundary; the ingestion settles as cancelled.