Problem types

Errors follow RFC 9457. The type of a problem points here.

not_found (404)

The resource does not exist, or belongs to another tenant.

bad_request (400)

The request could not be read: malformed JSON, a bad header, an unreadable upload.

invalid (422)

The request was read but is not valid. errors lists each field as a JSON pointer with a code.

unauthorized (401)

No API key, or an unknown or revoked one. Send Authorization: Bearer stk_….

forbidden (403)

The key lacks the scope the operation needs.

method_not_allowed (405)

The address exists, but not with this method.

conflict (409)

The resource is not in a state that allows this (an asset still fetching, a cue sheet changed by someone else, an Idempotency-Key reused with a different body).

too_large (413)

The upload or the media exceeds this deployment's limits (see GET /v1/capabilities).

unsupported (415)

The file format is not supported.

quota (429)

The month's processing quota would be exceeded (see GET /v1/account).

busy (429)

The account already has as many of these going as it may at once (open event streams, a pass over the whole rights catalogue). Try again when one has finished.

internal (500)

Our fault. It is logged; retrying later is safe for idempotent requests.