/v2/wastes, /v2/ingest-jobs, /v2/webhook-endpoints) answer every error
with an RFC 9457 problem details body, Content-Type: application/problem+json:
Other members may appear for a given code (e.g.
rejected). Ignore the ones you do not use.
Older endpoints (/v1/...) keep their historical format: {"code": "...", "detail": "..."}, or {"detail": [...]}
for validation errors.
Codes
REQUEST_VALIDATION_FAILED — 422
The request does not match the contract: a missing header (e.g.Idempotency-Key), a malformed body, a query value
of the wrong type. errors lists each problem with where it is (loc, e.g. ["body", "records"]).
BULK_RECORDS_REJECTED — 422
One or more records of a bulk request are invalid, so nothing was written.rejected is how many, and errors
lists them (up to 100) with source_row_index, your client_row_id, an error_code and error_params. See
Create Wastes for the record codes.
IDEMPOTENCY_KEY_REUSED — 422
TheIdempotency-Key was already used with a different body. Use a new key for a new batch.
NOT_FOUND — 404
The resource does not exist, or it belongs to an organization outside the one inx-organization-id: both cases
answer the same, so ids cannot be probed.
ORG_ADMIN_REQUIRED — 403
Only organization admins can do this (e.g. manage webhook endpoints).LOGGED_USER_NOT_MEMBER — 403
The API key’s user is not a member of the organization inx-organization-id.
TOO_MANY_REQUESTS — 429
Rate limited. WaitRetry-After seconds. See Rate limits.
Handling errors
Python