Developer docs

Problem types

Errors are application/problem+json. The type is https://docs.octolit.com/problems/<code>; branch on code, show detail to people, and quote request_id when you report a problem. A code not listed here is explained by its detail.

CodeStatusTitleWhat to do
action_already_resolved409Action already resolvedThe action was already acknowledged or failed. Read it again for its final state.
auth_unavailable503Authentication unavailableAuthentication is briefly unavailable. Retry with backoff.
idempotency_key_in_progress409Request with this Idempotency-Key in progressThe first request with this key is still running. Retry after a short wait.
idempotency_key_invalid400Idempotency-Key invalidUse 1 to 255 visible ASCII characters for the Idempotency-Key.
idempotency_key_required400Idempotency-Key requiredSend an Idempotency-Key header on every write.
idempotency_key_reused422Idempotency-Key reused with a different requestThis Idempotency-Key was used with a different body. Use a new key for a new request.
illegal_transition422Illegal state changeThe resource is not in a state that allows this change.
insufficient_scope403Insufficient scopeThe key lacks the scope this call needs. Add it to the key in the console.
internal_error500Internal errorSomething failed on the platform side. Retry later and quote the request id.
invalid_endpoint422Invalid endpointThe endpoint URL is not an https URL the platform can reach.
invalid_json400Invalid JSON bodyThe body is not valid JSON. Send UTF-8 JSON with Content-Type application/json.
invalid_request400Invalid requestA field is missing or has the wrong shape. The detail names it.
invalid_run422Invalid conformance runThe conformance run cannot start with these parameters. The detail says why.
ip_blocked403Too many failed authenticationsToo many failed authentications came from this IP. Wait for Retry-After, then fix the key.
ip_not_allowed403IP address not allowedThe source has an IP allow list and this address is not on it.
key_expired401API key expiredThe key passed its expiry date. Rotate to a new key in the console.
key_revoked401API key revokedThe key was revoked in the console. Create a new key and switch to it.
not_found404Not foundThe resource does not exist or belongs to another account.
payload_too_large413Payload too largeSplit the body into smaller batches.
plugin_not_entitled403Plugin not entitledThe account is not entitled to this plugin. Ask the operator to enable it.
rate_limited429Rate limit exceededWait for the Retry-After seconds, then retry. RateLimit-* headers show the budget.
replayed401Request already receivedThis signed request was already received. Sign every request again with a fresh timestamp.
signature_invalid401Request signature invalidSign timestamp, nonce, method, full path, sorted query and body digest with the signing secret of this key (see the dev kit).
source_paused403Source pausedThe source is paused in the console. Resume it to send again.
test_key_not_allowed403Test key not allowed hereThis call needs a live key. Test keys only reach test data.
timestamp_out_of_window401Request timestamp out of windowThe signature timestamp is too far from now. Sync the clock of the sending server.
unauthenticated401Authentication requiredSend Authorization: Bearer with the API key of your source.