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.
| Code | Status | Title | What to do |
|---|---|---|---|
action_already_resolved | 409 | Action already resolved | The action was already acknowledged or failed. Read it again for its final state. |
auth_unavailable | 503 | Authentication unavailable | Authentication is briefly unavailable. Retry with backoff. |
idempotency_key_in_progress | 409 | Request with this Idempotency-Key in progress | The first request with this key is still running. Retry after a short wait. |
idempotency_key_invalid | 400 | Idempotency-Key invalid | Use 1 to 255 visible ASCII characters for the Idempotency-Key. |
idempotency_key_required | 400 | Idempotency-Key required | Send an Idempotency-Key header on every write. |
idempotency_key_reused | 422 | Idempotency-Key reused with a different request | This Idempotency-Key was used with a different body. Use a new key for a new request. |
illegal_transition | 422 | Illegal state change | The resource is not in a state that allows this change. |
insufficient_scope | 403 | Insufficient scope | The key lacks the scope this call needs. Add it to the key in the console. |
internal_error | 500 | Internal error | Something failed on the platform side. Retry later and quote the request id. |
invalid_endpoint | 422 | Invalid endpoint | The endpoint URL is not an https URL the platform can reach. |
invalid_json | 400 | Invalid JSON body | The body is not valid JSON. Send UTF-8 JSON with Content-Type application/json. |
invalid_request | 400 | Invalid request | A field is missing or has the wrong shape. The detail names it. |
invalid_run | 422 | Invalid conformance run | The conformance run cannot start with these parameters. The detail says why. |
ip_blocked | 403 | Too many failed authentications | Too many failed authentications came from this IP. Wait for Retry-After, then fix the key. |
ip_not_allowed | 403 | IP address not allowed | The source has an IP allow list and this address is not on it. |
key_expired | 401 | API key expired | The key passed its expiry date. Rotate to a new key in the console. |
key_revoked | 401 | API key revoked | The key was revoked in the console. Create a new key and switch to it. |
not_found | 404 | Not found | The resource does not exist or belongs to another account. |
payload_too_large | 413 | Payload too large | Split the body into smaller batches. |
plugin_not_entitled | 403 | Plugin not entitled | The account is not entitled to this plugin. Ask the operator to enable it. |
rate_limited | 429 | Rate limit exceeded | Wait for the Retry-After seconds, then retry. RateLimit-* headers show the budget. |
replayed | 401 | Request already received | This signed request was already received. Sign every request again with a fresh timestamp. |
signature_invalid | 401 | Request signature invalid | Sign timestamp, nonce, method, full path, sorted query and body digest with the signing secret of this key (see the dev kit). |
source_paused | 403 | Source paused | The source is paused in the console. Resume it to send again. |
test_key_not_allowed | 403 | Test key not allowed here | This call needs a live key. Test keys only reach test data. |
timestamp_out_of_window | 401 | Request timestamp out of window | The signature timestamp is too far from now. Sync the clock of the sending server. |
unauthenticated | 401 | Authentication required | Send Authorization: Bearer with the API key of your source. |