[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-en":3,"docs-en-errors":180},[4,26,43,105,155,172,176],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fgetting-started","1.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"Your First SilvaMux API Call","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start",{"title":14,"path":15,"stem":16},"Model Selection","\u002Fgetting-started\u002Fmodel-selection","1.getting-started\u002F2.model-selection",{"title":18,"path":19,"stem":20},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":22,"path":23,"stem":24},"FAQ","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Billing","\u002Fbilling","2.billing",[31,35,39],{"title":32,"path":33,"stem":34},"Billing Overview","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":36,"path":37,"stem":38},"Online Top-up","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":40,"path":41,"stem":42},"Bills, Usage & Exports","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":44,"path":45,"stem":46,"children":47,"page":25},"Coding Plan","\u002Fcoding-plan","3.coding-plan",[48,52,56,60,67,102],{"title":49,"path":50,"stem":51},"Coding Plan Overview","\u002Fcoding-plan\u002Foverview","3.coding-plan\u002F1.overview",{"title":53,"path":54,"stem":55},"Quick Start","\u002Fcoding-plan\u002Fquick-start","3.coding-plan\u002F2.quick-start",{"title":57,"path":58,"stem":59},"Usage Notes","\u002Fcoding-plan\u002Fusage-notes","3.coding-plan\u002F3.usage-notes",{"title":61,"path":62,"stem":63,"children":64},"Personal","\u002Fcoding-plan\u002Fpersonal","3.coding-plan\u002F4.personal\u002Findex",[65],{"title":66,"path":62,"stem":63},"Pricing & Benefits",{"title":68,"path":69,"stem":70,"children":71,"page":-1},"Developer Guide","\u002Fcoding-plan\u002Fguide","3.coding-plan\u002F5.guide\u002Findex",[72,74,78,82,86,90,94,98],{"title":73,"path":69,"stem":70},"Endpoints & Protocols",{"title":75,"path":76,"stem":77},"Claude Code","\u002Fcoding-plan\u002Fguide\u002Fclaude-code","3.coding-plan\u002F5.guide\u002F1.claude-code",{"title":79,"path":80,"stem":81},"OpenCode","\u002Fcoding-plan\u002Fguide\u002Fopencode","3.coding-plan\u002F5.guide\u002F2.opencode",{"title":83,"path":84,"stem":85},"Cursor","\u002Fcoding-plan\u002Fguide\u002Fcursor","3.coding-plan\u002F5.guide\u002F3.cursor",{"title":87,"path":88,"stem":89},"Codex","\u002Fcoding-plan\u002Fguide\u002Fcodex","3.coding-plan\u002F5.guide\u002F4.codex",{"title":91,"path":92,"stem":93},"ZCode","\u002Fcoding-plan\u002Fguide\u002Fzcode","3.coding-plan\u002F5.guide\u002F5.zcode",{"title":95,"path":96,"stem":97},"TRAE","\u002Fcoding-plan\u002Fguide\u002Ftrae","3.coding-plan\u002F5.guide\u002F6.trae",{"title":99,"path":100,"stem":101},"CodeBuddy","\u002Fcoding-plan\u002Fguide\u002Fcodebuddy","3.coding-plan\u002F5.guide\u002F7.codebuddy",{"title":22,"path":103,"stem":104},"\u002Fcoding-plan\u002Ffaq","3.coding-plan\u002F6.faq",{"title":106,"path":107,"stem":108,"children":109,"page":25},"Model APIs","\u002Fmodels","4.models",[110,143],{"title":111,"path":112,"stem":113,"children":114,"page":25},"Text Generation Model API","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[115,119,123,127,131,135,139],{"title":116,"path":117,"stem":118},"Overview","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":120,"path":121,"stem":122},"OpenAI Compatible API","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":124,"path":125,"stem":126},"Anthropic Compatible","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":128,"path":129,"stem":130},"Volcengine Compatible","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":132,"path":133,"stem":134},"Zhipu Compatible","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":136,"path":137,"stem":138},"SilvaMux Unified Entry","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":140,"path":141,"stem":142},"Multimodal Input","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":144,"path":145,"stem":146,"children":147,"page":25},"Image Generation Model API","\u002Fmodels\u002Fimages","4.models\u002F2.images",[148,151],{"title":116,"path":149,"stem":150},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":152,"path":153,"stem":154},"Image Generation API","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":156,"path":157,"stem":158,"children":159,"page":25},"Usage & Balance","\u002Fusage-and-balance","5.usage-and-balance",[160,164,168],{"title":161,"path":162,"stem":163},"Query Balance","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":165,"path":166,"stem":167},"Query Usage","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":169,"path":170,"stem":171},"Query Request Usage","\u002Fusage-and-balance\u002Frequest-usage","5.usage-and-balance\u002F3.request-usage",{"title":173,"path":174,"stem":175},"Error Codes","\u002Ferrors","6.errors",{"title":177,"path":178,"stem":179},"Getting Started with SilvaMux","\u002F","index",{"id":181,"title":173,"body":182,"description":888,"extension":889,"meta":890,"navigation":891,"path":174,"rawbody":892,"requiredFlags":893,"seo":894,"stem":175,"__hash__":895},"docs_en\u002F6.errors.md",{"type":183,"value":184,"toc":878},"minimark",[185,189,193,198,205,285,288,292,295,503,508,547,551,588,591,643,647,650,695,702,778,789,793,856,860,874],[186,187,173],"h1",{"id":188},"error-codes",[190,191,192],"p",{},"SilvaMux's error format depends on the API type. This page summarizes the common error format, model-call error codes, and retry advice.",[194,195,197],"h2",{"id":196},"gateway-api-errors-model-calls","Gateway API Errors (Model Calls)",[190,199,200,201,204],{},"The error format of chat, image, and video model APIs is determined by the model protocol, rendered in one of four shapes — OpenAI \u002F Anthropic \u002F Gemini \u002F Volcengine — with a unified ",[202,203,202],"code",{}," string.",[206,207,212],"pre",{"className":208,"code":209,"language":210,"meta":211,"style":211},"language-json shiki shiki-themes github-light github-dark","{\n  \"error\": {\n    \"message\": \"Detailed error message\",\n    \"type\": \"gateway_error\",\n    \"code\": \"ERROR_CODE\"\n  }\n}\n","json","",[202,213,214,223,233,249,262,273,279],{"__ignoreMap":211},[215,216,219],"span",{"class":217,"line":218},"line",1,[215,220,222],{"class":221},"sVt8B","{\n",[215,224,226,230],{"class":217,"line":225},2,[215,227,229],{"class":228},"sj4cs","  \"error\"",[215,231,232],{"class":221},": {\n",[215,234,236,239,242,246],{"class":217,"line":235},3,[215,237,238],{"class":228},"    \"message\"",[215,240,241],{"class":221},": ",[215,243,245],{"class":244},"sZZnC","\"Detailed error message\"",[215,247,248],{"class":221},",\n",[215,250,252,255,257,260],{"class":217,"line":251},4,[215,253,254],{"class":228},"    \"type\"",[215,256,241],{"class":221},[215,258,259],{"class":244},"\"gateway_error\"",[215,261,248],{"class":221},[215,263,265,268,270],{"class":217,"line":264},5,[215,266,267],{"class":228},"    \"code\"",[215,269,241],{"class":221},[215,271,272],{"class":244},"\"ERROR_CODE\"\n",[215,274,276],{"class":217,"line":275},6,[215,277,278],{"class":221},"  }\n",[215,280,282],{"class":217,"line":281},7,[215,283,284],{"class":221},"}\n",[190,286,287],{},"When the model side returns 4xx\u002F5xx, SilvaMux passes the error response through after sanitization, preserving the HTTP status code; no charges are incurred in that case.",[194,289,291],{"id":290},"gateway-api-error-codes","Gateway API Error Codes",[190,293,294],{},"Chat, image, and video model calls share the following error codes:",[296,297,298,314],"table",{},[299,300,301],"thead",{},[302,303,304,308,311],"tr",{},[305,306,307],"th",{},"Code",[305,309,310],{},"HTTP",[305,312,313],{},"Description",[315,316,317,335,347,359,371,384,397,410,423,441,454,466,478,490],"tbody",{},[302,318,319,325,328],{},[320,321,322],"td",{},[202,323,324],{},"MODEL_REQUIRED",[320,326,327],{},"400",[320,329,330,331,334],{},"Request body missing the ",[202,332,333],{},"model"," field",[302,336,337,342,344],{},[320,338,339],{},[202,340,341],{},"MODEL_NOT_FOUND",[320,343,327],{},[320,345,346],{},"Model does not exist or is unavailable",[302,348,349,354,356],{},[320,350,351],{},[202,352,353],{},"INVALID_REQUEST",[320,355,327],{},[320,357,358],{},"Invalid request parameters",[302,360,361,366,368],{},[320,362,363],{},[202,364,365],{},"INVALID_REQUEST_BODY",[320,367,327],{},[320,369,370],{},"Failed to parse the request body",[302,372,373,378,381],{},[320,374,375],{},[202,376,377],{},"UNAUTHORIZED",[320,379,380],{},"401",[320,382,383],{},"Authentication failed (invalid API key\u002FJWT)",[302,385,386,391,394],{},[320,387,388],{},[202,389,390],{},"MODEL_ACCESS_DENIED",[320,392,393],{},"403",[320,395,396],{},"Organization lacks the permission flags required by the model",[302,398,399,404,407],{},[320,400,401],{},[202,402,403],{},"INSUFFICIENT_BALANCE",[320,405,406],{},"402",[320,408,409],{},"Insufficient balance",[302,411,412,417,420],{},[320,413,414],{},[202,415,416],{},"PRE_DEDUCT_FAILED",[320,418,419],{},"400\u002F402",[320,421,422],{},"Pre-deduction failed (bad parameters = 400, storage failure = 402)",[302,424,425,430,433],{},[320,426,427],{},[202,428,429],{},"RATE_LIMITED",[320,431,432],{},"429",[320,434,435,436,440],{},"Rate limit hit (see ",[437,438,18],"a",{"href":439},"\u002Fen\u002Fdocs\u002Fgetting-started\u002Frate-limits",")",[302,442,443,448,451],{},[320,444,445],{},[202,446,447],{},"UPSTREAM_UNAVAILABLE",[320,449,450],{},"502",[320,452,453],{},"Failed to send the request to the model side",[302,455,456,461,463],{},[320,457,458],{},[202,459,460],{},"UPSTREAM_HTTP_ERROR",[320,462,450],{},[320,464,465],{},"Model side returned 4xx\u002F5xx",[302,467,468,473,475],{},[320,469,470],{},[202,471,472],{},"UPSTREAM_PROVIDER_ERROR",[320,474,450],{},[320,476,477],{},"Model-side business error",[302,479,480,485,487],{},[320,481,482],{},[202,483,484],{},"UPSTREAM_INVALID_RESPONSE",[320,486,450],{},[320,488,489],{},"Model-side response could not be parsed",[302,491,492,497,500],{},[320,493,494],{},[202,495,496],{},"INTERNAL",[320,498,499],{},"500",[320,501,502],{},"Internal error",[504,505,507],"h3",{"id":506},"image-generation-only","Image Generation Only",[296,509,510,520],{},[299,511,512],{},[302,513,514,516,518],{},[305,515,307],{},[305,517,310],{},[305,519,313],{},[315,521,522,535],{},[302,523,524,529,532],{},[320,525,526],{},[202,527,528],{},"REQUEST_TOO_LARGE",[320,530,531],{},"413",[320,533,534],{},"Request body exceeds 64MB",[302,536,537,542,544],{},[320,538,539],{},[202,540,541],{},"CONCURRENCY_LIMIT_EXCEEDED",[320,543,432],{},[320,545,546],{},"Image generation concurrency cap",[504,548,550],{"id":549},"video-tasks-only","Video & Tasks Only",[296,552,553,563],{},[299,554,555],{},[302,556,557,559,561],{},[305,558,307],{},[305,560,310],{},[305,562,313],{},[315,564,565,577],{},[302,566,567,572,574],{},[320,568,569],{},[202,570,571],{},"INVALID_CALLBACK_URL",[320,573,327],{},[320,575,576],{},"Invalid callback URL",[302,578,579,583,585],{},[320,580,581],{},[202,582,541],{},[320,584,432],{},[320,586,587],{},"Video generation concurrency cap",[190,589,590],{},"Task cancellation errors:",[296,592,593,603],{},[299,594,595],{},[302,596,597,599,601],{},[305,598,310],{},[305,600,307],{},[305,602,313],{},[315,604,605,618,631],{},[302,606,607,610,615],{},[320,608,609],{},"404",[320,611,612],{},[202,613,614],{},"NOT_FOUND",[320,616,617],{},"Task not found",[302,619,620,623,628],{},[320,621,622],{},"409",[320,624,625],{},[202,626,627],{},"INVALID_STATE",[320,629,630],{},"Task is not in the queued state",[302,632,633,635,640],{},[320,634,450],{},[320,636,637],{},[202,638,639],{},"UPSTREAM_CANCEL_FAILED",[320,641,642],{},"Model-side cancellation failed",[194,644,646],{"id":645},"billing-business-api-errors-management-apis","Billing \u002F Business API Errors (Management APIs)",[190,648,649],{},"Account, billing, and proprietary asset management APIs use an RFC 7807-style body:",[206,651,653],{"className":208,"code":652,"language":210,"meta":211,"style":211},"{\n  \"status\": 400,\n  \"detail\": \"Detailed error message\",\n  \"type\": \"tag:hub,2026-03:ERROR_CODE\"\n}\n",[202,654,655,659,670,681,691],{"__ignoreMap":211},[215,656,657],{"class":217,"line":218},[215,658,222],{"class":221},[215,660,661,664,666,668],{"class":217,"line":225},[215,662,663],{"class":228},"  \"status\"",[215,665,241],{"class":221},[215,667,327],{"class":228},[215,669,248],{"class":221},[215,671,672,675,677,679],{"class":217,"line":235},[215,673,674],{"class":228},"  \"detail\"",[215,676,241],{"class":221},[215,678,245],{"class":244},[215,680,248],{"class":221},[215,682,683,686,688],{"class":217,"line":251},[215,684,685],{"class":228},"  \"type\"",[215,687,241],{"class":221},[215,689,690],{"class":244},"\"tag:hub,2026-03:ERROR_CODE\"\n",[215,692,693],{"class":217,"line":264},[215,694,284],{"class":221},[190,696,697,698,701],{},"Validation errors include an ",[202,699,700],{},"errors"," array:",[206,703,705],{"className":208,"code":704,"language":210,"meta":211,"style":211},"{\n  \"status\": 422,\n  \"detail\": \"validation failed\",\n  \"type\": \"tag:hub,2026-03:VALIDATION_FAILED\",\n  \"errors\": [{\"location\": \"body.email\", \"message\": \"required\"}]\n}\n",[202,706,707,711,722,733,744,774],{"__ignoreMap":211},[215,708,709],{"class":217,"line":218},[215,710,222],{"class":221},[215,712,713,715,717,720],{"class":217,"line":225},[215,714,663],{"class":228},[215,716,241],{"class":221},[215,718,719],{"class":228},"422",[215,721,248],{"class":221},[215,723,724,726,728,731],{"class":217,"line":235},[215,725,674],{"class":228},[215,727,241],{"class":221},[215,729,730],{"class":244},"\"validation failed\"",[215,732,248],{"class":221},[215,734,735,737,739,742],{"class":217,"line":251},[215,736,685],{"class":228},[215,738,241],{"class":221},[215,740,741],{"class":244},"\"tag:hub,2026-03:VALIDATION_FAILED\"",[215,743,248],{"class":221},[215,745,746,749,752,755,757,760,763,766,768,771],{"class":217,"line":264},[215,747,748],{"class":228},"  \"errors\"",[215,750,751],{"class":221},": [{",[215,753,754],{"class":228},"\"location\"",[215,756,241],{"class":221},[215,758,759],{"class":244},"\"body.email\"",[215,761,762],{"class":221},", ",[215,764,765],{"class":228},"\"message\"",[215,767,241],{"class":221},[215,769,770],{"class":244},"\"required\"",[215,772,773],{"class":221},"}]\n",[215,775,776],{"class":217,"line":275},[215,777,284],{"class":221},[190,779,780,781,784,785,788],{},"Error codes of the customer query APIs (balance\u002Fusage) are listed in ",[437,782,161],{"href":783},"\u002Fen\u002Fdocs\u002Fusage-and-balance\u002Fbalance"," and ",[437,786,165],{"href":787},"\u002Fen\u002Fdocs\u002Fusage-and-balance\u002Fusage",".",[194,790,792],{"id":791},"retry-advice","Retry Advice",[296,794,795,805],{},[299,796,797],{},[302,798,799,802],{},[305,800,801],{},"HTTP status",[305,803,804],{},"Advice",[315,806,807,814,821,828,835,842,849],{},[302,808,809,811],{},[320,810,327],{},[320,812,813],{},"Do not retry; fix the request parameters",[302,815,816,818],{},[320,817,380],{},[320,819,820],{},"Do not retry; check your credentials",[302,822,823,825],{},[320,824,406],{},[320,826,827],{},"Do not retry; top up first",[302,829,830,832],{},[320,831,393],{},[320,833,834],{},"Do not retry; contact an administrator",[302,836,837,839],{},[320,838,432],{},[320,840,841],{},"Retry after waiting; exponential backoff recommended",[302,843,844,846],{},[320,845,499],{},[320,847,848],{},"Retrying is fine; wait 1–5 seconds between attempts",[302,850,851,853],{},[320,852,450],{},[320,854,855],{},"Retrying is fine; the model side is temporarily unavailable",[194,857,859],{"id":858},"request-ids","Request IDs",[190,861,862,863,866,867,870,871,873],{},"Every response carries an ",[202,864,865],{},"X-Request-Id"," header (format ",[202,868,869],{},"REQ-xxxx","). Provide this ID when troubleshooting. You may also set your own ",[202,872,865],{}," on requests; the system keeps it.",[875,876,877],"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":211,"searchDepth":225,"depth":225,"links":879},[880,881,885,886,887],{"id":196,"depth":225,"text":197},{"id":290,"depth":225,"text":291,"children":882},[883,884],{"id":506,"depth":235,"text":507},{"id":549,"depth":235,"text":550},{"id":645,"depth":225,"text":646},{"id":791,"depth":225,"text":792},{"id":858,"depth":225,"text":859},"Error formats, model-call and management API error codes, retry advice, and request IDs.","md",{},true,"---\ntitle: Error Codes\ndescription: Error formats, model-call and management API error codes, retry advice, and request IDs.\n---\n\n# Error Codes\n\nSilvaMux's error format depends on the API type. This page summarizes the common error format, model-call error codes, and retry advice.\n\n## Gateway API Errors (Model Calls)\n\nThe error format of chat, image, and video model APIs is determined by the model protocol, rendered in one of four shapes — OpenAI \u002F Anthropic \u002F Gemini \u002F Volcengine — with a unified `code` string.\n\n```json\n{\n  \"error\": {\n    \"message\": \"Detailed error message\",\n    \"type\": \"gateway_error\",\n    \"code\": \"ERROR_CODE\"\n  }\n}\n```\n\nWhen the model side returns 4xx\u002F5xx, SilvaMux passes the error response through after sanitization, preserving the HTTP status code; no charges are incurred in that case.\n\n## Gateway API Error Codes\n\nChat, image, and video model calls share the following error codes:\n\n| Code | HTTP | Description |\n| --- | --- | --- |\n| `MODEL_REQUIRED` | 400 | Request body missing the `model` field |\n| `MODEL_NOT_FOUND` | 400 | Model does not exist or is unavailable |\n| `INVALID_REQUEST` | 400 | Invalid request parameters |\n| `INVALID_REQUEST_BODY` | 400 | Failed to parse the request body |\n| `UNAUTHORIZED` | 401 | Authentication failed (invalid API key\u002FJWT) |\n| `MODEL_ACCESS_DENIED` | 403 | Organization lacks the permission flags required by the model |\n| `INSUFFICIENT_BALANCE` | 402 | Insufficient balance |\n| `PRE_DEDUCT_FAILED` | 400\u002F402 | Pre-deduction failed (bad parameters = 400, storage failure = 402) |\n| `RATE_LIMITED` | 429 | Rate limit hit (see [Rate Limits](\u002Fen\u002Fdocs\u002Fgetting-started\u002Frate-limits)) |\n| `UPSTREAM_UNAVAILABLE` | 502 | Failed to send the request to the model side |\n| `UPSTREAM_HTTP_ERROR` | 502 | Model side returned 4xx\u002F5xx |\n| `UPSTREAM_PROVIDER_ERROR` | 502 | Model-side business error |\n| `UPSTREAM_INVALID_RESPONSE` | 502 | Model-side response could not be parsed |\n| `INTERNAL` | 500 | Internal error |\n\n### Image Generation Only\n\n| Code | HTTP | Description |\n| --- | --- | --- |\n| `REQUEST_TOO_LARGE` | 413 | Request body exceeds 64MB |\n| `CONCURRENCY_LIMIT_EXCEEDED` | 429 | Image generation concurrency cap |\n\n### Video & Tasks Only\n\n| Code | HTTP | Description |\n| --- | --- | --- |\n| `INVALID_CALLBACK_URL` | 400 | Invalid callback URL |\n| `CONCURRENCY_LIMIT_EXCEEDED` | 429 | Video generation concurrency cap |\n\nTask cancellation errors:\n\n| HTTP | Code | Description |\n| --- | --- | --- |\n| 404 | `NOT_FOUND` | Task not found |\n| 409 | `INVALID_STATE` | Task is not in the queued state |\n| 502 | `UPSTREAM_CANCEL_FAILED` | Model-side cancellation failed |\n\n## Billing \u002F Business API Errors (Management APIs)\n\nAccount, billing, and proprietary asset management APIs use an RFC 7807-style body:\n\n```json\n{\n  \"status\": 400,\n  \"detail\": \"Detailed error message\",\n  \"type\": \"tag:hub,2026-03:ERROR_CODE\"\n}\n```\n\nValidation errors include an `errors` array:\n\n```json\n{\n  \"status\": 422,\n  \"detail\": \"validation failed\",\n  \"type\": \"tag:hub,2026-03:VALIDATION_FAILED\",\n  \"errors\": [{\"location\": \"body.email\", \"message\": \"required\"}]\n}\n```\n\nError codes of the customer query APIs (balance\u002Fusage) are listed in [Query Balance](\u002Fen\u002Fdocs\u002Fusage-and-balance\u002Fbalance) and [Query Usage](\u002Fen\u002Fdocs\u002Fusage-and-balance\u002Fusage).\n\n## Retry Advice\n\n| HTTP status | Advice |\n| --- | --- |\n| 400 | Do not retry; fix the request parameters |\n| 401 | Do not retry; check your credentials |\n| 402 | Do not retry; top up first |\n| 403 | Do not retry; contact an administrator |\n| 429 | Retry after waiting; exponential backoff recommended |\n| 500 | Retrying is fine; wait 1–5 seconds between attempts |\n| 502 | Retrying is fine; the model side is temporarily unavailable |\n\n## Request IDs\n\nEvery response carries an `X-Request-Id` header (format `REQ-xxxx`). Provide this ID when troubleshooting. You may also set your own `X-Request-Id` on requests; the system keeps it.\n",[],{"title":173,"description":888},"pgqDYTjVHk7P0T7RtRxMTs0Ku1OYf1_bCjMcfLjIxdI"]