[{"data":1,"prerenderedAt":1091},["ShallowReactive",2],{"docs-nav-titles":3,"page-docs_en-\u002Freference\u002Fmessages":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":1083,"extension":1084,"eyebrow":1085,"meta":1086,"navTitle":35,"navigation":254,"path":1087,"seo":1088,"stem":1089,"__hash__":1090},"docs_en\u002Freference\u002Fmessages.md","Create message",{"type":56,"value":57,"toc":1073},"minimark",[58,62,77,93,98,103,107,575,579,583,806,817,821,859,862,902,923,932,936,969,973,976,1045,1062,1066,1069],[59,60],"api-endpoint",{"operation":61},"createMessage",[63,64,65,66,71,72,76],"p",{},"This is the Anthropic Messages API, so Claude Code and the official Anthropic SDKs work with a change of base URL and key. It runs the same model as ",[67,68,70],"a",{"href":69},"\u002Freference\u002Fchat-completions","chat completions",", at the same prices, with the same limits, and is billed from the usage the model reports. To connect Claude Code, follow the ",[67,73,75],{"href":74},"\u002Fintegrations\u002Fclaude-code","Claude Code guide",".",[63,78,79,80,84,85,88,89,92],{},"The Anthropic SDKs add ",[81,82,83],"code",{},"\u002Fv1\u002Fmessages"," to the base URL themselves, so give them ",[81,86,87],{},"https:\u002F\u002Fapi.larasrouter.com"," without ",[81,90,91],{},"\u002Fv1",". Errors from this endpoint use the Anthropic error envelope, not the OpenAI one.",[94,95,97],"h2",{"id":96},"request-body","Request body",[99,100],"api-fields",{"operation":61,"part":101},[102],"request",[94,104,106],{"id":105},"example-request","Example request",[108,109,110,227,408],"code-group",{},[111,112,118],"pre",{"className":113,"code":114,"filename":115,"language":116,"meta":117,"style":117},"language-bash shiki shiki-themes github-dark-default github-light-default","curl https:\u002F\u002Fapi.larasrouter.com\u002Fv1\u002Fmessages \\\n  -H \"x-api-key: $LARAS_API_KEY\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"deepseek-flash\",\n    \"max_tokens\": 1024,\n    \"system\": \"You are a concise assistant.\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"Name three uses of a hash map.\"}\n    ]\n  }'\n","cURL","bash","",[81,119,120,137,156,166,176,185,191,197,203,209,215,221],{"__ignoreMap":117},[121,122,125,129,133],"span",{"class":123,"line":124},"line",1,[121,126,128],{"class":127},"sjwWW","curl",[121,130,132],{"class":131},"sHdZ9"," https:\u002F\u002Fapi.larasrouter.com\u002Fv1\u002Fmessages",[121,134,136],{"class":135},"s1PA9"," \\\n",[121,138,140,144,147,151,154],{"class":123,"line":139},2,[121,141,143],{"class":142},"sYnYM","  -H",[121,145,146],{"class":131}," \"x-api-key: ",[121,148,150],{"class":149},"sUq8j","$LARAS_API_KEY",[121,152,153],{"class":131},"\"",[121,155,136],{"class":135},[121,157,159,161,164],{"class":123,"line":158},3,[121,160,143],{"class":142},[121,162,163],{"class":131}," \"anthropic-version: 2023-06-01\"",[121,165,136],{"class":135},[121,167,169,171,174],{"class":123,"line":168},4,[121,170,143],{"class":142},[121,172,173],{"class":131}," \"Content-Type: application\u002Fjson\"",[121,175,136],{"class":135},[121,177,179,182],{"class":123,"line":178},5,[121,180,181],{"class":142},"  -d",[121,183,184],{"class":131}," '{\n",[121,186,188],{"class":123,"line":187},6,[121,189,190],{"class":131},"    \"model\": \"deepseek-flash\",\n",[121,192,194],{"class":123,"line":193},7,[121,195,196],{"class":131},"    \"max_tokens\": 1024,\n",[121,198,200],{"class":123,"line":199},8,[121,201,202],{"class":131},"    \"system\": \"You are a concise assistant.\",\n",[121,204,206],{"class":123,"line":205},9,[121,207,208],{"class":131},"    \"messages\": [\n",[121,210,212],{"class":123,"line":211},10,[121,213,214],{"class":131},"      {\"role\": \"user\", \"content\": \"Name three uses of a hash map.\"}\n",[121,216,218],{"class":123,"line":217},11,[121,219,220],{"class":131},"    ]\n",[121,222,224],{"class":123,"line":223},12,[121,225,226],{"class":131},"  }'\n",[111,228,233],{"className":229,"code":230,"filename":231,"language":232,"meta":117,"style":117},"language-python shiki shiki-themes github-dark-default github-light-default","import os\nimport anthropic\n\nclient = anthropic.Anthropic(\n    base_url=\"https:\u002F\u002Fapi.larasrouter.com\",\n    api_key=os.environ[\"LARAS_API_KEY\"],\n)\n\nmessage = client.messages.create(\n    model=\"deepseek-flash\",\n    max_tokens=1024,\n    system=\"You are a concise assistant.\",\n    messages=[{\"role\": \"user\", \"content\": \"Name three uses of a hash map.\"}],\n)\nprint(message.content[-1].text)\n","Python","python",[81,234,235,243,250,256,267,280,296,301,305,315,327,339,351,385,390],{"__ignoreMap":117},[121,236,237,240],{"class":123,"line":124},[121,238,239],{"class":135},"import",[121,241,242],{"class":149}," os\n",[121,244,245,247],{"class":123,"line":139},[121,246,239],{"class":135},[121,248,249],{"class":149}," anthropic\n",[121,251,252],{"class":123,"line":158},[121,253,255],{"emptyLinePlaceholder":254},true,"\n",[121,257,258,261,264],{"class":123,"line":168},[121,259,260],{"class":149},"client ",[121,262,263],{"class":135},"=",[121,265,266],{"class":149}," anthropic.Anthropic(\n",[121,268,269,272,274,277],{"class":123,"line":178},[121,270,271],{"class":127},"    base_url",[121,273,263],{"class":135},[121,275,276],{"class":131},"\"https:\u002F\u002Fapi.larasrouter.com\"",[121,278,279],{"class":149},",\n",[121,281,282,285,287,290,293],{"class":123,"line":187},[121,283,284],{"class":127},"    api_key",[121,286,263],{"class":135},[121,288,289],{"class":149},"os.environ[",[121,291,292],{"class":131},"\"LARAS_API_KEY\"",[121,294,295],{"class":149},"],\n",[121,297,298],{"class":123,"line":193},[121,299,300],{"class":149},")\n",[121,302,303],{"class":123,"line":199},[121,304,255],{"emptyLinePlaceholder":254},[121,306,307,310,312],{"class":123,"line":205},[121,308,309],{"class":149},"message ",[121,311,263],{"class":135},[121,313,314],{"class":149}," client.messages.create(\n",[121,316,317,320,322,325],{"class":123,"line":211},[121,318,319],{"class":127},"    model",[121,321,263],{"class":135},[121,323,324],{"class":131},"\"deepseek-flash\"",[121,326,279],{"class":149},[121,328,329,332,334,337],{"class":123,"line":217},[121,330,331],{"class":127},"    max_tokens",[121,333,263],{"class":135},[121,335,336],{"class":142},"1024",[121,338,279],{"class":149},[121,340,341,344,346,349],{"class":123,"line":223},[121,342,343],{"class":127},"    system",[121,345,263],{"class":135},[121,347,348],{"class":131},"\"You are a concise assistant.\"",[121,350,279],{"class":149},[121,352,354,357,359,362,365,368,371,374,377,379,382],{"class":123,"line":353},13,[121,355,356],{"class":127},"    messages",[121,358,263],{"class":135},[121,360,361],{"class":149},"[{",[121,363,364],{"class":131},"\"role\"",[121,366,367],{"class":149},": ",[121,369,370],{"class":131},"\"user\"",[121,372,373],{"class":149},", ",[121,375,376],{"class":131},"\"content\"",[121,378,367],{"class":149},[121,380,381],{"class":131},"\"Name three uses of a hash map.\"",[121,383,384],{"class":149},"}],\n",[121,386,388],{"class":123,"line":387},14,[121,389,300],{"class":149},[121,391,393,396,399,402,405],{"class":123,"line":392},15,[121,394,395],{"class":142},"print",[121,397,398],{"class":149},"(message.content[",[121,400,401],{"class":135},"-",[121,403,404],{"class":142},"1",[121,406,407],{"class":149},"].text)\n",[111,409,414],{"className":410,"code":411,"filename":412,"language":413,"meta":117,"style":117},"language-typescript shiki shiki-themes github-dark-default github-light-default","import Anthropic from \"@anthropic-ai\u002Fsdk\";\n\nconst client = new Anthropic({\n  baseURL: \"https:\u002F\u002Fapi.larasrouter.com\",\n  apiKey: process.env.LARAS_API_KEY,\n});\n\nconst message = await client.messages.create({\n  model: \"deepseek-flash\",\n  max_tokens: 1024,\n  system: \"You are a concise assistant.\",\n  messages: [{ role: \"user\", content: \"Name three uses of a hash map.\" }],\n});\nconsole.log(message.content.at(-1));\n","Node.js","typescript",[81,415,416,432,436,457,466,476,481,485,505,514,523,532,547,551],{"__ignoreMap":117},[121,417,418,420,423,426,429],{"class":123,"line":124},[121,419,239],{"class":135},[121,421,422],{"class":149}," Anthropic ",[121,424,425],{"class":135},"from",[121,427,428],{"class":131}," \"@anthropic-ai\u002Fsdk\"",[121,430,431],{"class":149},";\n",[121,433,434],{"class":123,"line":139},[121,435,255],{"emptyLinePlaceholder":254},[121,437,438,441,444,447,450,454],{"class":123,"line":158},[121,439,440],{"class":135},"const",[121,442,443],{"class":142}," client",[121,445,446],{"class":135}," =",[121,448,449],{"class":135}," new",[121,451,453],{"class":452},"sK34n"," Anthropic",[121,455,456],{"class":149},"({\n",[121,458,459,462,464],{"class":123,"line":168},[121,460,461],{"class":149},"  baseURL: ",[121,463,276],{"class":131},[121,465,279],{"class":149},[121,467,468,471,474],{"class":123,"line":178},[121,469,470],{"class":149},"  apiKey: process.env.",[121,472,473],{"class":142},"LARAS_API_KEY",[121,475,279],{"class":149},[121,477,478],{"class":123,"line":187},[121,479,480],{"class":149},"});\n",[121,482,483],{"class":123,"line":193},[121,484,255],{"emptyLinePlaceholder":254},[121,486,487,489,492,494,497,500,503],{"class":123,"line":199},[121,488,440],{"class":135},[121,490,491],{"class":142}," message",[121,493,446],{"class":135},[121,495,496],{"class":135}," await",[121,498,499],{"class":149}," client.messages.",[121,501,502],{"class":452},"create",[121,504,456],{"class":149},[121,506,507,510,512],{"class":123,"line":205},[121,508,509],{"class":149},"  model: ",[121,511,324],{"class":131},[121,513,279],{"class":149},[121,515,516,519,521],{"class":123,"line":211},[121,517,518],{"class":149},"  max_tokens: ",[121,520,336],{"class":142},[121,522,279],{"class":149},[121,524,525,528,530],{"class":123,"line":217},[121,526,527],{"class":149},"  system: ",[121,529,348],{"class":131},[121,531,279],{"class":149},[121,533,534,537,539,542,544],{"class":123,"line":223},[121,535,536],{"class":149},"  messages: [{ role: ",[121,538,370],{"class":131},[121,540,541],{"class":149},", content: ",[121,543,381],{"class":131},[121,545,546],{"class":149}," }],\n",[121,548,549],{"class":123,"line":353},[121,550,480],{"class":149},[121,552,553,556,559,562,565,568,570,572],{"class":123,"line":387},[121,554,555],{"class":149},"console.",[121,557,558],{"class":452},"log",[121,560,561],{"class":149},"(message.content.",[121,563,564],{"class":452},"at",[121,566,567],{"class":149},"(",[121,569,401],{"class":135},[121,571,404],{"class":142},[121,573,574],{"class":149},"));\n",[94,576,578],{"id":577},"response-body","Response body",[99,580],{"operation":61,"part":581},[582],"response",[111,584,589],{"className":585,"code":586,"filename":587,"language":588,"meta":117,"style":117},"language-json shiki shiki-themes github-dark-default github-light-default","{\n  \"id\": \"msg_0f8fad5bd9cb469fa16570867728950e\",\n  \"type\": \"message\",\n  \"role\": \"assistant\",\n  \"model\": \"deepseek-flash\",\n  \"content\": [\n    { \"type\": \"thinking\", \"thinking\": \"The user wants three uses…\", \"signature\": \"lr1-…\" },\n    { \"type\": \"text\", \"text\": \"1. Caching results by key…\" }\n  ],\n  \"stop_reason\": \"end_turn\",\n  \"stop_sequence\": null,\n  \"usage\": {\n    \"input_tokens\": 24,\n    \"output_tokens\": 180,\n    \"cache_creation_input_tokens\": 0,\n    \"cache_read_input_tokens\": 0\n  }\n}\n","200 OK","json",[81,590,591,596,609,621,633,644,652,687,710,715,727,739,747,759,771,783,794,800],{"__ignoreMap":117},[121,592,593],{"class":123,"line":124},[121,594,595],{"class":149},"{\n",[121,597,598,602,604,607],{"class":123,"line":139},[121,599,601],{"class":600},"sGSaJ","  \"id\"",[121,603,367],{"class":149},[121,605,606],{"class":131},"\"msg_0f8fad5bd9cb469fa16570867728950e\"",[121,608,279],{"class":149},[121,610,611,614,616,619],{"class":123,"line":158},[121,612,613],{"class":600},"  \"type\"",[121,615,367],{"class":149},[121,617,618],{"class":131},"\"message\"",[121,620,279],{"class":149},[121,622,623,626,628,631],{"class":123,"line":168},[121,624,625],{"class":600},"  \"role\"",[121,627,367],{"class":149},[121,629,630],{"class":131},"\"assistant\"",[121,632,279],{"class":149},[121,634,635,638,640,642],{"class":123,"line":178},[121,636,637],{"class":600},"  \"model\"",[121,639,367],{"class":149},[121,641,324],{"class":131},[121,643,279],{"class":149},[121,645,646,649],{"class":123,"line":187},[121,647,648],{"class":600},"  \"content\"",[121,650,651],{"class":149},": [\n",[121,653,654,657,660,662,665,667,669,671,674,676,679,681,684],{"class":123,"line":193},[121,655,656],{"class":149},"    { ",[121,658,659],{"class":600},"\"type\"",[121,661,367],{"class":149},[121,663,664],{"class":131},"\"thinking\"",[121,666,373],{"class":149},[121,668,664],{"class":600},[121,670,367],{"class":149},[121,672,673],{"class":131},"\"The user wants three uses…\"",[121,675,373],{"class":149},[121,677,678],{"class":600},"\"signature\"",[121,680,367],{"class":149},[121,682,683],{"class":131},"\"lr1-…\"",[121,685,686],{"class":149}," },\n",[121,688,689,691,693,695,698,700,702,704,707],{"class":123,"line":199},[121,690,656],{"class":149},[121,692,659],{"class":600},[121,694,367],{"class":149},[121,696,697],{"class":131},"\"text\"",[121,699,373],{"class":149},[121,701,697],{"class":600},[121,703,367],{"class":149},[121,705,706],{"class":131},"\"1. Caching results by key…\"",[121,708,709],{"class":149}," }\n",[121,711,712],{"class":123,"line":205},[121,713,714],{"class":149},"  ],\n",[121,716,717,720,722,725],{"class":123,"line":211},[121,718,719],{"class":600},"  \"stop_reason\"",[121,721,367],{"class":149},[121,723,724],{"class":131},"\"end_turn\"",[121,726,279],{"class":149},[121,728,729,732,734,737],{"class":123,"line":217},[121,730,731],{"class":600},"  \"stop_sequence\"",[121,733,367],{"class":149},[121,735,736],{"class":142},"null",[121,738,279],{"class":149},[121,740,741,744],{"class":123,"line":223},[121,742,743],{"class":600},"  \"usage\"",[121,745,746],{"class":149},": {\n",[121,748,749,752,754,757],{"class":123,"line":353},[121,750,751],{"class":600},"    \"input_tokens\"",[121,753,367],{"class":149},[121,755,756],{"class":142},"24",[121,758,279],{"class":149},[121,760,761,764,766,769],{"class":123,"line":387},[121,762,763],{"class":600},"    \"output_tokens\"",[121,765,367],{"class":149},[121,767,768],{"class":142},"180",[121,770,279],{"class":149},[121,772,773,776,778,781],{"class":123,"line":392},[121,774,775],{"class":600},"    \"cache_creation_input_tokens\"",[121,777,367],{"class":149},[121,779,780],{"class":142},"0",[121,782,279],{"class":149},[121,784,786,789,791],{"class":123,"line":785},16,[121,787,788],{"class":600},"    \"cache_read_input_tokens\"",[121,790,367],{"class":149},[121,792,793],{"class":142},"0\n",[121,795,797],{"class":123,"line":796},17,[121,798,799],{"class":149},"  }\n",[121,801,803],{"class":123,"line":802},18,[121,804,805],{"class":149},"}\n",[63,807,808,809,812,813,816],{},"The ",[81,810,811],{},"thinking"," block carries the model’s reasoning, which is billed as output. Send it back unchanged on the next turn of a conversation that uses tools: the model requires its earlier reasoning to continue a tool conversation. The ",[81,814,815],{},"signature"," is an opaque value; Laras Router does not verify it on the way back.",[94,818,820],{"id":819},"tool-use","Tool use",[63,822,823,824,827,828,831,832,835,836,839,840,843,844,847,848,851,852,855,856,76],{},"Declare tools in ",[81,825,826],{},"tools",". When the model calls one, the reply has ",[81,829,830],{},"stop_reason: \"tool_use\""," and a ",[81,833,834],{},"tool_use"," block with an ",[81,837,838],{},"id",", a ",[81,841,842],{},"name",", and an ",[81,845,846],{},"input"," object. Run the tool and send the result in the next ",[81,849,850],{},"user"," message as a ",[81,853,854],{},"tool_result"," block that carries the same ",[81,857,858],{},"tool_use_id",[94,860,12],{"id":861},"streaming",[63,863,864,865,868,869,872,873,373,876,879,880,883,884,887,888,879,891,894,895,898,899,901],{},"With ",[81,866,867],{},"\"stream\": true"," the response is a stream of Anthropic events: ",[81,870,871],{},"message_start",", then ",[81,874,875],{},"content_block_start",[81,877,878],{},"content_block_delta"," and ",[81,881,882],{},"content_block_stop"," for each block, ",[81,885,886],{},"ping"," while the model is busy, and finally ",[81,889,890],{},"message_delta",[81,892,893],{},"message_stop",". Tool input arrives as ",[81,896,897],{},"input_json_delta"," fragments that concatenate into the ",[81,900,846],{}," object.",[63,903,904,906,907,910,911,913,914,916,917,920,921,76],{},[81,905,890],{}," carries the stop reason and the final ",[81,908,909],{},"usage",". It and ",[81,912,893],{}," are sent only after the request’s usage has been recorded, so a client that has seen ",[81,915,893],{}," knows the charge is final. If the stream is cut short, it ends with an ",[81,918,919],{},"error"," event and no ",[81,922,893],{},[111,924,930],{"className":925,"code":927,"filename":928,"language":929,"meta":117},[926],"language-text","event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"id\":\"msg_…\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"deepseek-flash\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"usage\":{\"input_tokens\":0,\"output_tokens\":0,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0}}}\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"1. Caching\"}}\n\nevent: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0}\n\nevent: message_delta\ndata: {\"type\":\"message_delta\",\"delta\":{\"stop_reason\":\"end_turn\",\"stop_sequence\":null},\"usage\":{\"input_tokens\":24,\"output_tokens\":180,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0}}\n\nevent: message_stop\ndata: {\"type\":\"message_stop\"}\n","text\u002Fevent-stream","text",[81,931,927],{"__ignoreMap":117},[94,933,935],{"id":934},"what-is-not-supported","What is not supported",[937,938,939,947,950,956],"ul",{},[940,941,942,943,946],"li",{},"Image and document blocks are rejected with ",[81,944,945],{},"400 invalid_request_error",", because the model takes text only.",[940,948,949],{},"Tools that run on Anthropic’s servers, such as web search, are ignored. Your own tools work.",[940,951,952,955],{},[81,953,954],{},"POST \u002Fv1\u002Fmessages\u002Fcount_tokens"," is not available. Claude Code falls back to an estimate.",[940,957,958,373,961,964,965,968],{},[81,959,960],{},"top_k",[81,962,963],{},"cache_control",", and ",[81,966,967],{},"budget_tokens"," are accepted and ignored.",[94,970,972],{"id":971},"errors","Errors",[63,974,975],{},"Errors use the Anthropic envelope, with the type your SDK expects:",[111,977,980],{"className":585,"code":978,"filename":979,"language":588,"meta":117,"style":117},"{\n  \"type\": \"error\",\n  \"error\": {\n    \"type\": \"billing_error\",\n    \"message\": \"Insufficient balance. Top up to continue.\"\n  },\n  \"request_id\": \"req_0f8fad5bd9cb469fa16570867728950e\"\n}\n","Error response",[81,981,982,986,997,1004,1016,1026,1031,1041],{"__ignoreMap":117},[121,983,984],{"class":123,"line":124},[121,985,595],{"class":149},[121,987,988,990,992,995],{"class":123,"line":139},[121,989,613],{"class":600},[121,991,367],{"class":149},[121,993,994],{"class":131},"\"error\"",[121,996,279],{"class":149},[121,998,999,1002],{"class":123,"line":158},[121,1000,1001],{"class":600},"  \"error\"",[121,1003,746],{"class":149},[121,1005,1006,1009,1011,1014],{"class":123,"line":168},[121,1007,1008],{"class":600},"    \"type\"",[121,1010,367],{"class":149},[121,1012,1013],{"class":131},"\"billing_error\"",[121,1015,279],{"class":149},[121,1017,1018,1021,1023],{"class":123,"line":178},[121,1019,1020],{"class":600},"    \"message\"",[121,1022,367],{"class":149},[121,1024,1025],{"class":131},"\"Insufficient balance. Top up to continue.\"\n",[121,1027,1028],{"class":123,"line":187},[121,1029,1030],{"class":149},"  },\n",[121,1032,1033,1036,1038],{"class":123,"line":193},[121,1034,1035],{"class":600},"  \"request_id\"",[121,1037,367],{"class":149},[121,1039,1040],{"class":131},"\"req_0f8fad5bd9cb469fa16570867728950e\"\n",[121,1042,1043],{"class":123,"line":199},[121,1044,805],{"class":149},[63,1046,1047,1050,1051,1054,1055,1058,1059,76],{},[81,1048,1049],{},"request_id"," is the billing identity of the request, present once the request reached billing. Branch on ",[81,1052,1053],{},"error.type"," and the HTTP status; the message is in English by default and in Bahasa Indonesia when the request carries ",[81,1056,1057],{},"Accept-Language: id",". See ",[67,1060,8],{"href":1061},"\u002Fguides\u002Ferrors",[94,1063,1065],{"id":1064},"responses","Responses",[1067,1068],"api-responses",{"operation":61},[1070,1071,1072],"style",{},"html pre.shiki code .sjwWW, html code.shiki .sjwWW{--shiki-default:#FFA657;--shiki-light:#953800}html pre.shiki code .sHdZ9, html code.shiki .sHdZ9{--shiki-default:#A5D6FF;--shiki-light:#0A3069}html pre.shiki code .s1PA9, html code.shiki .s1PA9{--shiki-default:#FF7B72;--shiki-light:#CF222E}html pre.shiki code .sYnYM, html code.shiki .sYnYM{--shiki-default:#79C0FF;--shiki-light:#0550AE}html pre.shiki code .sUq8j, html code.shiki .sUq8j{--shiki-default:#E6EDF3;--shiki-light:#1F2328}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);}html pre.shiki code .sK34n, html code.shiki .sK34n{--shiki-default:#D2A8FF;--shiki-light:#8250DF}html pre.shiki code .sGSaJ, html code.shiki .sGSaJ{--shiki-default:#7EE787;--shiki-light:#116329}",{"title":117,"searchDepth":158,"depth":158,"links":1074},[1075,1076,1077,1078,1079,1080,1081,1082],{"id":96,"depth":139,"text":97},{"id":105,"depth":139,"text":106},{"id":577,"depth":139,"text":578},{"id":819,"depth":139,"text":820},{"id":861,"depth":139,"text":12},{"id":934,"depth":139,"text":935},{"id":971,"depth":139,"text":972},{"id":1064,"depth":139,"text":1065},"POST \u002Fv1\u002Fmessages generates the next assistant message for a conversation in the Anthropic Messages format, as JSON or as a stream. It is the endpoint Claude Code and the Anthropic SDKs call.","md",null,{},"\u002Freference\u002Fmessages",{"title":54,"description":1083},"reference\u002Fmessages","bi2OWLHh0I6jcb2ahNVYVoar1iwl0md_MDMpC2RZECQ",1793333618988]