[{"data":1,"prerenderedAt":325},["ShallowReactive",2],{"doc-/docs/errors":3},{"id":4,"title":5,"body":6,"description":316,"extension":317,"meta":318,"navigation":319,"order":93,"path":320,"section":321,"seo":322,"stem":323,"__hash__":324},"docs/docs/errors.md","Errors",{"type":7,"value":8,"toc":309},"minimal",[9,13,29,34,127,131,255,259,293,299,305],[10,11,5],"h1",{"id":12},"errors",[14,15,16,17,20,21,24,25,28],"p",{},"The CHeKT API uses standard HTTP status codes plus a structured JSON envelope. You get a stable ",[18,19,18],"code",{}," to switch on, a human ",[18,22,23],{},"message"," for logs, and an optional ",[18,26,27],{},"request_id"," for support tickets.",[30,31,33],"h2",{"id":32},"error-envelope","Error envelope",[35,36,41],"pre",{"className":37,"code":38,"language":39,"meta":40,"style":40},"language-json shiki shiki-themes github-light github-dark","{\n  \"error\": {\n    \"code\": \"device_not_found\",\n    \"message\": \"No device with that ID exists on this dealer.\",\n    \"request_id\": \"req_91kxl2\",\n    \"field\": \"device_id\"\n  }\n}\n","json","",[18,42,43,52,62,78,91,104,115,121],{"__ignoreMap":40},[44,45,48],"span",{"class":46,"line":47},"line",1,[44,49,51],{"class":50},"sVt8B","{\n",[44,53,55,59],{"class":46,"line":54},2,[44,56,58],{"class":57},"sj4cs","  \"error\"",[44,60,61],{"class":50},": {\n",[44,63,65,68,71,75],{"class":46,"line":64},3,[44,66,67],{"class":57},"    \"code\"",[44,69,70],{"class":50},": ",[44,72,74],{"class":73},"sZZnC","\"device_not_found\"",[44,76,77],{"class":50},",\n",[44,79,81,84,86,89],{"class":46,"line":80},4,[44,82,83],{"class":57},"    \"message\"",[44,85,70],{"class":50},[44,87,88],{"class":73},"\"No device with that ID exists on this dealer.\"",[44,90,77],{"class":50},[44,92,94,97,99,102],{"class":46,"line":93},5,[44,95,96],{"class":57},"    \"request_id\"",[44,98,70],{"class":50},[44,100,101],{"class":73},"\"req_91kxl2\"",[44,103,77],{"class":50},[44,105,107,110,112],{"class":46,"line":106},6,[44,108,109],{"class":57},"    \"field\"",[44,111,70],{"class":50},[44,113,114],{"class":73},"\"device_id\"\n",[44,116,118],{"class":46,"line":117},7,[44,119,120],{"class":50},"  }\n",[44,122,124],{"class":46,"line":123},8,[44,125,126],{"class":50},"}\n",[30,128,130],{"id":129},"status-codes","Status codes",[132,133,134,150],"table",{},[135,136,137],"thead",{},[138,139,140,144,147],"tr",{},[141,142,143],"th",{},"Status",[141,145,146],{},"Meaning",[141,148,149],{},"What to do",[151,152,153,169,180,191,202,213,227,244],"tbody",{},[138,154,155,159,162],{},[156,157,158],"td",{},"400",[156,160,161],{},"Bad request",[156,163,164,165,168],{},"Inspect ",[18,166,167],{},"error.field",", validate input, retry.",[138,170,171,174,177],{},[156,172,173],{},"401",[156,175,176],{},"Unauthorized",[156,178,179],{},"Refresh or rotate your API key.",[138,181,182,185,188],{},[156,183,184],{},"403",[156,186,187],{},"Forbidden",[156,189,190],{},"Add the missing permission to your app.",[138,192,193,196,199],{},[156,194,195],{},"404",[156,197,198],{},"Not found",[156,200,201],{},"Verify the resource ID and dealer scope.",[138,203,204,207,210],{},[156,205,206],{},"409",[156,208,209],{},"Conflict",[156,211,212],{},"Retry after refreshing local state.",[138,214,215,218,221],{},[156,216,217],{},"422",[156,219,220],{},"Validation failed",[156,222,223,224,226],{},"Surface ",[18,225,167],{}," to the user.",[138,228,229,232,235],{},[156,230,231],{},"429",[156,233,234],{},"Rate limited",[156,236,237,238,243],{},"Back off — see ",[239,240,242],"a",{"href":241},"/docs/rate-limits","rate limits",".",[138,245,246,249,252],{},[156,247,248],{},"5xx",[156,250,251],{},"Server error",[156,253,254],{},"Safe to retry with backoff. Open a ticket if it persists.",[30,256,258],{"id":257},"common-error-codes","Common error codes",[260,261,262,269,275,281,287],"ul",{},[263,264,265,268],"li",{},[18,266,267],{},"invalid_api_key"," — token missing, expired, or revoked.",[263,270,271,274],{},[18,272,273],{},"permission_denied"," — your app lacks the required scope.",[263,276,277,280],{},[18,278,279],{},"device_not_found"," — the device ID doesn't exist under this dealer.",[263,282,283,286],{},[18,284,285],{},"webhook_signature_invalid"," — your verification failed; check the signing secret.",[263,288,289,292],{},[18,290,291],{},"idempotency_conflict"," — same idempotency key used with different payload.",[30,294,296,297],{"id":295},"always-log-the-request_id","Always log the ",[18,298,27],{},[14,300,301,302,304],{},"When you open a support ticket, the ",[18,303,27],{}," lets us trace exactly which request misbehaved. Log it on every 4xx and 5xx.",[306,307,308],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":40,"searchDepth":64,"depth":64,"links":310},[311,312,313,314],{"id":32,"depth":54,"text":33},{"id":129,"depth":54,"text":130},{"id":257,"depth":54,"text":258},{"id":295,"depth":54,"text":315},"Always log the request_id","How the CHeKT API tells you something went wrong.","md",{},true,"/docs/errors","Get Started",{"title":5,"description":316},"docs/errors","uknjwqX06r3VZp2uTgqKmvRiCtuk2GzsK93hpNaGlXE",1779905486644]