FlexAI-specific shape (intentionally not OpenAI’s /v1/organization/usage/*
— that surface requires org/team scoping which FlexAI does not yet model).
Returns total spend, total tokens, per-model breakdown, and a daily
history for the API key in the Authorization header. Cached per-key
for 60 seconds.
total_spend is the sum of the charges applied to your account for the
requests in the window, so it matches your invoice for that period
exactly. Note that it is not recoverable from total_tokens and the
published per-token rates: a cached prompt is billed at the lower cached
rate, so a token-based re-derivation will read high. Group by
canonical_model to reconcile per model.
Per-model spend rows. Group by canonical_model+modality
for reconciliation: canonical_model is the stable catalog
id (the same id /v1/pricing and /v1/models use), whereas
model equals canonical_model: the internal served
routing id is not exposed. One row per canonical_model and
modality: forms of the same model the ledger recorded under
different raw ids are merged. Multi-modality models appear once per
modality (image+image_edit, etc.). Text rows have
modality=text, units_consumed=null, billing_unit=tokens.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FlexAI Docs","colors":{"primary":"#002A9E","light":"#002A9E","dark":"#002A9E"},"logo":{"light":"https://mintcdn.com/flexai-51114f49/dNvzWOTcJQw0Ozyk/assets/images/flexai-light.svg?fit=max\u0026auto=format\u0026n=dNvzWOTcJQw0Ozyk\u0026q=85\u0026s=a324cec5ede5a3b89a69ed3a1e9f5f41","dark":"https://mintcdn.com/flexai-51114f49/dNvzWOTcJQw0Ozyk/assets/images/flexai-dark.svg?fit=max\u0026auto=format\u0026n=dNvzWOTcJQw0Ozyk\u0026q=85\u0026s=7d789e07f2962b8abda93cd143943cdb","href":"https://www.flex.ai"},"favicon":"https://mintcdn.com/flexai-51114f49/cHEM-4Sd-_gg6cip/favicon.ico?fit=max\u0026auto=format\u0026n=cHEM-4Sd-_gg6cip\u0026q=85\u0026s=05149d8deb9878767c2dec01b2ea7dfd","navbar":{"links":[{"href":"https://flex.ai/contact","label":"Talk to us"}],"primary":{"type":"button","label":"Get an API key","href":"https://platform.flex.ai/signup"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/flexaihq","github":"https://github.com/FlexAIHQ","slack":"https://join.slack.com/t/flexaicommunity/shared_invite/zt-3fqfcq9hj-Bv_Ehtyip0Y6fjS7gG5hHg"}},"seo":{"metatags":{"og:url":"https://docs.flex.ai","og:image":"/og-image.jpg","twitter:card":"summary_large_image","twitter:title":"FlexAI Documentation Website","twitter:description":"FlexAI Developer Documentation","twitter:creator":"@FlexAI__","twitter:site":"@FlexAI__","twitter:image":"/og-image.jpg","twitter:image:alt":"FlexAI Logo"},"indexing":"all"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"flexai-51114f49","hasAudioNarration":false,"actualSubdomain":"flexai-51114f49","customDomains":["docs.flex.ai"],"gitSource":{"type":"github","owner":"flexaihq","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4b663ab76b29675b25f84","collectionId":"19eadd31-e8e9-4de9-b48d-317422b94813","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4b663ab76b29675b25f84"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4b663ab76b29675b25f84","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Platform","count":174},{"language":"default","tag":"CLI","count":98},{"language":"default","tag":"Reference","count":70},{"language":"default","tag":"Changelog","count":31},{"language":"default","tag":"Token Factory","count":29},{"language":"default","tag":"Blueprints","count":24},{"language":"default","tag":"Quick Start","count":16},{"language":"default","tag":"Platform Services","count":16},{"language":"default","tag":"Training \u0026 Fine-tuning","count":12},{"language":"default","tag":"training","count":12}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".blueprint-cta{margin:56px 0 32px;padding:28px 32px;background:linear-gradient(135deg,#eef2ff 0,#e0e7ff 100%);border:1px solid #c7d2fe;border-radius:12px;font-size:15px;color:#1f2937}.blueprint-cta h3{margin:0 0 10px;font-size:18px;font-weight:600;color:#001b66}.blueprint-cta p{margin:0 0 20px;line-height:1.55;color:#4b5563}.blueprint-cta a.cta-primary{display:inline-block;background:#002a9e;color:#fff!important;font-weight:600;padding:10px 22px;border-radius:8px;margin-right:10px;text-decoration:none;box-shadow:0 4px 14px rgba(0,42,158,.25);transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.blueprint-cta a.cta-primary:hover{background:#001b66;box-shadow:0 6px 20px rgba(0,42,158,.35);transform:translateY(-1px)}.blueprint-cta a.cta-secondary{display:inline-block;color:#002a9e!important;font-weight:500;padding:10px 20px;border-radius:8px;text-decoration:none;transition:background .15s ease,color .15s ease}.blueprint-cta a.cta-secondary:hover{background:#e0e7ff;color:#001b66!important;text-decoration:none}html.dark .blueprint-cta{background:linear-gradient(135deg,#001b66 0,#002a9e 100%);border-color:#3269ff;color:#e0e7ff}html.dark .blueprint-cta h3,html.dark .tf-hero .tf-tagline{color:#fff}html.dark .blueprint-cta p,html.dark .tf-hero .tf-sub{color:#c7d2fe}html.dark .blueprint-cta a.cta-primary{background:#3269ff;color:#fff!important;box-shadow:0 4px 14px rgba(50,105,255,.35)}html.dark .blueprint-cta a.cta-primary:hover{background:#5985ff;box-shadow:0 6px 20px rgba(50,105,255,.5)}html.dark .blueprint-cta a.cta-secondary{color:#c7d2fe!important}html.dark .blueprint-cta a.cta-secondary:hover{background:rgba(199,210,254,.1);color:#fff!important}header a[href=\"https://flex.ai/contact\"],nav a[href=\"https://flex.ai/contact\"]{padding:6px 14px;border-radius:8px;transition:background-color .15s ease,color .15s ease}header a[href=\"https://flex.ai/contact\"]:hover,nav a[href=\"https://flex.ai/contact\"]:hover{background-color:#e0e7ff;color:#001b66!important}html.dark header a[href=\"https://flex.ai/contact\"]:hover,html.dark nav a[href=\"https://flex.ai/contact\"]:hover{background-color:rgba(199,210,254,.12);color:#fff!important}.tf-hero{text-align:center;margin:8px 0 28px}.tf-hero .tf-tagline{font-size:1.8rem;line-height:1.25;font-weight:700;color:#001b66;margin:0 0 12px}.tf-hero .tf-sub{font-size:1.075rem;line-height:1.6;color:#4b5563;max-width:720px;margin:0 auto}.blueprint-cta.tf-cta-center{text-align:center;margin-top:0}"}],"page":{"pagePath":"api-reference/usage/programmatic-spend-for-the-calling-key","slug":"/api-reference/usage/programmatic-spend-for-the-calling-key","pageMetadata":{"title":"Programmatic spend for the calling key","description":"FlexAI-specific shape (intentionally not OpenAI's `/v1/organization/usage/*`\n— that surface requires org/team scoping which FlexAI does not yet model).\nReturns total spend, total tokens, per-model breakdown, and a daily\nhistory for the API key in the `Authorization` header. Cached per-key\nfor 60 seconds.\n\n`total_spend` is the sum of the charges applied to your account for the\nrequests in the window, so it matches your invoice for that period\nexactly. Note that it is not recoverable from `total_tokens` and the\npublished per-token rates: a cached prompt is billed at the lower cached\nrate, so a token-based re-derivation will read high. Group by\n`canonical_model` to reconcile per model.\n","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/flex/usage","href":"/api-reference/usage/programmatic-spend-for-the-calling-key","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"FlexAI-specific shape (intentionally not OpenAI’s \", _jsx(_components.code, {\n children: \"/v1/organization/usage/*\"\n }), \"\\n— that surface requires org/team scoping which FlexAI does not yet model).\\nReturns total spend, total tokens, per-model breakdown, and a daily\\nhistory for the API key in the \", _jsx(_components.code, {\n children: \"Authorization\"\n }), \" header. Cached per-key\\nfor 60 seconds.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"total_spend\"\n }), \" is the sum of the charges applied to your account for the\\nrequests in the window, so it matches your invoice for that period\\nexactly. Note that it is not recoverable from \", _jsx(_components.code, {\n children: \"total_tokens\"\n }), \" and the\\npublished per-token rates: a cached prompt is billed at the lower cached\\nrate, so a token-based re-derivation will read high. Group by\\n\", _jsx(_components.code, {\n children: \"canonical_model\"\n }), \" to reconcile per model.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Programmatic spend for the calling key","description":"FlexAI-specific shape (intentionally not OpenAI's `/v1/organization/usage/*`\n— that surface requires org/team scoping which FlexAI does not yet model).\nReturns total spend, total tokens, per-model breakdown, and a daily\nhistory for the API key in the `Authorization` header. Cached per-key\nfor 60 seconds.\n\n`total_spend` is the sum of the charges applied to your account for the\nrequests in the window, so it matches your invoice for that period\nexactly. Note that it is not recoverable from `total_tokens` and the\npublished per-token rates: a cached prompt is billed at the lower cached\nrate, so a token-based re-derivation will read high. Group by\n`canonical_model` to reconcile per model.\n","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/flex/usage","href":"/api-reference/usage/programmatic-spend-for-the-calling-key","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Usage"],"summary":"Programmatic spend for the calling key","description":"FlexAI-specific shape (intentionally not OpenAI's `/v1/organization/usage/*`\n— that surface requires org/team scoping which FlexAI does not yet model).\nReturns total spend, total tokens, per-model breakdown, and a daily\nhistory for the API key in the `Authorization` header. Cached per-key\nfor 60 seconds.\n\n`total_spend` is the sum of the charges applied to your account for the\nrequests in the window, so it matches your invoice for that period\nexactly. Note that it is not recoverable from `total_tokens` and the\npublished per-token rates: a cached prompt is billed at the lower cached\nrate, so a token-based re-derivation will read high. Group by\n`canonical_model` to reconcile per model.\n","operationId":"getUsage","parameters":["3969084a-070e-42e0-9f3b-f10cb6e4535e"],"responses":{"200":"12cfccd2-8b4e-4692-a0fe-e75eced2a0ee","401":"93fade5c-edbd-4428-be25-9a12cea6ad39","422":"48eb38ec-cfb9-4ebe-8db7-05ad8aa897ed","503":"876bac6a-085a-4e59-bb3d-7e45c514a39e","504":"0393561a-5a3d-40b5-8c99-17d05d65651a"},"method":"get","type":"path","servers":["191aecf8-6e70-46e3-b658-35a0f17988a1","17fe57b9-6458-4830-adeb-126d5d8bef0b"],"security":["26a4ba72-da88-48b8-bda8-195dc3ce6c9a"],"path":"/v1/flex/usage","baseUrlOptions":["https://api.flex.ai","https://eu.api.flex.ai"],"title":"Programmatic spend for the calling key","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3969084a-070e-42e0-9f3b-f10cb6e4535e":{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":90,"default":30,"isRequired":false,"description":"Number of trailing days to include in `daily`. Capped at 90, the\nperiod for which per-key billed spend is retained.\n","uniqueKey":"","typeLabel":"integer"},"description":"Number of trailing days to include in `daily`. Capped at 90, the\nperiod for which per-key billed spend is retained.\n"}},"responses":{"12cfccd2-8b4e-4692-a0fe-e75eced2a0ee":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","required":["object","currency","total_spend","total_tokens","total_requests","by_model","daily","generated_at"],"properties":{"object":{"type":"string","enum":["usage"],"isRequired":true,"uniqueKey":"object","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","enum":["USD"],"isRequired":true,"uniqueKey":"currency","typeLabel":"enum\u003cstring>"},"total_spend":{"type":"number","isRequired":true,"uniqueKey":"total_spend","typeLabel":"number"},"total_tokens":{"type":"integer","isRequired":true,"uniqueKey":"total_tokens","typeLabel":"integer"},"total_requests":{"type":"integer","isRequired":true,"uniqueKey":"total_requests","typeLabel":"integer"},"by_model":{"type":"array","description":"Per-model spend rows. Group by `canonical_model`+`modality`\nfor reconciliation: `canonical_model` is the stable catalog\nid (the same id `/v1/pricing` and `/v1/models` use), whereas\n`model` equals `canonical_model`: the internal served\nrouting id is not exposed. One row per `canonical_model` and\nmodality: forms of the same model the ledger recorded under\ndifferent raw ids are merged. Multi-modality models appear once per\nmodality (image+image_edit, etc.). Text rows have\n`modality=text`, `units_consumed=null`, `billing_unit=tokens`.\n","items":{"type":"object","required":["model","canonical_model","modality","requests","total_tokens","billing_unit","total_spend"],"properties":{"model":{"type":"string","description":"The catalog model id, equal to `canonical_model` (earlier\nreleases returned the internal served routing id here).\n","isRequired":true,"uniqueKey":"by_model.items.[INDEX].model","typeLabel":"string"},"canonical_model":{"type":"string","description":"Stable catalog model id — matches the `model` field of\n`/v1/pricing` and `/v1/models`. Use this (with\n`modality`) as the reconciliation key.\n","isRequired":true,"uniqueKey":"by_model.items.[INDEX].canonical_model","typeLabel":"string"},"modality":{"type":"string","enum":["text","image","image_edit","video","audio","tts","stt"],"isRequired":true,"uniqueKey":"by_model.items.[INDEX].modality","typeLabel":"enum\u003cstring>"},"requests":{"type":"integer","isRequired":true,"uniqueKey":"by_model.items.[INDEX].requests","typeLabel":"integer"},"total_tokens":{"type":"integer","isRequired":true,"uniqueKey":"by_model.items.[INDEX].total_tokens","typeLabel":"integer"},"billing_unit":{"type":"string","isRequired":true,"uniqueKey":"by_model.items.[INDEX].billing_unit","typeLabel":"string"},"total_spend":{"type":"number","isRequired":true,"uniqueKey":"by_model.items.[INDEX].total_spend","typeLabel":"number"},"units_consumed":{"oneOf":[{"type":"number","uniqueKey":"by_model.items.[INDEX].units_consumed.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"by_model.items.[INDEX].units_consumed.oneOf.1","typeLabel":"null"}],"uniqueKey":"by_model.items.[INDEX].units_consumed","typeLabel":"number | null"}},"uniqueKey":"by_model.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"by_model","typeLabel":"object[]"},"daily":{"type":"array","items":{"type":"object","required":["date","requests","total_tokens","total_spend"],"properties":{"date":{"type":"string","format":"date","isRequired":true,"uniqueKey":"daily.items.[INDEX].date","typeLabel":"string\u003cdate>"},"requests":{"type":"integer","isRequired":true,"uniqueKey":"daily.items.[INDEX].requests","typeLabel":"integer"},"total_tokens":{"type":"integer","isRequired":true,"uniqueKey":"daily.items.[INDEX].total_tokens","typeLabel":"integer"},"total_spend":{"type":"number","isRequired":true,"uniqueKey":"daily.items.[INDEX].total_spend","typeLabel":"number"}},"uniqueKey":"daily.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"daily","typeLabel":"object[]"},"generated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"generated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"object":"usage","currency":"USD","total_spend":123,"total_tokens":123,"total_requests":123,"by_model":[{"model":"\u003cstring>","canonical_model":"\u003cstring>","modality":"text","requests":123,"total_tokens":123,"billing_unit":"\u003cstring>","total_spend":123,"units_consumed":123}],"daily":[{"date":"2023-12-25","requests":123,"total_tokens":123,"total_spend":123}],"generated_at":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"93fade5c-edbd-4428-be25-9a12cea6ad39":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"invalid_request_error","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","description":"Stable machine-readable code for the failure. Present on\nmost error paths; OMITTED on FastAPI default-validation\nbodies. Do not assume always present.\n","uniqueKey":"error.code","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"FlexAI extension. Link to the relevant dashboard / docs\npage for the failure mode (e.g. invalid key → /dashboard/keys).\nPresent on auth and quota errors.\n","uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"\u003cstring>","type":"invalid_request_error","code":"\u003cstring>","doc_url":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"48eb38ec-cfb9-4ebe-8db7-05ad8aa897ed":{"description":"`?days` outside the [1, 365] range. Returns FastAPI's default\nvalidation envelope (not the OpenAI shape used elsewhere on\nthis route). SDK clients should clamp client-side.\n","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"type":"object","uniqueKey":"detail.items.[INDEX]","typeLabel":"object"},"uniqueKey":"detail","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":[{}]}}},"exampleType":"generated"}},"exampleType":"generated"},"876bac6a-085a-4e59-bb3d-7e45c514a39e":{"description":"Authentication service temporarily unavailable.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"invalid_request_error","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","description":"Stable machine-readable code for the failure. Present on\nmost error paths; OMITTED on FastAPI default-validation\nbodies. Do not assume always present.\n","uniqueKey":"error.code","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"FlexAI extension. Link to the relevant dashboard / docs\npage for the failure mode (e.g. invalid key → /dashboard/keys).\nPresent on auth and quota errors.\n","uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"\u003cstring>","type":"invalid_request_error","code":"\u003cstring>","doc_url":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"0393561a-5a3d-40b5-8c99-17d05d65651a":{"description":"Usage query timed out. Retry shortly.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"invalid_request_error","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","description":"Stable machine-readable code for the failure. Present on\nmost error paths; OMITTED on FastAPI default-validation\nbodies. Do not assume always present.\n","uniqueKey":"error.code","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"FlexAI extension. Link to the relevant dashboard / docs\npage for the failure mode (e.g. invalid key → /dashboard/keys).\nPresent on auth and quota errors.\n","uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"\u003cstring>","type":"invalid_request_error","code":"\u003cstring>","doc_url":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"26a4ba72-da88-48b8-bda8-195dc3ce6c9a":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"sk-xxxx","description":"Virtual API key. Create one from the\n[FlexAI dashboard](https://platform.flex.ai/dashboard/keys). Pass as\n`Authorization: Bearer sk-xxxx`.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"191aecf8-6e70-46e3-b658-35a0f17988a1":{"url":"https://api.flex.ai","description":"Production (US)"},"17fe57b9-6458-4830-adeb-126d5d8bef0b":{"url":"https://eu.api.flex.ai","description":"Production (EU)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"sk-xxxx","description":"Virtual API key. Create one from the\n[FlexAI dashboard](https://platform.flex.ai/dashboard/keys). Pass as\n`Authorization: Bearer sk-xxxx`.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Virtual API key. Create one from the\n[FlexAI dashboard](https://platform.flex.ai/dashboard/keys). Pass as\n`Authorization: Bearer sk-xxxx`.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"inference-api/openapi.yaml"},"subdomain":"flexai-51114f49","siteName":"FlexAI Docs","title":"Programmatic spend for the calling key - FlexAI Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T06:53:16.773Z","originalFileLocation":"api-reference/usage/programmatic-spend-for-the-calling-key.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"FlexAI-specific shape (intentionally not OpenAI\u0026#x27;s /v1/organization/usage/* — that surface requires org/team scoping which FlexAI does not yet model). Returns total spend, total tokens, per-model breakdown, and a daily history for the API key in the Authorization header. Cached per-key for 60 seconds. total_spend is the sum of the charges applied to your account for the requests in the window, so it matches your invoice for that period exactly. Note that it is not recoverable from total_tokens and the published per-token rates: a cached prompt is billed at the lower cached rate, so a token-based re-derivation will read high. Group by canonical_model to reconcile per model.\">\u003cmeta data-mint-head name=\"application-name\" content=\"FlexAI Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Programmatic spend for the calling key - FlexAI Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"FlexAI-specific shape (intentionally not OpenAI\u0026#x27;s /v1/organization/usage/* — that surface requires org/team scoping which FlexAI does not yet model). Returns total spend, total tokens, per-model breakdown, and a daily history for the API key in the Authorization header. Cached per-key for 60 seconds. total_spend is the sum of the charges applied to your account for the requests in the window, so it matches your invoice for that period exactly. Note that it is not recoverable from total_tokens and the published per-token rates: a cached prompt is billed at the lower cached rate, so a token-based re-derivation will read high. Group by canonical_model to reconcile per model.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FlexAI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://flexai-51114f49.mintlify.app/og-image.jpg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"FlexAI Documentation Website\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"FlexAI Developer Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://flexai-51114f49.mintlify.app/og-image.jpg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/flexai-51114f49/SZFMqMGqk-xY4rT3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FlexAI Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#002A9E\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@FlexAI__\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"FlexAI Logo\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/usage/programmatic-spend-for-the-calling-key.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.flex.ai/#organization\",\"name\":\"FlexAI Docs\",\"url\":\"https://docs.flex.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/flexai-51114f49/dNvzWOTcJQw0Ozyk/assets/images/flexai-light.svg?fit=max\u0026auto=format\u0026n=dNvzWOTcJQw0Ozyk\u0026q=85\u0026s=a324cec5ede5a3b89a69ed3a1e9f5f41\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.flex.ai#website\",\"name\":\"FlexAI Docs\",\"url\":\"https://docs.flex.ai\",\"publisher\":{\"@id\":\"https://docs.flex.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key#webpage\",\"url\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key\",\"name\":\"Programmatic spend for the calling key\",\"description\":\"FlexAI-specific shape (intentionally not OpenAI's /v1/organization/usage/* — that surface requires org/team scoping which FlexAI does not yet model). Returns total spend, total tokens, per-model breakdown, and a daily history for the API key in the Authorization header. Cached per-key for 60 seconds. total_spend is the sum of the charges applied to your account for the requests in the window, so it matches your invoice for that period exactly. Note that it is not recoverable from total_tokens and the published per-token rates: a cached prompt is billed at the lower cached rate, so a token-based re-derivation will read high. Group by canonical_model to reconcile per model.\",\"dateModified\":\"2026-10-25T06:53:16.773Z\",\"isPartOf\":{\"@id\":\"https://docs.flex.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"FlexAI Docs\",\"item\":\"https://docs.flex.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Programmatic spend for the calling key\",\"item\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key#apireference\",\"headline\":\"Programmatic spend for the calling key\",\"name\":\"Programmatic spend for the calling key\",\"description\":\"FlexAI-specific shape (intentionally not OpenAI's /v1/organization/usage/* — that surface requires org/team scoping which FlexAI does not yet model). Returns total spend, total tokens, per-model breakdown, and a daily history for the API key in the Authorization header. Cached per-key for 60 seconds. total_spend is the sum of the charges applied to your account for the requests in the window, so it matches your invoice for that period exactly. Note that it is not recoverable from total_tokens and the published per-token rates: a cached prompt is billed at the lower cached rate, so a token-based re-derivation will read high. Group by canonical_model to reconcile per model.\",\"url\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key\",\"mainEntityOfPage\":{\"@id\":\"https://docs.flex.ai/api-reference/usage/programmatic-spend-for-the-calling-key#webpage\"},\"image\":\"https://docs.flex.ai/og-image.jpg\",\"dateModified\":\"2026-10-25T06:53:16.773Z\",\"publisher\":{\"@id\":\"https://docs.flex.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.flex.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FlexAI Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FlexAI Docs","nav":{"global":null,"tabs":[{"tab":"Token Factory","groups":[{"group":"Get Started","icon":"rocket","pages":[{"title":"Quickstart","href":"/inference-api/quickstart"}]},{"group":"Guides","icon":"book-open","pages":[{"title":"Streaming","href":"/inference-api/guides/streaming"},{"title":"Vision","href":"/inference-api/guides/vision"},{"title":"Tool Use","href":"/inference-api/guides/tool-use"},{"title":"Embeddings","href":"/inference-api/guides/embeddings"},{"title":"Image generation","href":"/inference-api/guides/images"},{"title":"Audio (TTS \u0026 transcription)","href":"/inference-api/guides/audio"},{"title":"Video generation","href":"/inference-api/guides/video"},{"title":"Rerank","href":"/inference-api/guides/rerank"},{"title":"Moderation","href":"/inference-api/guides/moderation"},{"title":"Model discovery","href":"/inference-api/guides/model-discovery"},{"title":"Batching","href":"/inference-api/guides/batch"},{"title":"Concurrency","href":"/inference-api/guides/concurrency"}]},{"group":"Agents","icon":"robot","pages":[{"title":"LangChain \u0026 LangGraph","href":"/inference-api/agents/langchain"}]},{"group":"Reference","icon":"book","pages":[{"title":"Errors","href":"/inference-api/reference/errors"},{"title":"Billing \u0026 Quotas","href":"/inference-api/reference/billing"},{"title":"Regions \u0026 Data Residency","href":"/inference-api/reference/regions"},{"title":"OpenAI Compatibility","href":"/inference-api/reference/openai-compatibility"},{"title":"Usage Policy","href":"/inference-api/reference/usage-policy"}]},{"group":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"group":"Chat","pages":[{"title":"Create a chat completion","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml post /v1/chat/completions","href":"/api-reference/chat/create-a-chat-completion"}]},{"group":"Completions","pages":[{"title":"Create a (legacy) text completion","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml post /v1/completions","href":"/api-reference/completions/create-a-legacy-text-completion"}]},{"group":"Embeddings","pages":[{"title":"Create an embedding","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml post /v1/embeddings","href":"/api-reference/embeddings/create-an-embedding"}]},{"group":"Models","pages":[{"title":"List available models","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/models","href":"/api-reference/models/list-available-models"},{"title":"Retrieve a model","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/models/{model}","href":"/api-reference/models/retrieve-a-model"},{"title":"List currently-effective per-model pricing","description":"FlexAI extension. Returns the currently-effective pricing rows for every\nmodel currently being served. A model that is temporarily not serving —\nscaled down or restarting — drops out until it is back, so keep your own\ncopy of a rate rather than reading an absent row as a price change.\n**Requires a Bearer API key** — the same key you use for\ninference. Pricing is identical for every caller, but the endpoint is\nauthenticated so the live model catalogue isn't exposed to anonymous\nprobes. Cache-Control is `private, max-age=60, stale-while-revalidate=120`,\nso a client may cache its own copy while shared/CDN caches will not.\n\n`/v1/models` carries the same rates on each model entry (`pricing`\nper token, `media_pricing` per unit) and is the catalog to build\nagainst. This endpoint is the flat, per-million-token view of the same\nnumbers, with `pricing_type` and `effective_at` on every row, for\nbilling and cost tooling that wants prices without the rest of the\nmodel metadata.\n","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/pricing","href":"/api-reference/models/list-currently-effective-per-model-pricing"}]},{"group":"Usage","pages":[{"title":"Programmatic spend for the calling key","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/flex/usage","href":"/api-reference/usage/programmatic-spend-for-the-calling-key"},{"title":"Usage and cost for a single request","description":"Looks up one request's usage row for exact per-request cost\nattribution — the per-turn complement to the whole-key aggregate\n`/v1/flex/usage` returns.\n\n`request_id` is the value of the `x-litellm-call-id` response header\non the original inference call (**not** the `id` field in the\nresponse body). Capture that header per call, then join it here.\n\nThe lookup is scoped to the calling key: a request made with a\ndifferent key returns the same `404` as an id that does not exist.\nRows are written when a request completes, so a lookup immediately\nafter the call may briefly `404` — retry after a few seconds.\n\n`total_spend` is the charge applied to your account for this request —\nthe same figure the `/v1/flex/usage` aggregates sum, so per-request values\nreconcile against those totals exactly. It is not derived from the token\ncounts returned alongside it: a cached prompt is billed at the lower cached\nrate, so a token-based re-derivation reads high.\n\nA request whose billing has not been written yet reports `0.0` rather than\nan estimate; billing settles within seconds, so retry if you need the final\nfigure immediately after the call. Only LiteLLM-routed (text) requests carry\na call id, so rows always have `modality=text`.\n","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/flex/usage/request/{request_id}","href":"/api-reference/usage/usage-and-cost-for-a-single-request"},{"title":"Limits and remaining credit for the calling key","deprecated":null,"version":null,"openapi":"/inference-api/openapi.yaml get /v1/flex/key","href":"/api-reference/usage/limits-and-remaining-credit-for-the-calling-key"}]}]},{"tab":"Platform","pages":[{"title":"Platform","href":"/getting-started"}]}]},"basePath":"","title":"Programmatic spend for the calling key - FlexAI Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}