{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Deck Console error responses","description":"JSON error contracts for console.deck.co. Missing Console paths use RFC 9457 problem+json. Authenticated Console UI routes still redirect browsers to sign-in. Console /api routes return JSON problems instead of HTML. The product REST API at https://api.deck.co/v2 always returns a JSON errors array with machine-readable type/code and a request_id.","website":{"contentType":"application/problem+json","status":[400,401,404,410,429,500],"schema":{"type":"object","required":["type","title","status","code","detail"],"properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"code":{"type":"string","description":"Machine-readable error code"},"detail":{"type":"string","description":"Human-readable message"},"message":{"type":"string"},"resolution":{"type":"string"},"see":{"type":"object","additionalProperties":{"type":"string","format":"uri"}}}},"example":{"type":"https://console.deck.co/errors.json#not-found","title":"Not Found","status":404,"code":"not_found","detail":"This path does not exist on console.deck.co.","message":"This path does not exist on console.deck.co. Follow `see` to recover.","resolution":"Use the sitemap, llms.txt, OpenAPI spec, or docs. Sign in at https://console.deck.co for the authenticated app.","see":{"home":"https://console.deck.co/","sitemap":"https://console.deck.co/sitemap.xml","llms":"https://console.deck.co/llms.txt","llms_full":"https://console.deck.co/llms-full.txt","openapi":"https://console.deck.co/openapi.json","errors":"https://console.deck.co/errors.json","api_catalog":"https://console.deck.co/.well-known/api-catalog","api":"https://api.deck.co/v2","docs":"https://docs.deck.co"}}},"api":{"baseUrl":"https://api.deck.co/v2","contentType":"application/json","docs":"https://docs.deck.co/api/errors","openapi":"https://docs.deck.co/openapi.json","schema":{"type":"object","required":["errors","request_id"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","description":"Error category (request, auth, rate_limit, source, task, api, …)"},"code":{"type":"string","description":"Machine-readable code for programmatic handling"},"message":{"type":"string","description":"Human-readable explanation; do not branch on this string"},"field":{"type":["string","null"]}}}},"request_id":{"type":"string"}}},"example":{"errors":[{"type":"request","code":"api_key_invalid","message":"The API key is not valid."}],"request_id":"req_a1b2c3d4"},"resolutionHints":{"api_key_invalid":"Create a key in https://console.deck.co and send `Authorization: Bearer <key>` to https://api.deck.co/v2.","auth_required":"Sign in at https://console.deck.co, or send `Authorization: Bearer <key>` to https://api.deck.co/v2.","rate_limit_exceeded":"Back off and retry. Documented limit is 200 requests per 10 seconds per organization. Honor Retry-After and RateLimit headers when present.","resource_not_found":"Confirm the resource id and API version (/v2/). See https://docs.deck.co/api-reference.","input_missing":"Check the OpenAPI spec at https://docs.deck.co/openapi.json for required fields."}}}