RFC 9457 problem types
Error registry
Every /api/v1alpha1 error is an application/problem+json document with type, title, status, detail, and the top-level requestId extension member. The type URI is stable and is the primary machine-readable error code: use status for transport handling, type for domain behavior, and requestId for operator support. Every URI resolves to a page below.
| Type | Status | Meaning |
|---|---|---|
| bad-request | 400 | The request is malformed or does not match what this endpoint accepts. |
| validation-error | 400 | A field in the request body is missing, malformed, unknown, or outside its accepted range. |
| invalid-cursor | 400 | The cursor is malformed, or it was not issued by this API. |
| ssrf-blocked | 400 | A Webhook URL is not HTTPS or resolves to a private, loopback, link-local, or unique-local address. |
| unauthorized | 401 | The API key is missing, invalid, expired, inactive, or not linked to an organization. |
| forbidden | 403 | The API key is valid, but the account or workspace is not allowed to perform this operation, for example because of insufficient permission, billing, or trial state. |
| quota-exceeded | 402 | The workspace has reached a billing quota, so the request was not processed. When present, quotaDimension names the limit that was reached. |
| resource-not-found | 404 | The resource is missing, belongs to another workspace, or the key is not alpha allowlisted. |
| conflict | 409 | The request conflicts with the current resource state. |
| idempotency-in-flight | 409 | The same Idempotency-Key is already being processed for the same workspace and endpoint. |
| precondition-failed | 412 | The If-Match value does not match the current resource version. |
| unprocessable-entity | 422 | The request is well formed, but it cannot be applied to the current input or resource state. |
| idempotency-payload-mismatch | 422 | The same Idempotency-Key was reused with a different payload. |
| rate-limit-exceeded | 429 | The API key has used its hourly request allowance. |
| service-unavailable | 503 | A service that DeepFrame depends on is temporarily unavailable. |
| internal-error | 500 | Something went wrong on the DeepFrame side. |