{"name":"The Leo King Business Intelligence API Error Catalog","version":"v1","contractVersion":"2026-07-09.enterprise-trust-paid-route-ci-gate-v1","lastReviewedAt":"2026-07-09","envelope":{"request_id":"string","error":{"code":"string","message":"string","details":"object"}},"errors":[{"httpStatus":400,"code":"INVALID_REQUEST","summary":"The request body failed schema validation, JSON parsing, or endpoint-specific preconditions.","retryable":false,"partnerAction":"Fix the payload shape, enum value, required field, or request body before retrying.","supportSignal":"Include request_id, endpoint, validation details, and the sanitized request shape."},{"httpStatus":401,"code":"AUTH_REQUIRED","summary":"The request did not include an API key.","retryable":false,"partnerAction":"Send x-api-key from a trusted server environment. Do not expose keys in browser code.","supportSignal":"Confirm whether the request originated from backend code and whether the header was stripped by a proxy."},{"httpStatus":401,"code":"AUTH_INVALID","summary":"The supplied API key could not be validated.","retryable":false,"partnerAction":"Check the key prefix, rotate compromised keys, and verify the target environment.","supportSignal":"Include key prefix only, never the full secret."},{"httpStatus":402,"code":"CREDITS_EXHAUSTED","summary":"The key or workspace does not have enough credits for the requested endpoint.","retryable":false,"partnerAction":"Upgrade the plan, add credits, or switch to a lower-cost Core Compute route.","supportSignal":"Include endpoint, required credits, remaining credits, and organization id when available."},{"httpStatus":403,"code":"AUTH_FORBIDDEN","summary":"The key is valid but is not allowed to call this endpoint or billing lane.","retryable":false,"partnerAction":"Use a key scoped for this endpoint or upgrade to the required plan.","supportSignal":"Include endpoint, key prefix, plan, and allowed endpoint scope."},{"httpStatus":404,"code":"NOT_FOUND","summary":"The requested resource, usually an async job id, was not found for this key.","retryable":false,"partnerAction":"Verify the job id, environment, API key, and whether the job belongs to the same workspace.","supportSignal":"Include job id, request_id, endpoint, and key prefix."},{"httpStatus":409,"code":"IDEMPOTENCY_CONFLICT","summary":"The same Idempotency-Key was reused with a different request body.","retryable":false,"partnerAction":"Reuse idempotency keys only for the same logical operation and identical request payload.","supportSignal":"Include idempotency key hash, endpoint, and both request_id values if available."},{"httpStatus":429,"code":"RATE_LIMITED","summary":"The request exceeded the current key, plan, endpoint, or environment rate limit.","retryable":true,"partnerAction":"Back off, retry later, reduce concurrency, or request enterprise limits.","supportSignal":"Include endpoint, key prefix, plan, and recent request rate."},{"httpStatus":502,"code":"INVALID_RESPONSE","summary":"A model, sidecar, RAG, or generation path failed the response contract or quality gate.","retryable":true,"partnerAction":"Retry with the same Idempotency-Key only if the original request did not produce a billable success.","supportSignal":"Include request_id, model/provider metadata, endpoint, quality gate, and sanitized output diagnostics."},{"httpStatus":502,"code":"UPSTREAM_FAILED","summary":"A required upstream provider, sidecar, or internal service failed before a valid API response was produced.","retryable":true,"partnerAction":"Retry after a delay or use async jobs for longer-running work.","supportSignal":"Include request_id, upstream class, timeout state, and endpoint."},{"httpStatus":503,"code":"SERVER_MISCONFIGURED","summary":"A required production environment variable, provider mode, or internal integration is missing or malformed.","retryable":false,"partnerAction":"Treat as a platform incident and contact support with request_id.","supportSignal":"Escalate immediately; do not publish fallback-looking AI output as success."}],"links":{"docs":"/api-docs","trust":"/trust","product":"/api-platform","console":"/api-console","lab":"/api-console/lab","billing":"/api-console/billing","index":"/api/v1","openapi":"/api/v1/openapi","status":"/api/v1/status","sla":"/api/v1/sla","incidents":"/api/v1/incidents","security":"/api/v1/security","securityTxt":"/.well-known/security.txt","accessControl":"/api/v1/access-control","observability":"/api/v1/observability","onboarding":"/api/v1/onboarding","versioning":"/api/v1/versioning","examples":"/api/v1/examples","support":"/api/v1/support","sdks":"/api/v1/sdks","migrations":"/api/v1/migrations","procurement":"/api/v1/procurement","conformance":"/api/v1/conformance","dataProcessing":"/api/v1/data-processing","compliance":"/api/v1/compliance","aiGovernance":"/api/v1/ai-governance","changelog":"/api/v1/changelog","webhooks":"/api/v1/webhooks","errors":"/api/v1/errors","postman":"/api/v1/postman","readiness":"/api/v1/ops/readiness?deep=1","llms":"/llms.txt","llmsFull":"/llms-full.txt"}}