code field: codes don’t change. detail is a
readable message that can change.
Error format
Every error also has
type, a URI that names the error code. Some errors also include instance,
the path of the request.
Request ids
To use your own request id, send anX-Request-Id header of 1–64 letters, digits, -, or _. The
API returns it in the X-Request-Id response header and as requestId. If you don’t send one, or
it isn’t valid, the API generates one.
A few errors, such as a request to an unknown path, may not include a requestId or return your
X-Request-Id.
Error codes
Errors in batch requests
Batch endpoints return200 even when some records fail. Each failed record has its own code in
results:
A
4xx status on a batch means the API rejected the whole request and wrote nothing. Examples: an
empty records list, a repeated id, or an id that isn’t a UUID (malformed_request).
A 5xx or a timeout on a batch may have saved some records, because each record is saved on its own.
Nothing may be stored under your Idempotency-Key, so a retry with the same key runs every record
again. Before you resend a batch create, list your assets and send only the records that don’t exist
yet, with a new key. If every record has externalSource and externalAssetId, you can resend the
whole batch instead: records that already exist are updated, not created again. See
When a batch fails or times out.