Management API authentication for /api/* endpoints. Use the Authorization header with Bearer <API key>.
Virtual keys, dashboard/user/session tokens, and x-api-key headers are not supported on management APIs.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"Vikat","colors":{"primary":"#0C3B43","light":"#07C983"},"logo":{"light":"https://mintcdn.com/vikat-ai/Xw_qzY8whhWmfPh3/media/vikat-logo.png?fit=max\u0026auto=format\u0026n=Xw_qzY8whhWmfPh3\u0026q=85\u0026s=1bce49f93b955ed9b64346a96466adfd","dark":"https://mintcdn.com/vikat-ai/dtGbonSkiZn6zZKE/media/vikat-logo-dark.png?fit=max\u0026auto=format\u0026n=dtGbonSkiZn6zZKE\u0026q=85\u0026s=97f9b62ceea92c66a50178a7a9d91a0e"},"favicon":"https://mintcdn.com/vikat-ai/NdGPuqWLiDOdPaJ6/favicon.ico?fit=max\u0026auto=format\u0026n=NdGPuqWLiDOdPaJ6\u0026q=85\u0026s=e571d9644566f9530b0f3d4fa084753f","navbar":{"links":[{"icon":"github","href":"https://vikat.local","label":"GitHub"}]},"footer":{"socials":{"github":"https://vikat.local"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vikat-ai","hasAudioNarration":false,"actualSubdomain":"vikat-ai","customDomains":["docs.vikat.ai"],"gitSource":{"type":"github","owner":"vikat-ai","repo":"vikat-gateway","deployBranch":"rebrand/vikat-gateway","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"}},"buildId":"6ab6c9d4dcef7527f446a72e","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API","count":404},{"language":"default","tag":"API Reference","count":404},{"language":"default","tag":"OSS","count":103},{"language":"default","tag":"Governance","count":49},{"language":"default","tag":"OpenAI Integration","count":47},{"language":"default","tag":"Integrations","count":43},{"language":"default","tag":"Providers \u0026 Guides","count":38},{"language":"default","tag":"Deployment Guides","count":36},{"language":"default","tag":"Logging","count":30},{"language":"default","tag":"Supported Providers","count":29}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".nav-logo{height:1.50rem}#sidebar-group>li>button>div{line-height:normal}"}],"page":{"pagePath":"api-reference/governance/update-virtual-key","slug":"/api-reference/governance/update-virtual-key","pageMetadata":{"title":"Update virtual key","description":"Updates an existing virtual key's configuration.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/virtual-keys/{vk_id}","href":"/api-reference/governance/update-virtual-key","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Updates an existing virtual key’s configuration.\"\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":"Update virtual key","description":"Updates an existing virtual key's configuration.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/virtual-keys/{vk_id}","href":"/api-reference/governance/update-virtual-key","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/vikat-ai/75ed5d49c5b6d441/baseUrlSwitcher.js","/_mintlify/custom/vikat-ai/d8c2d2af23ad55cd/jsonLd.js","/_mintlify/custom/vikat-ai/c6dc09a69a0e6891/supportWidget.js","/_mintlify/custom/vikat-ai/aa532cead633d329/tally-embed.js"],"openApiReferenceData":{"operation":{"operationId":"updateVirtualKey","summary":"Update virtual key","description":"Updates an existing virtual key's configuration.","tags":["Governance"],"parameters":["f257d888-1468-41d0-a1b0-a7966e07339a"],"requestBody":"43a41c8a-6f69-45b9-b347-15bea59713b6","security":["c6cf5861-a1ce-49b4-9dda-034eff0af660"],"responses":{"200":"e41d3973-7c38-4964-9411-6ebde40892d5","400":"65c2eb32-fea0-438a-8d54-0610984cdb37","404":"d57aff73-0a06-4670-8644-5166c320b832","500":"cdb9cede-3878-4e46-a0fc-9a6806d674cb"},"method":"put","type":"path","servers":["8951c53d-a6f0-474f-9a6d-17023ea6d3c7"],"path":"/api/governance/virtual-keys/{vk_id}","baseUrlOptions":["{baseUrl}"],"title":"Update virtual key","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"f257d888-1468-41d0-a1b0-a7966e07339a":{"name":"vk_id","in":"path","required":true,"description":"Virtual key ID","schema":{"type":"string","isRequired":true,"description":"Virtual key ID","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Update virtual key request","properties":{"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"description":{"type":"string","uniqueKey":"description","typeLabel":"string"},"provider_configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","uniqueKey":"provider_configs.items.[INDEX].id","typeLabel":"integer"},"provider":{"type":"string","uniqueKey":"provider_configs.items.[INDEX].provider","typeLabel":"string"},"weight":{"oneOf":[{"type":"number","description":"Weight for load balancing. Null means excluded from weighted routing.","uniqueKey":"provider_configs.items.[INDEX].weight.oneOf.0","typeLabel":"number"},{"type":"null","description":"Weight for load balancing. Null means excluded from weighted routing.","uniqueKey":"provider_configs.items.[INDEX].weight.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_configs.items.[INDEX].weight","typeLabel":"number | null"},"allowed_models":{"type":"array","items":{"type":"string","uniqueKey":"provider_configs.items.[INDEX].allowed_models.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider_configs.items.[INDEX].allowed_models","typeLabel":"string[]"},"blacklisted_models":{"type":"array","items":{"type":"string","uniqueKey":"provider_configs.items.[INDEX].blacklisted_models.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider_configs.items.[INDEX].blacklisted_models","typeLabel":"string[]"},"budgets":{"type":"array","description":"Provider-specific budget quotas. Replaces all budgets for that provider config when provided.","items":{"type":"object","description":"Create budget request","required":["max_limit","reset_duration"],"properties":{"max_limit":{"type":"number","isRequired":true,"uniqueKey":"provider_configs.items.[INDEX].budgets.items.[INDEX].max_limit","typeLabel":"number"},"reset_duration":{"type":"string","isRequired":true,"uniqueKey":"provider_configs.items.[INDEX].budgets.items.[INDEX].reset_duration","typeLabel":"string"},"calendar_aligned":{"type":"boolean","default":false,"description":"When true, usage resets at the start of each calendar period in UTC instead of on a rolling window from last reset. Only valid with reset durations that use day, week, month, or year suffixes (`d`, `w`, `M`, `Y`). For example `1d` resets at midnight UTC; `1w` at Monday 00:00 UTC; `1M` on the first day of each month; `1Y` on January 1. Sub-day durations (e.g. `1h`) cannot use calendar alignment.\n","uniqueKey":"provider_configs.items.[INDEX].budgets.items.[INDEX].calendar_aligned","typeLabel":"boolean"}},"uniqueKey":"provider_configs.items.[INDEX].budgets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"provider_configs.items.[INDEX].budgets","typeLabel":"object[]"},"rate_limit":{"type":"object","description":"Update rate limit request","properties":{"token_max_limit":{"type":"integer","format":"int64","uniqueKey":"provider_configs.items.[INDEX].rate_limit.token_max_limit","typeLabel":"integer\u003cint64>"},"token_reset_duration":{"type":"string","uniqueKey":"provider_configs.items.[INDEX].rate_limit.token_reset_duration","typeLabel":"string"},"request_max_limit":{"type":"integer","format":"int64","uniqueKey":"provider_configs.items.[INDEX].rate_limit.request_max_limit","typeLabel":"integer\u003cint64>"},"request_reset_duration":{"type":"string","uniqueKey":"provider_configs.items.[INDEX].rate_limit.request_reset_duration","typeLabel":"string"}},"uniqueKey":"provider_configs.items.[INDEX].rate_limit","typeLabel":"object"},"key_ids":{"type":"array","items":{"type":"string","uniqueKey":"provider_configs.items.[INDEX].key_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider_configs.items.[INDEX].key_ids","typeLabel":"string[]"}},"uniqueKey":"provider_configs.items.[INDEX]","typeLabel":"object"},"uniqueKey":"provider_configs","typeLabel":"object[]"},"mcp_configs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","uniqueKey":"mcp_configs.items.[INDEX].id","typeLabel":"integer"},"mcp_client_name":{"type":"string","uniqueKey":"mcp_configs.items.[INDEX].mcp_client_name","typeLabel":"string"},"tools_to_execute":{"type":"array","items":{"type":"string","uniqueKey":"mcp_configs.items.[INDEX].tools_to_execute.items.[INDEX]","typeLabel":"string"},"uniqueKey":"mcp_configs.items.[INDEX].tools_to_execute","typeLabel":"string[]"}},"uniqueKey":"mcp_configs.items.[INDEX]","typeLabel":"object"},"uniqueKey":"mcp_configs","typeLabel":"object[]"},"team_id":{"type":"string","uniqueKey":"team_id","typeLabel":"string"},"customer_id":{"type":"string","uniqueKey":"customer_id","typeLabel":"string"},"budgets":{"type":"array","description":"Budget quotas assigned directly to this virtual key. Replaces all direct virtual-key budgets when provided.","items":{"type":"object","description":"Create budget request","required":["max_limit","reset_duration"],"properties":{"max_limit":{"type":"number","isRequired":true,"uniqueKey":"budgets.items.[INDEX].max_limit","typeLabel":"number"},"reset_duration":{"type":"string","isRequired":true,"uniqueKey":"budgets.items.[INDEX].reset_duration","typeLabel":"string"},"calendar_aligned":{"type":"boolean","default":false,"description":"When true, usage resets at the start of each calendar period in UTC instead of on a rolling window from last reset. Only valid with reset durations that use day, week, month, or year suffixes (`d`, `w`, `M`, `Y`). For example `1d` resets at midnight UTC; `1w` at Monday 00:00 UTC; `1M` on the first day of each month; `1Y` on January 1. Sub-day durations (e.g. `1h`) cannot use calendar alignment.\n","uniqueKey":"budgets.items.[INDEX].calendar_aligned","typeLabel":"boolean"}},"uniqueKey":"budgets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"budgets","typeLabel":"object[]"},"rate_limit":{"type":"object","description":"Update rate limit request","properties":{"token_max_limit":{"type":"integer","format":"int64","uniqueKey":"rate_limit.token_max_limit","typeLabel":"integer\u003cint64>"},"token_reset_duration":{"type":"string","uniqueKey":"rate_limit.token_reset_duration","typeLabel":"string"},"request_max_limit":{"type":"integer","format":"int64","uniqueKey":"rate_limit.request_max_limit","typeLabel":"integer\u003cint64>"},"request_reset_duration":{"type":"string","uniqueKey":"rate_limit.request_reset_duration","typeLabel":"string"}},"uniqueKey":"rate_limit","typeLabel":"object"},"is_active":{"type":"boolean","uniqueKey":"is_active","typeLabel":"boolean"},"calendar_aligned":{"type":"boolean","uniqueKey":"calendar_aligned","typeLabel":"boolean"},"reset_budget_usage":{"type":"boolean","description":"When true, resets usage for virtual-key and provider-config budget records reconciled by this update.","uniqueKey":"reset_budget_usage","typeLabel":"boolean"},"expires_at":{"type":"string","description":"RFC3339 timestamp to set a new expiry (must be in the future), empty string to clear an existing expiry, omitted to leave it unchanged.","uniqueKey":"expires_at","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","description":"\u003cstring>","provider_configs":[{"id":123,"provider":"\u003cstring>","weight":123,"allowed_models":["\u003cstring>"],"blacklisted_models":["\u003cstring>"],"budgets":[{"max_limit":123,"reset_duration":"\u003cstring>","calendar_aligned":false}],"rate_limit":{"token_max_limit":123,"token_reset_duration":"\u003cstring>","request_max_limit":123,"request_reset_duration":"\u003cstring>"},"key_ids":["\u003cstring>"]}],"mcp_configs":[{"id":123,"mcp_client_name":"\u003cstring>","tools_to_execute":["\u003cstring>"]}],"team_id":"\u003cstring>","customer_id":"\u003cstring>","budgets":[{"max_limit":123,"reset_duration":"\u003cstring>","calendar_aligned":false}],"rate_limit":{"token_max_limit":123,"token_reset_duration":"\u003cstring>","request_max_limit":123,"request_reset_duration":"\u003cstring>"},"is_active":true,"calendar_aligned":true,"reset_budget_usage":true,"expires_at":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"e41d3973-7c38-4964-9411-6ebde40892d5":{"description":"Virtual key updated successfully","content":{"application/json":{"schema":{"type":"object","description":"Virtual key operation response","required":["message","virtual_key"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"virtual_key":{"type":"object","description":"Virtual key configuration","required":["id","name","value","is_active","provider_configs","mcp_configs","calendar_aligned","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.name","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.value","typeLabel":"string"},"is_active":{"type":"boolean","isRequired":true,"uniqueKey":"virtual_key.is_active","typeLabel":"boolean"},"provider_configs":{"type":"array","items":{"type":"object","description":"Provider configuration for a virtual key","required":["id","virtual_key_id","provider","weight","allowed_models","blacklisted_models","allow_all_keys","keys"],"properties":{"id":{"type":"integer","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].id","typeLabel":"integer"},"virtual_key_id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].virtual_key_id","typeLabel":"string"},"provider":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].provider","typeLabel":"string"},"weight":{"oneOf":[{"type":"number","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].weight.oneOf.0","typeLabel":"number"},{"type":"null","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].weight.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].weight","typeLabel":"number | null"},"allowed_models":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].allowed_models.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].allowed_models","typeLabel":"string[]"},"blacklisted_models":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].blacklisted_models.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].blacklisted_models","typeLabel":"string[]"},"allow_all_keys":{"type":"boolean","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].allow_all_keys","typeLabel":"boolean"},"keys":{"oneOf":[{"type":"array","description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","items":{"type":"object","description":"Table key configuration","properties":{"id":{"type":"integer","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].id","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].name","typeLabel":"string"},"provider_id":{"type":"integer","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].provider_id","typeLabel":"integer"},"provider":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].provider","typeLabel":"string"},"key_id":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].key_id","typeLabel":"string"},"value":{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].value.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].value.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].value.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].value","typeLabel":"object"},"models":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].models.items.[INDEX]","typeLabel":"string"},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].models","typeLabel":"string[]"},"weight":{"oneOf":[{"type":"number","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].weight.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].weight.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].weight","typeLabel":"number | null"},"enabled":{"oneOf":[{"type":"boolean","default":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","default":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].enabled","typeLabel":"boolean | null"},"use_for_batch_api":{"oneOf":[{"type":"boolean","default":false,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].use_for_batch_api.oneOf.0","typeLabel":"boolean"},{"type":"null","default":false,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].use_for_batch_api.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].use_for_batch_api","typeLabel":"boolean | null"},"created_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"},"config_hash":{"oneOf":[{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].config_hash.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].config_hash.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].config_hash","typeLabel":"string | null"},"azure_endpoint":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_endpoint.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_endpoint.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_endpoint.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_endpoint.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_endpoint.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_endpoint","typeLabel":"object | null"},"azure_client_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_id.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_id.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_id.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_id.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_id","typeLabel":"object | null"},"azure_client_secret":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_secret.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_secret.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_secret.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_secret.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_secret.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_client_secret","typeLabel":"object | null"},"azure_tenant_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_tenant_id.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_tenant_id.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_tenant_id.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_tenant_id.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_tenant_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].azure_tenant_id","typeLabel":"object | null"},"vertex_project_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_id.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_id.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_id.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_id.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_id","typeLabel":"object | null"},"vertex_project_number":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_number.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_number.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_number.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_number.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_project_number","typeLabel":"object | null"},"vertex_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_region.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_region.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_region.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_region.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_region","typeLabel":"object | null"},"vertex_auth_credentials":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_auth_credentials.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_auth_credentials.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_auth_credentials.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_auth_credentials.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_auth_credentials.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].vertex_auth_credentials","typeLabel":"object | null"},"bedrock_access_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_access_key.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_access_key.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_access_key.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_access_key.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_access_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_access_key","typeLabel":"object | null"},"bedrock_secret_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_secret_key.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_secret_key.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_secret_key.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_secret_key.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_secret_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_secret_key","typeLabel":"object | null"},"bedrock_session_token":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_session_token.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_session_token.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_session_token.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_session_token.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_session_token.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_session_token","typeLabel":"object | null"},"bedrock_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_region.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_region.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_region.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_region.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_region","typeLabel":"object | null"},"bedrock_arn":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_arn.oneOf.0.value","typeLabel":"string"},"env_var":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_arn.oneOf.0.env_var","typeLabel":"string"},"from_env":{"type":"boolean","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_arn.oneOf.0.from_env","typeLabel":"boolean"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_arn.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_arn.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX].bedrock_arn","typeLabel":"object | null"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","items":{"type":"object","description":"Table key configuration","properties":{"id":{"type":"integer"},"name":{"type":"string"},"provider_id":{"type":"integer"},"provider":{"type":"string"},"key_id":{"type":"string"},"value":{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},"models":{"type":"array","items":{"type":"string"}},"weight":{"oneOf":[{"type":"number"},{"type":"null"}]},"enabled":{"oneOf":[{"type":"boolean","default":true},{"type":"null","default":true}]},"use_for_batch_api":{"oneOf":[{"type":"boolean","default":false},{"type":"null","default":false}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"config_hash":{"oneOf":[{"type":"string"},{"type":"null"}]},"azure_endpoint":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_secret":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_tenant_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_number":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_auth_credentials":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_access_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_secret_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_session_token":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_arn":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]}}},"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].keys","typeLabel":"object[] | null"},"rate_limit_id":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit_id","typeLabel":"string"},"budgets":{"type":"array","description":"Budget quotas assigned to this provider config","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].id","typeLabel":"string"},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].max_limit","typeLabel":"number"},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].reset_duration","typeLabel":"string"},"last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].last_reset","typeLabel":"string\u003cdate-time>"},"current_usage":{"type":"number","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].current_usage","typeLabel":"number"},"config_hash":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].config_hash.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].config_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].calendar_aligned","typeLabel":"boolean"},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped","uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].team_id","typeLabel":"string"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped","uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].virtual_key_id","typeLabel":"string"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped","uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX].provider_config_id","typeLabel":"integer"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].budgets","typeLabel":"object[]"},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.id","typeLabel":"string"},"token_current_usage":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.token_current_usage","typeLabel":"integer\u003cint64>"},"token_last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.token_last_reset","typeLabel":"string\u003cdate-time>"},"request_current_usage":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_current_usage","typeLabel":"integer\u003cint64>"},"request_last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_last_reset","typeLabel":"string\u003cdate-time>"},"config_hash":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.config_hash.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.config_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.updated_at","typeLabel":"string\u003cdate-time>"},"token_max_limit":{"type":"integer","format":"int64","uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.token_max_limit","typeLabel":"integer\u003cint64>"},"token_reset_duration":{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.token_reset_duration","typeLabel":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64","uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_max_limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_max_limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_max_limit","typeLabel":"integer\u003cint64> | null"},"request_reset_duration":{"oneOf":[{"type":"string","uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_reset_duration.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_reset_duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit.request_reset_duration","typeLabel":"string | null"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX].rate_limit","typeLabel":"object"}},"uniqueKey":"virtual_key.provider_configs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"virtual_key.provider_configs","typeLabel":"object[]"},"mcp_configs":{"type":"array","items":{"type":"object","description":"MCP configuration for a virtual key","required":["id","virtual_key_id","mcp_client_id","mcp_client","tools_to_execute"],"properties":{"id":{"type":"integer","isRequired":true,"uniqueKey":"virtual_key.mcp_configs.items.[INDEX].id","typeLabel":"integer"},"virtual_key_id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.mcp_configs.items.[INDEX].virtual_key_id","typeLabel":"string"},"mcp_client_id":{"type":"integer","isRequired":true,"uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client_id","typeLabel":"integer"},"mcp_client":{"type":"object","description":"Full MCP client configuration (used in responses)","properties":{"client_id":{"type":"string","description":"Unique identifier for the MCP client","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.client_id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the MCP client","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.name","typeLabel":"string"},"is_code_mode_client":{"type":"boolean","description":"Whether this client is available in code mode","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.is_code_mode_client","typeLabel":"boolean"},"connection_type":{"type":"string","enum":["http","stdio","sse","inprocess"],"description":"Connection type for MCP client","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.connection_type","typeLabel":"enum\u003cstring>"},"connection_string":{"type":"string","description":"HTTP or SSE URL (required for HTTP or SSE connections)","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.connection_string","typeLabel":"string"},"stdio_config":{"type":"object","description":"STDIO configuration for MCP client","properties":{"command":{"type":"string","description":"Executable command to run","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.stdio_config.command","typeLabel":"string"},"args":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.stdio_config.args.items.[INDEX]","typeLabel":"string"},"description":"Command line arguments","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.stdio_config.args","typeLabel":"string[]"},"envs":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.stdio_config.envs.items.[INDEX]","typeLabel":"string"},"description":"Environment variables required","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.stdio_config.envs","typeLabel":"string[]"}},"uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.stdio_config","typeLabel":"object"},"tls_config":{"type":"object","description":"TLS configuration for HTTP and SSE connections.","properties":{"insecure_skip_verify":{"type":"boolean","description":"Disable TLS certificate verification. Development/testing only.","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tls_config.insecure_skip_verify","typeLabel":"boolean"},"ca_cert_pem":{"type":"string","description":"PEM-encoded CA certificate. Supports env.VAR_NAME syntax for input.\nResponses return a redacted placeholder rather than the raw PEM value.\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tls_config.ca_cert_pem","typeLabel":"string"}},"uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tls_config","typeLabel":"object"},"auth_type":{"type":"string","enum":["none","headers","oauth","per_user_oauth","per_user_headers"],"description":"Authentication type for the MCP connection","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.auth_type","typeLabel":"enum\u003cstring>"},"oauth_config_id":{"type":"string","description":"OAuth config ID for OAuth authentication.\nReferences the oauth_configs table.\nOnly set when auth_type is \"oauth\".\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.oauth_config_id","typeLabel":"string"},"headers":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.headers.additionalProperties","typeLabel":"string"},"description":"Custom headers to include in requests.\nOnly used when auth_type is \"headers\".\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.headers","typeLabel":"object"},"tools_to_execute":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tools_to_execute.items.[INDEX]","typeLabel":"string"},"description":"Include-only list for tools.\n[\"*\"] => all tools are included\n[] => no tools are included\n[\"tool1\", \"tool2\"] => include only the specified tools\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tools_to_execute","typeLabel":"string[]"},"tools_to_auto_execute":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tools_to_auto_execute.items.[INDEX]","typeLabel":"string"},"description":"List of tools that can be auto-executed without user approval.\nMust be a subset of tools_to_execute.\n[\"*\"] => all executable tools can be auto-executed\n[] => no tools are auto-executed\n[\"tool1\", \"tool2\"] => only specified tools can be auto-executed\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tools_to_auto_execute","typeLabel":"string[]"},"tool_pricing":{"type":"object","additionalProperties":{"type":"number","format":"double","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tool_pricing.additionalProperties","typeLabel":"number\u003cdouble>"},"description":"Per-tool cost in USD for execution.\nKey is the tool name, value is the cost per execution.\nExample: {\"read_file\": 0.001, \"write_file\": 0.002}\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.tool_pricing","typeLabel":"object"},"allow_on_all_virtual_keys":{"type":"boolean","default":false,"description":"When true, this MCP client's tools are accessible to all virtual keys without requiring\nexplicit per-key assignment. All tools are allowed by default. If a virtual key has an\nexplicit MCP config for this client, that config takes precedence and overrides this behaviour.\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.allow_on_all_virtual_keys","typeLabel":"boolean"},"per_user_header_keys":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.per_user_header_keys.items.[INDEX]","typeLabel":"string"},"description":"For `per_user_headers` clients only. The list of header names each end-user\nmust supply via the inline-401 flow. Header values themselves are stored\nper-user in a separate table (surfaced on `/api/mcp/sessions`).\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.per_user_header_keys","typeLabel":"string[]"},"disabled":{"type":"boolean","default":false,"description":"Whether the client is intentionally disabled.\nWhen true, the client has no active connection or workers and its tools are not available for inference.\n","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client.disabled","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"virtual_key.mcp_configs.items.[INDEX].mcp_client","typeLabel":"object"},"tools_to_execute":{"type":"array","items":{"type":"string","uniqueKey":"virtual_key.mcp_configs.items.[INDEX].tools_to_execute.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"virtual_key.mcp_configs.items.[INDEX].tools_to_execute","typeLabel":"string[]"}},"uniqueKey":"virtual_key.mcp_configs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"virtual_key.mcp_configs","typeLabel":"object[]"},"calendar_aligned":{"type":"boolean","isRequired":true,"uniqueKey":"virtual_key.calendar_aligned","typeLabel":"boolean"},"config_hash":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.config_hash","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.updated_at","typeLabel":"string\u003cdate-time>"},"description":{"type":"string","uniqueKey":"virtual_key.description","typeLabel":"string"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","uniqueKey":"virtual_key.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","uniqueKey":"virtual_key.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.expires_at","typeLabel":"string\u003cdate-time> | null"},"team_id":{"type":"string","uniqueKey":"virtual_key.team_id","typeLabel":"string"},"customer_id":{"type":"string","uniqueKey":"virtual_key.customer_id","typeLabel":"string"},"rate_limit_id":{"type":"string","uniqueKey":"virtual_key.rate_limit_id","typeLabel":"string"},"team":{"type":"object","description":"Team configuration","properties":{"id":{"type":"string","uniqueKey":"virtual_key.team.id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"virtual_key.team.name","typeLabel":"string"},"customer_id":{"type":"string","uniqueKey":"virtual_key.team.customer_id","typeLabel":"string"},"budget_id":{"type":"string","uniqueKey":"virtual_key.team.budget_id","typeLabel":"string"},"customer":{"type":"object","description":"Customer configuration","properties":{"id":{"type":"string","uniqueKey":"virtual_key.team.customer.id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"virtual_key.team.customer.name","typeLabel":"string"},"budget_id":{"type":"string","uniqueKey":"virtual_key.team.customer.budget_id","typeLabel":"string"},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.id","typeLabel":"string"},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.max_limit","typeLabel":"number"},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.reset_duration","typeLabel":"string"},"last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.last_reset","typeLabel":"string\u003cdate-time>"},"current_usage":{"type":"number","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.current_usage","typeLabel":"number"},"config_hash":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.config_hash.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.config_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.team.customer.budget.updated_at","typeLabel":"string\u003cdate-time>"},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false,"uniqueKey":"virtual_key.team.customer.budget.calendar_aligned","typeLabel":"boolean"},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped","uniqueKey":"virtual_key.team.customer.budget.team_id","typeLabel":"string"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped","uniqueKey":"virtual_key.team.customer.budget.virtual_key_id","typeLabel":"string"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped","uniqueKey":"virtual_key.team.customer.budget.provider_config_id","typeLabel":"integer"}},"uniqueKey":"virtual_key.team.customer.budget","typeLabel":"object"},"teams":{"type":"array","items":{"$circularRef":"55722b68-d417-48e9-8043-641ba7c1c5e6"},"uniqueKey":"virtual_key.team.customer.teams","typeLabel":"array"},"virtual_keys":{"type":"array","items":{"$circularRef":"53e3d8a5-4647-4efb-bdee-858ef513edf7"},"uniqueKey":"virtual_key.team.customer.virtual_keys","typeLabel":"array"},"config_hash":{"type":"string","uniqueKey":"virtual_key.team.customer.config_hash","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.team.customer.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.team.customer.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"virtual_key.team.customer","typeLabel":"object"},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.team.budget.id","typeLabel":"string"},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true,"uniqueKey":"virtual_key.team.budget.max_limit","typeLabel":"number"},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true,"uniqueKey":"virtual_key.team.budget.reset_duration","typeLabel":"string"},"last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.team.budget.last_reset","typeLabel":"string\u003cdate-time>"},"current_usage":{"type":"number","isRequired":true,"uniqueKey":"virtual_key.team.budget.current_usage","typeLabel":"number"},"config_hash":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"virtual_key.team.budget.config_hash.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"virtual_key.team.budget.config_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.team.budget.config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.team.budget.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.team.budget.updated_at","typeLabel":"string\u003cdate-time>"},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false,"uniqueKey":"virtual_key.team.budget.calendar_aligned","typeLabel":"boolean"},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped","uniqueKey":"virtual_key.team.budget.team_id","typeLabel":"string"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped","uniqueKey":"virtual_key.team.budget.virtual_key_id","typeLabel":"string"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped","uniqueKey":"virtual_key.team.budget.provider_config_id","typeLabel":"integer"}},"uniqueKey":"virtual_key.team.budget","typeLabel":"object"},"virtual_keys":{"oneOf":[{"type":"array","description":"Virtual keys assigned to this team. This field may be omitted or returned as null in some responses (for example, when a team is embedded inside a virtual-key response) to avoid nested `virtual_keys` recursion.\n","items":{"$circularRef":"53e3d8a5-4647-4efb-bdee-858ef513edf7"},"uniqueKey":"virtual_key.team.virtual_keys.oneOf.0","typeLabel":"array"},{"type":"null","description":"Virtual keys assigned to this team. This field may be omitted or returned as null in some responses (for example, when a team is embedded inside a virtual-key response) to avoid nested `virtual_keys` recursion.\n","items":{"$circularRef":"53e3d8a5-4647-4efb-bdee-858ef513edf7"},"uniqueKey":"virtual_key.team.virtual_keys.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.team.virtual_keys","typeLabel":"array | null"},"profile":{"type":"object","additionalProperties":true,"uniqueKey":"virtual_key.team.profile","typeLabel":"object"},"config":{"type":"object","additionalProperties":true,"uniqueKey":"virtual_key.team.config","typeLabel":"object"},"claims":{"type":"object","additionalProperties":true,"uniqueKey":"virtual_key.team.claims","typeLabel":"object"},"config_hash":{"oneOf":[{"type":"string","uniqueKey":"virtual_key.team.config_hash.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"virtual_key.team.config_hash.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.team.config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.team.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.team.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"virtual_key.team","typeLabel":"object"},"customer":{"type":"object","description":"Customer configuration","properties":{"id":{"type":"string","uniqueKey":"virtual_key.customer.id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"virtual_key.customer.name","typeLabel":"string"},"budget_id":{"type":"string","uniqueKey":"virtual_key.customer.budget_id","typeLabel":"string"},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.customer.budget.id","typeLabel":"string"},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true,"uniqueKey":"virtual_key.customer.budget.max_limit","typeLabel":"number"},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true,"uniqueKey":"virtual_key.customer.budget.reset_duration","typeLabel":"string"},"last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.customer.budget.last_reset","typeLabel":"string\u003cdate-time>"},"current_usage":{"type":"number","isRequired":true,"uniqueKey":"virtual_key.customer.budget.current_usage","typeLabel":"number"},"config_hash":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"virtual_key.customer.budget.config_hash.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"virtual_key.customer.budget.config_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.customer.budget.config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.customer.budget.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.customer.budget.updated_at","typeLabel":"string\u003cdate-time>"},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false,"uniqueKey":"virtual_key.customer.budget.calendar_aligned","typeLabel":"boolean"},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped","uniqueKey":"virtual_key.customer.budget.team_id","typeLabel":"string"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped","uniqueKey":"virtual_key.customer.budget.virtual_key_id","typeLabel":"string"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped","uniqueKey":"virtual_key.customer.budget.provider_config_id","typeLabel":"integer"}},"uniqueKey":"virtual_key.customer.budget","typeLabel":"object"},"teams":{"type":"array","items":{"$circularRef":"55722b68-d417-48e9-8043-641ba7c1c5e6"},"uniqueKey":"virtual_key.customer.teams","typeLabel":"array"},"virtual_keys":{"type":"array","items":{"$circularRef":"53e3d8a5-4647-4efb-bdee-858ef513edf7"},"uniqueKey":"virtual_key.customer.virtual_keys","typeLabel":"array"},"config_hash":{"type":"string","uniqueKey":"virtual_key.customer.config_hash","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.customer.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","uniqueKey":"virtual_key.customer.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"virtual_key.customer","typeLabel":"object"},"budgets":{"type":"array","description":"Budget quotas assigned directly to this virtual key","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].id","typeLabel":"string"},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].max_limit","typeLabel":"number"},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].reset_duration","typeLabel":"string"},"last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].last_reset","typeLabel":"string\u003cdate-time>"},"current_usage":{"type":"number","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].current_usage","typeLabel":"number"},"config_hash":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].config_hash.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].config_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.budgets.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false,"uniqueKey":"virtual_key.budgets.items.[INDEX].calendar_aligned","typeLabel":"boolean"},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped","uniqueKey":"virtual_key.budgets.items.[INDEX].team_id","typeLabel":"string"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped","uniqueKey":"virtual_key.budgets.items.[INDEX].virtual_key_id","typeLabel":"string"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped","uniqueKey":"virtual_key.budgets.items.[INDEX].provider_config_id","typeLabel":"integer"}},"uniqueKey":"virtual_key.budgets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"virtual_key.budgets","typeLabel":"object[]"},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"virtual_key.rate_limit.id","typeLabel":"string"},"token_current_usage":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"virtual_key.rate_limit.token_current_usage","typeLabel":"integer\u003cint64>"},"token_last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.rate_limit.token_last_reset","typeLabel":"string\u003cdate-time>"},"request_current_usage":{"type":"integer","format":"int64","isRequired":true,"uniqueKey":"virtual_key.rate_limit.request_current_usage","typeLabel":"integer\u003cint64>"},"request_last_reset":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.rate_limit.request_last_reset","typeLabel":"string\u003cdate-time>"},"config_hash":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"virtual_key.rate_limit.config_hash.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"virtual_key.rate_limit.config_hash.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"virtual_key.rate_limit.config_hash","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.rate_limit.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"virtual_key.rate_limit.updated_at","typeLabel":"string\u003cdate-time>"},"token_max_limit":{"type":"integer","format":"int64","uniqueKey":"virtual_key.rate_limit.token_max_limit","typeLabel":"integer\u003cint64>"},"token_reset_duration":{"type":"string","uniqueKey":"virtual_key.rate_limit.token_reset_duration","typeLabel":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64","uniqueKey":"virtual_key.rate_limit.request_max_limit.oneOf.0","typeLabel":"integer\u003cint64>"},{"type":"null","format":"int64","uniqueKey":"virtual_key.rate_limit.request_max_limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.rate_limit.request_max_limit","typeLabel":"integer\u003cint64> | null"},"request_reset_duration":{"oneOf":[{"type":"string","uniqueKey":"virtual_key.rate_limit.request_reset_duration.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"virtual_key.rate_limit.request_reset_duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"virtual_key.rate_limit.request_reset_duration","typeLabel":"string | null"}},"uniqueKey":"virtual_key.rate_limit","typeLabel":"object"},"created_by_user_id":{"type":"string","description":"User that created this virtual key, when available","uniqueKey":"virtual_key.created_by_user_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"virtual_key","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","virtual_key":{"id":"\u003cstring>","name":"\u003cstring>","value":"\u003cstring>","is_active":true,"provider_configs":[{"id":123,"virtual_key_id":"\u003cstring>","provider":"\u003cstring>","weight":123,"allowed_models":["\u003cstring>"],"blacklisted_models":["\u003cstring>"],"allow_all_keys":true,"keys":[{"id":123,"name":"\u003cstring>","provider_id":123,"provider":"\u003cstring>","key_id":"\u003cstring>","value":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"models":["\u003cstring>"],"weight":123,"enabled":true,"use_for_batch_api":false,"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","config_hash":"\u003cstring>","azure_endpoint":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"azure_client_id":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"azure_client_secret":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"azure_tenant_id":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"vertex_project_id":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"vertex_project_number":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"vertex_region":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"vertex_auth_credentials":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"bedrock_access_key":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"bedrock_secret_key":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"bedrock_session_token":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"bedrock_region":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true},"bedrock_arn":{"value":"\u003cstring>","env_var":"\u003cstring>","from_env":true}}],"rate_limit_id":"\u003cstring>","budgets":[{"id":"\u003cstring>","max_limit":123,"reset_duration":"\u003cstring>","last_reset":"2023-11-07T05:31:56Z","current_usage":123,"config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","calendar_aligned":false,"team_id":"\u003cstring>","virtual_key_id":"\u003cstring>","provider_config_id":123}],"rate_limit":{"id":"\u003cstring>","token_current_usage":123,"token_last_reset":"2023-11-07T05:31:56Z","request_current_usage":123,"request_last_reset":"2023-11-07T05:31:56Z","config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","token_max_limit":123,"token_reset_duration":"\u003cstring>","request_max_limit":123,"request_reset_duration":"\u003cstring>"}}],"mcp_configs":[{"id":123,"virtual_key_id":"\u003cstring>","mcp_client_id":123,"mcp_client":{"client_id":"\u003cstring>","name":"\u003cstring>","is_code_mode_client":true,"connection_type":"http","connection_string":"\u003cstring>","stdio_config":{"command":"\u003cstring>","args":["\u003cstring>"],"envs":["\u003cstring>"]},"tls_config":{"insecure_skip_verify":true,"ca_cert_pem":"\u003cstring>"},"auth_type":"none","oauth_config_id":"\u003cstring>","headers":{},"tools_to_execute":["\u003cstring>"],"tools_to_auto_execute":["\u003cstring>"],"tool_pricing":{},"allow_on_all_virtual_keys":false,"per_user_header_keys":["\u003cstring>"],"disabled":false},"tools_to_execute":["\u003cstring>"]}],"calendar_aligned":true,"config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","description":"\u003cstring>","expires_at":"2023-11-07T05:31:56Z","team_id":"\u003cstring>","customer_id":"\u003cstring>","rate_limit_id":"\u003cstring>","team":{"id":"\u003cstring>","name":"\u003cstring>","customer_id":"\u003cstring>","budget_id":"\u003cstring>","customer":{"id":"\u003cstring>","name":"\u003cstring>","budget_id":"\u003cstring>","budget":{"id":"\u003cstring>","max_limit":123,"reset_duration":"\u003cstring>","last_reset":"2023-11-07T05:31:56Z","current_usage":123,"config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","calendar_aligned":false,"team_id":"\u003cstring>","virtual_key_id":"\u003cstring>","provider_config_id":123},"teams":"\u003carray>","virtual_keys":"\u003carray>","config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"},"budget":{"id":"\u003cstring>","max_limit":123,"reset_duration":"\u003cstring>","last_reset":"2023-11-07T05:31:56Z","current_usage":123,"config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","calendar_aligned":false,"team_id":"\u003cstring>","virtual_key_id":"\u003cstring>","provider_config_id":123},"virtual_keys":"\u003carray>","profile":{},"config":{},"claims":{},"config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"},"customer":{"id":"\u003cstring>","name":"\u003cstring>","budget_id":"\u003cstring>","budget":{"id":"\u003cstring>","max_limit":123,"reset_duration":"\u003cstring>","last_reset":"2023-11-07T05:31:56Z","current_usage":123,"config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","calendar_aligned":false,"team_id":"\u003cstring>","virtual_key_id":"\u003cstring>","provider_config_id":123},"teams":"\u003carray>","virtual_keys":"\u003carray>","config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"},"budgets":[{"id":"\u003cstring>","max_limit":123,"reset_duration":"\u003cstring>","last_reset":"2023-11-07T05:31:56Z","current_usage":123,"config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","calendar_aligned":false,"team_id":"\u003cstring>","virtual_key_id":"\u003cstring>","provider_config_id":123}],"rate_limit":{"id":"\u003cstring>","token_current_usage":123,"token_last_reset":"2023-11-07T05:31:56Z","request_current_usage":123,"request_last_reset":"2023-11-07T05:31:56Z","config_hash":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","token_max_limit":123,"token_reset_duration":"\u003cstring>","request_max_limit":123,"request_reset_duration":"\u003cstring>"},"created_by_user_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"65c2eb32-fea0-438a-8d54-0610984cdb37":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","description":"Error response from Vikat","properties":{"event_id":{"type":"string","uniqueKey":"event_id","typeLabel":"string"},"type":{"type":"string","uniqueKey":"type","typeLabel":"string"},"is_vikat_error":{"type":"boolean","uniqueKey":"is_vikat_error","typeLabel":"boolean"},"status_code":{"type":"integer","uniqueKey":"status_code","typeLabel":"integer"},"error":{"type":"object","properties":{"type":{"type":"string","uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"error.message","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"event_id":{"type":"string","uniqueKey":"error.event_id","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"},"extra_fields":{"type":"object","properties":{"provider":{"type":"string","description":"AI model provider identifier","enum":["openai","azure","anthropic","bedrock","cohere","vertex","vllm","mistral","ollama","groq","sgl","parasail","perplexity","replicate","cerebras","deepseek","gemini","openrouter","elevenlabs","huggingface","nebius","xai","runway","fireworks"],"uniqueKey":"extra_fields.provider","typeLabel":"enum\u003cstring>"},"model_requested":{"type":"string","uniqueKey":"extra_fields.model_requested","typeLabel":"string"},"request_type":{"type":"string","uniqueKey":"extra_fields.request_type","typeLabel":"string"}},"uniqueKey":"extra_fields","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"event_id":"\u003cstring>","type":"\u003cstring>","is_vikat_error":true,"status_code":123,"error":{"type":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","event_id":"\u003cstring>"},"extra_fields":{"provider":"openai","model_requested":"\u003cstring>","request_type":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"d57aff73-0a06-4670-8644-5166c320b832":{"description":"Virtual key not found","content":{"application/json":{"schema":{"type":"object","description":"Error response from Vikat","properties":{"event_id":{"type":"string","uniqueKey":"event_id","typeLabel":"string"},"type":{"type":"string","uniqueKey":"type","typeLabel":"string"},"is_vikat_error":{"type":"boolean","uniqueKey":"is_vikat_error","typeLabel":"boolean"},"status_code":{"type":"integer","uniqueKey":"status_code","typeLabel":"integer"},"error":{"type":"object","properties":{"type":{"type":"string","uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"error.message","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"event_id":{"type":"string","uniqueKey":"error.event_id","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"},"extra_fields":{"type":"object","properties":{"provider":{"type":"string","description":"AI model provider identifier","enum":["openai","azure","anthropic","bedrock","cohere","vertex","vllm","mistral","ollama","groq","sgl","parasail","perplexity","replicate","cerebras","deepseek","gemini","openrouter","elevenlabs","huggingface","nebius","xai","runway","fireworks"],"uniqueKey":"extra_fields.provider","typeLabel":"enum\u003cstring>"},"model_requested":{"type":"string","uniqueKey":"extra_fields.model_requested","typeLabel":"string"},"request_type":{"type":"string","uniqueKey":"extra_fields.request_type","typeLabel":"string"}},"uniqueKey":"extra_fields","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"event_id":"\u003cstring>","type":"\u003cstring>","is_vikat_error":true,"status_code":123,"error":{"type":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","event_id":"\u003cstring>"},"extra_fields":{"provider":"openai","model_requested":"\u003cstring>","request_type":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"cdb9cede-3878-4e46-a0fc-9a6806d674cb":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","description":"Error response from Vikat","properties":{"event_id":{"type":"string","uniqueKey":"event_id","typeLabel":"string"},"type":{"type":"string","uniqueKey":"type","typeLabel":"string"},"is_vikat_error":{"type":"boolean","uniqueKey":"is_vikat_error","typeLabel":"boolean"},"status_code":{"type":"integer","uniqueKey":"status_code","typeLabel":"integer"},"error":{"type":"object","properties":{"type":{"type":"string","uniqueKey":"error.type","typeLabel":"string"},"code":{"type":"string","uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"error.message","typeLabel":"string"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"event_id":{"type":"string","uniqueKey":"error.event_id","typeLabel":"string"}},"uniqueKey":"error","typeLabel":"object"},"extra_fields":{"type":"object","properties":{"provider":{"type":"string","description":"AI model provider identifier","enum":["openai","azure","anthropic","bedrock","cohere","vertex","vllm","mistral","ollama","groq","sgl","parasail","perplexity","replicate","cerebras","deepseek","gemini","openrouter","elevenlabs","huggingface","nebius","xai","runway","fireworks"],"uniqueKey":"extra_fields.provider","typeLabel":"enum\u003cstring>"},"model_requested":{"type":"string","uniqueKey":"extra_fields.model_requested","typeLabel":"string"},"request_type":{"type":"string","uniqueKey":"extra_fields.request_type","typeLabel":"string"}},"uniqueKey":"extra_fields","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"event_id":"\u003cstring>","type":"\u003cstring>","is_vikat_error":true,"status_code":123,"error":{"type":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","event_id":"\u003cstring>"},"extra_fields":{"provider":"openai","model_requested":"\u003cstring>","request_type":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"c6cf5861-a1ce-49b4-9dda-034eff0af660":{"ManagementBearerAuth":{"type":"http","scheme":"bearer","description":"Management API authentication for `/api/*` endpoints. Use the `Authorization` header with `Bearer \u003cAPI key>`.\nVirtual keys, dashboard/user/session tokens, and `x-api-key` headers are not supported on management APIs.\n","scopes":[]}}},"servers":{"8951c53d-a6f0-474f-9a6d-17023ea6d3c7":{"url":"{baseUrl}","description":"Your Vikat instance","variables":{"baseUrl":{"default":"http://localhost:8080","description":"Base URL of your Vikat instance (e.g. https://vikat.mycompany.com)"}}}},"schemas":{"55722b68-d417-48e9-8043-641ba7c1c5e6":{"type":"object","description":"Team configuration","properties":{"id":{"type":"string"},"name":{"type":"string"},"customer_id":{"type":"string"},"budget_id":{"type":"string"},"customer":{"type":"object","description":"Customer configuration","properties":{"id":{"type":"string"},"name":{"type":"string"},"budget_id":{"type":"string"},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}},"teams":{"type":"array","items":{"$circularRef":"55722b68-d417-48e9-8043-641ba7c1c5e6"}},"virtual_keys":{"type":"array","items":{"type":"object","description":"Virtual key configuration","required":["id","name","value","is_active","provider_configs","mcp_configs","calendar_aligned","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"name":{"type":"string","isRequired":true},"value":{"type":"string","isRequired":true},"is_active":{"type":"boolean","isRequired":true},"provider_configs":{"type":"array","items":{"type":"object","description":"Provider configuration for a virtual key","required":["id","virtual_key_id","provider","weight","allowed_models","blacklisted_models","allow_all_keys","keys"],"properties":{"id":{"type":"integer","isRequired":true},"virtual_key_id":{"type":"string","isRequired":true},"provider":{"type":"string","isRequired":true},"weight":{"oneOf":[{"type":"number","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true},{"type":"null","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true}],"isRequired":true},"allowed_models":{"type":"array","items":{"type":"string"},"isRequired":true},"blacklisted_models":{"type":"array","items":{"type":"string"},"isRequired":true},"allow_all_keys":{"type":"boolean","isRequired":true},"keys":{"oneOf":[{"type":"array","items":{"type":"object","description":"Table key configuration","properties":{"id":{"type":"integer"},"name":{"type":"string"},"provider_id":{"type":"integer"},"provider":{"type":"string"},"key_id":{"type":"string"},"value":{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},"models":{"type":"array","items":{"type":"string"}},"weight":{"oneOf":[{"type":"number"},{"type":"null"}]},"enabled":{"oneOf":[{"type":"boolean","default":true},{"type":"null","default":true}]},"use_for_batch_api":{"oneOf":[{"type":"boolean","default":false},{"type":"null","default":false}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"config_hash":{"oneOf":[{"type":"string"},{"type":"null"}]},"azure_endpoint":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_secret":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_tenant_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_number":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_auth_credentials":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_access_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_secret_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_session_token":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_arn":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]}}},"description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","isRequired":true},{"type":"null","description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","isRequired":true}],"isRequired":true},"rate_limit_id":{"type":"string"},"budgets":{"type":"array","description":"Budget quotas assigned to this provider config","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}}},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"token_current_usage":{"type":"integer","format":"int64","isRequired":true},"token_last_reset":{"type":"string","format":"date-time","isRequired":true},"request_current_usage":{"type":"integer","format":"int64","isRequired":true},"request_last_reset":{"type":"string","format":"date-time","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"token_max_limit":{"type":"integer","format":"int64"},"token_reset_duration":{"type":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64"},{"type":"null","format":"int64"}]},"request_reset_duration":{"oneOf":[{"type":"string"},{"type":"null"}]}}}}},"isRequired":true},"mcp_configs":{"type":"array","items":{"type":"object","description":"MCP configuration for a virtual key","required":["id","virtual_key_id","mcp_client_id","mcp_client","tools_to_execute"],"properties":{"id":{"type":"integer","isRequired":true},"virtual_key_id":{"type":"string","isRequired":true},"mcp_client_id":{"type":"integer","isRequired":true},"mcp_client":{"type":"object","description":"Full MCP client configuration (used in responses)","properties":{"client_id":{"type":"string","description":"Unique identifier for the MCP client"},"name":{"type":"string","description":"Display name for the MCP client"},"is_code_mode_client":{"type":"boolean","description":"Whether this client is available in code mode"},"connection_type":{"type":"string","enum":["http","stdio","sse","inprocess"],"description":"Connection type for MCP client"},"connection_string":{"type":"string","description":"HTTP or SSE URL (required for HTTP or SSE connections)"},"stdio_config":{"type":"object","description":"STDIO configuration for MCP client","properties":{"command":{"type":"string","description":"Executable command to run"},"args":{"type":"array","items":{"type":"string"},"description":"Command line arguments"},"envs":{"type":"array","items":{"type":"string"},"description":"Environment variables required"}}},"tls_config":{"type":"object","description":"TLS configuration for HTTP and SSE connections.","properties":{"insecure_skip_verify":{"type":"boolean","description":"Disable TLS certificate verification. Development/testing only."},"ca_cert_pem":{"type":"string","description":"PEM-encoded CA certificate. Supports env.VAR_NAME syntax for input.\nResponses return a redacted placeholder rather than the raw PEM value.\n"}}},"auth_type":{"type":"string","enum":["none","headers","oauth","per_user_oauth","per_user_headers"],"description":"Authentication type for the MCP connection"},"oauth_config_id":{"type":"string","description":"OAuth config ID for OAuth authentication.\nReferences the oauth_configs table.\nOnly set when auth_type is \"oauth\".\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers to include in requests.\nOnly used when auth_type is \"headers\".\n"},"tools_to_execute":{"type":"array","items":{"type":"string"},"description":"Include-only list for tools.\n[\"*\"] => all tools are included\n[] => no tools are included\n[\"tool1\", \"tool2\"] => include only the specified tools\n"},"tools_to_auto_execute":{"type":"array","items":{"type":"string"},"description":"List of tools that can be auto-executed without user approval.\nMust be a subset of tools_to_execute.\n[\"*\"] => all executable tools can be auto-executed\n[] => no tools are auto-executed\n[\"tool1\", \"tool2\"] => only specified tools can be auto-executed\n"},"tool_pricing":{"type":"object","additionalProperties":{"type":"number","format":"double"},"description":"Per-tool cost in USD for execution.\nKey is the tool name, value is the cost per execution.\nExample: {\"read_file\": 0.001, \"write_file\": 0.002}\n"},"allow_on_all_virtual_keys":{"type":"boolean","default":false,"description":"When true, this MCP client's tools are accessible to all virtual keys without requiring\nexplicit per-key assignment. All tools are allowed by default. If a virtual key has an\nexplicit MCP config for this client, that config takes precedence and overrides this behaviour.\n"},"per_user_header_keys":{"type":"array","items":{"type":"string"},"description":"For `per_user_headers` clients only. The list of header names each end-user\nmust supply via the inline-401 flow. Header values themselves are stored\nper-user in a separate table (surfaced on `/api/mcp/sessions`).\n"},"disabled":{"type":"boolean","default":false,"description":"Whether the client is intentionally disabled.\nWhen true, the client has no active connection or workers and its tools are not available for inference.\n"}},"isRequired":true},"tools_to_execute":{"type":"array","items":{"type":"string"},"isRequired":true}}},"isRequired":true},"calendar_aligned":{"type":"boolean","isRequired":true},"config_hash":{"type":"string","isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"description":{"type":"string"},"expires_at":{"oneOf":[{"type":"string","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","format":"date-time"},{"type":"null","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","format":"date-time"}]},"team_id":{"type":"string"},"customer_id":{"type":"string"},"rate_limit_id":{"type":"string"},"team":{"oneOf":[{}]},"customer":{"oneOf":[{}]},"budgets":{"type":"array","description":"Budget quotas assigned directly to this virtual key","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}}},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"token_current_usage":{"type":"integer","format":"int64","isRequired":true},"token_last_reset":{"type":"string","format":"date-time","isRequired":true},"request_current_usage":{"type":"integer","format":"int64","isRequired":true},"request_last_reset":{"type":"string","format":"date-time","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"token_max_limit":{"type":"integer","format":"int64"},"token_reset_duration":{"type":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64"},{"type":"null","format":"int64"}]},"request_reset_duration":{"oneOf":[{"type":"string"},{"type":"null"}]}}},"created_by_user_id":{"type":"string","description":"User that created this virtual key, when available"}}}},"config_hash":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}},"virtual_keys":{"oneOf":[{"type":"array","items":{"type":"object","description":"Virtual key configuration","required":["id","name","value","is_active","provider_configs","mcp_configs","calendar_aligned","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"name":{"type":"string","isRequired":true},"value":{"type":"string","isRequired":true},"is_active":{"type":"boolean","isRequired":true},"provider_configs":{"type":"array","items":{"type":"object","description":"Provider configuration for a virtual key","required":["id","virtual_key_id","provider","weight","allowed_models","blacklisted_models","allow_all_keys","keys"],"properties":{"id":{"type":"integer","isRequired":true},"virtual_key_id":{"type":"string","isRequired":true},"provider":{"type":"string","isRequired":true},"weight":{"oneOf":[{"type":"number","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true},{"type":"null","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true}],"isRequired":true},"allowed_models":{"type":"array","items":{"type":"string"},"isRequired":true},"blacklisted_models":{"type":"array","items":{"type":"string"},"isRequired":true},"allow_all_keys":{"type":"boolean","isRequired":true},"keys":{"oneOf":[{"type":"array","items":{"type":"object","description":"Table key configuration","properties":{"id":{"type":"integer"},"name":{"type":"string"},"provider_id":{"type":"integer"},"provider":{"type":"string"},"key_id":{"type":"string"},"value":{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},"models":{"type":"array","items":{"type":"string"}},"weight":{"oneOf":[{"type":"number"},{"type":"null"}]},"enabled":{"oneOf":[{"type":"boolean","default":true},{"type":"null","default":true}]},"use_for_batch_api":{"oneOf":[{"type":"boolean","default":false},{"type":"null","default":false}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"config_hash":{"oneOf":[{"type":"string"},{"type":"null"}]},"azure_endpoint":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_secret":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_tenant_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_number":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_auth_credentials":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_access_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_secret_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_session_token":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_arn":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]}}},"description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","isRequired":true},{"type":"null","description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","isRequired":true}],"isRequired":true},"rate_limit_id":{"type":"string"},"budgets":{"type":"array","description":"Budget quotas assigned to this provider config","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}}},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"token_current_usage":{"type":"integer","format":"int64","isRequired":true},"token_last_reset":{"type":"string","format":"date-time","isRequired":true},"request_current_usage":{"type":"integer","format":"int64","isRequired":true},"request_last_reset":{"type":"string","format":"date-time","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"token_max_limit":{"type":"integer","format":"int64"},"token_reset_duration":{"type":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64"},{"type":"null","format":"int64"}]},"request_reset_duration":{"oneOf":[{"type":"string"},{"type":"null"}]}}}}},"isRequired":true},"mcp_configs":{"type":"array","items":{"type":"object","description":"MCP configuration for a virtual key","required":["id","virtual_key_id","mcp_client_id","mcp_client","tools_to_execute"],"properties":{"id":{"type":"integer","isRequired":true},"virtual_key_id":{"type":"string","isRequired":true},"mcp_client_id":{"type":"integer","isRequired":true},"mcp_client":{"type":"object","description":"Full MCP client configuration (used in responses)","properties":{"client_id":{"type":"string","description":"Unique identifier for the MCP client"},"name":{"type":"string","description":"Display name for the MCP client"},"is_code_mode_client":{"type":"boolean","description":"Whether this client is available in code mode"},"connection_type":{"type":"string","enum":["http","stdio","sse","inprocess"],"description":"Connection type for MCP client"},"connection_string":{"type":"string","description":"HTTP or SSE URL (required for HTTP or SSE connections)"},"stdio_config":{"type":"object","description":"STDIO configuration for MCP client","properties":{"command":{"type":"string","description":"Executable command to run"},"args":{"type":"array","items":{"type":"string"},"description":"Command line arguments"},"envs":{"type":"array","items":{"type":"string"},"description":"Environment variables required"}}},"tls_config":{"type":"object","description":"TLS configuration for HTTP and SSE connections.","properties":{"insecure_skip_verify":{"type":"boolean","description":"Disable TLS certificate verification. Development/testing only."},"ca_cert_pem":{"type":"string","description":"PEM-encoded CA certificate. Supports env.VAR_NAME syntax for input.\nResponses return a redacted placeholder rather than the raw PEM value.\n"}}},"auth_type":{"type":"string","enum":["none","headers","oauth","per_user_oauth","per_user_headers"],"description":"Authentication type for the MCP connection"},"oauth_config_id":{"type":"string","description":"OAuth config ID for OAuth authentication.\nReferences the oauth_configs table.\nOnly set when auth_type is \"oauth\".\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers to include in requests.\nOnly used when auth_type is \"headers\".\n"},"tools_to_execute":{"type":"array","items":{"type":"string"},"description":"Include-only list for tools.\n[\"*\"] => all tools are included\n[] => no tools are included\n[\"tool1\", \"tool2\"] => include only the specified tools\n"},"tools_to_auto_execute":{"type":"array","items":{"type":"string"},"description":"List of tools that can be auto-executed without user approval.\nMust be a subset of tools_to_execute.\n[\"*\"] => all executable tools can be auto-executed\n[] => no tools are auto-executed\n[\"tool1\", \"tool2\"] => only specified tools can be auto-executed\n"},"tool_pricing":{"type":"object","additionalProperties":{"type":"number","format":"double"},"description":"Per-tool cost in USD for execution.\nKey is the tool name, value is the cost per execution.\nExample: {\"read_file\": 0.001, \"write_file\": 0.002}\n"},"allow_on_all_virtual_keys":{"type":"boolean","default":false,"description":"When true, this MCP client's tools are accessible to all virtual keys without requiring\nexplicit per-key assignment. All tools are allowed by default. If a virtual key has an\nexplicit MCP config for this client, that config takes precedence and overrides this behaviour.\n"},"per_user_header_keys":{"type":"array","items":{"type":"string"},"description":"For `per_user_headers` clients only. The list of header names each end-user\nmust supply via the inline-401 flow. Header values themselves are stored\nper-user in a separate table (surfaced on `/api/mcp/sessions`).\n"},"disabled":{"type":"boolean","default":false,"description":"Whether the client is intentionally disabled.\nWhen true, the client has no active connection or workers and its tools are not available for inference.\n"}},"isRequired":true},"tools_to_execute":{"type":"array","items":{"type":"string"},"isRequired":true}}},"isRequired":true},"calendar_aligned":{"type":"boolean","isRequired":true},"config_hash":{"type":"string","isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"description":{"type":"string"},"expires_at":{"oneOf":[{"type":"string","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","format":"date-time"},{"type":"null","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","format":"date-time"}]},"team_id":{"type":"string"},"customer_id":{"type":"string"},"rate_limit_id":{"type":"string"},"team":{"oneOf":[{}]},"customer":{"oneOf":[{}]},"budgets":{"type":"array","description":"Budget quotas assigned directly to this virtual key","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}}},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"token_current_usage":{"type":"integer","format":"int64","isRequired":true},"token_last_reset":{"type":"string","format":"date-time","isRequired":true},"request_current_usage":{"type":"integer","format":"int64","isRequired":true},"request_last_reset":{"type":"string","format":"date-time","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"token_max_limit":{"type":"integer","format":"int64"},"token_reset_duration":{"type":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64"},{"type":"null","format":"int64"}]},"request_reset_duration":{"oneOf":[{"type":"string"},{"type":"null"}]}}},"created_by_user_id":{"type":"string","description":"User that created this virtual key, when available"}}},"description":"Virtual keys assigned to this team. This field may be omitted or returned as null in some responses (for example, when a team is embedded inside a virtual-key response) to avoid nested `virtual_keys` recursion.\n"},{"type":"null","description":"Virtual keys assigned to this team. This field may be omitted or returned as null in some responses (for example, when a team is embedded inside a virtual-key response) to avoid nested `virtual_keys` recursion.\n"}]},"profile":{"type":"object","additionalProperties":true},"config":{"type":"object","additionalProperties":true},"claims":{"type":"object","additionalProperties":true},"config_hash":{"oneOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"53e3d8a5-4647-4efb-bdee-858ef513edf7":{"type":"object","description":"Virtual key configuration","required":["id","name","value","is_active","provider_configs","mcp_configs","calendar_aligned","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"name":{"type":"string","isRequired":true},"value":{"type":"string","isRequired":true},"is_active":{"type":"boolean","isRequired":true},"provider_configs":{"type":"array","items":{"type":"object","description":"Provider configuration for a virtual key","required":["id","virtual_key_id","provider","weight","allowed_models","blacklisted_models","allow_all_keys","keys"],"properties":{"id":{"type":"integer","isRequired":true},"virtual_key_id":{"type":"string","isRequired":true},"provider":{"type":"string","isRequired":true},"weight":{"oneOf":[{"type":"number","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true},{"type":"null","description":"Weight for provider load balancing. Null means excluded from weighted routing.","isRequired":true}],"isRequired":true},"allowed_models":{"type":"array","items":{"type":"string"},"isRequired":true},"blacklisted_models":{"type":"array","items":{"type":"string"},"isRequired":true},"allow_all_keys":{"type":"boolean","isRequired":true},"keys":{"oneOf":[{"type":"array","items":{"type":"object","description":"Table key configuration","properties":{"id":{"type":"integer"},"name":{"type":"string"},"provider_id":{"type":"integer"},"provider":{"type":"string"},"key_id":{"type":"string"},"value":{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},"models":{"type":"array","items":{"type":"string"}},"weight":{"oneOf":[{"type":"number"},{"type":"null"}]},"enabled":{"oneOf":[{"type":"boolean","default":true},{"type":"null","default":true}]},"use_for_batch_api":{"oneOf":[{"type":"boolean","default":false},{"type":"null","default":false}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"config_hash":{"oneOf":[{"type":"string"},{"type":"null"}]},"azure_endpoint":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_client_secret":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"azure_tenant_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_id":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_project_number":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"vertex_auth_credentials":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_access_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_secret_key":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_session_token":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_region":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]},"bedrock_arn":{"oneOf":[{"type":"object","description":"Environment variable configuration","properties":{"value":{"type":"string"},"env_var":{"type":"string"},"from_env":{"type":"boolean"}}},{"type":"null"}]}}},"description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","isRequired":true},{"type":"null","description":"Associated API keys for this provider config. **Always null in the quota endpoint** — keys are intentionally not loaded here to keep the response lean and avoid exposing sensitive credentials. Use the admin virtual-key API to inspect actual key assignments.\n","isRequired":true}],"isRequired":true},"rate_limit_id":{"type":"string"},"budgets":{"type":"array","description":"Budget quotas assigned to this provider config","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}}},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"token_current_usage":{"type":"integer","format":"int64","isRequired":true},"token_last_reset":{"type":"string","format":"date-time","isRequired":true},"request_current_usage":{"type":"integer","format":"int64","isRequired":true},"request_last_reset":{"type":"string","format":"date-time","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"token_max_limit":{"type":"integer","format":"int64"},"token_reset_duration":{"type":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64"},{"type":"null","format":"int64"}]},"request_reset_duration":{"oneOf":[{"type":"string"},{"type":"null"}]}}}}},"isRequired":true},"mcp_configs":{"type":"array","items":{"type":"object","description":"MCP configuration for a virtual key","required":["id","virtual_key_id","mcp_client_id","mcp_client","tools_to_execute"],"properties":{"id":{"type":"integer","isRequired":true},"virtual_key_id":{"type":"string","isRequired":true},"mcp_client_id":{"type":"integer","isRequired":true},"mcp_client":{"type":"object","description":"Full MCP client configuration (used in responses)","properties":{"client_id":{"type":"string","description":"Unique identifier for the MCP client"},"name":{"type":"string","description":"Display name for the MCP client"},"is_code_mode_client":{"type":"boolean","description":"Whether this client is available in code mode"},"connection_type":{"type":"string","enum":["http","stdio","sse","inprocess"],"description":"Connection type for MCP client"},"connection_string":{"type":"string","description":"HTTP or SSE URL (required for HTTP or SSE connections)"},"stdio_config":{"type":"object","description":"STDIO configuration for MCP client","properties":{"command":{"type":"string","description":"Executable command to run"},"args":{"type":"array","items":{"type":"string"},"description":"Command line arguments"},"envs":{"type":"array","items":{"type":"string"},"description":"Environment variables required"}}},"tls_config":{"type":"object","description":"TLS configuration for HTTP and SSE connections.","properties":{"insecure_skip_verify":{"type":"boolean","description":"Disable TLS certificate verification. Development/testing only."},"ca_cert_pem":{"type":"string","description":"PEM-encoded CA certificate. Supports env.VAR_NAME syntax for input.\nResponses return a redacted placeholder rather than the raw PEM value.\n"}}},"auth_type":{"type":"string","enum":["none","headers","oauth","per_user_oauth","per_user_headers"],"description":"Authentication type for the MCP connection"},"oauth_config_id":{"type":"string","description":"OAuth config ID for OAuth authentication.\nReferences the oauth_configs table.\nOnly set when auth_type is \"oauth\".\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom headers to include in requests.\nOnly used when auth_type is \"headers\".\n"},"tools_to_execute":{"type":"array","items":{"type":"string"},"description":"Include-only list for tools.\n[\"*\"] => all tools are included\n[] => no tools are included\n[\"tool1\", \"tool2\"] => include only the specified tools\n"},"tools_to_auto_execute":{"type":"array","items":{"type":"string"},"description":"List of tools that can be auto-executed without user approval.\nMust be a subset of tools_to_execute.\n[\"*\"] => all executable tools can be auto-executed\n[] => no tools are auto-executed\n[\"tool1\", \"tool2\"] => only specified tools can be auto-executed\n"},"tool_pricing":{"type":"object","additionalProperties":{"type":"number","format":"double"},"description":"Per-tool cost in USD for execution.\nKey is the tool name, value is the cost per execution.\nExample: {\"read_file\": 0.001, \"write_file\": 0.002}\n"},"allow_on_all_virtual_keys":{"type":"boolean","default":false,"description":"When true, this MCP client's tools are accessible to all virtual keys without requiring\nexplicit per-key assignment. All tools are allowed by default. If a virtual key has an\nexplicit MCP config for this client, that config takes precedence and overrides this behaviour.\n"},"per_user_header_keys":{"type":"array","items":{"type":"string"},"description":"For `per_user_headers` clients only. The list of header names each end-user\nmust supply via the inline-401 flow. Header values themselves are stored\nper-user in a separate table (surfaced on `/api/mcp/sessions`).\n"},"disabled":{"type":"boolean","default":false,"description":"Whether the client is intentionally disabled.\nWhen true, the client has no active connection or workers and its tools are not available for inference.\n"}},"isRequired":true},"tools_to_execute":{"type":"array","items":{"type":"string"},"isRequired":true}}},"isRequired":true},"calendar_aligned":{"type":"boolean","isRequired":true},"config_hash":{"type":"string","isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"description":{"type":"string"},"expires_at":{"oneOf":[{"type":"string","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","format":"date-time"},{"type":"null","description":"Expiry timestamp. Requests using this virtual key are rejected once it passes. Null or absent means the key never expires.","format":"date-time"}]},"team_id":{"type":"string"},"customer_id":{"type":"string"},"rate_limit_id":{"type":"string"},"team":{"type":"object","description":"Team configuration","properties":{"id":{"type":"string"},"name":{"type":"string"},"customer_id":{"type":"string"},"budget_id":{"type":"string"},"customer":{"type":"object","description":"Customer configuration","properties":{"id":{"type":"string"},"name":{"type":"string"},"budget_id":{"type":"string"},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}},"teams":{"type":"array","items":{"$circularRef":"55722b68-d417-48e9-8043-641ba7c1c5e6"}},"virtual_keys":{"type":"array","items":{"$circularRef":"53e3d8a5-4647-4efb-bdee-858ef513edf7"}},"config_hash":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}},"virtual_keys":{"oneOf":[{"type":"array","items":{"oneOf":[{}]},"description":"Virtual keys assigned to this team. This field may be omitted or returned as null in some responses (for example, when a team is embedded inside a virtual-key response) to avoid nested `virtual_keys` recursion.\n"},{"type":"null","description":"Virtual keys assigned to this team. This field may be omitted or returned as null in some responses (for example, when a team is embedded inside a virtual-key response) to avoid nested `virtual_keys` recursion.\n"}]},"profile":{"type":"object","additionalProperties":true},"config":{"type":"object","additionalProperties":true},"claims":{"type":"object","additionalProperties":true},"config_hash":{"oneOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"customer":{"type":"object","description":"Customer configuration","properties":{"id":{"type":"string"},"name":{"type":"string"},"budget_id":{"type":"string"},"budget":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}},"teams":{"type":"array","items":{"$circularRef":"55722b68-d417-48e9-8043-641ba7c1c5e6"}},"virtual_keys":{"type":"array","items":{"$circularRef":"53e3d8a5-4647-4efb-bdee-858ef513edf7"}},"config_hash":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"budgets":{"type":"array","description":"Budget quotas assigned directly to this virtual key","items":{"type":"object","description":"Budget configuration","required":["id","max_limit","reset_duration","last_reset","current_usage","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"max_limit":{"type":"number","description":"Maximum budget in dollars","isRequired":true},"reset_duration":{"type":"string","description":"Reset duration (e.g., \"30s\", \"5m\", \"1h\", \"1d\", \"1w\", \"1M\")","isRequired":true},"last_reset":{"type":"string","format":"date-time","isRequired":true},"current_usage":{"type":"number","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"calendar_aligned":{"type":"boolean","description":"When true, resets align to calendar period boundaries in UTC (not rolling from last reset)","default":false},"team_id":{"type":"string","description":"Team that owns this budget, when the budget is team-scoped"},"virtual_key_id":{"type":"string","description":"Virtual key that owns this budget, when the budget is virtual-key-scoped"},"provider_config_id":{"type":"integer","description":"Provider config that owns this budget, when the budget is provider-config-scoped"}}}},"rate_limit":{"type":"object","description":"Rate limit configuration","required":["id","token_current_usage","token_last_reset","request_current_usage","request_last_reset","config_hash","created_at","updated_at"],"properties":{"id":{"type":"string","isRequired":true},"token_current_usage":{"type":"integer","format":"int64","isRequired":true},"token_last_reset":{"type":"string","format":"date-time","isRequired":true},"request_current_usage":{"type":"integer","format":"int64","isRequired":true},"request_last_reset":{"type":"string","format":"date-time","isRequired":true},"config_hash":{"oneOf":[{"type":"string","isRequired":true},{"type":"null","isRequired":true}],"isRequired":true},"created_at":{"type":"string","format":"date-time","isRequired":true},"updated_at":{"type":"string","format":"date-time","isRequired":true},"token_max_limit":{"type":"integer","format":"int64"},"token_reset_duration":{"type":"string"},"request_max_limit":{"oneOf":[{"type":"integer","format":"int64"},{"type":"null","format":"int64"}]},"request_reset_duration":{"oneOf":[{"type":"string"},{"type":"null"}]}}},"created_by_user_id":{"type":"string","description":"User that created this virtual key, when available"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Management API authentication for `/api/*` endpoints. Use the `Authorization` header with `Bearer \u003cAPI key>`.\nVirtual keys, dashboard/user/session tokens, and `x-api-key` headers are not supported on management APIs.\n","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Management API authentication for `/api/*` endpoints. Use the `Authorization` header with `Bearer \u003cAPI key>`.\nVirtual keys, dashboard/user/session tokens, and `x-api-key` headers are not supported on management APIs.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ManagementBearerAuth","name":"Authorization"}],"title":"ManagementBearerAuth"}]},"originalFileLocation":"openapi/openapi.json"},"subdomain":"vikat-ai","siteName":"Vikat","title":"Update virtual key - Vikat","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-25T19:22:27.671Z","originalFileLocation":"api-reference/governance/update-virtual-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=\"Updates an existing virtual key\u0026#x27;s configuration.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vikat\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vikat-ai/emJQBbmxc0Co5JmP/_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/vikat-ai/emJQBbmxc0Co5JmP/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vikat-ai/emJQBbmxc0Co5JmP/_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/vikat-ai/emJQBbmxc0Co5JmP/_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/vikat-ai/emJQBbmxc0Co5JmP/_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/vikat-ai/emJQBbmxc0Co5JmP/_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/vikat-ai/emJQBbmxc0Co5JmP/_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/vikat-ai/emJQBbmxc0Co5JmP/_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/vikat-ai/emJQBbmxc0Co5JmP/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update virtual key - Vikat\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates an existing virtual key\u0026#x27;s configuration.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vikat\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vikat.ai/api-reference/governance/update-virtual-key\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vikat-ai.mintlify.site/_mintlify/api/og/v2?division=Governance\u0026amp;title=Update+virtual+key\u0026amp;description=Updates+an+existing+virtual+key%27s+configuration.\u0026amp;theme=06807847904dd7332c4171c0\u0026amp;signature=9be41f0896f18dfc92ff8367ae7c0606bd558e9ad1c47273a3b13d8c1e5722b7\">\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=\"Update virtual key - Vikat\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates an existing virtual key\u0026#x27;s configuration.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vikat-ai.mintlify.site/_mintlify/api/og/v2?division=Governance\u0026amp;title=Update+virtual+key\u0026amp;description=Updates+an+existing+virtual+key%27s+configuration.\u0026amp;theme=06807847904dd7332c4171c0\u0026amp;signature=9be41f0896f18dfc92ff8367ae7c0606bd558e9ad1c47273a3b13d8c1e5722b7\">\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/vikat-ai/emJQBbmxc0Co5JmP/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vikat\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C3B43\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vikat.ai/api-reference/governance/update-virtual-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/governance/update-virtual-key.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vikat.ai/#organization\",\"name\":\"Vikat\",\"url\":\"https://docs.vikat.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vikat-ai/Xw_qzY8whhWmfPh3/media/vikat-logo.png?fit=max\u0026auto=format\u0026n=Xw_qzY8whhWmfPh3\u0026q=85\u0026s=1bce49f93b955ed9b64346a96466adfd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vikat.ai#website\",\"name\":\"Vikat\",\"url\":\"https://docs.vikat.ai\",\"publisher\":{\"@id\":\"https://docs.vikat.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key#webpage\",\"url\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key\",\"name\":\"Update virtual key\",\"description\":\"Updates an existing virtual key's configuration.\",\"dateModified\":\"2026-09-25T19:22:27.671Z\",\"isPartOf\":{\"@id\":\"https://docs.vikat.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.vikat.ai/api-reference/models/list-available-models\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Governance\",\"item\":\"https://docs.vikat.ai/api-reference/governance/list-virtual-keys\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update virtual key\",\"item\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key#apireference\",\"headline\":\"Update virtual key\",\"name\":\"Update virtual key\",\"description\":\"Updates an existing virtual key's configuration.\",\"url\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vikat.ai/api-reference/governance/update-virtual-key#webpage\"},\"dateModified\":\"2026-09-25T19:22:27.671Z\",\"publisher\":{\"@id\":\"https://docs.vikat.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vikat.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vikat\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vikat","nav":{"global":{"anchors":[]},"tabs":[{"tab":"OSS","icon":"book-open-cover","pages":[{"title":"OSS","href":"/overview"}]},{"tab":"Enterprise","icon":"building","pages":[{"title":"Enterprise","href":"/enterprise/overview"}]},{"tab":"Edge","icon":"globe","groups":[{"group":"Overview","pages":[]},{"group":"Governance \u0026 Control","icon":"shield-halved","pages":[]},{"group":"Admin controls","icon":"sliders","pages":[]},{"group":"Deployment","icon":"cloud-arrow-up","pages":[]},{"group":"Reference","icon":"list","pages":[]}]},{"tab":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/cli-agents/overview"}]},{"tab":"Deployment Guides","icon":"server","pages":[{"title":"Deployment Guides","href":"/deployment-guides/k8s"}]},{"tab":"API","icon":"code","groups":[{"group":"API Reference","pages":[{"group":"Models","pages":[{"title":"List available models","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/models","href":"/api-reference/models/list-available-models"}]},{"group":"Chat Completions","pages":[{"title":"Create a chat completion","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/chat/completions","href":"/api-reference/chat-completions/create-a-chat-completion"}]},{"group":"Text Completions","pages":[{"title":"Create a text completion","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/completions","href":"/api-reference/text-completions/create-a-text-completion"}]},{"group":"Responses","pages":[{"title":"Responses API over WebSocket","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/responses","href":"/api-reference/responses/responses-api-over-websocket"},{"title":"Create a response","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/responses","href":"/api-reference/responses/create-a-response"}]},{"group":"OCR","pages":[{"title":"Perform OCR","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/ocr","href":"/api-reference/ocr/perform-ocr"}]},{"group":"Rerank","pages":[{"title":"Rerank documents","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/rerank","href":"/api-reference/rerank/rerank-documents"}]},{"group":"Embeddings","pages":[{"title":"Create embeddings","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/embeddings","href":"/api-reference/embeddings/create-embeddings"}]},{"group":"Audio","pages":[{"title":"Create speech","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/audio/speech","href":"/api-reference/audio/create-speech"},{"title":"Create transcription","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/audio/transcriptions","href":"/api-reference/audio/create-transcription"}]},{"group":"Images","pages":[{"title":"Generate an image","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/images/generations","href":"/api-reference/images/generate-an-image"},{"title":"Edit an image","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/images/edits","href":"/api-reference/images/edit-an-image"},{"title":"Create Variation","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/images/variations","href":"/api-reference/images/create-variation"}]},{"group":"Videos","pages":[{"title":"List video generation jobs","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/videos","href":"/api-reference/videos/list-video-generation-jobs"},{"title":"Generate a video","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/videos","href":"/api-reference/videos/generate-a-video"},{"title":"Retrieve a video generation job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/videos/{video_id}","href":"/api-reference/videos/retrieve-a-video-generation-job"},{"title":"Delete a video generation job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /v1/videos/{video_id}","href":"/api-reference/videos/delete-a-video-generation-job"},{"title":"Download video content","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/videos/{video_id}/content","href":"/api-reference/videos/download-video-content"},{"title":"Remix a video","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/videos/{video_id}/remix","href":"/api-reference/videos/remix-a-video"}]},{"group":"Count Tokens","pages":[{"title":"Count tokens","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/responses/input_tokens","href":"/api-reference/count-tokens/count-tokens"}]},{"group":"Compaction","pages":[{"title":"Compact context","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/responses/compact","href":"/api-reference/compaction/compact-context"}]},{"group":"Batch","pages":[{"title":"List batch jobs","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/batches","href":"/api-reference/batch/list-batch-jobs"},{"title":"Create a batch job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/batches","href":"/api-reference/batch/create-a-batch-job"},{"title":"Retrieve a batch job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/batches/{batch_id}","href":"/api-reference/batch/retrieve-a-batch-job"},{"title":"Cancel a batch job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/batches/{batch_id}/cancel","href":"/api-reference/batch/cancel-a-batch-job"},{"title":"Get batch results","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/batches/{batch_id}/results","href":"/api-reference/batch/get-batch-results"}]},{"group":"Files","pages":[{"title":"List files","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/files","href":"/api-reference/files/list-files"},{"title":"Upload a file","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/files","href":"/api-reference/files/upload-a-file"},{"title":"Retrieve file metadata","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/files/{file_id}","href":"/api-reference/files/retrieve-file-metadata"},{"title":"Delete a file","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /v1/files/{file_id}","href":"/api-reference/files/delete-a-file"},{"title":"Download file content","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/files/{file_id}/content","href":"/api-reference/files/download-file-content"}]},{"group":"Containers","pages":[{"title":"List containers","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/containers","href":"/api-reference/containers/list-containers"},{"title":"Create a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/containers","href":"/api-reference/containers/create-a-container"},{"title":"Retrieve a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/containers/{container_id}","href":"/api-reference/containers/retrieve-a-container"},{"title":"Delete a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /v1/containers/{container_id}","href":"/api-reference/containers/delete-a-container"},{"title":"List files in a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/containers/{container_id}/files","href":"/api-reference/containers/list-files-in-a-container"},{"title":"Create a file in a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/containers/{container_id}/files","href":"/api-reference/containers/create-a-file-in-a-container"},{"title":"Retrieve a file from a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/containers/{container_id}/files/{file_id}","href":"/api-reference/containers/retrieve-a-file-from-a-container"},{"title":"Delete a file from a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /v1/containers/{container_id}/files/{file_id}","href":"/api-reference/containers/delete-a-file-from-a-container"},{"title":"Download file content from a container","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/containers/{container_id}/files/{file_id}/content","href":"/api-reference/containers/download-file-content-from-a-container"}]},{"group":"Async Jobs","pages":[{"title":"Create async chat completion","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/chat/completions","href":"/api-reference/async-jobs/create-async-chat-completion"},{"title":"Create async text completion","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/completions","href":"/api-reference/async-jobs/create-async-text-completion"},{"title":"Create async response","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/responses","href":"/api-reference/async-jobs/create-async-response"},{"title":"Create async embedding","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/embeddings","href":"/api-reference/async-jobs/create-async-embedding"},{"title":"Create async speech","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/audio/speech","href":"/api-reference/async-jobs/create-async-speech"},{"title":"Create async transcription","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/audio/transcriptions","href":"/api-reference/async-jobs/create-async-transcription"},{"title":"Create async image generation","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/images/generations","href":"/api-reference/async-jobs/create-async-image-generation"},{"title":"Create async image edit","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/images/edits","href":"/api-reference/async-jobs/create-async-image-edit"},{"title":"Create async image variation","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/images/variations","href":"/api-reference/async-jobs/create-async-image-variation"},{"title":"Get async chat completion job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/chat/completions/{job_id}","href":"/api-reference/async-jobs/get-async-chat-completion-job"},{"title":"Get async text completion job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/completions/{job_id}","href":"/api-reference/async-jobs/get-async-text-completion-job"},{"title":"Get async response job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/responses/{job_id}","href":"/api-reference/async-jobs/get-async-response-job"},{"title":"Get async embedding job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/embeddings/{job_id}","href":"/api-reference/async-jobs/get-async-embedding-job"},{"title":"Get async speech job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/audio/speech/{job_id}","href":"/api-reference/async-jobs/get-async-speech-job"},{"title":"Get async transcription job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/audio/transcriptions/{job_id}","href":"/api-reference/async-jobs/get-async-transcription-job"},{"title":"Get async image generation job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/images/generations/{job_id}","href":"/api-reference/async-jobs/get-async-image-generation-job"},{"title":"Get async image edit job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/images/edits/{job_id}","href":"/api-reference/async-jobs/get-async-image-edit-job"},{"title":"Get async image variation job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/images/variations/{job_id}","href":"/api-reference/async-jobs/get-async-image-variation-job"},{"title":"Create async rerank","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/rerank","href":"/api-reference/async-jobs/create-async-rerank"},{"title":"Get async rerank job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/rerank/{job_id}","href":"/api-reference/async-jobs/get-async-rerank-job"},{"title":"Create async OCR job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/async/ocr","href":"/api-reference/async-jobs/create-async-ocr-job"},{"title":"Get async OCR job","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/async/ocr/{job_id}","href":"/api-reference/async-jobs/get-async-ocr-job"}]},{"group":"Realtime","pages":[{"title":"Realtime API WebSocket","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /v1/realtime","href":"/api-reference/realtime/realtime-api-websocket"},{"title":"Realtime WebRTC SDP exchange","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/realtime/calls","href":"/api-reference/realtime/realtime-webrtc-sdp-exchange"},{"title":"Mint a realtime ephemeral client secret","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/realtime/client_secrets","href":"/api-reference/realtime/mint-a-realtime-ephemeral-client-secret"},{"title":"Mint a realtime session (legacy alias)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/realtime/sessions","href":"/api-reference/realtime/mint-a-realtime-session-legacy-alias"}]},{"group":"OpenAI Integration","pages":[{"title":"Create chat completion (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/chat/completions","href":"/api-reference/openai-integration/create-chat-completion-openai-format"},{"title":"Create chat completion (Azure OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/openai/deployments/{deployment-id}/chat/completions","href":"/api-reference/openai-integration/create-chat-completion-azure-openai"},{"title":"Create text completion (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/completions","href":"/api-reference/openai-integration/create-text-completion-openai-format"},{"title":"Create text completion (Azure OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/openai/deployments/{deployment-id}/completions","href":"/api-reference/openai-integration/create-text-completion-azure-openai"},{"title":"WebSocket Responses (OpenAI alias)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/responses","href":"/api-reference/openai-integration/websocket-responses-openai-alias"},{"title":"Create response (OpenAI Responses API)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/responses","href":"/api-reference/openai-integration/create-response-openai-responses-api"},{"title":"Create response (Azure OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/openai/deployments/{deployment-id}/responses","href":"/api-reference/openai-integration/create-response-azure-openai"},{"title":"Count input tokens","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/responses/input_tokens","href":"/api-reference/openai-integration/count-input-tokens"},{"title":"Compact context (OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/responses/compact","href":"/api-reference/openai-integration/compact-context-openai"},{"title":"Create embeddings (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/embeddings","href":"/api-reference/openai-integration/create-embeddings-openai-format"},{"title":"Create embeddings (Azure OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/openai/deployments/{deployment-id}/embeddings","href":"/api-reference/openai-integration/create-embeddings-azure-openai"},{"title":"Create speech (OpenAI TTS)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/audio/speech","href":"/api-reference/openai-integration/create-speech-openai-tts"},{"title":"Create speech (Azure OpenAI TTS)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/openai/deployments/{deployment-id}/audio/speech","href":"/api-reference/openai-integration/create-speech-azure-openai-tts"},{"title":"Create transcription (OpenAI Whisper)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/audio/transcriptions","href":"/api-reference/openai-integration/create-transcription-openai-whisper"},{"title":"Create transcription (Azure OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/openai/deployments/{deployment-id}/audio/transcriptions","href":"/api-reference/openai-integration/create-transcription-azure-openai"},{"title":"List models (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/models","href":"/api-reference/openai-integration/list-models-openai-format"},{"title":"List models (Azure OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/openai/deployments/{deployment-id}/models","href":"/api-reference/openai-integration/list-models-azure-openai"},{"title":"List batch jobs (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/batches","href":"/api-reference/openai-integration/list-batch-jobs-openai-format"},{"title":"Create batch job (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/batches","href":"/api-reference/openai-integration/create-batch-job-openai-format"},{"title":"Retrieve batch job (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/batches/{batch_id}","href":"/api-reference/openai-integration/retrieve-batch-job-openai-format"},{"title":"Cancel batch job (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/batches/{batch_id}/cancel","href":"/api-reference/openai-integration/cancel-batch-job-openai-format"},{"title":"Create image","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/images/generations","href":"/api-reference/openai-integration/create-image"},{"title":"Create image (Azure OpenAI)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/openai/deployments/{deployment-id}/images/generations","href":"/api-reference/openai-integration/create-image-azure-openai"},{"title":"List files (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/files","href":"/api-reference/openai-integration/list-files-openai-format"},{"title":"Upload file (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/files","href":"/api-reference/openai-integration/upload-file-openai-format"},{"title":"Retrieve file metadata (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/files/{file_id}","href":"/api-reference/openai-integration/retrieve-file-metadata-openai-format"},{"title":"Delete file (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /openai/v1/files/{file_id}","href":"/api-reference/openai-integration/delete-file-openai-format"},{"title":"Get file content (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/files/{file_id}/content","href":"/api-reference/openai-integration/get-file-content-openai-format"},{"title":"List containers (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/containers","href":"/api-reference/openai-integration/list-containers-openai-format"},{"title":"Create container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/containers","href":"/api-reference/openai-integration/create-container-openai-format"},{"title":"Retrieve container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/containers/{container_id}","href":"/api-reference/openai-integration/retrieve-container-openai-format"},{"title":"Delete container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /openai/v1/containers/{container_id}","href":"/api-reference/openai-integration/delete-container-openai-format"},{"title":"List files in container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/containers/{container_id}/files","href":"/api-reference/openai-integration/list-files-in-container-openai-format"},{"title":"Create file in container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/containers/{container_id}/files","href":"/api-reference/openai-integration/create-file-in-container-openai-format"},{"title":"Retrieve file from container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/containers/{container_id}/files/{file_id}","href":"/api-reference/openai-integration/retrieve-file-from-container-openai-format"},{"title":"Delete file from container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /openai/v1/containers/{container_id}/files/{file_id}","href":"/api-reference/openai-integration/delete-file-from-container-openai-format"},{"title":"Get file content from container (OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/containers/{container_id}/files/{file_id}/content","href":"/api-reference/openai-integration/get-file-content-from-container-openai-format"},{"title":"List video generations","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/videos","href":"/api-reference/openai-integration/list-video-generations"},{"title":"Create a video generation","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/videos","href":"/api-reference/openai-integration/create-a-video-generation"},{"title":"Retrieve a video generation","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/videos/{video_id}","href":"/api-reference/openai-integration/retrieve-a-video-generation"},{"title":"Delete a video generation","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /openai/v1/videos/{video_id}","href":"/api-reference/openai-integration/delete-a-video-generation"},{"title":"Download generated video content","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/videos/{video_id}/content","href":"/api-reference/openai-integration/download-generated-video-content"},{"title":"Remix an existing video","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/videos/{video_id}/remix","href":"/api-reference/openai-integration/remix-an-existing-video"},{"title":"WebSocket Realtime (OpenAI alias)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /openai/v1/realtime","href":"/api-reference/openai-integration/websocket-realtime-openai-alias"},{"title":"WebRTC Realtime SDP exchange (OpenAI alias)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/realtime/calls","href":"/api-reference/openai-integration/webrtc-realtime-sdp-exchange-openai-alias"},{"title":"Create realtime client secret (OpenAI alias)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/realtime/client_secrets","href":"/api-reference/openai-integration/create-realtime-client-secret-openai-alias"},{"title":"Create realtime session (OpenAI alias)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /openai/v1/realtime/sessions","href":"/api-reference/openai-integration/create-realtime-session-openai-alias"}]},{"group":"Anthropic Integration","pages":[{"title":"Create message (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /anthropic/v1/messages","href":"/api-reference/anthropic-integration/create-message-anthropic-format"},{"title":"Create message (Anthropic format) - wildcard","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /anthropic/v1/messages/{path}","href":"/api-reference/anthropic-integration/create-message-anthropic-format--wildcard"},{"title":"Create completion (Anthropic legacy format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /anthropic/v1/complete","href":"/api-reference/anthropic-integration/create-completion-anthropic-legacy-format"},{"title":"List models (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /anthropic/v1/models","href":"/api-reference/anthropic-integration/list-models-anthropic-format"},{"title":"Count tokens (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /anthropic/v1/messages/count_tokens","href":"/api-reference/anthropic-integration/count-tokens-anthropic-format"},{"title":"List batch jobs (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /anthropic/v1/messages/batches","href":"/api-reference/anthropic-integration/list-batch-jobs-anthropic-format"},{"title":"Create batch job (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /anthropic/v1/messages/batches","href":"/api-reference/anthropic-integration/create-batch-job-anthropic-format"},{"title":"Retrieve batch job (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /anthropic/v1/messages/batches/{batch_id}","href":"/api-reference/anthropic-integration/retrieve-batch-job-anthropic-format"},{"title":"Cancel batch job (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /anthropic/v1/messages/batches/{batch_id}/cancel","href":"/api-reference/anthropic-integration/cancel-batch-job-anthropic-format"},{"title":"Get batch results (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /anthropic/v1/messages/batches/{batch_id}/results","href":"/api-reference/anthropic-integration/get-batch-results-anthropic-format"},{"title":"List files (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /anthropic/v1/files","href":"/api-reference/anthropic-integration/list-files-anthropic-format"},{"title":"Upload file (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /anthropic/v1/files","href":"/api-reference/anthropic-integration/upload-file-anthropic-format"},{"title":"Get file content (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /anthropic/v1/files/{file_id}/content","href":"/api-reference/anthropic-integration/get-file-content-anthropic-format"},{"title":"Delete file (Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /anthropic/v1/files/{file_id}","href":"/api-reference/anthropic-integration/delete-file-anthropic-format"}]},{"group":"GenAI Integration","pages":[{"title":"Generate content (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1beta/models/{model}:generateContent","href":"/api-reference/genai-integration/generate-content-gemini-format"},{"title":"Stream generate content (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1beta/models/{model}:streamGenerateContent","href":"/api-reference/genai-integration/stream-generate-content-gemini-format"},{"title":"Embed content (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1beta/models/{model}:embedContent","href":"/api-reference/genai-integration/embed-content-gemini-format"},{"title":"Count tokens (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1beta/models/{model}:countTokens","href":"/api-reference/genai-integration/count-tokens-gemini-format"},{"title":"Generate image (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1beta/models/{model}:predict","href":"/api-reference/genai-integration/generate-image-gemini-format"},{"title":"List models (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/models","href":"/api-reference/genai-integration/list-models-gemini-format"},{"title":"Upload file (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/upload/v1beta/files","href":"/api-reference/genai-integration/upload-file-gemini-format"},{"title":"List files (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/files","href":"/api-reference/genai-integration/list-files-gemini-format"},{"title":"Retrieve file (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/files/{file_id}","href":"/api-reference/genai-integration/retrieve-file-gemini-format"},{"title":"Delete file (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /genai/v1beta/files/{file_id}","href":"/api-reference/genai-integration/delete-file-gemini-format"},{"title":"List batch jobs (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/batches","href":"/api-reference/genai-integration/list-batch-jobs-gemini-format"},{"title":"Retrieve a batch job (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/batches/{batch_id}","href":"/api-reference/genai-integration/retrieve-a-batch-job-gemini-format"},{"title":"Cancel a batch job (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1beta/batches/{batch_id}","href":"/api-reference/genai-integration/cancel-a-batch-job-gemini-format"},{"title":"Delete a batch job (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /genai/v1beta/batches/{batch_id}","href":"/api-reference/genai-integration/delete-a-batch-job-gemini-format"},{"title":"List cached content entries (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/cachedContents","href":"/api-reference/genai-integration/list-cached-content-entries-gemini-format"},{"title":"Create cached content (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1beta/cachedContents","href":"/api-reference/genai-integration/create-cached-content-gemini-format"},{"title":"Retrieve cached content (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/cachedContents/{cached_id}","href":"/api-reference/genai-integration/retrieve-cached-content-gemini-format"},{"title":"Delete cached content (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /genai/v1beta/cachedContents/{cached_id}","href":"/api-reference/genai-integration/delete-cached-content-gemini-format"},{"title":"Update cached content (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json patch /genai/v1beta/cachedContents/{cached_id}","href":"/api-reference/genai-integration/update-cached-content-gemini-format"},{"title":"Rerank documents (Vertex Rank)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /genai/v1/rank","href":"/api-reference/genai-integration/rerank-documents-vertex-rank"},{"title":"Retrieve video generation operation (Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /genai/v1beta/models/{model}/operations/{operation_id}","href":"/api-reference/genai-integration/retrieve-video-generation-operation-gemini-format"}]},{"group":"Bedrock Integration","pages":[{"title":"Converse with model (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bedrock/model/{modelId}/converse","href":"/api-reference/bedrock-integration/converse-with-model-bedrock-format"},{"title":"Stream converse with model (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bedrock/model/{modelId}/converse-stream","href":"/api-reference/bedrock-integration/stream-converse-with-model-bedrock-format"},{"title":"Invoke model (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bedrock/model/{modelId}/invoke","href":"/api-reference/bedrock-integration/invoke-model-bedrock-format"},{"title":"Invoke model with streaming (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bedrock/model/{modelId}/invoke-with-response-stream","href":"/api-reference/bedrock-integration/invoke-model-with-streaming-bedrock-format"},{"title":"Count tokens (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bedrock/model/{modelId}/count-tokens","href":"/api-reference/bedrock-integration/count-tokens-bedrock-format"},{"title":"Create batch inference job (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bedrock/model-invocation-job","href":"/api-reference/bedrock-integration/create-batch-inference-job-bedrock-format"},{"title":"List batch inference jobs (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /bedrock/model-invocation-jobs","href":"/api-reference/bedrock-integration/list-batch-inference-jobs-bedrock-format"},{"title":"Retrieve batch inference job (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /bedrock/model-invocation-job/{job_arn}","href":"/api-reference/bedrock-integration/retrieve-batch-inference-job-bedrock-format"},{"title":"Cancel batch inference job (Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /bedrock/model-invocation-job/{job_arn}/stop","href":"/api-reference/bedrock-integration/cancel-batch-inference-job-bedrock-format"},{"title":"S3-compatible ListObjectsV2","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /bedrock/files/{bucket}","href":"/api-reference/bedrock-integration/s3-compatible-listobjectsv2"},{"title":"S3-compatible GetObject","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /bedrock/files/{bucket}/{key}","href":"/api-reference/bedrock-integration/s3-compatible-getobject"},{"title":"S3-compatible PutObject","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /bedrock/files/{bucket}/{key}","href":"/api-reference/bedrock-integration/s3-compatible-putobject"},{"title":"S3-compatible DeleteObject","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /bedrock/files/{bucket}/{key}","href":"/api-reference/bedrock-integration/s3-compatible-deleteobject"},{"title":"S3-compatible HeadObject","deprecated":null,"version":null,"openapi":"/openapi/openapi.json head /bedrock/files/{bucket}/{key}","href":"/api-reference/bedrock-integration/s3-compatible-headobject"}]},{"group":"Cohere Integration","pages":[{"title":"Chat with model (Cohere v2 format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cohere/v2/chat","href":"/api-reference/cohere-integration/chat-with-model-cohere-v2-format"},{"title":"Create embeddings (Cohere v2 format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cohere/v2/embed","href":"/api-reference/cohere-integration/create-embeddings-cohere-v2-format"},{"title":"Rerank documents (Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cohere/v2/rerank","href":"/api-reference/cohere-integration/rerank-documents-cohere-format"},{"title":"Tokenize text (Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cohere/v1/tokenize","href":"/api-reference/cohere-integration/tokenize-text-cohere-format"}]},{"group":"Cursor Integration","pages":[{"title":"Cursor hybrid chat completions","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1/chat/completions","href":"/api-reference/cursor-integration/cursor-hybrid-chat-completions"},{"title":"List models (Cursor)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /cursor/v1/models","href":"/api-reference/cursor-integration/list-models-cursor"},{"title":"Anthropic complete (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1/complete","href":"/api-reference/cursor-integration/anthropic-complete-cursor-mount"},{"title":"Anthropic messages (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1/messages","href":"/api-reference/cursor-integration/anthropic-messages-cursor-mount"},{"title":"Anthropic messages — wildcard (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1/messages/{path}","href":"/api-reference/cursor-integration/anthropic-messages-—-wildcard-cursor-mount"},{"title":"Anthropic count tokens (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1/messages/count_tokens","href":"/api-reference/cursor-integration/anthropic-count-tokens-cursor-mount"},{"title":"Gemini list models (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /cursor/v1beta/models","href":"/api-reference/cursor-integration/gemini-list-models-cursor-mount"},{"title":"Gemini model action (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1beta/models/{model}","href":"/api-reference/cursor-integration/gemini-model-action-cursor-mount"},{"title":"Gemini video operation polling (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /cursor/v1beta/models/{model}/operations/{operation_id}","href":"/api-reference/cursor-integration/gemini-video-operation-polling-cursor-mount"},{"title":"Vertex rank (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1/rank","href":"/api-reference/cursor-integration/vertex-rank-cursor-mount"},{"title":"Bedrock converse (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/model/{modelId}/converse","href":"/api-reference/cursor-integration/bedrock-converse-cursor-mount"},{"title":"Bedrock converse stream (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/model/{modelId}/converse-stream","href":"/api-reference/cursor-integration/bedrock-converse-stream-cursor-mount"},{"title":"Bedrock invoke (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/model/{modelId}/invoke","href":"/api-reference/cursor-integration/bedrock-invoke-cursor-mount"},{"title":"Bedrock invoke-with-response-stream (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/model/{modelId}/invoke-with-response-stream","href":"/api-reference/cursor-integration/bedrock-invoke-with-response-stream-cursor-mount"},{"title":"Bedrock rerank (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/rerank","href":"/api-reference/cursor-integration/bedrock-rerank-cursor-mount"},{"title":"Bedrock count tokens (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/model/{modelId}/count-tokens","href":"/api-reference/cursor-integration/bedrock-count-tokens-cursor-mount"},{"title":"Cohere chat (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v2/chat","href":"/api-reference/cursor-integration/cohere-chat-cursor-mount"},{"title":"Cohere embed (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v2/embed","href":"/api-reference/cursor-integration/cohere-embed-cursor-mount"},{"title":"Cohere rerank (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v2/rerank","href":"/api-reference/cursor-integration/cohere-rerank-cursor-mount"},{"title":"Cohere tokenize (Cursor mount)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /cursor/v1/tokenize","href":"/api-reference/cursor-integration/cohere-tokenize-cursor-mount"}]},{"group":"LiteLLM Integration","pages":[{"title":"Text completions (LiteLLM - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/v1/completions","href":"/api-reference/litellm-integration/text-completions-litellm--openai-format"},{"title":"Chat completions (LiteLLM - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/v1/chat/completions","href":"/api-reference/litellm-integration/chat-completions-litellm--openai-format"},{"title":"Create embeddings (LiteLLM - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/v1/embeddings","href":"/api-reference/litellm-integration/create-embeddings-litellm--openai-format"},{"title":"List models (LiteLLM - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /litellm/v1/models","href":"/api-reference/litellm-integration/list-models-litellm--openai-format"},{"title":"Create response (LiteLLM - OpenAI Responses API)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/v1/responses","href":"/api-reference/litellm-integration/create-response-litellm--openai-responses-api"},{"title":"Count input tokens (LiteLLM - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/v1/responses/input_tokens","href":"/api-reference/litellm-integration/count-input-tokens-litellm--openai-format"},{"title":"Create speech (LiteLLM - OpenAI TTS)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/v1/audio/speech","href":"/api-reference/litellm-integration/create-speech-litellm--openai-tts"},{"title":"Create transcription (LiteLLM - OpenAI Whisper)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/v1/audio/transcriptions","href":"/api-reference/litellm-integration/create-transcription-litellm--openai-whisper"},{"title":"Create message (LiteLLM - Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/anthropic/v1/messages","href":"/api-reference/litellm-integration/create-message-litellm--anthropic-format"},{"title":"List models (LiteLLM - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /litellm/genai/v1beta/models","href":"/api-reference/litellm-integration/list-models-litellm--gemini-format"},{"title":"Generate content (LiteLLM - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/genai/v1beta/models/{model}:generateContent","href":"/api-reference/litellm-integration/generate-content-litellm--gemini-format"},{"title":"Stream generate content (LiteLLM - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/genai/v1beta/models/{model}:streamGenerateContent","href":"/api-reference/litellm-integration/stream-generate-content-litellm--gemini-format"},{"title":"Converse with model (LiteLLM - Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/bedrock/model/{modelId}/converse","href":"/api-reference/litellm-integration/converse-with-model-litellm--bedrock-format"},{"title":"Stream converse with model (LiteLLM - Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/bedrock/model/{modelId}/converse-stream","href":"/api-reference/litellm-integration/stream-converse-with-model-litellm--bedrock-format"},{"title":"Chat with model (LiteLLM - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/cohere/v2/chat","href":"/api-reference/litellm-integration/chat-with-model-litellm--cohere-format"},{"title":"Create embeddings (LiteLLM - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/cohere/v2/embed","href":"/api-reference/litellm-integration/create-embeddings-litellm--cohere-format"},{"title":"Tokenize text (LiteLLM - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /litellm/cohere/v1/tokenize","href":"/api-reference/litellm-integration/tokenize-text-litellm--cohere-format"}]},{"group":"LangChain Integration","pages":[{"title":"Text completions (LangChain - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/v1/completions","href":"/api-reference/langchain-integration/text-completions-langchain--openai-format"},{"title":"Chat completions (LangChain - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/v1/chat/completions","href":"/api-reference/langchain-integration/chat-completions-langchain--openai-format"},{"title":"Create embeddings (LangChain - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/v1/embeddings","href":"/api-reference/langchain-integration/create-embeddings-langchain--openai-format"},{"title":"List models (LangChain - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /langchain/v1/models","href":"/api-reference/langchain-integration/list-models-langchain--openai-format"},{"title":"Create response (LangChain - OpenAI Responses API)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/v1/responses","href":"/api-reference/langchain-integration/create-response-langchain--openai-responses-api"},{"title":"Count input tokens (LangChain - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/v1/responses/input_tokens","href":"/api-reference/langchain-integration/count-input-tokens-langchain--openai-format"},{"title":"Create speech (LangChain - OpenAI TTS)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/v1/audio/speech","href":"/api-reference/langchain-integration/create-speech-langchain--openai-tts"},{"title":"Create transcription (LangChain - OpenAI Whisper)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/v1/audio/transcriptions","href":"/api-reference/langchain-integration/create-transcription-langchain--openai-whisper"},{"title":"Create message (LangChain - Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/anthropic/v1/messages","href":"/api-reference/langchain-integration/create-message-langchain--anthropic-format"},{"title":"Count tokens (LangChain - Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/anthropic/v1/messages/count_tokens","href":"/api-reference/langchain-integration/count-tokens-langchain--anthropic-format"},{"title":"List models (LangChain - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /langchain/genai/v1beta/models","href":"/api-reference/langchain-integration/list-models-langchain--gemini-format"},{"title":"Generate content (LangChain - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/genai/v1beta/models/{model}:generateContent","href":"/api-reference/langchain-integration/generate-content-langchain--gemini-format"},{"title":"Stream generate content (LangChain - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/genai/v1beta/models/{model}:streamGenerateContent","href":"/api-reference/langchain-integration/stream-generate-content-langchain--gemini-format"},{"title":"Converse with model (LangChain - Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/bedrock/model/{modelId}/converse","href":"/api-reference/langchain-integration/converse-with-model-langchain--bedrock-format"},{"title":"Stream converse with model (LangChain - Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/bedrock/model/{modelId}/converse-stream","href":"/api-reference/langchain-integration/stream-converse-with-model-langchain--bedrock-format"},{"title":"Chat with model (LangChain - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/cohere/v2/chat","href":"/api-reference/langchain-integration/chat-with-model-langchain--cohere-format"},{"title":"Create embeddings (LangChain - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/cohere/v2/embed","href":"/api-reference/langchain-integration/create-embeddings-langchain--cohere-format"},{"title":"Tokenize text (LangChain - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /langchain/cohere/v1/tokenize","href":"/api-reference/langchain-integration/tokenize-text-langchain--cohere-format"}]},{"group":"PydanticAI Integration","pages":[{"title":"Text completions (PydanticAI - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/v1/completions","href":"/api-reference/pydanticai-integration/text-completions-pydanticai--openai-format"},{"title":"Chat completions (PydanticAI - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/v1/chat/completions","href":"/api-reference/pydanticai-integration/chat-completions-pydanticai--openai-format"},{"title":"Create embeddings (PydanticAI - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/v1/embeddings","href":"/api-reference/pydanticai-integration/create-embeddings-pydanticai--openai-format"},{"title":"List models (PydanticAI - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /pydanticai/v1/models","href":"/api-reference/pydanticai-integration/list-models-pydanticai--openai-format"},{"title":"Create response (PydanticAI - OpenAI Responses API)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/v1/responses","href":"/api-reference/pydanticai-integration/create-response-pydanticai--openai-responses-api"},{"title":"Count input tokens (PydanticAI - OpenAI format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/v1/responses/input_tokens","href":"/api-reference/pydanticai-integration/count-input-tokens-pydanticai--openai-format"},{"title":"Create speech (PydanticAI - OpenAI TTS)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/v1/audio/speech","href":"/api-reference/pydanticai-integration/create-speech-pydanticai--openai-tts"},{"title":"Create transcription (PydanticAI - OpenAI Whisper)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/v1/audio/transcriptions","href":"/api-reference/pydanticai-integration/create-transcription-pydanticai--openai-whisper"},{"title":"Create message (PydanticAI - Anthropic format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/anthropic/v1/messages","href":"/api-reference/pydanticai-integration/create-message-pydanticai--anthropic-format"},{"title":"List models (PydanticAI - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /pydanticai/genai/v1beta/models","href":"/api-reference/pydanticai-integration/list-models-pydanticai--gemini-format"},{"title":"Generate content (PydanticAI - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/genai/v1beta/models/{model}:generateContent","href":"/api-reference/pydanticai-integration/generate-content-pydanticai--gemini-format"},{"title":"Stream generate content (PydanticAI - Gemini format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/genai/v1beta/models/{model}:streamGenerateContent","href":"/api-reference/pydanticai-integration/stream-generate-content-pydanticai--gemini-format"},{"title":"Converse with model (PydanticAI - Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/bedrock/model/{modelId}/converse","href":"/api-reference/pydanticai-integration/converse-with-model-pydanticai--bedrock-format"},{"title":"Stream converse with model (PydanticAI - Bedrock format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/bedrock/model/{modelId}/converse-stream","href":"/api-reference/pydanticai-integration/stream-converse-with-model-pydanticai--bedrock-format"},{"title":"Chat with model (PydanticAI - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/cohere/v2/chat","href":"/api-reference/pydanticai-integration/chat-with-model-pydanticai--cohere-format"},{"title":"Create embeddings (PydanticAI - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/cohere/v2/embed","href":"/api-reference/pydanticai-integration/create-embeddings-pydanticai--cohere-format"},{"title":"Tokenize text (PydanticAI - Cohere format)","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /pydanticai/cohere/v1/tokenize","href":"/api-reference/pydanticai-integration/tokenize-text-pydanticai--cohere-format"}]},{"group":"Health","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /health","href":"/api-reference/health/health-check"}]},{"group":"Configuration","pages":[{"title":"Get configuration","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/config","href":"/api-reference/configuration/get-configuration"},{"title":"Update configuration","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/config","href":"/api-reference/configuration/update-configuration"},{"title":"Get version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/version","href":"/api-reference/configuration/get-version"},{"title":"Get proxy configuration","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/proxy-config","href":"/api-reference/configuration/get-proxy-configuration"},{"title":"Update proxy configuration","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/proxy-config","href":"/api-reference/configuration/update-proxy-configuration"},{"title":"Force pricing sync","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/pricing/force-sync","href":"/api-reference/configuration/force-pricing-sync"}]},{"group":"Providers","pages":[{"title":"Refresh live model lists","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/models/refresh","href":"/api-reference/providers/refresh-live-model-lists"},{"title":"List all providers","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/providers","href":"/api-reference/providers/list-all-providers"},{"title":"Add a new provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/providers","href":"/api-reference/providers/add-a-new-provider"},{"title":"Get a specific provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/providers/{provider}","href":"/api-reference/providers/get-a-specific-provider"},{"title":"Update a provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/providers/{provider}","href":"/api-reference/providers/update-a-provider"},{"title":"Delete a provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/providers/{provider}","href":"/api-reference/providers/delete-a-provider"},{"title":"List keys for a provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/providers/{provider}/keys","href":"/api-reference/providers/list-keys-for-a-provider"},{"title":"Create a key for a provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/providers/{provider}/keys","href":"/api-reference/providers/create-a-key-for-a-provider"},{"title":"Get a specific key for a provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/providers/{provider}/keys/{key_id}","href":"/api-reference/providers/get-a-specific-key-for-a-provider"},{"title":"Update a key for a provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/providers/{provider}/keys/{key_id}","href":"/api-reference/providers/update-a-key-for-a-provider"},{"title":"Delete a key from a provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/providers/{provider}/keys/{key_id}","href":"/api-reference/providers/delete-a-key-from-a-provider"},{"title":"List all keys","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/keys","href":"/api-reference/providers/list-all-keys"},{"title":"List models","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/models","href":"/api-reference/providers/list-models"},{"title":"List model details","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/models/details","href":"/api-reference/providers/list-model-details"},{"title":"Get model parameters","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/models/parameters","href":"/api-reference/providers/get-model-parameters"},{"title":"List base models","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/models/base","href":"/api-reference/providers/list-base-models"}]},{"group":"Session","pages":[{"title":"Login","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/session/login","href":"/api-reference/session/login"},{"title":"Logout","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/session/logout","href":"/api-reference/session/logout"},{"title":"Check if authentication is enabled","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/session/is-auth-enabled","href":"/api-reference/session/check-if-authentication-is-enabled"},{"title":"Issue WebSocket ticket","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/session/ws-ticket","href":"/api-reference/session/issue-websocket-ticket"}]},{"group":"Plugins","pages":[{"title":"List all plugins","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/plugins","href":"/api-reference/plugins/list-all-plugins"},{"title":"Create a new plugin","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/plugins","href":"/api-reference/plugins/create-a-new-plugin"},{"title":"List built-in plugin names","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/plugins/builtins","href":"/api-reference/plugins/list-built-in-plugin-names"},{"title":"Get a specific plugin","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/plugins/{name}","href":"/api-reference/plugins/get-a-specific-plugin"},{"title":"Update a plugin","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/plugins/{name}","href":"/api-reference/plugins/update-a-plugin"},{"title":"Delete a plugin","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/plugins/{name}","href":"/api-reference/plugins/delete-a-plugin"}]},{"group":"MCP","pages":[{"title":"Execute MCP tool","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /v1/mcp/tool/execute","href":"/api-reference/mcp/execute-mcp-tool"},{"title":"List MCP clients","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp/clients","href":"/api-reference/mcp/list-mcp-clients"},{"title":"Add MCP client","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/mcp/client","href":"/api-reference/mcp/add-mcp-client"},{"title":"Edit MCP client","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/mcp/client/{id}","href":"/api-reference/mcp/edit-mcp-client"},{"title":"Remove MCP client","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/mcp/client/{id}","href":"/api-reference/mcp/remove-mcp-client"},{"title":"Reconnect MCP client","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/mcp/client/{id}/reconnect","href":"/api-reference/mcp/reconnect-mcp-client"},{"title":"Complete MCP client OAuth flow","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/mcp/client/{id}/complete-oauth","href":"/api-reference/mcp/complete-mcp-client-oauth-flow"},{"title":"List MCP sessions","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp/sessions","href":"/api-reference/mcp/list-mcp-sessions"},{"title":"Revoke an MCP session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/mcp/sessions/{id}","href":"/api-reference/mcp/revoke-an-mcp-session"},{"title":"Re-authenticate or edit an MCP session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/mcp/sessions/{id}/reauth","href":"/api-reference/mcp/re-authenticate-or-edit-an-mcp-session"},{"title":"Get per-user-headers submission flow","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp/per-user-headers/flows/{id}","href":"/api-reference/mcp/get-per-user-headers-submission-flow"},{"title":"Submit per-user-headers values","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/mcp/per-user-headers/flows/{id}","href":"/api-reference/mcp/submit-per-user-headers-values"},{"title":"Revoke a per-user-headers credential","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/mcp/per-user-headers/credential/{id}","href":"/api-reference/mcp/revoke-a-per-user-headers-credential"}]},{"group":"OAuth","pages":[{"title":"Get per-user OAuth flow detail","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/oauth/per-user/flows/{id}","href":"/api-reference/oauth/get-per-user-oauth-flow-detail"},{"title":"Start the upstream OAuth authorization for a pending flow","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/oauth/per-user/flows/{id}/start","href":"/api-reference/oauth/start-the-upstream-oauth-authorization-for-a-pending-flow"},{"title":"OAuth callback endpoint","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/oauth/callback","href":"/api-reference/oauth/oauth-callback-endpoint"},{"title":"Get OAuth config status","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/oauth/config/{id}/status","href":"/api-reference/oauth/get-oauth-config-status"},{"title":"Revoke OAuth config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/oauth/config/{id}","href":"/api-reference/oauth/revoke-oauth-config"}]},{"group":"Governance","pages":[{"title":"List virtual keys","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/virtual-keys","href":"/api-reference/governance/list-virtual-keys"},{"title":"Create virtual key","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/virtual-keys","href":"/api-reference/governance/create-virtual-key"},{"title":"Get virtual key quota","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/virtual-keys/quota","href":"/api-reference/governance/get-virtual-key-quota"},{"title":"Get virtual key","description":"Returns a specific virtual key by ID.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/virtual-keys/{vk_id}","href":"/api-reference/governance/get-virtual-key"},{"title":"Update virtual key","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/virtual-keys/{vk_id}","href":"/api-reference/governance/update-virtual-key"},{"title":"Delete virtual key","description":"Deletes a virtual key.","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/virtual-keys/{vk_id}","href":"/api-reference/governance/delete-virtual-key"},{"title":"List teams","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/teams","href":"/api-reference/governance/list-teams"},{"title":"Create team","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/teams","href":"/api-reference/governance/create-team"},{"title":"Get team","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/teams/{team_id}","href":"/api-reference/governance/get-team"},{"title":"Update team","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/teams/{team_id}","href":"/api-reference/governance/update-team"},{"title":"Delete team","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/teams/{team_id}","href":"/api-reference/governance/delete-team"},{"title":"List customers","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/customers","href":"/api-reference/governance/list-customers"},{"title":"Create customer","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/customers","href":"/api-reference/governance/create-customer"},{"title":"Get customer","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/customers/{customer_id}","href":"/api-reference/governance/get-customer"},{"title":"Update customer","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/customers/{customer_id}","href":"/api-reference/governance/update-customer"},{"title":"Delete customer","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/customers/{customer_id}","href":"/api-reference/governance/delete-customer"},{"title":"List business units","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/business-units","href":"/api-reference/governance/list-business-units"},{"title":"Create business unit","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/business-units","href":"/api-reference/governance/create-business-unit"},{"title":"Get business unit","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/business-units/{id}","href":"/api-reference/governance/get-business-unit"},{"title":"Delete business unit","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/business-units/{id}","href":"/api-reference/governance/delete-business-unit"},{"title":"List budgets","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/budgets","href":"/api-reference/governance/list-budgets"},{"title":"List rate limits","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/rate-limits","href":"/api-reference/governance/list-rate-limits"},{"title":"List routing rules","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/routing-rules","href":"/api-reference/governance/list-routing-rules"},{"title":"Create routing rule","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/routing-rules","href":"/api-reference/governance/create-routing-rule"},{"title":"Get routing rule","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/routing-rules/{rule_id}","href":"/api-reference/governance/get-routing-rule"},{"title":"Update routing rule","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/routing-rules/{rule_id}","href":"/api-reference/governance/update-routing-rule"},{"title":"Delete routing rule","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/routing-rules/{rule_id}","href":"/api-reference/governance/delete-routing-rule"},{"title":"List model limits","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/model-configs","href":"/api-reference/governance/list-model-limits"},{"title":"Create model config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/model-configs","href":"/api-reference/governance/create-model-config"},{"title":"Get model config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/model-configs/{mc_id}","href":"/api-reference/governance/get-model-config"},{"title":"Update model config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/model-configs/{mc_id}","href":"/api-reference/governance/update-model-config"},{"title":"Delete model config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/model-configs/{mc_id}","href":"/api-reference/governance/delete-model-config"},{"title":"List provider governance","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/providers","href":"/api-reference/governance/list-provider-governance"},{"title":"Update provider governance","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/providers/{provider_name}","href":"/api-reference/governance/update-provider-governance"},{"title":"Delete provider governance","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/providers/{provider_name}","href":"/api-reference/governance/delete-provider-governance"},{"title":"List pricing overrides","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/pricing-overrides","href":"/api-reference/governance/list-pricing-overrides"},{"title":"Create pricing override","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/pricing-overrides","href":"/api-reference/governance/create-pricing-override"},{"title":"Update pricing override","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/pricing-overrides/{id}","href":"/api-reference/governance/update-pricing-override"},{"title":"Delete pricing override","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/governance/pricing-overrides/{id}","href":"/api-reference/governance/delete-pricing-override"},{"title":"Get complexity analyzer config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/governance/complexity-analyzer-config","href":"/api-reference/governance/get-complexity-analyzer-config"},{"title":"Update complexity analyzer config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/governance/complexity-analyzer-config","href":"/api-reference/governance/update-complexity-analyzer-config"},{"title":"Reset complexity analyzer config","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/governance/complexity-analyzer-config/reset","href":"/api-reference/governance/reset-complexity-analyzer-config"}]},{"group":"Logging","pages":[{"title":"Get logs","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs","href":"/api-reference/logging/get-logs"},{"title":"Delete logs","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/logs","href":"/api-reference/logging/delete-logs"},{"title":"Get a single log entry","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/{id}","href":"/api-reference/logging/get-a-single-log-entry"},{"title":"Get logs for a session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/sessions/{session_id}","href":"/api-reference/logging/get-logs-for-a-session"},{"title":"Get aggregate totals for a session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/sessions/{session_id}/summary","href":"/api-reference/logging/get-aggregate-totals-for-a-session"},{"title":"Get log statistics","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/stats","href":"/api-reference/logging/get-log-statistics"},{"title":"Get request count histogram","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram","href":"/api-reference/logging/get-request-count-histogram"},{"title":"Get token usage histogram","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/tokens","href":"/api-reference/logging/get-token-usage-histogram"},{"title":"Get cost histogram","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/cost","href":"/api-reference/logging/get-cost-histogram"},{"title":"Get model usage histogram","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/models","href":"/api-reference/logging/get-model-usage-histogram"},{"title":"Get latency histogram","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/latency","href":"/api-reference/logging/get-latency-histogram"},{"title":"Get cost histogram by provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/cost/by-provider","href":"/api-reference/logging/get-cost-histogram-by-provider"},{"title":"Get token histogram by provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/tokens/by-provider","href":"/api-reference/logging/get-token-histogram-by-provider"},{"title":"Get latency histogram by provider","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/latency/by-provider","href":"/api-reference/logging/get-latency-histogram-by-provider"},{"title":"Get cost histogram by dimension","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/cost/by-dimension","href":"/api-reference/logging/get-cost-histogram-by-dimension"},{"title":"Get token histogram by dimension","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/tokens/by-dimension","href":"/api-reference/logging/get-token-histogram-by-dimension"},{"title":"Get latency histogram by dimension","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/histogram/latency/by-dimension","href":"/api-reference/logging/get-latency-histogram-by-dimension"},{"title":"Get dropped requests count","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/dropped","href":"/api-reference/logging/get-dropped-requests-count"},{"title":"Get available filter data","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/filterdata","href":"/api-reference/logging/get-available-filter-data"},{"title":"Get model usage rankings","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/rankings","href":"/api-reference/logging/get-model-usage-rankings"},{"title":"Get consolidated dashboard data","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/logs/dashboard","href":"/api-reference/logging/get-consolidated-dashboard-data"},{"title":"Recalculate log costs","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/logs/recalculate-cost","href":"/api-reference/logging/recalculate-log-costs"},{"title":"Get MCP tool logs","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp-logs","href":"/api-reference/logging/get-mcp-tool-logs"},{"title":"Delete MCP tool logs","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/mcp-logs","href":"/api-reference/logging/delete-mcp-tool-logs"},{"title":"Get MCP tool log by ID","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp-logs/{id}","href":"/api-reference/logging/get-mcp-tool-log-by-id"},{"title":"Get MCP tool log statistics","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp-logs/stats","href":"/api-reference/logging/get-mcp-tool-log-statistics"},{"title":"Get available MCP log filter data","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp-logs/filterdata","href":"/api-reference/logging/get-available-mcp-log-filter-data"},{"title":"Get MCP tool call volume histogram","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp-logs/histogram","href":"/api-reference/logging/get-mcp-tool-call-volume-histogram"},{"title":"Get MCP cost histogram","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp-logs/histogram/cost","href":"/api-reference/logging/get-mcp-cost-histogram"},{"title":"Get top MCP tools by call count","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/mcp-logs/histogram/top-tools","href":"/api-reference/logging/get-top-mcp-tools-by-call-count"}]},{"group":"Prompt Repository","pages":[{"title":"List folders","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/folders","href":"/api-reference/prompt-repository/list-folders"},{"title":"Create folder","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/prompt-repo/folders","href":"/api-reference/prompt-repository/create-folder"},{"title":"Get folder","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/folders/{id}","href":"/api-reference/prompt-repository/get-folder"},{"title":"Update folder","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/prompt-repo/folders/{id}","href":"/api-reference/prompt-repository/update-folder"},{"title":"Delete folder","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/prompt-repo/folders/{id}","href":"/api-reference/prompt-repository/delete-folder"},{"title":"List prompts","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/prompts","href":"/api-reference/prompt-repository/list-prompts"},{"title":"Create prompt","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/prompt-repo/prompts","href":"/api-reference/prompt-repository/create-prompt"},{"title":"Get prompt","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/prompts/{id}","href":"/api-reference/prompt-repository/get-prompt"},{"title":"Update prompt","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/prompt-repo/prompts/{id}","href":"/api-reference/prompt-repository/update-prompt"},{"title":"Delete prompt","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/prompt-repo/prompts/{id}","href":"/api-reference/prompt-repository/delete-prompt"},{"title":"List prompt versions","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/prompts/{id}/versions","href":"/api-reference/prompt-repository/list-prompt-versions"},{"title":"Create prompt version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/prompt-repo/prompts/{id}/versions","href":"/api-reference/prompt-repository/create-prompt-version"},{"title":"Get prompt version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/versions/{id}","href":"/api-reference/prompt-repository/get-prompt-version"},{"title":"Delete prompt version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/prompt-repo/versions/{id}","href":"/api-reference/prompt-repository/delete-prompt-version"},{"title":"List prompt sessions","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/prompts/{id}/sessions","href":"/api-reference/prompt-repository/list-prompt-sessions"},{"title":"Create prompt session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/prompt-repo/prompts/{id}/sessions","href":"/api-reference/prompt-repository/create-prompt-session"},{"title":"Get prompt session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/prompt-repo/sessions/{id}","href":"/api-reference/prompt-repository/get-prompt-session"},{"title":"Update prompt session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/prompt-repo/sessions/{id}","href":"/api-reference/prompt-repository/update-prompt-session"},{"title":"Delete prompt session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/prompt-repo/sessions/{id}","href":"/api-reference/prompt-repository/delete-prompt-session"},{"title":"Rename prompt session","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/prompt-repo/sessions/{id}/rename","href":"/api-reference/prompt-repository/rename-prompt-session"},{"title":"Commit session as version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/prompt-repo/sessions/{id}/commit","href":"/api-reference/prompt-repository/commit-session-as-version"}]},{"group":"Skills","pages":[{"title":"Upload skill file","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/skills/files/upload","href":"/api-reference/skills/upload-skill-file"},{"title":"Clean up orphan skill files","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/skills/files/orphans","href":"/api-reference/skills/clean-up-orphan-skill-files"},{"title":"Get all-skills version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/all/version","href":"/api-reference/skills/get-all-skills-version"},{"title":"Bump all-skills version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/skills/all/version","href":"/api-reference/skills/bump-all-skills-version"},{"title":"List skills","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills","href":"/api-reference/skills/list-skills"},{"title":"Create skill","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/skills","href":"/api-reference/skills/create-skill"},{"title":"Get skill","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/{id}","href":"/api-reference/skills/get-skill"},{"title":"Update skill","deprecated":null,"version":null,"openapi":"/openapi/openapi.json put /api/skills/{id}","href":"/api-reference/skills/update-skill"},{"title":"Delete skill","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/skills/{id}","href":"/api-reference/skills/delete-skill"},{"title":"List skill versions","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/{id}/versions","href":"/api-reference/skills/list-skill-versions"},{"title":"Shift served skill version","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /api/skills/{id}/shift-version","href":"/api-reference/skills/shift-served-skill-version"},{"title":"Get Claude Code skills marketplace","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/serve/claude-code/.claude-plugin/marketplace.json","href":"/api-reference/skills/get-claude-code-skills-marketplace"},{"title":"Get Codex skills marketplace JSON","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/serve/codex/.agents/plugins/marketplace.json","href":"/api-reference/skills/get-codex-skills-marketplace-json"},{"title":"Download all skills as ZIP","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/serve/all/download.zip","href":"/api-reference/skills/download-all-skills-as-zip"},{"title":"Download skill as ZIP","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/serve/{skill-name}/download.zip","href":"/api-reference/skills/download-skill-as-zip"},{"title":"Download skill file","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /api/skills/serve/{skill-name}/files/{filepath}","href":"/api-reference/skills/download-skill-file"}]},{"group":"Cache","pages":[{"title":"Clear cache entry by cache ID","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/cache/clear/{cacheId}","href":"/api-reference/cache/clear-cache-entry-by-cache-id"},{"title":"Clear cache by cache key","deprecated":null,"version":null,"openapi":"/openapi/openapi.json delete /api/cache/clear-by-key/{cacheKey}","href":"/api-reference/cache/clear-cache-by-cache-key"}]},{"group":"Infrastructure","pages":[{"title":"WebSocket connection","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /ws","href":"/api-reference/infrastructure/websocket-connection"},{"title":"MCP protocol SSE stream","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /mcp","href":"/api-reference/infrastructure/mcp-protocol-sse-stream"},{"title":"MCP protocol message","deprecated":null,"version":null,"openapi":"/openapi/openapi.json post /mcp","href":"/api-reference/infrastructure/mcp-protocol-message"},{"title":"Prometheus metrics","deprecated":null,"version":null,"openapi":"/openapi/openapi.json get /metrics","href":"/api-reference/infrastructure/prometheus-metrics"}]}]}]},{"tab":"Contributing","icon":"code-pull-request","pages":[{"title":"Contributing","href":"/contributing/setting-up-repo"}]},{"tab":"Benchmarks","icon":"chart-line","pages":[{"title":"Benchmarks","href":"/benchmarking/getting-started"}]}]},"basePath":"","title":"Update virtual key - Vikat","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}