[{"data":1,"prerenderedAt":512},["ShallowReactive",2],{"\u002Fdocs\u002Fapi\u002Ferrors":3,"docs-api-navigation":419,"\u002Fdocs\u002Fapi\u002Ferrors-surround":507},{"id":4,"title":5,"body":6,"description":410,"extension":411,"meta":412,"navigation":413,"path":415,"seo":416,"stem":417,"__hash__":418},"docs\u002F1.docs\u002F2.api\u002F8.errors.md","Errors",{"type":7,"value":8,"toc":402},"minimark",[9,13,99,119,124,255,287,294,301,305,314,318,327,344,347,350,370,374,398],[10,11,12],"p",{},"Errors come back with a normal HTTP status code and a consistent body:",[14,15,21],"pre",{"className":16,"code":17,"filename":18,"language":19,"meta":20,"style":20},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"error\": \"insufficient_scope\",\n  \"detail\": \"This key is missing the \\\"public:read\\\" scope.\"\n}\n","Response","json","",[22,23,24,33,61,93],"code",{"__ignoreMap":20},[25,26,29],"span",{"class":27,"line":28},"line",1,[25,30,32],{"class":31},"sMK4o","{\n",[25,34,36,39,43,46,49,52,56,58],{"class":27,"line":35},2,[25,37,38],{"class":31},"  \"",[25,40,42],{"class":41},"spNyl","error",[25,44,45],{"class":31},"\"",[25,47,48],{"class":31},":",[25,50,51],{"class":31}," \"",[25,53,55],{"class":54},"sfazB","insufficient_scope",[25,57,45],{"class":31},[25,59,60],{"class":31},",\n",[25,62,64,66,69,71,73,75,78,82,85,87,90],{"class":27,"line":63},3,[25,65,38],{"class":31},[25,67,68],{"class":41},"detail",[25,70,45],{"class":31},[25,72,48],{"class":31},[25,74,51],{"class":31},[25,76,77],{"class":54},"This key is missing the ",[25,79,81],{"class":80},"sTEyZ","\\\"",[25,83,84],{"class":54},"public:read",[25,86,81],{"class":80},[25,88,89],{"class":54}," scope.",[25,91,92],{"class":31},"\"\n",[25,94,96],{"class":27,"line":95},4,[25,97,98],{"class":31},"}\n",[100,101,102,114],"field-group",{},[103,104,106],"field",{"name":42,"type":105},"string",[10,107,108,109,113],{},"A stable machine-readable code. ",[110,111,112],"strong",{},"Branch on this."," It will not change.",[103,115,116],{"name":68,"type":105},[10,117,118],{},"A sentence for a human. Wording may be improved over time, so never match on it.",[120,121,123],"h2",{"id":122},"status-codes","Status codes",[125,126,127,143],"table",{},[128,129,130],"thead",{},[131,132,133,137,140],"tr",{},[134,135,136],"th",{},"Code",[134,138,139],{},"Meaning",[134,141,142],{},"What to do",[144,145,146,160,173,186,199,212,229,242],"tbody",{},[131,147,148,154,157],{},[149,150,151],"td",{},[22,152,153],{},"400",[149,155,156],{},"The request is malformed — a bad date, an unknown sort field",[149,158,159],{},"Fix the request; retrying will not help",[131,161,162,167,170],{},[149,163,164],{},[22,165,166],{},"401",[149,168,169],{},"The key is missing, malformed, revoked or expired",[149,171,172],{},"Check the header, or create a new key",[131,174,175,180,183],{},[149,176,177],{},[22,178,179],{},"402",[149,181,182],{},"The key is valid but your plan does not include the API",[149,184,185],{},"Activate Pro — the same key starts working again",[131,187,188,193,196],{},[149,189,190],{},[22,191,192],{},"403",[149,194,195],{},"The key is valid but lacks the required scope",[149,197,198],{},"Create a key with the scope you need",[131,200,201,206,209],{},[149,202,203],{},[22,204,205],{},"404",[149,207,208],{},"No such account, or it is private and not yours",[149,210,211],{},"Check the slug",[131,213,214,219,222],{},[149,215,216],{},[22,217,218],{},"429",[149,220,221],{},"Rate limit exceeded",[149,223,224,225,228],{},"Wait for ",[22,226,227],{},"Retry-After",", then retry",[131,230,231,236,239],{},[149,232,233],{},[22,234,235],{},"500",[149,237,238],{},"Something broke on our side",[149,240,241],{},"Retry with backoff; if it persists, tell us",[131,243,244,249,252],{},[149,245,246],{},[22,247,248],{},"503",[149,250,251],{},"Temporarily unable to serve",[149,253,254],{},"Retry with backoff",[256,257,258],"note",{},[10,259,260,271,272,274,275,277,278,280,281,283,284,286],{},[110,261,262,264,265,267,268,270],{},[22,263,166],{},", ",[22,266,179],{}," and ",[22,269,192],{}," are not interchangeable."," ",[22,273,166],{}," means we do not know who you are.\n",[22,276,179],{}," means we know who you are, the key is fine, and your plan does not include the API.\n",[22,279,192],{}," means the key is valid but lacks the scope. Only ",[22,282,166],{}," is worth re-authenticating for,\nand only ",[22,285,192],{}," is worth creating a new key for.",[120,288,290,291,293],{"id":289},"why-a-402-does-not-revoke-your-key","Why a ",[22,292,179],{}," does not revoke your key",[10,295,296,297,300],{},"When a plan lapses the key is ",[110,298,299],{},"rejected, not revoked",". Nothing is deleted, nothing needs to be\nrecreated, and no support ticket is involved: the same key starts working again by itself the\nmoment the plan is active. The plan is read fresh on every request and is never stored on the\nkey, which is why this costs you nothing to recover from.",[120,302,304],{"id":303},"why-a-private-account-returns-404","Why a private account returns 404",[10,306,307,308,310,311,313],{},"Asking for an account that exists but is not yours returns ",[22,309,205],{},", the same as one that does\nnot exist at all. A ",[22,312,192],{}," would confirm the account is real, which is information the owner\ndid not publish.",[120,315,317],{"id":316},"rate-limits","Rate limits",[10,319,320,321,323,324,326],{},"A ",[22,322,218],{}," carries a ",[22,325,227],{}," header, in seconds:",[14,328,332],{"className":329,"code":330,"language":331,"meta":20,"style":20},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","HTTP\u002F1.1 429 Too Many Requests\nRetry-After: 30\n","http",[22,333,334,339],{"__ignoreMap":20},[25,335,336],{"class":27,"line":28},[25,337,338],{},"HTTP\u002F1.1 429 Too Many Requests\n",[25,340,341],{"class":27,"line":35},[25,342,343],{},"Retry-After: 30\n",[10,345,346],{},"Wait that long. Retrying immediately, or on a fixed sleep shorter than the header says, will\nkeep you limited for longer than necessary.",[10,348,349],{},"Every successful response also tells you where you stand, so you can slow down before you get\nturned away:",[14,351,353],{"className":329,"code":352,"language":331,"meta":20,"style":20},"X-RateLimit-Limit: 120\nX-RateLimit-Remaining: 118\nX-RateLimit-Reset: 1755864000\n",[22,354,355,360,365],{"__ignoreMap":20},[25,356,357],{"class":27,"line":28},[25,358,359],{},"X-RateLimit-Limit: 120\n",[25,361,362],{"class":27,"line":35},[25,363,364],{},"X-RateLimit-Remaining: 118\n",[25,366,367],{"class":27,"line":63},[25,368,369],{},"X-RateLimit-Reset: 1755864000\n",[120,371,373],{"id":372},"retrying-safely","Retrying safely",[10,375,376,377,380,381,264,383,267,385,387,388,264,390,60,392,394,395,397],{},"Every endpoint in this API is read-only, so ",[110,378,379],{},"any request can be retried without side\neffects",". Retry ",[22,382,218],{},[22,384,235],{},[22,386,248],{}," with exponential backoff. Do not retry ",[22,389,153],{},[22,391,166],{},[22,393,192],{}," or ",[22,396,205],{}," — nothing about them will be different the second time.",[399,400,401],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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":20,"searchDepth":35,"depth":35,"links":403},[404,405,407,408,409],{"id":122,"depth":35,"text":123},{"id":289,"depth":35,"text":406},"Why a 402 does not revoke your key",{"id":303,"depth":35,"text":304},{"id":316,"depth":35,"text":317},{"id":372,"depth":35,"text":373},"Status codes, the error shape, and what to do about each one.","md",{},{"icon":414},"i-lucide-triangle-alert","\u002Fdocs\u002Fapi\u002Ferrors",{"title":5,"description":410},"1.docs\u002F2.api\u002F8.errors","inhrFGAc_a-IdxL4wDMOdnXRa13zmw8AFl3gfaVTuUI",[420],{"title":421,"path":422,"stem":423,"children":424,"page":443},"Docs","\u002Fdocs","1.docs",[425,444,483],{"title":426,"path":427,"stem":428,"children":429,"icon":443},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[430,433,438],{"title":431,"path":427,"stem":428,"icon":432},"Introduction","i-lucide-house",{"title":434,"path":435,"stem":436,"icon":437},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","1.docs\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":439,"path":440,"stem":441,"icon":442},"Usage","\u002Fdocs\u002Fgetting-started\u002Fusage","1.docs\u002F1.getting-started\u002F3.usage","i-lucide-sliders",false,{"title":445,"path":446,"stem":447,"children":448,"icon":482},"API Reference","\u002Fdocs\u002Fapi","1.docs\u002F2.api\u002F1.index",[449,451,456,461,466,471,476,481],{"title":431,"path":446,"stem":447,"icon":450},"i-lucide-book-open",{"title":452,"path":453,"stem":454,"icon":455},"Authentication","\u002Fdocs\u002Fapi\u002Fauthentication","1.docs\u002F2.api\u002F2.authentication","i-lucide-key",{"title":457,"path":458,"stem":459,"icon":460},"Conventions","\u002Fdocs\u002Fapi\u002Fconventions","1.docs\u002F2.api\u002F3.conventions","i-lucide-ruler",{"title":462,"path":463,"stem":464,"icon":465},"Accounts","\u002Fdocs\u002Fapi\u002Faccounts","1.docs\u002F2.api\u002F4.accounts","i-lucide-wallet",{"title":467,"path":468,"stem":469,"icon":470},"Trades & positions","\u002Fdocs\u002Fapi\u002Ftrades","1.docs\u002F2.api\u002F5.trades","i-lucide-arrow-left-right",{"title":472,"path":473,"stem":474,"icon":475},"Search","\u002Fdocs\u002Fapi\u002Fsearch","1.docs\u002F2.api\u002F6.search","i-lucide-search",{"title":477,"path":478,"stem":479,"icon":480},"MCP server","\u002Fdocs\u002Fapi\u002Fmcp","1.docs\u002F2.api\u002F7.mcp","i-lucide-sparkles",{"title":5,"path":415,"stem":417,"icon":414},"i-lucide-code-xml",{"title":484,"path":485,"stem":486,"children":487,"page":443},"Essentials","\u002Fdocs\u002Fessentials","1.docs\u002F2.essentials",[488,493,497,502],{"title":489,"path":490,"stem":491,"icon":492},"Markdown Syntax","\u002Fdocs\u002Fessentials\u002Fmarkdown-syntax","1.docs\u002F2.essentials\u002F1.markdown-syntax","i-lucide-heading-1",{"title":494,"path":495,"stem":496,"icon":482},"Code Blocks","\u002Fdocs\u002Fessentials\u002Fcode-blocks","1.docs\u002F2.essentials\u002F2.code-blocks",{"title":498,"path":499,"stem":500,"icon":501},"Prose Components","\u002Fdocs\u002Fessentials\u002Fprose-components","1.docs\u002F2.essentials\u002F3.prose-components","i-lucide-component",{"title":503,"path":504,"stem":505,"icon":506},"Images and Embeds","\u002Fdocs\u002Fessentials\u002Fimages-embeds","1.docs\u002F2.essentials\u002F4.images-embeds","i-lucide-image",[508,510],{"title":477,"path":478,"stem":479,"description":509,"icon":480,"children":-1},"Connect ShowMyTrades to Claude, ChatGPT or any MCP client and ask about your trading in plain language.",{"title":489,"path":490,"stem":491,"description":511,"icon":492,"children":-1},"Text, title, and styling in standard markdown.",1788228306967]