[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-en":3,"docs-en-usage-and-balance\u002Fusage":144,"$fSRN_mKjqqQsF02yS_C6c1S2dq-mVBwql42EWzRJe6Bg":1049},[4,52,69,119,136,140],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"Getting Started","\u002Fgetting-started","1.getting-started",[9,12,30,44,48],{"title":10,"path":6,"stem":11},"About SilvaMux","1.getting-started\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":-1},"Your First SilvaMux API Call","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start\u002Findex",[17,18,22,26],{"title":13,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"Projects & Account Setup","\u002Fgetting-started\u002Fquick-start\u002Fproject-and-account","1.getting-started\u002F1.quick-start\u002F2.project-and-account",{"title":23,"path":24,"stem":25},"Get an API Key","\u002Fgetting-started\u002Fquick-start\u002Fapi-key","1.getting-started\u002F1.quick-start\u002F3.api-key",{"title":27,"path":28,"stem":29},"First Request","\u002Fgetting-started\u002Fquick-start\u002Ffirst-request","1.getting-started\u002F1.quick-start\u002F4.first-request",{"title":31,"path":32,"stem":33,"children":34,"page":43},"Models & Experience","\u002Fgetting-started\u002Fmodels-and-experience","1.getting-started\u002F2.models-and-experience",[35,39],{"title":36,"path":37,"stem":38},"Model Selection","\u002Fgetting-started\u002Fmodels-and-experience\u002Fmodel-selection","1.getting-started\u002F2.models-and-experience\u002F1.model-selection",{"title":40,"path":41,"stem":42},"Playground","\u002Fgetting-started\u002Fmodels-and-experience\u002Fplayground","1.getting-started\u002F2.models-and-experience\u002F2.playground",false,{"title":45,"path":46,"stem":47},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":49,"path":50,"stem":51},"FAQ","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",{"title":53,"path":54,"stem":55,"children":56,"page":43},"Billing","\u002Fbilling","2.billing",[57,61,65],{"title":58,"path":59,"stem":60},"Billing Overview","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":62,"path":63,"stem":64},"Online Top-up","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":66,"path":67,"stem":68},"Bills, Usage & Exports","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":70,"path":71,"stem":72,"children":73,"page":43},"Model APIs","\u002Fmodels","4.models",[74,107],{"title":75,"path":76,"stem":77,"children":78,"page":43},"Text Generation","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[79,83,87,91,95,99,103],{"title":80,"path":81,"stem":82},"Overview","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":84,"path":85,"stem":86},"OpenAI Compatible API","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":88,"path":89,"stem":90},"Anthropic Compatible","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":92,"path":93,"stem":94},"Volcengine Compatible","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":96,"path":97,"stem":98},"Zhipu Compatible","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":100,"path":101,"stem":102},"SilvaMux Unified Entry","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":104,"path":105,"stem":106},"Multimodal Input","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":108,"path":109,"stem":110,"children":111,"page":43},"Image Generation","\u002Fmodels\u002Fimages","4.models\u002F2.images",[112,115],{"title":80,"path":113,"stem":114},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":116,"path":117,"stem":118},"Image Generation API","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":120,"path":121,"stem":122,"children":123,"page":43},"Usage & Balance","\u002Fusage-and-balance","5.usage-and-balance",[124,128,132],{"title":125,"path":126,"stem":127},"Query Balance","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":129,"path":130,"stem":131},"Query Usage","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":133,"path":134,"stem":135},"Query Request Usage","\u002Fusage-and-balance\u002Frequest-usage","5.usage-and-balance\u002F3.request-usage",{"title":137,"path":138,"stem":139},"Error Codes","\u002Ferrors","6.errors",{"title":141,"path":142,"stem":143},"Documentation","\u002F","index",{"id":145,"title":129,"body":146,"description":1042,"extension":1043,"meta":1044,"navigation":299,"path":130,"rawbody":1045,"requiredFlags":1046,"seo":1047,"stem":131,"__hash__":1048},"docs_en\u002F5.usage-and-balance\u002F2.usage.md",{"type":147,"value":148,"toc":1034},"minimark",[149,153,157,162,165,176,180,185,190,217,221,594,597,899,953,957,1030],[150,151,129],"h1",{"id":152},"query-usage",[154,155,156],"p",{},"Returns the consumption summary of the API key's project over a given time range: totals plus per-model breakdowns. Usage is automatically scoped to the key's project and cannot be queried across projects.",[158,159,161],"h2",{"id":160},"authentication","Authentication",[154,163,164],{},"Put the API key in the request header:",[166,167,172],"pre",{"className":168,"code":170,"language":171},[169],"language-text","Authorization: Bearer sk_live_YOUR_API_KEY\n","text",[173,174,170],"code",{"__ignoreMap":175},"",[158,177,179],{"id":178},"api","API",[181,182],"api-endpoint",{"method":183,"path":184},"GET","\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage",[186,187,189],"h3",{"id":188},"parameters","Parameters",[191,192,193,214],"ul",{},[194,195,196,199,200,203,204,207,208,210,211,213],"li",{},[173,197,198],{},"from",", ",[173,201,202],{},"to",": required, RFC3339 timestamps defining a half-open interval ",[173,205,206],{},"[from, to)","; ",[173,209,198],{}," must be earlier than ",[173,212,202],{},".",[194,215,216],{},"The time range is in UTC.",[186,218,220],{"id":219},"examples","Examples",[222,223,224,268,361,439],"code-tabs",{},[225,226,228],"code-tab",{"label":227},"cURL",[166,229,233],{"className":230,"code":231,"language":232,"meta":175,"style":175},"language-bash shiki shiki-themes github-light github-dark","curl \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?from=2026-07-08T00:00:00Z&to=2026-07-09T00:00:00Z\" \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\"\n","bash",[173,234,235,252],{"__ignoreMap":175},[236,237,240,244,248],"span",{"class":238,"line":239},"line",1,[236,241,243],{"class":242},"sScJk","curl",[236,245,247],{"class":246},"sZZnC"," \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?from=2026-07-08T00:00:00Z&to=2026-07-09T00:00:00Z\"",[236,249,251],{"class":250},"sj4cs"," \\\n",[236,253,255,258,261,265],{"class":238,"line":254},2,[236,256,257],{"class":250},"  -H",[236,259,260],{"class":246}," \"Authorization: Bearer ",[236,262,264],{"class":263},"sVt8B","$SILVAMUX_API_KEY",[236,266,267],{"class":246},"\"\n",[225,269,271],{"label":270},"Python",[166,272,276],{"className":273,"code":274,"language":275,"meta":175,"style":175},"language-python shiki shiki-themes github-light github-dark","# pip install requests\nimport os\nimport requests\n\nresp = requests.get(\n    \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage\",\n    params={\n        \"from\": \"2026-07-08T00:00:00Z\",\n        \"to\": \"2026-07-09T00:00:00Z\",\n    },\n    headers={\"Authorization\": f\"Bearer {os.environ['SILVAMUX_API_KEY']}\"},\n)\nresp.raise_for_status()\nprint(resp.json()[\"totals\"])\n","python",[173,277,278,283,288,294,301,307,313,319,325,331,337,343,349,355],{"__ignoreMap":175},[236,279,280],{"class":238,"line":239},[236,281,282],{},"# pip install requests\n",[236,284,285],{"class":238,"line":254},[236,286,287],{},"import os\n",[236,289,291],{"class":238,"line":290},3,[236,292,293],{},"import requests\n",[236,295,297],{"class":238,"line":296},4,[236,298,300],{"emptyLinePlaceholder":299},true,"\n",[236,302,304],{"class":238,"line":303},5,[236,305,306],{},"resp = requests.get(\n",[236,308,310],{"class":238,"line":309},6,[236,311,312],{},"    \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage\",\n",[236,314,316],{"class":238,"line":315},7,[236,317,318],{},"    params={\n",[236,320,322],{"class":238,"line":321},8,[236,323,324],{},"        \"from\": \"2026-07-08T00:00:00Z\",\n",[236,326,328],{"class":238,"line":327},9,[236,329,330],{},"        \"to\": \"2026-07-09T00:00:00Z\",\n",[236,332,334],{"class":238,"line":333},10,[236,335,336],{},"    },\n",[236,338,340],{"class":238,"line":339},11,[236,341,342],{},"    headers={\"Authorization\": f\"Bearer {os.environ['SILVAMUX_API_KEY']}\"},\n",[236,344,346],{"class":238,"line":345},12,[236,347,348],{},")\n",[236,350,352],{"class":238,"line":351},13,[236,353,354],{},"resp.raise_for_status()\n",[236,356,358],{"class":238,"line":357},14,[236,359,360],{},"print(resp.json()[\"totals\"])\n",[225,362,364],{"label":363},"JavaScript",[166,365,369],{"className":366,"code":367,"language":368,"meta":175,"style":175},"language-javascript shiki shiki-themes github-light github-dark","\u002F\u002F Node 18+ (built-in fetch)\nconst from = \"2026-07-08T00:00:00Z\";\nconst to = \"2026-07-09T00:00:00Z\";\nconst query = new URLSearchParams({ from, to });\n\nconst resp = await fetch(\n  `https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?${query}`,\n  {\n    headers: { Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}` },\n  },\n);\n\nconst data = await resp.json();\nconsole.log(data.totals);\n","javascript",[173,370,371,376,381,386,391,395,400,405,410,415,420,425,429,434],{"__ignoreMap":175},[236,372,373],{"class":238,"line":239},[236,374,375],{},"\u002F\u002F Node 18+ (built-in fetch)\n",[236,377,378],{"class":238,"line":254},[236,379,380],{},"const from = \"2026-07-08T00:00:00Z\";\n",[236,382,383],{"class":238,"line":290},[236,384,385],{},"const to = \"2026-07-09T00:00:00Z\";\n",[236,387,388],{"class":238,"line":296},[236,389,390],{},"const query = new URLSearchParams({ from, to });\n",[236,392,393],{"class":238,"line":303},[236,394,300],{"emptyLinePlaceholder":299},[236,396,397],{"class":238,"line":309},[236,398,399],{},"const resp = await fetch(\n",[236,401,402],{"class":238,"line":315},[236,403,404],{},"  `https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?${query}`,\n",[236,406,407],{"class":238,"line":321},[236,408,409],{},"  {\n",[236,411,412],{"class":238,"line":327},[236,413,414],{},"    headers: { Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}` },\n",[236,416,417],{"class":238,"line":333},[236,418,419],{},"  },\n",[236,421,422],{"class":238,"line":339},[236,423,424],{},");\n",[236,426,427],{"class":238,"line":345},[236,428,300],{"emptyLinePlaceholder":299},[236,430,431],{"class":238,"line":351},[236,432,433],{},"const data = await resp.json();\n",[236,435,436],{"class":238,"line":357},[236,437,438],{},"console.log(data.totals);\n",[225,440,442],{"label":441},"Go",[166,443,447],{"className":444,"code":445,"language":446,"meta":175,"style":175},"language-go shiki shiki-themes github-light github-dark","\u002F\u002F Standard library only\npackage main\n\nimport (\n    \"fmt\"\n    \"io\"\n    \"net\u002Fhttp\"\n    \"os\"\n)\n\nfunc main() {\n    url := \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?from=2026-07-08T00:00:00Z&to=2026-07-09T00:00:00Z\"\n\n    req, err := http.NewRequest(\"GET\", url, nil)\n    if err != nil {\n        panic(err)\n    }\n    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n\n    resp, err := http.DefaultClient.Do(req)\n    if err != nil {\n        panic(err)\n    }\n    defer resp.Body.Close()\n\n    body, _ := io.ReadAll(resp.Body)\n    fmt.Println(string(body))\n}\n","go",[173,448,449,454,459,463,468,473,478,483,488,492,496,501,506,510,515,521,527,533,539,544,550,555,560,565,571,576,582,588],{"__ignoreMap":175},[236,450,451],{"class":238,"line":239},[236,452,453],{},"\u002F\u002F Standard library only\n",[236,455,456],{"class":238,"line":254},[236,457,458],{},"package main\n",[236,460,461],{"class":238,"line":290},[236,462,300],{"emptyLinePlaceholder":299},[236,464,465],{"class":238,"line":296},[236,466,467],{},"import (\n",[236,469,470],{"class":238,"line":303},[236,471,472],{},"    \"fmt\"\n",[236,474,475],{"class":238,"line":309},[236,476,477],{},"    \"io\"\n",[236,479,480],{"class":238,"line":315},[236,481,482],{},"    \"net\u002Fhttp\"\n",[236,484,485],{"class":238,"line":321},[236,486,487],{},"    \"os\"\n",[236,489,490],{"class":238,"line":327},[236,491,348],{},[236,493,494],{"class":238,"line":333},[236,495,300],{"emptyLinePlaceholder":299},[236,497,498],{"class":238,"line":339},[236,499,500],{},"func main() {\n",[236,502,503],{"class":238,"line":345},[236,504,505],{},"    url := \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?from=2026-07-08T00:00:00Z&to=2026-07-09T00:00:00Z\"\n",[236,507,508],{"class":238,"line":351},[236,509,300],{"emptyLinePlaceholder":299},[236,511,512],{"class":238,"line":357},[236,513,514],{},"    req, err := http.NewRequest(\"GET\", url, nil)\n",[236,516,518],{"class":238,"line":517},15,[236,519,520],{},"    if err != nil {\n",[236,522,524],{"class":238,"line":523},16,[236,525,526],{},"        panic(err)\n",[236,528,530],{"class":238,"line":529},17,[236,531,532],{},"    }\n",[236,534,536],{"class":238,"line":535},18,[236,537,538],{},"    req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n",[236,540,542],{"class":238,"line":541},19,[236,543,300],{"emptyLinePlaceholder":299},[236,545,547],{"class":238,"line":546},20,[236,548,549],{},"    resp, err := http.DefaultClient.Do(req)\n",[236,551,553],{"class":238,"line":552},21,[236,554,520],{},[236,556,558],{"class":238,"line":557},22,[236,559,526],{},[236,561,563],{"class":238,"line":562},23,[236,564,532],{},[236,566,568],{"class":238,"line":567},24,[236,569,570],{},"    defer resp.Body.Close()\n",[236,572,574],{"class":238,"line":573},25,[236,575,300],{"emptyLinePlaceholder":299},[236,577,579],{"class":238,"line":578},26,[236,580,581],{},"    body, _ := io.ReadAll(resp.Body)\n",[236,583,585],{"class":238,"line":584},27,[236,586,587],{},"    fmt.Println(string(body))\n",[236,589,591],{"class":238,"line":590},28,[236,592,593],{},"}\n",[154,595,596],{},"Response:",[166,598,602],{"className":599,"code":600,"language":601,"meta":175,"style":175},"language-json shiki shiki-themes github-light github-dark","{\n  \"from\": \"2026-07-08T00:00:00Z\",\n  \"to\": \"2026-07-09T00:00:00Z\",\n  \"project_id\": \"PROJ-1\",\n  \"totals\": {\n    \"cost_points\": \"1.5\",\n    \"prompt_tokens\": 100,\n    \"cached_tokens\": 0,\n    \"billable_prompt_tokens\": 100,\n    \"completion_tokens\": 50,\n    \"cache_creation_tokens\": 0,\n    \"total_tokens\": 150,\n    \"generated_artifacts\": 0,\n    \"request_count\": 2\n  },\n  \"by_model\": [\n    {\n      \"model\": \"deepseek-v4-pro@tune\",\n      \"cost_points\": \"1.5\",\n      \"prompt_tokens\": 100,\n      \"cached_tokens\": 0,\n      \"billable_prompt_tokens\": 100,\n      \"completion_tokens\": 50,\n      \"cache_creation_tokens\": 0,\n      \"total_tokens\": 150,\n      \"generated_artifacts\": 0,\n      \"request_count\": 2\n    }\n  ]\n}\n","json",[173,603,604,609,623,635,647,655,667,679,691,702,714,725,737,748,758,762,770,775,787,798,809,820,831,842,853,864,875,884,888,894],{"__ignoreMap":175},[236,605,606],{"class":238,"line":239},[236,607,608],{"class":263},"{\n",[236,610,611,614,617,620],{"class":238,"line":254},[236,612,613],{"class":250},"  \"from\"",[236,615,616],{"class":263},": ",[236,618,619],{"class":246},"\"2026-07-08T00:00:00Z\"",[236,621,622],{"class":263},",\n",[236,624,625,628,630,633],{"class":238,"line":290},[236,626,627],{"class":250},"  \"to\"",[236,629,616],{"class":263},[236,631,632],{"class":246},"\"2026-07-09T00:00:00Z\"",[236,634,622],{"class":263},[236,636,637,640,642,645],{"class":238,"line":296},[236,638,639],{"class":250},"  \"project_id\"",[236,641,616],{"class":263},[236,643,644],{"class":246},"\"PROJ-1\"",[236,646,622],{"class":263},[236,648,649,652],{"class":238,"line":303},[236,650,651],{"class":250},"  \"totals\"",[236,653,654],{"class":263},": {\n",[236,656,657,660,662,665],{"class":238,"line":309},[236,658,659],{"class":250},"    \"cost_points\"",[236,661,616],{"class":263},[236,663,664],{"class":246},"\"1.5\"",[236,666,622],{"class":263},[236,668,669,672,674,677],{"class":238,"line":315},[236,670,671],{"class":250},"    \"prompt_tokens\"",[236,673,616],{"class":263},[236,675,676],{"class":250},"100",[236,678,622],{"class":263},[236,680,681,684,686,689],{"class":238,"line":321},[236,682,683],{"class":250},"    \"cached_tokens\"",[236,685,616],{"class":263},[236,687,688],{"class":250},"0",[236,690,622],{"class":263},[236,692,693,696,698,700],{"class":238,"line":327},[236,694,695],{"class":250},"    \"billable_prompt_tokens\"",[236,697,616],{"class":263},[236,699,676],{"class":250},[236,701,622],{"class":263},[236,703,704,707,709,712],{"class":238,"line":333},[236,705,706],{"class":250},"    \"completion_tokens\"",[236,708,616],{"class":263},[236,710,711],{"class":250},"50",[236,713,622],{"class":263},[236,715,716,719,721,723],{"class":238,"line":339},[236,717,718],{"class":250},"    \"cache_creation_tokens\"",[236,720,616],{"class":263},[236,722,688],{"class":250},[236,724,622],{"class":263},[236,726,727,730,732,735],{"class":238,"line":345},[236,728,729],{"class":250},"    \"total_tokens\"",[236,731,616],{"class":263},[236,733,734],{"class":250},"150",[236,736,622],{"class":263},[236,738,739,742,744,746],{"class":238,"line":351},[236,740,741],{"class":250},"    \"generated_artifacts\"",[236,743,616],{"class":263},[236,745,688],{"class":250},[236,747,622],{"class":263},[236,749,750,753,755],{"class":238,"line":357},[236,751,752],{"class":250},"    \"request_count\"",[236,754,616],{"class":263},[236,756,757],{"class":250},"2\n",[236,759,760],{"class":238,"line":517},[236,761,419],{"class":263},[236,763,764,767],{"class":238,"line":523},[236,765,766],{"class":250},"  \"by_model\"",[236,768,769],{"class":263},": [\n",[236,771,772],{"class":238,"line":529},[236,773,774],{"class":263},"    {\n",[236,776,777,780,782,785],{"class":238,"line":535},[236,778,779],{"class":250},"      \"model\"",[236,781,616],{"class":263},[236,783,784],{"class":246},"\"deepseek-v4-pro@tune\"",[236,786,622],{"class":263},[236,788,789,792,794,796],{"class":238,"line":541},[236,790,791],{"class":250},"      \"cost_points\"",[236,793,616],{"class":263},[236,795,664],{"class":246},[236,797,622],{"class":263},[236,799,800,803,805,807],{"class":238,"line":546},[236,801,802],{"class":250},"      \"prompt_tokens\"",[236,804,616],{"class":263},[236,806,676],{"class":250},[236,808,622],{"class":263},[236,810,811,814,816,818],{"class":238,"line":552},[236,812,813],{"class":250},"      \"cached_tokens\"",[236,815,616],{"class":263},[236,817,688],{"class":250},[236,819,622],{"class":263},[236,821,822,825,827,829],{"class":238,"line":557},[236,823,824],{"class":250},"      \"billable_prompt_tokens\"",[236,826,616],{"class":263},[236,828,676],{"class":250},[236,830,622],{"class":263},[236,832,833,836,838,840],{"class":238,"line":562},[236,834,835],{"class":250},"      \"completion_tokens\"",[236,837,616],{"class":263},[236,839,711],{"class":250},[236,841,622],{"class":263},[236,843,844,847,849,851],{"class":238,"line":567},[236,845,846],{"class":250},"      \"cache_creation_tokens\"",[236,848,616],{"class":263},[236,850,688],{"class":250},[236,852,622],{"class":263},[236,854,855,858,860,862],{"class":238,"line":573},[236,856,857],{"class":250},"      \"total_tokens\"",[236,859,616],{"class":263},[236,861,734],{"class":250},[236,863,622],{"class":263},[236,865,866,869,871,873],{"class":238,"line":578},[236,867,868],{"class":250},"      \"generated_artifacts\"",[236,870,616],{"class":263},[236,872,688],{"class":250},[236,874,622],{"class":263},[236,876,877,880,882],{"class":238,"line":584},[236,878,879],{"class":250},"      \"request_count\"",[236,881,616],{"class":263},[236,883,757],{"class":250},[236,885,886],{"class":238,"line":590},[236,887,532],{"class":263},[236,889,891],{"class":238,"line":890},29,[236,892,893],{"class":263},"  ]\n",[236,895,897],{"class":238,"line":896},30,[236,898,593],{"class":263},[900,901,902,915],"table",{},[903,904,905],"thead",{},[906,907,908,912],"tr",{},[909,910,911],"th",{},"Field",[909,913,914],{},"Description",[916,917,918,929,939],"tbody",{},[906,919,920,926],{},[921,922,923],"td",{},[173,924,925],{},"project_id",[921,927,928],{},"The project the API key is bound to",[906,930,931,936],{},[921,932,933],{},[173,934,935],{},"totals",[921,937,938],{},"Summary across all models in the time range",[906,940,941,946],{},[921,942,943],{},[173,944,945],{},"by_model",[921,947,948,949,952],{},"Per-model breakdown, ordered by ",[173,950,951],{},"cost_points"," descending",[158,954,956],{"id":955},"error-handling","Error Handling",[900,958,959,971],{},[903,960,961],{},[906,962,963,966,969],{},[909,964,965],{},"HTTP",[909,967,968],{},"Code",[909,970,914],{},[916,972,973,986,1001,1014],{},[906,974,975,978,983],{},[921,976,977],{},"401",[921,979,980],{},[173,981,982],{},"INVALID_TOKEN",[921,984,985],{},"API key missing or invalid",[906,987,988,991,996],{},[921,989,990],{},"400",[921,992,993],{},[173,994,995],{},"INVALID_FROM_DATETIME",[921,997,998,1000],{},[173,999,198],{}," missing or not RFC3339",[906,1002,1003,1005,1010],{},[921,1004,990],{},[921,1006,1007],{},[173,1008,1009],{},"INVALID_TO_DATETIME",[921,1011,1012,1000],{},[173,1013,202],{},[906,1015,1016,1018,1023],{},[921,1017,990],{},[921,1019,1020],{},[173,1021,1022],{},"INVALID_TIME_RANGE",[921,1024,1025,1027,1028],{},[173,1026,198],{}," is not earlier than ",[173,1029,202],{},[1031,1032,1033],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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":175,"searchDepth":254,"depth":254,"links":1035},[1036,1037,1041],{"id":160,"depth":254,"text":161},{"id":178,"depth":254,"text":179,"children":1038},[1039,1040],{"id":188,"depth":290,"text":189},{"id":219,"depth":290,"text":220},{"id":955,"depth":254,"text":956},"Query the API key's project consumption summary over a time range.","md",{},"---\ntitle: Query Usage\ndescription: Query the API key's project consumption summary over a time range.\n---\n\n# Query Usage\n\nReturns the consumption summary of the API key's project over a given time range: totals plus per-model breakdowns. Usage is automatically scoped to the key's project and cannot be queried across projects.\n\n## Authentication\n\nPut the API key in the request header:\n\n```\nAuthorization: Bearer sk_live_YOUR_API_KEY\n```\n\n## API\n\n::api-endpoint{path=\"\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage\" method=\"GET\"}\n::\n\n### Parameters\n\n- `from`, `to`: required, RFC3339 timestamps defining a half-open interval `[from, to)`; `from` must be earlier than `to`.\n- The time range is in UTC.\n\n### Examples\n\n::code-tabs\n:::code-tab{label=\"cURL\"}\n```bash\ncurl \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?from=2026-07-08T00:00:00Z&to=2026-07-09T00:00:00Z\" \\\n  -H \"Authorization: Bearer $SILVAMUX_API_KEY\"\n```\n:::\n:::code-tab{label=\"Python\"}\n```python\n# pip install requests\nimport os\nimport requests\n\nresp = requests.get(\n    \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage\",\n    params={\n        \"from\": \"2026-07-08T00:00:00Z\",\n        \"to\": \"2026-07-09T00:00:00Z\",\n    },\n    headers={\"Authorization\": f\"Bearer {os.environ['SILVAMUX_API_KEY']}\"},\n)\nresp.raise_for_status()\nprint(resp.json()[\"totals\"])\n```\n:::\n:::code-tab{label=\"JavaScript\"}\n```javascript\n\u002F\u002F Node 18+ (built-in fetch)\nconst from = \"2026-07-08T00:00:00Z\";\nconst to = \"2026-07-09T00:00:00Z\";\nconst query = new URLSearchParams({ from, to });\n\nconst resp = await fetch(\n  `https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?${query}`,\n  {\n    headers: { Authorization: `Bearer ${process.env.SILVAMUX_API_KEY}` },\n  },\n);\n\nconst data = await resp.json();\nconsole.log(data.totals);\n```\n:::\n:::code-tab{label=\"Go\"}\n```go\n\u002F\u002F Standard library only\npackage main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net\u002Fhttp\"\n\t\"os\"\n)\n\nfunc main() {\n\turl := \"https:\u002F\u002Fsilvamux.io\u002Fapi\u002Fbusiness\u002Fv1\u002Fcustomer\u002Fusage?from=2026-07-08T00:00:00Z&to=2026-07-09T00:00:00Z\"\n\n\treq, err := http.NewRequest(\"GET\", url, nil)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"SILVAMUX_API_KEY\"))\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\n\tbody, _ := io.ReadAll(resp.Body)\n\tfmt.Println(string(body))\n}\n```\n:::\n::\n\nResponse:\n\n```json\n{\n  \"from\": \"2026-07-08T00:00:00Z\",\n  \"to\": \"2026-07-09T00:00:00Z\",\n  \"project_id\": \"PROJ-1\",\n  \"totals\": {\n    \"cost_points\": \"1.5\",\n    \"prompt_tokens\": 100,\n    \"cached_tokens\": 0,\n    \"billable_prompt_tokens\": 100,\n    \"completion_tokens\": 50,\n    \"cache_creation_tokens\": 0,\n    \"total_tokens\": 150,\n    \"generated_artifacts\": 0,\n    \"request_count\": 2\n  },\n  \"by_model\": [\n    {\n      \"model\": \"deepseek-v4-pro@tune\",\n      \"cost_points\": \"1.5\",\n      \"prompt_tokens\": 100,\n      \"cached_tokens\": 0,\n      \"billable_prompt_tokens\": 100,\n      \"completion_tokens\": 50,\n      \"cache_creation_tokens\": 0,\n      \"total_tokens\": 150,\n      \"generated_artifacts\": 0,\n      \"request_count\": 2\n    }\n  ]\n}\n```\n\n| Field | Description |\n|---|---|\n| `project_id` | The project the API key is bound to |\n| `totals` | Summary across all models in the time range |\n| `by_model` | Per-model breakdown, ordered by `cost_points` descending |\n\n## Error Handling\n\n| HTTP | Code | Description |\n|---|---|---|\n| 401 | `INVALID_TOKEN` | API key missing or invalid |\n| 400 | `INVALID_FROM_DATETIME` | `from` missing or not RFC3339 |\n| 400 | `INVALID_TO_DATETIME` | `to` missing or not RFC3339 |\n| 400 | `INVALID_TIME_RANGE` | `from` is not earlier than `to` |\n",[],{"title":129,"description":1042},"_7SiVsV7J3eyV3gL3Gxmg4_1IR2_382ZO7bk58rV6Ng",{"found":299,"operationId":1050,"summary":1051,"description":1052,"method":183,"path":184,"publiclyDiscoverable":299,"security":1053,"parameters":1056,"requestBody":1069,"responses":1073},"customer-usage","查询用量","Return aggregated usage (totals + per-model) for the API key's project over a time range. API key only.",{"schemes":1054,"optional":43},[1055],"apikey",[1057,1061,1064,1067],{"name":1058,"type":1059,"required":299,"description":1060},"Authorization","string · header","Bearer API Key (sk_live_...)",{"name":1062,"type":1059,"required":43,"description":1063},"X-Organization-Id","Not required for API key auth",{"name":198,"type":1065,"required":299,"description":1066},"string · query","RFC3339 start time (inclusive)",{"name":202,"type":1065,"required":299,"description":1068},"RFC3339 end time (exclusive)",{"present":43,"required":43,"description":175,"contentType":175,"type":1070,"fields":1071,"variants":1072},"any",[],[],[1074,1156],{"status":1075,"description":1076,"contentType":1077,"type":1078,"fields":1079},"200","OK","application\u002Fjson","BillingUsageReportResponse",[1080,1084,1087,1091,1094,1097,1100,1103,1107,1110,1113,1116,1119,1122,1125,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154],{"name":1081,"type":1082,"required":43,"description":1083},"$schema","string (uri)","A URL to the JSON Schema for this object.",{"name":945,"type":1085,"required":299,"description":1086},"array\u003CUsageReportModelBreakdown>","Per-model breakdown, ordered by cost_points desc",{"name":1088,"type":1089,"required":299,"description":1090},"by_model.billable_prompt_tokens","integer (int64)","Summed billable prompt tokens",{"name":1092,"type":1089,"required":299,"description":1093},"by_model.cache_creation_tokens","Summed cache creation tokens",{"name":1095,"type":1089,"required":299,"description":1096},"by_model.cache_explicit_read_tokens","Summed explicit cache read tokens",{"name":1098,"type":1089,"required":299,"description":1099},"by_model.cached_tokens","Summed cached tokens",{"name":1101,"type":1089,"required":299,"description":1102},"by_model.completion_tokens","Summed completion tokens",{"name":1104,"type":1105,"required":299,"description":1106},"by_model.cost_points","string","Total cost in points (after discount)",{"name":1108,"type":1089,"required":299,"description":1109},"by_model.generated_artifacts","Summed generated artifacts",{"name":1111,"type":1105,"required":299,"description":1112},"by_model.model","Aggregation key: user-supplied request_model, falling back to the configured model ID for legacy rows",{"name":1114,"type":1105,"required":299,"description":1115},"by_model.original_cost","Total cost in points before discount",{"name":1117,"type":1089,"required":299,"description":1118},"by_model.prompt_tokens","Summed prompt tokens",{"name":1120,"type":1089,"required":299,"description":1121},"by_model.request_count","Number of billed requests",{"name":1123,"type":1089,"required":299,"description":1124},"by_model.total_tokens","Summed total tokens",{"name":198,"type":1126,"required":299,"description":1127},"string (date-time)","Report start (RFC3339, inclusive)",{"name":925,"type":1105,"required":299,"description":1129},"Project filter ('' means org-wide)",{"name":202,"type":1126,"required":299,"description":1131},"Report end (RFC3339, exclusive)",{"name":935,"type":1133,"required":299,"description":175},"UsageReportTotals",{"name":1135,"type":1089,"required":299,"description":175},"totals.billable_prompt_tokens",{"name":1137,"type":1089,"required":299,"description":175},"totals.cache_creation_tokens",{"name":1139,"type":1089,"required":299,"description":175},"totals.cache_explicit_read_tokens",{"name":1141,"type":1089,"required":299,"description":175},"totals.cached_tokens",{"name":1143,"type":1089,"required":299,"description":175},"totals.completion_tokens",{"name":1145,"type":1105,"required":299,"description":1106},"totals.cost_points",{"name":1147,"type":1089,"required":299,"description":175},"totals.generated_artifacts",{"name":1149,"type":1105,"required":299,"description":1115},"totals.original_cost",{"name":1151,"type":1089,"required":299,"description":175},"totals.prompt_tokens",{"name":1153,"type":1089,"required":299,"description":175},"totals.request_count",{"name":1155,"type":1089,"required":299,"description":175},"totals.total_tokens",{"status":1157,"description":1158,"contentType":1159,"type":1160,"fields":1161},"default","Error","application\u002Fproblem+json","ErrorModel",[1162,1163,1166,1170,1173,1176,1179,1182,1185,1188],{"name":1081,"type":1082,"required":43,"description":1083},{"name":1164,"type":1105,"required":43,"description":1165},"detail","A human-readable explanation specific to this occurrence of the problem.",{"name":1167,"type":1168,"required":43,"description":1169},"errors","array\u003CErrorDetail>","Optional list of individual error details",{"name":1171,"type":1105,"required":43,"description":1172},"errors.location","Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",{"name":1174,"type":1105,"required":43,"description":1175},"errors.message","Error message text",{"name":1177,"type":1070,"required":43,"description":1178},"errors.value","The value at the given location",{"name":1180,"type":1082,"required":43,"description":1181},"instance","A URI reference that identifies the specific occurrence of the problem.",{"name":1183,"type":1089,"required":43,"description":1184},"status","HTTP status code",{"name":1186,"type":1105,"required":43,"description":1187},"title","A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",{"name":1189,"type":1082,"required":43,"description":1190,"defaultValue":1191},"type","A URI reference to human-readable documentation for the error.","about:blank"]