[{"data":1,"prerenderedAt":347},["ShallowReactive",2],{"docs-nav-titles":3,"page-docs_en-\u002Freference":52},{"en":4,"id":39},{"\u002Fauthentication":5,"\u002Fchangelog":6,"\u002Fguides\u002Fbilling":7,"\u002Fguides\u002Ferrors":8,"\u002Fguides\u002Fjson-output":9,"\u002Fguides\u002Frate-limits":10,"\u002Fguides\u002Freasoning":11,"\u002Fguides\u002Fstreaming":12,"\u002Fguides\u002Ftool-calling":13,"\u002Fguides\u002Ftop-up":14,"\u002F":15,"\u002Fintegrations\u002Faider":16,"\u002Fintegrations\u002Fclaude-code":17,"\u002Fintegrations\u002Fcline":18,"\u002Fintegrations\u002Fcontinue":19,"\u002Fintegrations\u002Fgoose":20,"\u002Fintegrations\u002Fhermes":21,"\u002Fintegrations":22,"\u002Fintegrations\u002Fkilo-code":23,"\u002Fintegrations\u002Flangchain":24,"\u002Fintegrations\u002Foh-my-pi":25,"\u002Fintegrations\u002Fopenai-sdk":26,"\u002Fintegrations\u002Fopenclaw":27,"\u002Fintegrations\u002Fopencode":28,"\u002Fintegrations\u002Fpi":29,"\u002Fintegrations\u002Fvercel-ai-sdk":30,"\u002Fintegrations\u002Fzed":31,"\u002Fmodels":32,"\u002Fquickstart":33,"\u002Freference\u002Fchat-completions":34,"\u002Freference":22,"\u002Freference\u002Fmessages":35,"\u002Freference\u002Fmodels":36,"\u002Freference\u002Fmodels-retrieve":37,"\u002Fsupport":38},"Authentication","Changelog","Billing","Errors & retries","JSON output","Rate limits","Reasoning content","Streaming","Tool calling","Topping up with QRIS","Introduction","Aider","Claude Code","Cline","Continue","Goose","Hermes Agent","Overview","Kilo Code","LangChain (Python)","Oh My Pi","OpenAI SDKs","OpenClaw","OpenCode","Pi","Vercel AI SDK","Zed","Models","Quickstart","Chat completions","Messages","List models","Retrieve a model","Support",{"\u002Fauthentication":40,"\u002Fchangelog":6,"\u002Fguides\u002Fbilling":7,"\u002Fguides\u002Ferrors":41,"\u002Fguides\u002Fjson-output":42,"\u002Fguides\u002Frate-limits":43,"\u002Fguides\u002Freasoning":44,"\u002Fguides\u002Fstreaming":12,"\u002Fguides\u002Ftool-calling":13,"\u002Fguides\u002Ftop-up":45,"\u002F":46,"\u002Fintegrations\u002Faider":16,"\u002Fintegrations\u002Fclaude-code":17,"\u002Fintegrations\u002Fcline":18,"\u002Fintegrations\u002Fcontinue":19,"\u002Fintegrations\u002Fgoose":20,"\u002Fintegrations\u002Fhermes":21,"\u002Fintegrations":47,"\u002Fintegrations\u002Fkilo-code":23,"\u002Fintegrations\u002Flangchain":24,"\u002Fintegrations\u002Foh-my-pi":25,"\u002Fintegrations\u002Fopenai-sdk":48,"\u002Fintegrations\u002Fopenclaw":27,"\u002Fintegrations\u002Fopencode":28,"\u002Fintegrations\u002Fpi":29,"\u002Fintegrations\u002Fvercel-ai-sdk":30,"\u002Fintegrations\u002Fzed":31,"\u002Fmodels":49,"\u002Fquickstart":33,"\u002Freference\u002Fchat-completions":34,"\u002Freference":47,"\u002Freference\u002Fmessages":35,"\u002Freference\u002Fmodels":50,"\u002Freference\u002Fmodels-retrieve":51,"\u002Fsupport":38},"Autentikasi","Error & retry","Output JSON","Rate limit","Konten reasoning","Isi saldo dengan QRIS","Pengantar","Ringkasan","OpenAI SDK","Model","Daftar model","Ambil satu model",{"id":53,"title":54,"body":55,"description":338,"extension":339,"eyebrow":340,"meta":341,"navTitle":22,"navigation":342,"path":343,"seo":344,"stem":345,"__hash__":346},"docs_en\u002Freference\u002Findex.md","API reference",{"type":56,"value":57,"toc":330},"minimark",[58,67,72,82,97,100,103,110,118,122,125,129,146,239,244,251,254,260,264,308,312,326],[59,60,61,62,66],"p",{},"The public API follows the OpenAI Chat Completions format, so the official OpenAI SDKs and most OpenAI-compatible clients work unchanged. It also serves the Anthropic Messages format at ",[63,64,65],"code",{},"POST \u002Fv1\u002Fmessages",", for Claude Code and the Anthropic SDKs.",[68,69,71],"h2",{"id":70},"base-url","Base URL",[73,74,80],"pre",{"className":75,"code":77,"language":78,"meta":79},[76],"language-text","https:\u002F\u002Fapi.larasrouter.com\u002Fv1\n","text","",[63,81,77],{"__ignoreMap":79},[59,83,84,85,88,89,92,93,96],{},"All requests use HTTPS. Request and response bodies are JSON (",[63,86,87],{},"application\u002Fjson","); streamed responses use Server-Sent Events (",[63,90,91],{},"text\u002Fevent-stream","). Large prompts are supported up to the request size limit; a larger body is rejected with ",[63,94,95],{},"413 request_too_large",".",[68,98,5],{"id":99},"authentication",[59,101,102],{},"Send your API key in either header:",[73,104,108],{"className":105,"code":106,"filename":107,"language":78,"meta":79},[76],"Authorization: Bearer lr_live_…\nx-api-key: lr_live_…\n","Headers",[63,109,106],{"__ignoreMap":79},[59,111,112,113,117],{},"See ",[114,115,5],"a",{"href":116},"\u002Fauthentication"," for key management.",[68,119,121],{"id":120},"endpoints","Endpoints",[123,124],"api-operations",{},[68,126,128],{"id":127},"errors","Errors",[59,130,131,132,134,135,138,139,142,143,96],{},"Every error uses the OpenAI error envelope, except those from ",[63,133,65],{},", which use the Anthropic envelope (see ",[114,136,35],{"href":137},"\u002Freference\u002Fmessages","). Branch on ",[63,140,141],{},"error.code",", never on the message text: the message is in English by default and in Bahasa Indonesia when the request carries ",[63,144,145],{},"Accept-Language: id",[73,147,152],{"className":148,"code":149,"filename":150,"language":151,"meta":79,"style":79},"language-json shiki shiki-themes github-dark-default github-light-default","{\n  \"error\": {\n    \"message\": \"Insufficient balance. Top up to continue.\",\n    \"type\": \"insufficient_quota\",\n    \"code\": \"insufficient_credit\",\n    \"param\": null\n  }\n}\n","Error response","json",[63,153,154,163,173,189,202,215,227,233],{"__ignoreMap":79},[155,156,159],"span",{"class":157,"line":158},"line",1,[155,160,162],{"class":161},"sUq8j","{\n",[155,164,166,170],{"class":157,"line":165},2,[155,167,169],{"class":168},"sGSaJ","  \"error\"",[155,171,172],{"class":161},": {\n",[155,174,176,179,182,186],{"class":157,"line":175},3,[155,177,178],{"class":168},"    \"message\"",[155,180,181],{"class":161},": ",[155,183,185],{"class":184},"sHdZ9","\"Insufficient balance. Top up to continue.\"",[155,187,188],{"class":161},",\n",[155,190,192,195,197,200],{"class":157,"line":191},4,[155,193,194],{"class":168},"    \"type\"",[155,196,181],{"class":161},[155,198,199],{"class":184},"\"insufficient_quota\"",[155,201,188],{"class":161},[155,203,205,208,210,213],{"class":157,"line":204},5,[155,206,207],{"class":168},"    \"code\"",[155,209,181],{"class":161},[155,211,212],{"class":184},"\"insufficient_credit\"",[155,214,188],{"class":161},[155,216,218,221,223],{"class":157,"line":217},6,[155,219,220],{"class":168},"    \"param\"",[155,222,181],{"class":161},[155,224,226],{"class":225},"sYnYM","null\n",[155,228,230],{"class":157,"line":229},7,[155,231,232],{"class":161},"  }\n",[155,234,236],{"class":157,"line":235},8,[155,237,238],{"class":161},"}\n",[240,241],"api-fields",{"part":242},[243],"error",[59,245,246,247,250],{},"Besides the errors listed on each endpoint, any ",[63,248,249],{},"\u002Fv1"," path can return these gateway errors:",[252,253],"api-gateway-errors",{},[59,255,112,256,259],{},[114,257,8],{"href":258},"\u002Fguides\u002Ferrors"," for what to do about each code.",[68,261,263],{"id":262},"response-headers","Response headers",[265,266,267,280],"table",{},[268,269,270],"thead",{},[271,272,273,277],"tr",{},[274,275,276],"th",{},"Header",[274,278,279],{},"Description",[281,282,283,294],"tbody",{},[271,284,285,291],{},[286,287,288],"td",{},[63,289,290],{},"X-Laras-Request-ID",[286,292,293],{},"Billing identity of the request. Present on responses to requests that reached billing; quote it when you contact support about a charge.",[271,295,296,301],{},[286,297,298],{},[63,299,300],{},"Retry-After",[286,302,303,304,307],{},"On ",[63,305,306],{},"429"," responses: seconds to wait before retrying.",[68,309,311],{"id":310},"not-available-yet","Not available yet",[59,313,314,315,318,319,321,322,325],{},"The API serves ",[63,316,317],{},"POST \u002Fv1\u002Fchat\u002Fcompletions",", ",[63,320,65],{},", and ",[63,323,324],{},"GET \u002Fv1\u002Fmodels",". Other OpenAI endpoints — such as embeddings, images, audio, and the Responses API — are not available. The Responses API (used by Codex CLI) is in development.",[327,328,329],"style",{},"html pre.shiki code .sUq8j, html code.shiki .sUq8j{--shiki-default:#E6EDF3;--shiki-light:#1F2328}html pre.shiki code .sGSaJ, html code.shiki .sGSaJ{--shiki-default:#7EE787;--shiki-light:#116329}html pre.shiki code .sHdZ9, html code.shiki .sHdZ9{--shiki-default:#A5D6FF;--shiki-light:#0A3069}html pre.shiki code .sYnYM, html code.shiki .sYnYM{--shiki-default:#79C0FF;--shiki-light:#0550AE}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 .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);}",{"title":79,"searchDepth":175,"depth":175,"links":331},[332,333,334,335,336,337],{"id":70,"depth":165,"text":71},{"id":99,"depth":165,"text":5},{"id":120,"depth":165,"text":121},{"id":127,"depth":165,"text":128},{"id":262,"depth":165,"text":263},{"id":310,"depth":165,"text":311},"The public Laras Router API, generated from our OpenAPI contract. OpenAI-compatible, authenticated with an API key.","md",null,{},true,"\u002Freference",{"title":54,"description":338},"reference\u002Findex","YxRr9V0PHUca3e9ZYJg9RT8VrrDN7fwf5tJMRb7rI60",1793333618944]