stream: true is also supported. For gateway-managed server tools, Phaseo may materialize the upstream tool-call turn and re-emit a synthetic stream after continuing the loop.
On OpenAI, Azure OpenAI and xAI, Phaseo sends Responses requests upstream with store: false, so a model’s reasoning continues between tool-loop steps only through the reasoning output items.Each reasoning item has an id, summary and content. When the provider returns reasoning state, the item also has encrypted_content:
OpenAI, Azure OpenAI and xAI encrypted reasoning. Phaseo requests it with include: ["reasoning.encrypted_content"] for reasoning models.
Claude thinking signatures and redacted thinking.
Gemini thought signatures, including a separate reasoning item placed just before the function call a signature belongs to.
Streaming responses carry the same items on response.output_item.done and response.completed.To continue a tool loop, send every output item back in input, including reasoning items, unchanged. encrypted_content is opaque and records the provider and model that produced it. Phaseo sends it only to that provider family and model, so a fallback to another provider drops it rather than failing.
Optional ordered fallback models tried after model. model is required and is always the primary model. When an attempt fails with 429, 500, 502, 503, or 504, the next entry is tried; other errors are returned unchanged. Accepts up to 25 model IDs or presets; duplicates and entries equal to model are ignored. Each attempt is validated, logged, and billed as its own request, and the response model field and routing trace show the model that served the request. Streaming requests fall back only before the first byte, and video and music jobs fall back only at submission. Batch, realtime, and council requests reject models. Fallbacks set on a dynamic route take precedence, and phaseo/auto cannot be combined with models.
Fills in the prompt template saved on a preset. Leave out model or set it to the same reference, and send an empty conversation or the turns to add after the template.
Not supported. Phaseo does not store responses, so requests that set previous_response_id or conversation return 400 unsupported_param. Send the full conversation in input.
Selects a supported routing or pricing tier. auto (or null) asks for no particular tier and is routed and billed as if the field were unset; scale is treated as default, the standard tier.
Gateway plugins for this request. web adds web search and web-fetch adds page fetching to any model; response-healing repairs malformed JSON in buffered structured-output responses. Workspace and preset defaults are merged with this list. An unknown plugin id returns 400 unknown_gateway_plugin.
Adds the phaseo:web_search server tool to the request, so any model can search the web. The request runs, and searches are counted and billed, exactly as with a phaseo:web_search tool. If the request already has a web search tool, the plugin adds nothing. Other options are ignored.
Tool selection strategy. Phaseo server-tool types are accepted and rewritten into upstream function/tool targets. An allowed_tools object is sent as is to OpenAI, with every tool. Other providers are sent only the allowed tools and its mode (auto or required), or a forced call when required allows exactly one tool. If allowed_tools lists a tool that tools does not define, only OpenAI can serve the request; otherwise it returns a 400 error.
Tool definitions for model function calls and gateway server tools. Built-in gateway server tools are gateway:datetime, gateway:web_search, and gateway:web_fetch.
Groups related requests so they stay on the provider that holds their prompt cache. Phaseo sends a hash of your workspace and this key upstream, never the raw key.
Prompt cache mode and TTL for OpenAI and Azure OpenAI GPT-5.6 and later (ttl 30m, or 12h on OpenAI) and for DeepInfra (ttl 5m or 1h). Removed for other providers.
Prompt cache control. Use type ephemeral with an optional ttl of 5m or 1h. scope applies only to a top-level Claude cache policy. Amazon Bedrock and Google Vertex AI cache Claude 3.7 Sonnet, 3.5 Sonnet and 3 Opus for 5 minutes only; there the ttl is removed and a removed 1h is reported in X-Phaseo-Dropped-Params as cache_control.ttl.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Phaseo Docs","description":"Documentation for Phaseo Gateway, SDKs, routing, pricing, guardrails, async jobs, and model discovery across providers.","colors":{"primary":"#0069a8","light":"#38bdf8","dark":"#0069a8"},"logo":{"light":"https://mintcdn.com/aistats/bxzzjromPyjBlHKc/logo/light.svg?fit=max\u0026auto=format\u0026n=bxzzjromPyjBlHKc\u0026q=85\u0026s=f1e10d307a46469852edc2ae198e3c2a","dark":"https://mintcdn.com/aistats/bxzzjromPyjBlHKc/logo/dark.svg?fit=max\u0026auto=format\u0026n=bxzzjromPyjBlHKc\u0026q=85\u0026s=6719dd9bade9b7f4025561841736d72e","href":"https://phaseo.app"},"favicon":"https://mintcdn.com/aistats/UZfkYM9yX2Gru_Ij/favicon.svg?fit=max\u0026auto=format\u0026n=UZfkYM9yX2Gru_Ij\u0026q=85\u0026s=04efcd38cad9cdb599aa92c800724bd5","api":{"openapi":"openapi/v1/openapi.yaml","playground":{"display":"interactive"},"examples":{"defaults":"all","languages":["javascript","python","bash","go","java","php","ruby"],"prefill":true,"autogenerate":true}},"background":{"color":{"light":"#ffffff","dark":"#0a0a0a"}},"navbar":{"primary":{"type":"button","label":"Get API Key","href":"https://phaseo.app/settings/keys"}},"footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Models","href":"https://phaseo.app/models"},{"label":"Status","href":"https://status.phaseo.app"},{"label":"Support","href":"https://phaseo.app/help"}]}]},"seo":{"metatags":{"canonical":"https://phaseo.app/docs"}},"fonts":{"family":"Montserrat"},"icons":{"library":"lucide"},"styling":{"eyebrows":"section","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode","devin","mcp","add-mcp"],"display":"header"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"markdown":{"instructions":["Phaseo Gateway base URL: https://api.phaseo.app/v1. Send `Authorization: Bearer $PHASEO_API_KEY` with every request.","Model IDs look like `provider/model`, for example `openai/gpt-6-astra`. Do not guess IDs: list them with `GET /v1/models` or check https://phaseo.app/models. `phaseo/free` routes to an available free model and needs no wallet balance.","For new text integrations prefer `POST /v1/responses`. `POST /v1/chat/completions` (OpenAI format) and `POST /v1/messages` (Anthropic format) suit existing code.","The full API contract is https://phaseo.app/docs/openapi/v1/openapi.yaml. Official SDKs: `@phaseo/sdk` (TypeScript) and `phaseo` (Python), plus Go, C#, PHP, Ruby and Rust.","Search these docs over MCP at https://phaseo.app/docs/mcp, and install Phaseo skills with `npx skills add https://phaseo.app/docs`. If a page is wrong or out of date, report it with the MCP `submit_feedback` tool.","Manage Phaseo accounts with the `phaseo` CLI (`npm install -g @phaseo/cli`, then `phaseo login` or `phaseo login --device-code`), the `/v1` Management API or the MCP server at `https://mcp.phaseo.app/mcp?access=manage`. Do not send users to the dashboard for account tasks. A person is still needed for sign-up, approving a sign-in, paying the first top-up on the checkout link that `phaseo credits add` returns when no card is saved, confirming each saved-card top-up from the emailed link, and account security (password, MFA, passkeys). Create API keys with `phaseo keys create --name \u003cname> --json`; never guess one. Credit top-ups need `phaseo login --scopes billing:write` first. Task map: https://phaseo.app/docs/v1/developers/manage-from-an-agent.md."]},"navigation":{"languages":[{"language":"en","href":"v1"},{"language":"es","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modelos","href":"https://phaseo.app/es-ES/models"},{"label":"Estado","href":"https://status.phaseo.app"},{"label":"Soporte","href":"https://phaseo.app/es-ES/help"}]}]},"navbar":{"primary":{"type":"button","label":"Obtener clave de API","href":"https://phaseo.app/es-ES/settings/keys"}},"href":"es/v1"},{"language":"fr","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modèles","href":"https://phaseo.app/fr-FR/models"},{"label":"État","href":"https://status.phaseo.app"},{"label":"Assistance","href":"https://phaseo.app/fr-FR/help"}]}]},"navbar":{"primary":{"type":"button","label":"Obtenir une clé API","href":"https://phaseo.app/fr-FR/settings/keys"}},"href":"fr/v1"},{"language":"de","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modelle","href":"https://phaseo.app/de-DE/models"},{"label":"Status","href":"https://status.phaseo.app"},{"label":"Support","href":"https://phaseo.app/de-DE/help"}]}]},"navbar":{"primary":{"type":"button","label":"API-Schlüssel erstellen","href":"https://phaseo.app/de-DE/settings/keys"}},"href":"de/v1"},{"language":"pt-BR","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modelos","href":"https://phaseo.app/pt-BR/models"},{"label":"Status","href":"https://status.phaseo.app"},{"label":"Suporte","href":"https://phaseo.app/pt-BR/help"}]}]},"navbar":{"primary":{"type":"button","label":"Obter chave de API","href":"https://phaseo.app/pt-BR/settings/keys"}},"href":"pt-BR/v1"},{"language":"ja","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"モデル","href":"https://phaseo.app/ja/models"},{"label":"ステータス","href":"https://status.phaseo.app"},{"label":"サポート","href":"https://phaseo.app/ja/help"}]}]},"navbar":{"primary":{"type":"button","label":"API キーを取得","href":"https://phaseo.app/ja/settings/keys"}},"href":"ja/v1"},{"language":"zh-Hans","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"模型","href":"https://phaseo.app/zh-Hans/models"},{"label":"状态","href":"https://status.phaseo.app"},{"label":"支持","href":"https://phaseo.app/zh-Hans/help"}]}]},"navbar":{"primary":{"type":"button","label":"获取 API 密钥","href":"https://phaseo.app/zh-Hans/settings/keys"}},"href":"zh-Hans/v1"},{"language":"hi","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"मॉडल","href":"https://phaseo.app/hi/models"},{"label":"स्थिति","href":"https://status.phaseo.app"},{"label":"सहायता","href":"https://phaseo.app/hi/help"}]}]},"navbar":{"primary":{"type":"button","label":"API कुंजी प्राप्त करें","href":"https://phaseo.app/hi/settings/keys"}},"href":"hi/v1"},{"language":"ar","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"النماذج","href":"https://phaseo.app/ar-SA/models"},{"label":"الحالة","href":"https://status.phaseo.app"},{"label":"الدعم","href":"https://phaseo.app/ar-SA/help"}]}]},"navbar":{"primary":{"type":"button","label":"احصل على مفتاح API","href":"https://phaseo.app/ar-SA/settings/keys"}},"href":"ar/v1"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"aistats","hasAudioNarration":false,"actualSubdomain":"aistats","customDomains":["phaseo.app"],"gitSource":{"type":"github","owner":"phaseoteam","repo":"phaseo","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4deddfbb9913dc79f0788","collectionId":"7cc99020-52aa-4e50-b87f-7b5f0febdad9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4deddfbb9913dc79f0788"},"feedback":{"thumbs":true,"agentFeedback":true,"issues":true,"edits":true},"entitlements":{},"buildId":"6ae4deddfbb9913dc79f0788","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"ar","tag":"مرجع API","count":233},{"language":"de","tag":"API-Referenz","count":233},{"language":"es","tag":"Referencia API","count":233},{"language":"fr","tag":"Référence API","count":233},{"language":"hi","tag":"API संदर्भ","count":233},{"language":"ja","tag":"APIリファレンス","count":233},{"language":"pt-BR","tag":"Referência API","count":233},{"language":"en","tag":"API Reference","count":233},{"language":"zh-Hans","tag":"API 参考","count":233},{"language":"hi","tag":"दस्तावेज़","count":138},{"language":"ja","tag":"ドキュメント","count":138},{"language":"zh-Hans","tag":"文档","count":138},{"language":"ar","tag":"الوثائق","count":136},{"language":"de","tag":"Docs","count":136},{"language":"es","tag":"Docs","count":136},{"language":"fr","tag":"Docs","count":136},{"language":"pt-BR","tag":"Docs","count":136},{"language":"en","tag":"Docs","count":136},{"language":"ar","tag":"SDK العميل","count":123},{"language":"de","tag":"SDKs","count":123},{"language":"es","tag":"SDKs","count":123},{"language":"fr","tag":"SDK client","count":123},{"language":"hi","tag":"क्लाइंट SDK","count":123},{"language":"ja","tag":"SDK","count":123},{"language":"pt-BR","tag":"SDKs","count":123},{"language":"en","tag":"Client SDKs","count":123},{"language":"zh-Hans","tag":"客户端 SDK","count":123},{"language":"ar","tag":"حزمة SDK للوكلاء","count":98},{"language":"de","tag":"Agenten-SDK","count":98},{"language":"es","tag":"SDK de agentes","count":98},{"language":"fr","tag":"SDK d’agents","count":98},{"language":"hi","tag":"एजेंट SDK","count":98},{"language":"ja","tag":"エージェント SDK","count":98},{"language":"pt-BR","tag":"SDK de agentes","count":98},{"language":"en","tag":"Agent SDK","count":98},{"language":"zh-Hans","tag":"智能体 SDK","count":98},{"language":"ar","tag":"إدارة مساحات العمل","count":93},{"language":"de","tag":"Arbeitsbereichsverwaltung","count":93},{"language":"es","tag":"Gestión de espacios de trabajo","count":93},{"language":"fr","tag":"Gestion des espaces de travail","count":93},{"language":"hi","tag":"वर्कस्पेस प्रबंधन","count":93},{"language":"ja","tag":"ワークスペース管理","count":93},{"language":"pt-BR","tag":"Gerenciamento de espaços de trabalho","count":93},{"language":"en","tag":"Workspace Management","count":93},{"language":"zh-Hans","tag":"工作区管理","count":93},{"language":"ar","tag":"التوجيه والسياسات","count":58},{"language":"de","tag":"Routing und Richtlinien","count":58},{"language":"es","tag":"Enrutamiento y políticas","count":58},{"language":"fr","tag":"Routage et politiques","count":58},{"language":"hi","tag":"रूटिंग और नीतियाँ","count":58},{"language":"ja","tag":"ルーティングとポリシー","count":58},{"language":"pt-BR","tag":"Roteamento e políticas","count":58},{"language":"zh-Hans","tag":"路由与策略","count":58},{"language":"en","tag":"Routing \u0026 Policies","count":52},{"language":"ar","tag":"البناء","count":51},{"language":"de","tag":"Entwickeln","count":51},{"language":"es","tag":"Desarrollar","count":51},{"language":"fr","tag":"Développer","count":51},{"language":"hi","tag":"बनाएँ","count":51},{"language":"ja","tag":"構築","count":51},{"language":"pt-BR","tag":"Criar","count":51},{"language":"en","tag":"Build","count":51},{"language":"zh-Hans","tag":"构建","count":51},{"language":"ar","tag":"الميزات","count":36},{"language":"ar","tag":"التكاملات","count":36},{"language":"de","tag":"Funktionen","count":36},{"language":"de","tag":"Integrationen","count":36},{"language":"es","tag":"Funciones","count":36},{"language":"es","tag":"Integraciones","count":36},{"language":"fr","tag":"Fonctionnalités","count":36},{"language":"fr","tag":"Intégrations","count":36},{"language":"hi","tag":"सुविधाएँ","count":36},{"language":"hi","tag":"एकीकरण","count":36},{"language":"ja","tag":"機能","count":36},{"language":"ja","tag":"連携","count":36},{"language":"pt-BR","tag":"Recursos","count":36},{"language":"pt-BR","tag":"Integrações","count":36},{"language":"en","tag":"Features","count":36},{"language":"en","tag":"Integrations","count":36},{"language":"zh-Hans","tag":"功能","count":36},{"language":"zh-Hans","tag":"集成","count":36},{"language":"ar","tag":"دليل الوصفات","count":30},{"language":"de","tag":"Rezeptbuch","count":30},{"language":"es","tag":"Recetario","count":30},{"language":"fr","tag":"Recettes","count":30},{"language":"hi","tag":"कुकबुक","count":30},{"language":"ja","tag":"クックブック","count":30},{"language":"pt-BR","tag":"Receitas","count":30},{"language":"en","tag":"Cookbook","count":30},{"language":"zh-Hans","tag":"实用指南","count":30}],"searchSettings":{"maxResults":10,"showContentSnippets":true}},"assistantConfig":{},"basePath":"/docs","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":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":":root{--sidebar-width:17.5rem}#navbar div:has(>a>img.nav-logo){min-width:max-content}#navbar nav[class*=\"navbar:flex\"]{justify-content:safe center;overflow-x:auto;scrollbar-width:none}#navbar nav[class*=\"navbar:flex\"] li>:is(a, button){padding-inline:.6875rem}@media (max-width:1279px){#navbar nav[class*=\"navbar:flex\"] li>:is(a, button){padding-inline:.5rem;font-size:.8125rem}}#navbar :is([class*=\"rounded-full\"], #localization-select-trigger){border-radius:.375rem}@media (max-width:1399px){html:not([lang=en]) #navbar nav[class*=\"navbar:flex\"] li>:is(a, button)>svg[style*=mask-image]{display:none}}@media (max-width:1279px){#navbar nav[class*=\"navbar:flex\"] li>:is(a, button)>svg[style*=mask-image]{display:none}}@media (min-width:1280px){#content-area{--content-width:clamp(40.5rem, min(100vw - 41rem, 100vw - 2 * var(--sidebar-width) - 5rem), 56rem)}#content-container:has(>[data-api-example]) #content-area{--content-width:clamp(40.5rem, 100vw - var(--sidebar-width) - 35.5rem, 56rem);margin-inline:auto!important}}#footer{border-top-width:1px}#footer>div{max-width:none;padding-inline:2rem}@media (min-width:1800px){:root{--sidebar-width:24rem}#sidebar-content :is(a, button) .flex-wrap{flex-wrap:nowrap}#sidebar-content button>div:first-child{min-width:0}#sidebar-content .sidebar-group-header,#sidebar-content :is(a, button) div>span:first-child:not(.method-nav-pill,.nav-tag-pill){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}#page-title{font-size:1.875rem;line-height:2.25rem}#header .prose{font-size:1rem;line-height:1.625rem}#content.mdx-content{font-size:.9375rem;line-height:1.625rem}#content.mdx-content h2{font-size:1.25rem;line-height:1.75rem}#content.mdx-content h3{font-size:1.0625rem;line-height:1.5rem}#sidebar-content div[class~=\"lg:mt-8\"]{margin-top:1.25rem}:is(.sidebar-group-header, .eyebrow){text-transform:none}.ph-paths{border-top:1px solid rgb(0 0 0/.08)}.ph-paths>*{display:block;margin:0}.ph-paths a{display:grid;grid-template-columns:16rem 1fr;gap:.25rem 1.5rem;padding:.875rem .125rem;border-bottom:1px solid rgb(0 0 0/.08);color:rgb(107 114 128);font-size:.9375rem;line-height:1.5;text-decoration:none}.ph-paths a strong,.ph-sdks a{align-items:center;color:rgb(17 24 39)}.ph-paths a strong{display:flex;gap:.625rem;font-weight:600}.ph-paths a:hover strong,.ph-sdks a:hover{color:rgb(var(--primary))}.ph-sdks>*{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin:0}.ph-sdks a{display:inline-flex;gap:.5rem;font-weight:500;text-decoration:none}:is(html.dark, html[data-theme=\"dark\"]) :is(.ph-paths, .ph-paths a){border-color:rgb(255 255 255/.1)}:is(html.dark, html[data-theme=\"dark\"]) .ph-paths a{color:rgb(156 163 175)}:is(html.dark, html[data-theme=\"dark\"]) :is(.ph-paths a strong, .ph-sdks a){color:rgb(255 255 255)}:is(html.dark, html[data-theme=\"dark\"]) .ph-paths a:hover strong,:is(html.dark, html[data-theme=\"dark\"]) .ph-sdks a:hover{color:rgb(var(--primary-light))}@media (max-width:640px){.ph-paths a{grid-template-columns:1fr}}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/cline.svg\"]{content:url(/icons/brands/cline-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/cursor.svg\"]{content:url(/icons/brands/cursor-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/kilo.svg\"]{content:url(/icons/brands/kilo-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/opencode.svg\"]{content:url(/icons/brands/opencode-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/prime-agent.svg\"]{content:url(/icons/brands/prime-agent-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/continue.svg\"]{content:url(/icons/brands/continue-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/oh-my-pi.svg\"]{content:url(/icons/brands/oh-my-pi-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/pi.svg\"]{content:url(/icons/brands/pi-dark.svg)}:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/roo-code.svg\"],:is(html.dark, html[data-theme=\"dark\"]) img[src$=\"/icons/brands/zed.svg\"]{filter:invert(1)}html[lang=ar] :is(#content-area, #sidebar-content, #table-of-contents-content){direction:rtl}html[lang=ar] #content-area :is(pre, code){direction:ltr;unicode-bidi:isolate}html[lang=ar] #content-area .prose li:not(.not-prose li){padding-left:6px;padding-right:32px}html[lang=ar] #content-area .prose li:not(.not-prose li)::before{left:auto;right:8px}.changelog-filters{position:sticky;top:3rem;z-index:20;display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.75rem 0;overflow-x:auto;scrollbar-width:none;background:#fff;border-bottom:1px solid rgb(0 0 0/.08)}.dark .changelog-filters{background:#0a0a0a;border-bottom-color:rgb(255 255 255/.08)}.changelog-filters button{flex:none;white-space:nowrap;border:1px solid rgb(0 0 0/.12);border-radius:.375rem;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;color:inherit;background:0 0;cursor:pointer}.dark .changelog-filters button{border-color:rgb(255 255 255/.15)}.changelog-filters button[aria-pressed=true]{border-color:#0069a8;background:#0069a8;color:#fff}.changelog-filters .changelog-filters-clear{border-color:transparent;padding-inline:.5rem;opacity:.7}.changelog-category{margin:1.25rem 0 .25rem;font-size:.8125rem;font-weight:600;opacity:.65}[data-changelog-category]:first-child .changelog-category{margin-top:0}.update.changelog-update-hidden{display:none}.ph-rc{--rc-tokens:#0069a8;--rc-waiting:#eb6834;--rc-failures:#1baf7a;--rc-ink:#0b0b0b;--rc-ink-2:#52514e;--rc-muted:#898781;--rc-grid:#e1e0d9;--rc-base:#c3c2b7;--rc-band:rgba(0, 105, 168, 0.07);--rc-band-edge:rgba(0, 105, 168, 0.28);--rc-surface:#ffffff;--rc-raised:#f6f6f4;--rc-ring:rgba(11, 11, 11, 0.1);margin:1.25rem 0;font-size:.8125rem;color:var(--rc-ink)}.dark .ph-rc{--rc-tokens:#2a9fd6;--rc-waiting:#d95926;--rc-failures:#199e70;--rc-ink:#f0efec;--rc-ink-2:#c3c2b7;--rc-muted:#898781;--rc-grid:#2c2c2a;--rc-base:#383835;--rc-band:rgba(42, 159, 214, 0.09);--rc-band-edge:rgba(42, 159, 214, 0.35);--rc-surface:#0a0a0a;--rc-raised:#161616;--rc-ring:rgba(255, 255, 255, 0.1)}.ph-rc-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem}.ph-rc-tabs button{background:0 0;color:var(--rc-ink-2);padding:.3rem .65rem;font:inherit;cursor:pointer}.ph-rc-tabs button:hover{color:var(--rc-ink);background:var(--rc-raised)}.ph-rc-tabs .ph-rc-tab-on{border-color:var(--rc-tokens);background:var(--rc-raised)}.ph-rc-formula,.ph-rc-mix{color:var(--rc-ink-2);margin-bottom:.5rem}.ph-rc-formula,.ph-rc-tabs button{border:1px solid var(--rc-ring);border-radius:.375rem}.ph-rc-formula{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .45rem;margin-bottom:.6rem;padding:.55rem .75rem}.ph-rc-formula strong,.ph-rc-tabs .ph-rc-tab-on{color:var(--rc-ink);font-weight:600}.ph-rc-legend span,.ph-rc-term{display:inline-flex;align-items:center}.ph-rc-term{gap:.35rem;color:var(--rc-ink)}.ph-rc-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;color:var(--rc-ink-2);margin-bottom:.75rem}.ph-rc-legend span{gap:.4rem}.ph-rc-swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:3px;flex:none}.ph-rc-tokens{background:var(--rc-tokens)}.ph-rc-waiting{background:var(--rc-waiting)}.ph-rc-failures{background:var(--rc-failures)}.ph-rc-band-swatch{background:var(--rc-band);box-shadow:inset 0 0 0 1px var(--rc-band-edge)}.ph-rc-head,.ph-rc-row{display:grid;grid-template-columns:minmax(8rem,13rem) 1fr 6.5rem;gap:.75rem;align-items:center;border-bottom:1px solid var(--rc-grid)}.ph-rc-head{color:var(--rc-muted);font-size:.75rem;padding-bottom:.35rem}.ph-rc-row{padding:.55rem 0}.ph-rc-you{background:var(--rc-raised);box-shadow:-.5rem 0 0 var(--rc-raised),.5rem 0 0 var(--rc-raised)}.ph-rc-name{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.ph-rc-name strong{font-weight:600}.ph-rc-name span{color:var(--rc-muted);font-size:.7rem;line-height:1.3;direction:ltr;unicode-bidi:isolate}.ph-rc-track{position:relative;height:1.5rem;width:calc(100% - 3.75rem)}.ph-rc-controls input[type=range],.ph-rc-curve,.ph-rc-sharebar,.ph-rc-track{direction:ltr}.ph-rc-band{position:absolute;top:-.55rem;bottom:-.55rem;background:var(--rc-band);border-left:1px dashed var(--rc-band-edge);border-right:1px dashed var(--rc-band-edge)}.ph-rc-bar{position:absolute;inset:.3rem 0;display:flex;align-items:center}.ph-rc-seg{height:.9rem;margin-right:2px;flex:none;min-width:2px}.ph-rc-seg:first-child{border-radius:4px 0 0 4px}.ph-rc-seg:nth-last-child(2){border-radius:0 4px 4px 0;margin-right:.4rem}.ph-rc-tip b,.ph-rc-total{font-variant-numeric:tabular-nums}.ph-rc-total{color:var(--rc-ink-2);white-space:nowrap;font-size:.75rem}.ph-rc-tip{position:absolute;top:1.7rem;transform:translateX(-50%);z-index:5;min-width:12rem;background:var(--rc-surface);color:var(--rc-ink);border:1px solid var(--rc-ring);border-radius:.375rem;padding:.5rem .65rem;box-shadow:0 6px 20px rgba(0,0,0,.12);pointer-events:none}.ph-rc-tip-left{transform:translateX(-100%)}.ph-rc-tip>div{display:flex;align-items:center;gap:.4rem;color:var(--rc-ink-2);margin-top:.2rem}.ph-rc-tip b{margin-left:auto;color:var(--rc-ink)}.ph-rc-tip .ph-rc-tip-on{color:var(--rc-ink);font-weight:600}.ph-rc-tip-sum{border-top:1px solid var(--rc-grid);padding-top:.3rem}.ph-rc-share{display:flex;flex-direction:column;gap:.25rem}.ph-rc-controls b,.ph-rc-num{font-variant-numeric:tabular-nums}.ph-rc-num{text-align:right;direction:ltr;unicode-bidi:isolate}.ph-rc-share .ph-rc-num{font-weight:600;font-size:.875rem}.ph-rc-sharebar{height:.35rem;border-radius:2px;background:var(--rc-grid);overflow:hidden}.ph-rc-sharebar div{height:100%;background:var(--rc-tokens);border-radius:2px}.ph-rc-axis{color:var(--rc-muted);font-size:.72rem;margin-top:.5rem}.ph-rc-play{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.25rem}.ph-rc-controls{display:flex;flex-direction:column;gap:.6rem}.ph-rc-controls label,.ph-rc-summary{display:flex;flex-direction:column;gap:.2rem}.ph-rc-controls label span{color:var(--rc-ink-2)}.ph-rc-controls b{color:var(--rc-ink);font-weight:600}.ph-rc-controls input[type=range]{width:100%;accent-color:var(--rc-tokens)}.ph-rc-summary{gap:.5rem}.ph-rc-controls label span,.ph-rc-hero{display:flex;justify-content:space-between}.ph-rc-hero{align-items:baseline}.ph-rc-hero span{color:var(--rc-ink-2)}.ph-rc-hero strong{font-size:2rem;font-weight:600;line-height:1}.ph-rc-curve{width:100%;height:auto;overflow:visible}.ph-rc-band-fill{fill:var(--rc-band)}.ph-rc-baseline{stroke:var(--rc-base);stroke-width:1}.ph-rc-tick{fill:var(--rc-muted);font-size:10px}.ph-rc-line{fill:none;stroke:var(--rc-ink-2);stroke-width:2}.ph-rc-dot-other,.ph-rc-dot-you{fill:var(--rc-muted);stroke:var(--rc-surface);stroke-width:2}.ph-rc-dot-you{fill:var(--rc-tokens)}.ph-rc-dot-label{fill:var(--rc-ink);font-size:11px;font-weight:600}.ph-rc-caption{color:var(--rc-muted);font-size:.72rem;margin-top:-.25rem}.ph-rc-levers{border-top:1px solid var(--rc-grid);padding-top:.5rem}.ph-rc-levers-title{color:var(--rc-muted);font-size:.72rem;margin-bottom:.25rem}.ph-rc-levers>div:not(.ph-rc-levers-title){display:flex;justify-content:space-between;padding:.15rem 0;color:var(--rc-ink-2)}.ph-rc-levers b{color:var(--rc-ink);font-variant-numeric:tabular-nums}@media (max-width:640px){.ph-rc-play{grid-template-columns:1fr}.ph-rc-head,.ph-rc-row{grid-template-columns:1fr 4.5rem}.ph-rc-head>span:nth-child(2){display:none}.ph-rc-track{grid-column:1/-1;grid-row:2}}"}],"page":{"pagePath":"v1/api-reference/endpoint/responses","slug":"/v1/api-reference/endpoint/responses","pageMetadata":{"title":"Create a response","og:image":"https://phaseo.app/og/dynamic?title=Create%20a%20response\u0026pathname=/docs/v1/api-reference/endpoint/responses","sidebarTitle":"Create a response","openapi":"openapi/v1/openapi.yaml POST /responses","description":"Creates a response using the Responses API.","href":"/v1/api-reference/endpoint/responses"},"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: \"Creates a response using the Responses API.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`server-tools`,children:`Server tools`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/v1/responses`}),` supports regular function tools and these gateway-managed server tools:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`gateway:datetime`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`phaseo:web_search`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`phaseo:web_fetch`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`phaseo:advisor`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`phaseo:image_generation`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`phaseo:apply_patch`})}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`datetime-example`,children:`Datetime example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.phaseo.app/v1/responses`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"openai/gpt-5-nano\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"stream\": false,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"input\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` { \"role\": \"user\", \"content\": \"Give me the current datetime in Asia/Tokyo.\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tools\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"gateway:datetime\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parameters\": { \"timezone\": \"Asia/Tokyo\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tool_choice\": \"auto\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`When a server tool is used, usage includes the matching `,_jsx(_components.code,{children:`usage.server_tool_use.*`}),` counters.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`gateway:datetime`}),` -> `,_jsx(_components.code,{children:`datetime_requests`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`phaseo:web_search`}),` -> `,_jsx(_components.code,{children:`web_search_requests`}),`, `,_jsx(_components.code,{children:`web_search_results`}),`, `,_jsx(_components.code,{children:`web_search_extra_results`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`phaseo:web_fetch`}),` -> `,_jsx(_components.code,{children:`web_fetch_requests`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`phaseo:advisor`}),` -> `,_jsx(_components.code,{children:`advisor_requests`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`phaseo:image_generation`}),` -> `,_jsx(_components.code,{children:`image_generation_requests`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`phaseo:apply_patch`}),` -> `,_jsx(_components.code,{children:`apply_patch_requests`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`streaming-note`,children:`Streaming note`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`stream: true`}),` is also supported. For gateway-managed server tools, Phaseo may materialize the upstream tool-call turn and re-emit a synthetic stream after continuing the loop.`]}),`\n`,_jsx(Heading,{level:`2`,id:`reasoning-in-tool-loops`,children:`Reasoning in tool loops`}),`\n`,_jsxs(_components.p,{children:[`On OpenAI, Azure OpenAI and xAI, Phaseo sends Responses requests upstream with `,_jsx(_components.code,{children:`store: false`}),`, so a model’s reasoning continues between tool-loop steps only through the `,_jsx(_components.code,{children:`reasoning`}),` output items.`]}),`\n`,_jsxs(_components.p,{children:[`Each `,_jsx(_components.code,{children:`reasoning`}),` item has an `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`summary`}),` and `,_jsx(_components.code,{children:`content`}),`. When the provider returns reasoning state, the item also has `,_jsx(_components.code,{children:`encrypted_content`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`OpenAI, Azure OpenAI and xAI encrypted reasoning. Phaseo requests it with `,_jsx(_components.code,{children:`include: [\"reasoning.encrypted_content\"]`}),` for reasoning models.`]}),`\n`,_jsx(_components.li,{children:`Claude thinking signatures and redacted thinking.`}),`\n`,_jsxs(_components.li,{children:[`Gemini thought signatures, including a separate `,_jsx(_components.code,{children:`reasoning`}),` item placed just before the function call a signature belongs to.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Streaming responses carry the same items on `,_jsx(_components.code,{children:`response.output_item.done`}),` and `,_jsx(_components.code,{children:`response.completed`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`To continue a tool loop, send every output item back in `,_jsx(_components.code,{children:`input`}),`, including `,_jsx(_components.code,{children:`reasoning`}),` items, unchanged. `,_jsx(_components.code,{children:`encrypted_content`}),` is opaque and records the provider and model that produced it. Phaseo sends it only to that provider family and model, so a fallback to another provider drops it rather than failing.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a response","og:image":"https://phaseo.app/og/dynamic?title=Create%20a%20response\u0026pathname=/docs/v1/api-reference/endpoint/responses","sidebarTitle":"Create a response","openapi":"openapi/v1/openapi.yaml POST /responses","description":"Creates a response using the Responses API.","href":"/v1/api-reference/endpoint/responses"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Server tools","slug":"server-tools","depth":2,"children":[{"title":"Datetime example","slug":"datetime-example","depth":3,"children":[]}]},{"title":"Streaming note","slug":"streaming-note","depth":2,"children":[]},{"title":"Reasoning in tool loops","slug":"reasoning-in-tool-loops","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"servers":["19613171-9f05-476d-867a-64695ac10a2b","67429236-0a4d-4b3c-976b-6284801ce854","33fc7fa3-33bc-47ef-ad4a-73c4f7070d42"],"tags":["Gateway"],"operationId":"createResponse","summary":"Create response","description":"Creates a response using the Responses API.","requestBody":"c1b90573-c2fc-4a26-89f7-ce54828ea7e2","responses":{"200":"95fb62bb-65b3-4489-81e7-ee42f603a7d4","429":"5b63cc29-6332-4f92-a188-a644381229f6"},"method":"post","type":"path","security":["7175321d-db20-40f8-904b-8c57cc025120"],"path":"/responses","baseUrlOptions":["https://api.phaseo.app/v1","https://eu.api.phaseo.app/v1","https://us.api.phaseo.app/v1"],"title":"Create response","codeSamples":[],"requestExampleLanguages":["javascript","python","bash","go","java","php","ruby"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.model":"openai/gpt-5-nano","body.input.oneOf.1.items.0.role":"user","body.input.oneOf.1.items.0.content.oneOf.0":"Give me the current datetime in Asia/Tokyo.","body.stream":false,"body.tool_choice.oneOf.0":"auto","body.tools.items.0.oneOf.1.type":"gateway:datetime","body.tools.items.0.oneOf.1.parameters.timezone":"Asia/Tokyo"}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"An optional top-level field sent as `null` is treated as unset, the same as leaving it out.","required":["model","input"],"properties":{"model":{"type":"string","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"input":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"input.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"object","description":"Responses API input item.","properties":{"type":{"type":"string","uniqueKey":"input.oneOf.1.items.[INDEX].type","typeLabel":"string"},"id":{"type":"string","uniqueKey":"input.oneOf.1.items.[INDEX].id","typeLabel":"string"},"role":{"type":"string","enum":["user","assistant","system","developer"],"uniqueKey":"input.oneOf.1.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"oneOf":[{"type":"string","uniqueKey":"input.oneOf.1.items.[INDEX].content.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"object","uniqueKey":"input.oneOf.1.items.[INDEX].content.oneOf.1.items.[INDEX]","typeLabel":"object"},"uniqueKey":"input.oneOf.1.items.[INDEX].content.oneOf.1","typeLabel":"object[]"},{"type":"object","uniqueKey":"input.oneOf.1.items.[INDEX].content.oneOf.2","typeLabel":"object"}],"uniqueKey":"input.oneOf.1.items.[INDEX].content","typeLabel":"string | object[] | object"},"summary":{"type":"array","items":{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["summary_text"],"isRequired":true,"uniqueKey":"input.oneOf.1.items.[INDEX].summary.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"input.oneOf.1.items.[INDEX].summary.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"input.oneOf.1.items.[INDEX].summary.items.[INDEX]","typeLabel":"object"},"uniqueKey":"input.oneOf.1.items.[INDEX].summary","typeLabel":"object[]"},"encrypted_content":{"type":"string","description":"Reasoning state from an earlier response, sent back unchanged. A raw value is read as OpenAI's unless format names another provider.","uniqueKey":"input.oneOf.1.items.[INDEX].encrypted_content","typeLabel":"string"},"signature":{"type":"string","description":"On a reasoning item, a raw provider signature, such as a Claude thinking signature or a Gemini thought signature. Requires format.","uniqueKey":"input.oneOf.1.items.[INDEX].signature","typeLabel":"string"},"format":{"type":"string","description":"On a reasoning item, the provider format of signature or encrypted_content.","enum":["anthropic-claude-v1","openai-responses-v1","azure-openai-responses-v1","xai-responses-v1","google-gemini-v1"],"uniqueKey":"input.oneOf.1.items.[INDEX].format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"input.oneOf.1.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"input.oneOf.1","typeLabel":"object[]"},{"type":"object","isRequired":true,"uniqueKey":"input.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"input","typeLabel":"string | object[] | object"},"models":{"type":"array","minItems":1,"maxItems":25,"items":{"type":"string","minLength":1,"uniqueKey":"models.items.[INDEX]","typeLabel":"string"},"description":"Optional ordered fallback models tried after `model`. `model` is required and is always the primary model. When an attempt fails with `429`, `500`, `502`, `503`, or `504`, the next entry is tried; other errors are returned unchanged. Accepts up to 25 model IDs or presets; duplicates and entries equal to `model` are ignored. Each attempt is validated, logged, and billed as its own request, and the response `model` field and routing trace show the model that served the request. Streaming requests fall back only before the first byte, and video and music jobs fall back only at submission. Batch, realtime, and council requests reject `models`. Fallbacks set on a dynamic route take precedence, and `phaseo/auto` cannot be combined with `models`.","example":["anthropic/claude-sonnet-5-5","google/gemini-2.5-flash"],"uniqueKey":"models","typeLabel":"string[]"},"prompt":{"type":"object","description":"Fills in the prompt template saved on a preset. Leave out model or set it to the same reference, and send an empty conversation or the turns to add after the template.","required":["id"],"properties":{"id":{"type":"string","description":"Preset reference starting with @, such as @support-triage or @publisher/support-triage.","isRequired":true,"uniqueKey":"prompt.id","typeLabel":"string"},"variables":{"type":"object","additionalProperties":true,"description":"Values for the template variables. Image variables take an https URL, a data URL or an image part.","uniqueKey":"prompt.variables","typeLabel":"object"},"version":{"type":"string","maxLength":64,"description":"Runs this published version of the preset instead of the current one: its models, parameters and template. Use a version label such as v3, 1.2.0 or 2026.10.27, or a label such as production. The same as setting model to @support-triage@production.","uniqueKey":"prompt.version","typeLabel":"string"}},"uniqueKey":"prompt","typeLabel":"object"},"background":{"type":"boolean","uniqueKey":"background","typeLabel":"boolean"},"include":{"type":"array","items":{"type":"string","uniqueKey":"include.items.[INDEX]","typeLabel":"string"},"uniqueKey":"include","typeLabel":"string[]"},"instructions":{"type":"string","uniqueKey":"instructions","typeLabel":"string"},"max_output_tokens":{"type":"integer","minimum":1,"uniqueKey":"max_output_tokens","typeLabel":"integer"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"uniqueKey":"metadata","typeLabel":"object"},"session_id":{"type":"string","maxLength":256,"description":"Unique identifier for grouping related requests (for example, a conversation or agent workflow) for observability.","uniqueKey":"session_id","typeLabel":"string"},"parallel_tool_calls":{"type":"boolean","uniqueKey":"parallel_tool_calls","typeLabel":"boolean"},"previous_response_id":{"type":"string","description":"Not supported. Phaseo does not store responses, so requests that set previous_response_id or conversation return 400 unsupported_param. Send the full conversation in input.","uniqueKey":"previous_response_id","typeLabel":"string"},"reasoning":{"type":"object","properties":{"effort":{"oneOf":[{"type":"string","enum":["none","instant","minimal","low","medium","high","xhigh","max"],"description":"Reasoning effort. When omitted or null, `max_tokens`, `enabled` or the model's own default decides how much the model reasons.","uniqueKey":"reasoning.effort.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["none","instant","minimal","low","medium","high","xhigh","max"],"description":"Reasoning effort. When omitted or null, `max_tokens`, `enabled` or the model's own default decides how much the model reasons.","uniqueKey":"reasoning.effort.oneOf.1","typeLabel":"null"}],"uniqueKey":"reasoning.effort","typeLabel":"enum\u003cstring> | null"},"mode":{"type":"string","enum":["standard","pro"],"uniqueKey":"reasoning.mode","typeLabel":"enum\u003cstring>"},"summary":{"type":"string","enum":["auto","concise","detailed"],"default":"auto","uniqueKey":"reasoning.summary","typeLabel":"enum\u003cstring>"},"enabled":{"type":"boolean","uniqueKey":"reasoning.enabled","typeLabel":"boolean"},"max_tokens":{"type":"integer","minimum":0,"uniqueKey":"reasoning.max_tokens","typeLabel":"integer"}},"uniqueKey":"reasoning","typeLabel":"object"},"service_tier":{"oneOf":[{"type":"string","description":"Selects a supported routing or pricing tier. `auto` (or null) asks for no particular tier and is routed and billed as if the field were unset; `scale` is treated as `default`, the standard tier.","enum":["standard","default","fast","ultrafast","priority","flex","batch","auto","scale"],"uniqueKey":"service_tier.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Selects a supported routing or pricing tier. `auto` (or null) asks for no particular tier and is routed and billed as if the field were unset; `scale` is treated as `default`, the standard tier.","enum":["standard","default","fast","ultrafast","priority","flex","batch","auto","scale"],"uniqueKey":"service_tier.oneOf.1","typeLabel":"null"}],"uniqueKey":"service_tier","typeLabel":"enum\u003cstring> | null"},"store":{"type":"boolean","uniqueKey":"store","typeLabel":"boolean"},"stream":{"type":"boolean","uniqueKey":"stream","typeLabel":"boolean"},"temperature":{"type":"number","minimum":0,"maximum":2,"uniqueKey":"temperature","typeLabel":"number"},"text":{"type":"object","uniqueKey":"text","typeLabel":"object"},"plugins":{"type":"array","description":"Gateway plugins for this request. `web` adds web search and `web-fetch` adds page fetching to any model; `response-healing` repairs malformed JSON in buffered structured-output responses. Workspace and preset defaults are merged with this list. An unknown plugin id returns 400 `unknown_gateway_plugin`.\n","items":{"oneOf":[{"type":"object","description":"Adds the `phaseo:web_search` server tool to the request, so any model can search the web. The request runs, and searches are counted and billed, exactly as with a `phaseo:web_search` tool. If the request already has a web search tool, the plugin adds nothing. Other options are ignored.\n","required":["id"],"properties":{"id":{"type":"string","enum":["web"],"isRequired":true,"uniqueKey":"plugins.items.[INDEX].oneOf.0.id","typeLabel":"enum\u003cstring>"},"enabled":{"type":"boolean","default":true,"uniqueKey":"plugins.items.[INDEX].oneOf.0.enabled","typeLabel":"boolean"},"engine":{"type":"string","enum":["auto","native","exa","firecrawl","parallel","perplexity","tinyfish"],"uniqueKey":"plugins.items.[INDEX].oneOf.0.engine","typeLabel":"enum\u003cstring>"},"max_results":{"type":"integer","minimum":1,"maximum":25,"uniqueKey":"plugins.items.[INDEX].oneOf.0.max_results","typeLabel":"integer"},"max_uses":{"type":"integer","minimum":1,"uniqueKey":"plugins.items.[INDEX].oneOf.0.max_uses","typeLabel":"integer"},"search_context_size":{"type":"string","enum":["low","medium","high"],"uniqueKey":"plugins.items.[INDEX].oneOf.0.search_context_size","typeLabel":"enum\u003cstring>"},"include_domains":{"type":"array","items":{"type":"string","uniqueKey":"plugins.items.[INDEX].oneOf.0.include_domains.items.[INDEX]","typeLabel":"string"},"uniqueKey":"plugins.items.[INDEX].oneOf.0.include_domains","typeLabel":"string[]"},"exclude_domains":{"type":"array","items":{"type":"string","uniqueKey":"plugins.items.[INDEX].oneOf.0.exclude_domains.items.[INDEX]","typeLabel":"string"},"uniqueKey":"plugins.items.[INDEX].oneOf.0.exclude_domains","typeLabel":"string[]"}},"uniqueKey":"plugins.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Adds the `phaseo:web_fetch` server tool to the request, so any model can read web pages. The request runs, and fetches are counted and billed, exactly as with a `phaseo:web_fetch` tool. If the request already has a web fetch tool, the plugin adds nothing.\n","required":["id"],"properties":{"id":{"type":"string","enum":["web-fetch"],"isRequired":true,"uniqueKey":"plugins.items.[INDEX].oneOf.1.id","typeLabel":"enum\u003cstring>"},"enabled":{"type":"boolean","default":true,"uniqueKey":"plugins.items.[INDEX].oneOf.1.enabled","typeLabel":"boolean"},"engine":{"type":"string","enum":["auto","native","direct","exa","firecrawl","parallel"],"uniqueKey":"plugins.items.[INDEX].oneOf.1.engine","typeLabel":"enum\u003cstring>"},"max_uses":{"type":"integer","minimum":1,"uniqueKey":"plugins.items.[INDEX].oneOf.1.max_uses","typeLabel":"integer"},"max_content_tokens":{"type":"integer","minimum":1,"maximum":100000,"uniqueKey":"plugins.items.[INDEX].oneOf.1.max_content_tokens","typeLabel":"integer"},"allowed_domains":{"type":"array","items":{"type":"string","uniqueKey":"plugins.items.[INDEX].oneOf.1.allowed_domains.items.[INDEX]","typeLabel":"string"},"uniqueKey":"plugins.items.[INDEX].oneOf.1.allowed_domains","typeLabel":"string[]"},"blocked_domains":{"type":"array","items":{"type":"string","uniqueKey":"plugins.items.[INDEX].oneOf.1.blocked_domains.items.[INDEX]","typeLabel":"string"},"uniqueKey":"plugins.items.[INDEX].oneOf.1.blocked_domains","typeLabel":"string[]"}},"uniqueKey":"plugins.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"Repairs malformed JSON in buffered responses that requested `json_object` or `json_schema` output. Skipped on streams.\n","required":["id"],"properties":{"id":{"type":"string","enum":["response-healing"],"isRequired":true,"uniqueKey":"plugins.items.[INDEX].oneOf.2.id","typeLabel":"enum\u003cstring>"},"enabled":{"type":"boolean","default":true,"uniqueKey":"plugins.items.[INDEX].oneOf.2.enabled","typeLabel":"boolean"},"mode":{"type":"string","enum":["safe","strict"],"default":"safe","uniqueKey":"plugins.items.[INDEX].oneOf.2.mode","typeLabel":"enum\u003cstring>"}},"uniqueKey":"plugins.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"plugins.items.[INDEX]","typeLabel":"object"},"uniqueKey":"plugins","typeLabel":"object[]"},"tool_choice":{"oneOf":[{"type":"string","description":"Tool selection strategy. Phaseo server-tool types are accepted and rewritten into upstream function/tool targets. An allowed_tools object is sent as is to OpenAI, with every tool. Other providers are sent only the allowed tools and its mode (auto or required), or a forced call when required allows exactly one tool. If allowed_tools lists a tool that tools does not define, only OpenAI can serve the request; otherwise it returns a 400 error.\n","enum":["auto","none","required","phaseo:datetime","phaseo:web_search","phaseo:web_fetch","phaseo:subagent","phaseo:fusion","phaseo:search_models","gateway:datetime","gateway:web_search","gateway:web_fetch"],"uniqueKey":"tool_choice.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"object","description":"Tool selection strategy. Phaseo server-tool types are accepted and rewritten into upstream function/tool targets. An allowed_tools object is sent as is to OpenAI, with every tool. Other providers are sent only the allowed tools and its mode (auto or required), or a forced call when required allows exactly one tool. If allowed_tools lists a tool that tools does not define, only OpenAI can serve the request; otherwise it returns a 400 error.\n","uniqueKey":"tool_choice.oneOf.1","typeLabel":"object"}],"uniqueKey":"tool_choice","typeLabel":"enum\u003cstring> | object"},"tools":{"type":"array","description":"Tool definitions for model function calls and gateway server tools. Built-in gateway server tools are `gateway:datetime`, `gateway:web_search`, and `gateway:web_fetch`.\n","items":{"oneOf":[{"type":"object","required":["type","function"],"properties":{"type":{"type":"string","enum":["function"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"function":{"type":"object","required":["name","parameters"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.0.function.name","typeLabel":"string"},"parameters":{"type":"object","isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.0.function.parameters","typeLabel":"object"},"description":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.0.function.description","typeLabel":"string"}},"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.0.function","typeLabel":"object"},"async":{"type":"boolean","description":"Lets supported OpenAI models continue while the caller executes this tool. Accepted on all text API surfaces and ignored by other providers.","uniqueKey":"tools.items.[INDEX].oneOf.0.async","typeLabel":"boolean"},"cache_control":{"type":"object","description":"Prompt cache control. Use type ephemeral with an optional ttl of 5m or 1h. scope applies only to a top-level Claude cache policy. Amazon Bedrock and Google Vertex AI cache Claude 3.7 Sonnet, 3.5 Sonnet and 3 Opus for 5 minutes only; there the ttl is removed and a removed 1h is reported in X-Phaseo-Dropped-Params as cache_control.ttl.","properties":{"type":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.0.cache_control.type","typeLabel":"string"},"ttl":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.0.cache_control.ttl","typeLabel":"string"},"scope":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.0.cache_control.scope","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"tools.items.[INDEX].oneOf.0.cache_control","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"tools.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Gateway-managed server tool. The gateway executes the datetime lookup and injects the result back into the model tool loop.\n","required":["type"],"properties":{"type":{"type":"string","enum":["phaseo:datetime","gateway:datetime"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"parameters":{"type":"object","properties":{"timezone":{"type":"string","description":"IANA timezone name (for example Europe/London).","uniqueKey":"tools.items.[INDEX].oneOf.1.parameters.timezone","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"tools.items.[INDEX].oneOf.1.parameters","typeLabel":"object"},"timezone":{"type":"string","description":"Legacy shortcut for default timezone (IANA).","uniqueKey":"tools.items.[INDEX].oneOf.1.timezone","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"tools.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"Gateway-managed server tool. The gateway executes a web search and injects normalized search results back into the model tool loop.\n","required":["type"],"properties":{"type":{"type":"string","enum":["phaseo:web_search","gateway:web_search"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"parameters":{"type":"object","properties":{"engine":{"type":"string","enum":["auto","native","exa","firecrawl","parallel","perplexity","tinyfish"],"uniqueKey":"tools.items.[INDEX].oneOf.2.parameters.engine","typeLabel":"enum\u003cstring>"},"max_results":{"type":"integer","minimum":1,"maximum":25,"uniqueKey":"tools.items.[INDEX].oneOf.2.parameters.max_results","typeLabel":"integer"},"language":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.2.parameters.language","typeLabel":"string"},"page":{"type":"integer","minimum":0,"maximum":10,"uniqueKey":"tools.items.[INDEX].oneOf.2.parameters.page","typeLabel":"integer"},"include_text":{"type":"boolean","uniqueKey":"tools.items.[INDEX].oneOf.2.parameters.include_text","typeLabel":"boolean"},"include_highlights":{"type":"boolean","uniqueKey":"tools.items.[INDEX].oneOf.2.parameters.include_highlights","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"tools.items.[INDEX].oneOf.2.parameters","typeLabel":"object"},"max_results":{"type":"integer","minimum":1,"maximum":25,"uniqueKey":"tools.items.[INDEX].oneOf.2.max_results","typeLabel":"integer"},"engine":{"type":"string","enum":["auto","native","exa","firecrawl","parallel","perplexity","tinyfish"],"uniqueKey":"tools.items.[INDEX].oneOf.2.engine","typeLabel":"enum\u003cstring>"},"language":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.2.language","typeLabel":"string"},"page":{"type":"integer","minimum":0,"maximum":10,"uniqueKey":"tools.items.[INDEX].oneOf.2.page","typeLabel":"integer"},"include_text":{"type":"boolean","uniqueKey":"tools.items.[INDEX].oneOf.2.include_text","typeLabel":"boolean"},"include_highlights":{"type":"boolean","uniqueKey":"tools.items.[INDEX].oneOf.2.include_highlights","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"tools.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"Gateway-managed server tool. The gateway fetches one HTTP(S) page, reduces it to bounded text, and injects the result back into the model tool loop.\n","required":["type"],"properties":{"type":{"type":"string","enum":["phaseo:web_fetch","gateway:web_fetch"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"parameters":{"type":"object","properties":{"max_chars":{"type":"integer","minimum":1,"maximum":100000,"uniqueKey":"tools.items.[INDEX].oneOf.3.parameters.max_chars","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"tools.items.[INDEX].oneOf.3.parameters","typeLabel":"object"},"max_chars":{"type":"integer","minimum":1,"maximum":100000,"uniqueKey":"tools.items.[INDEX].oneOf.3.max_chars","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"tools.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["phaseo:subagent"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"parameters":{"type":"object","additionalProperties":true,"uniqueKey":"tools.items.[INDEX].oneOf.4.parameters","typeLabel":"object"}},"uniqueKey":"tools.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["phaseo:fusion"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"parameters":{"type":"object","required":["analysis_models"],"properties":{"analysis_models":{"type":"array","minItems":2,"maxItems":8,"items":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.5.parameters.analysis_models.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.5.parameters.analysis_models","typeLabel":"string[]"},"model":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.5.parameters.model","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"tools.items.[INDEX].oneOf.5.parameters","typeLabel":"object"}},"uniqueKey":"tools.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["phaseo:search_models"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.6.type","typeLabel":"enum\u003cstring>"},"parameters":{"type":"object","properties":{"max_results":{"type":"integer","minimum":1,"maximum":20,"uniqueKey":"tools.items.[INDEX].oneOf.6.parameters.max_results","typeLabel":"integer"}},"uniqueKey":"tools.items.[INDEX].oneOf.6.parameters","typeLabel":"object"}},"uniqueKey":"tools.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","description":"OpenAI's hosted web search tool. OpenAI, Azure OpenAI (Responses) and xAI run it natively. On models whose providers cannot run it, the gateway runs it as `phaseo:web_search`: `search_context_size`, `filters.allowed_domains`, `max_results` and `engine` carry over, and searches are billed as `phaseo:web_search` searches. Other OpenAI hosted tools (`file_search`, `code_interpreter`, `computer_use_preview`, `mcp`, `image_generation`, `shell`, `local_shell`, `apply_patch`) fail with 400 `unsupported_hosted_tool` on models whose providers cannot run them.\n","required":["type"],"properties":{"type":{"type":"string","enum":["web_search","web_search_2025_08_26","web_search_preview","web_search_preview_2025_03_11"],"isRequired":true,"uniqueKey":"tools.items.[INDEX].oneOf.7.type","typeLabel":"enum\u003cstring>"},"search_context_size":{"type":"string","enum":["low","medium","high"],"uniqueKey":"tools.items.[INDEX].oneOf.7.search_context_size","typeLabel":"enum\u003cstring>"},"filters":{"type":"object","properties":{"allowed_domains":{"type":"array","items":{"type":"string","uniqueKey":"tools.items.[INDEX].oneOf.7.filters.allowed_domains.items.[INDEX]","typeLabel":"string"},"uniqueKey":"tools.items.[INDEX].oneOf.7.filters.allowed_domains","typeLabel":"string[]"}},"uniqueKey":"tools.items.[INDEX].oneOf.7.filters","typeLabel":"object"},"user_location":{"type":"object","additionalProperties":true,"uniqueKey":"tools.items.[INDEX].oneOf.7.user_location","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"tools.items.[INDEX].oneOf.7","typeLabel":"object"}],"uniqueKey":"tools.items.[INDEX]","typeLabel":"object"},"uniqueKey":"tools","typeLabel":"object[]"},"top_p":{"type":"number","minimum":0,"maximum":1,"uniqueKey":"top_p","typeLabel":"number"},"truncation":{"type":"string","enum":["auto","disabled"],"uniqueKey":"truncation","typeLabel":"enum\u003cstring>"},"user":{"type":"string","uniqueKey":"user","typeLabel":"string"},"prompt_cache_key":{"oneOf":[{"type":"string","description":"Groups related requests so they stay on the provider that holds their prompt cache. Phaseo sends a hash of your workspace and this key upstream, never the raw key.","uniqueKey":"prompt_cache_key.oneOf.0","typeLabel":"string"},{"type":"null","description":"Groups related requests so they stay on the provider that holds their prompt cache. Phaseo sends a hash of your workspace and this key upstream, never the raw key.","uniqueKey":"prompt_cache_key.oneOf.1","typeLabel":"null"}],"uniqueKey":"prompt_cache_key","typeLabel":"string | null"},"prompt_cache_retention":{"type":"string","enum":["in_memory","24h"],"description":"Prompt cache retention for OpenAI and Azure OpenAI models before GPT-5.6. Takes precedence over provider_options.openai.prompt_cache_retention.","uniqueKey":"prompt_cache_retention","typeLabel":"enum\u003cstring>"},"prompt_cache_options":{"type":"object","description":"Prompt cache mode and TTL for OpenAI and Azure OpenAI GPT-5.6 and later (ttl 30m, or 12h on OpenAI) and for DeepInfra (ttl 5m or 1h). Removed for other providers.","properties":{"mode":{"type":"string","enum":["implicit","explicit"],"uniqueKey":"prompt_cache_options.mode","typeLabel":"enum\u003cstring>"},"ttl":{"type":"string","description":"Minimum cache lifetime. OpenAI GPT-5.6 and later: 30m (default) or 12h; a request asking for 12h runs on OpenAI's Responses API. Azure OpenAI: 30m. DeepInfra: 5m or 1h. A route that cannot take 12h receives the request without it, and the removal is reported in X-Phaseo-Dropped-Params.","uniqueKey":"prompt_cache_options.ttl","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"prompt_cache_options","typeLabel":"object"},"cache_control":{"type":"object","description":"Prompt cache control. Use type ephemeral with an optional ttl of 5m or 1h. scope applies only to a top-level Claude cache policy. Amazon Bedrock and Google Vertex AI cache Claude 3.7 Sonnet, 3.5 Sonnet and 3 Opus for 5 minutes only; there the ttl is removed and a removed 1h is reported in X-Phaseo-Dropped-Params as cache_control.ttl.","properties":{"type":{"type":"string","uniqueKey":"cache_control.type","typeLabel":"string"},"ttl":{"type":"string","uniqueKey":"cache_control.ttl","typeLabel":"string"},"scope":{"type":"string","uniqueKey":"cache_control.scope","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"cache_control","typeLabel":"object"},"safety_identifier":{"oneOf":[{"type":"string","uniqueKey":"safety_identifier.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"safety_identifier.oneOf.1","typeLabel":"null"}],"uniqueKey":"safety_identifier","typeLabel":"string | null"},"modalities":{"type":"array","items":{"type":"string","enum":["text","image","audio"],"uniqueKey":"modalities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"modalities","typeLabel":"enum\u003cstring>[]"},"image_config":{"type":"object","properties":{"aspect_ratio":{"type":"string","uniqueKey":"image_config.aspect_ratio","typeLabel":"string"},"image_size":{"type":"string","enum":["0.5K","1K","2K","4K"],"uniqueKey":"image_config.image_size","typeLabel":"enum\u003cstring>"},"include_rai_reason":{"type":"boolean","uniqueKey":"image_config.include_rai_reason","typeLabel":"boolean"},"font_inputs":{"type":"array","items":{"type":"object","properties":{"font_url":{"type":"string","format":"uri","uniqueKey":"image_config.font_inputs.items.[INDEX].font_url","typeLabel":"string\u003curi>"},"text":{"type":"string","uniqueKey":"image_config.font_inputs.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"image_config.font_inputs.items.[INDEX]","typeLabel":"object"},"uniqueKey":"image_config.font_inputs","typeLabel":"object[]"},"super_resolution_references":{"type":"array","items":{"type":"string","uniqueKey":"image_config.super_resolution_references.items.[INDEX]","typeLabel":"string"},"uniqueKey":"image_config.super_resolution_references","typeLabel":"string[]"},"reference_images":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"image_config.reference_images.items.[INDEX]","typeLabel":"object"},"uniqueKey":"image_config.reference_images","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"image_config","typeLabel":"object"},"provider_options":{"type":"object","description":"Optional provider-specific options.","properties":{"openai":{"type":"object","properties":{"context_management":{"type":"object","description":"Optional OpenAI context management configuration.","properties":{"type":{"type":"string","enum":["compaction"],"isRequired":true,"uniqueKey":"provider_options.openai.context_management.type","typeLabel":"enum\u003cstring>"},"compact_threshold":{"type":"number","uniqueKey":"provider_options.openai.context_management.compact_threshold","typeLabel":"number"}},"required":["type"],"uniqueKey":"provider_options.openai.context_management","typeLabel":"object"},"prompt_cache_retention":{"type":"string","uniqueKey":"provider_options.openai.prompt_cache_retention","typeLabel":"string"},"prompt_cache_options":{"type":"object","description":"Prompt cache mode and TTL for OpenAI and Azure OpenAI GPT-5.6 and later (ttl 30m, or 12h on OpenAI) and for DeepInfra (ttl 5m or 1h). Removed for other providers.","properties":{"mode":{"type":"string","enum":["implicit","explicit"],"uniqueKey":"provider_options.openai.prompt_cache_options.mode","typeLabel":"enum\u003cstring>"},"ttl":{"type":"string","description":"Minimum cache lifetime. OpenAI GPT-5.6 and later: 30m (default) or 12h; a request asking for 12h runs on OpenAI's Responses API. Azure OpenAI: 30m. DeepInfra: 5m or 1h. A route that cannot take 12h receives the request without it, and the removal is reported in X-Phaseo-Dropped-Params.","uniqueKey":"provider_options.openai.prompt_cache_options.ttl","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"provider_options.openai.prompt_cache_options","typeLabel":"object"}},"uniqueKey":"provider_options.openai","typeLabel":"object"},"anthropic":{"type":"object","properties":{"cache_control":{"type":"object","description":"Prompt cache control. Use type ephemeral with an optional ttl of 5m or 1h. scope applies only to a top-level Claude cache policy. Amazon Bedrock and Google Vertex AI cache Claude 3.7 Sonnet, 3.5 Sonnet and 3 Opus for 5 minutes only; there the ttl is removed and a removed 1h is reported in X-Phaseo-Dropped-Params as cache_control.ttl.","properties":{"type":{"type":"string","uniqueKey":"provider_options.anthropic.cache_control.type","typeLabel":"string"},"ttl":{"type":"string","uniqueKey":"provider_options.anthropic.cache_control.ttl","typeLabel":"string"},"scope":{"type":"string","uniqueKey":"provider_options.anthropic.cache_control.scope","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"provider_options.anthropic.cache_control","typeLabel":"object"}},"uniqueKey":"provider_options.anthropic","typeLabel":"object"},"xai":{"type":"object","properties":{"conversation_id":{"type":"string","description":"xAI conversation ID, sent as the x-grok-conv-id header.","uniqueKey":"provider_options.xai.conversation_id","typeLabel":"string"}},"uniqueKey":"provider_options.xai","typeLabel":"object"},"google":{"type":"object","properties":{"cache_control":{"type":"object","description":"Prompt cache control. Use type ephemeral with an optional ttl of 5m or 1h. scope applies only to a top-level Claude cache policy. Amazon Bedrock and Google Vertex AI cache Claude 3.7 Sonnet, 3.5 Sonnet and 3 Opus for 5 minutes only; there the ttl is removed and a removed 1h is reported in X-Phaseo-Dropped-Params as cache_control.ttl.","properties":{"type":{"type":"string","uniqueKey":"provider_options.google.cache_control.type","typeLabel":"string"},"ttl":{"type":"string","uniqueKey":"provider_options.google.cache_control.ttl","typeLabel":"string"},"scope":{"type":"string","uniqueKey":"provider_options.google.cache_control.scope","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"provider_options.google.cache_control","typeLabel":"object"},"cached_content":{"type":"string","uniqueKey":"provider_options.google.cached_content","typeLabel":"string"},"cache_ttl":{"type":"string","uniqueKey":"provider_options.google.cache_ttl","typeLabel":"string"}},"uniqueKey":"provider_options.google","typeLabel":"object"}},"uniqueKey":"provider_options","typeLabel":"object"},"usage":{"type":"boolean","uniqueKey":"usage","typeLabel":"boolean"},"meta":{"type":"boolean","uniqueKey":"meta","typeLabel":"boolean"},"echo_upstream_request":{"type":"boolean","uniqueKey":"echo_upstream_request","typeLabel":"boolean"},"debug":{"type":"object","description":"Gateway debug controls. These flags are never forwarded upstream.","properties":{"enabled":{"type":"boolean","uniqueKey":"debug.enabled","typeLabel":"boolean"},"return_upstream_request":{"type":"boolean","uniqueKey":"debug.return_upstream_request","typeLabel":"boolean"},"return_upstream_response":{"type":"boolean","uniqueKey":"debug.return_upstream_response","typeLabel":"boolean"},"trace":{"type":"boolean","uniqueKey":"debug.trace","typeLabel":"boolean"},"trace_level":{"type":"string","enum":["summary","full"],"uniqueKey":"debug.trace_level","typeLabel":"enum\u003cstring>"}},"uniqueKey":"debug","typeLabel":"object"},"provider":{"type":"object","description":"Provider routing preferences for gateway selection.","properties":{"order":{"type":"array","items":{"type":"string","uniqueKey":"provider.order.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider.order","typeLabel":"string[]"},"only":{"type":"array","items":{"type":"string","uniqueKey":"provider.only.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider.only","typeLabel":"string[]"},"ignore":{"type":"array","items":{"type":"string","uniqueKey":"provider.ignore.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider.ignore","typeLabel":"string[]"},"include_alpha":{"type":"boolean","description":"Include alpha providers in routing (off by default).","uniqueKey":"provider.include_alpha","typeLabel":"boolean"},"allow_fallbacks":{"oneOf":[{"type":"boolean","description":"Allow fallback to another eligible provider after failure.","uniqueKey":"provider.allow_fallbacks.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Allow fallback to another eligible provider after failure.","uniqueKey":"provider.allow_fallbacks.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.allow_fallbacks","typeLabel":"boolean | null"},"require_parameters":{"oneOf":[{"type":"boolean","description":"Require provider support for requested parameters before routing.","uniqueKey":"provider.require_parameters.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Require provider support for requested parameters before routing.","uniqueKey":"provider.require_parameters.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.require_parameters","typeLabel":"boolean | null"},"required_execution_region":{"oneOf":[{"type":"string","description":"Restrict routing to providers with the requested execution region.","uniqueKey":"provider.required_execution_region.oneOf.0","typeLabel":"string"},{"type":"null","description":"Restrict routing to providers with the requested execution region.","uniqueKey":"provider.required_execution_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.required_execution_region","typeLabel":"string | null"},"required_data_region":{"oneOf":[{"type":"string","description":"Restrict routing to providers with the requested data region.","uniqueKey":"provider.required_data_region.oneOf.0","typeLabel":"string"},{"type":"null","description":"Restrict routing to providers with the requested data region.","uniqueKey":"provider.required_data_region.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.required_data_region","typeLabel":"string | null"},"require_zero_data_retention":{"oneOf":[{"type":"boolean","description":"Restrict routing to providers that support zero data retention.","uniqueKey":"provider.require_zero_data_retention.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Restrict routing to providers that support zero data retention.","uniqueKey":"provider.require_zero_data_retention.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.require_zero_data_retention","typeLabel":"boolean | null"},"data_collection":{"oneOf":[{"type":"string","description":"`allow` (the default) filters nothing. `deny` is not supported yet and returns 400 unsupported_routing_filter.","enum":["allow","deny"],"uniqueKey":"provider.data_collection.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"`allow` (the default) filters nothing. `deny` is not supported yet and returns 400 unsupported_routing_filter.","enum":["allow","deny"],"uniqueKey":"provider.data_collection.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.data_collection","typeLabel":"enum\u003cstring> | null"},"zdr":{"oneOf":[{"type":"boolean","uniqueKey":"provider.zdr.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"provider.zdr.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.zdr","typeLabel":"boolean | null"},"enforce_distillable_text":{"oneOf":[{"type":"boolean","description":"`false` (the default) filters nothing. `true` is not supported yet and returns 400 unsupported_routing_filter.","uniqueKey":"provider.enforce_distillable_text.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`false` (the default) filters nothing. `true` is not supported yet and returns 400 unsupported_routing_filter.","uniqueKey":"provider.enforce_distillable_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.enforce_distillable_text","typeLabel":"boolean | null"},"quantizations":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"provider.quantizations.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider.quantizations.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"uniqueKey":"provider.quantizations.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider.quantizations","typeLabel":"string[] | null"},"sort":{"oneOf":[{"type":"string","description":"Rank providers for this request, for example by price, latency, or throughput.","uniqueKey":"provider.sort.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rank providers for this request, for example by price, latency, or throughput.","additionalProperties":true,"uniqueKey":"provider.sort.oneOf.1","typeLabel":"object"}],"uniqueKey":"provider.sort","typeLabel":"string | object"},"max_price":{"type":"object","properties":{"prompt":{"oneOf":[{"type":"number","uniqueKey":"provider.max_price.prompt.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"provider.max_price.prompt.oneOf.1","typeLabel":"string"}],"uniqueKey":"provider.max_price.prompt","typeLabel":"number | string"},"completion":{"oneOf":[{"type":"number","uniqueKey":"provider.max_price.completion.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"provider.max_price.completion.oneOf.1","typeLabel":"string"}],"uniqueKey":"provider.max_price.completion","typeLabel":"number | string"},"image":{"oneOf":[{"type":"number","uniqueKey":"provider.max_price.image.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"provider.max_price.image.oneOf.1","typeLabel":"string"}],"uniqueKey":"provider.max_price.image","typeLabel":"number | string"},"audio":{"oneOf":[{"type":"number","uniqueKey":"provider.max_price.audio.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"provider.max_price.audio.oneOf.1","typeLabel":"string"}],"uniqueKey":"provider.max_price.audio","typeLabel":"number | string"},"request":{"oneOf":[{"type":"number","uniqueKey":"provider.max_price.request.oneOf.0","typeLabel":"number"},{"type":"string","uniqueKey":"provider.max_price.request.oneOf.1","typeLabel":"string"}],"uniqueKey":"provider.max_price.request","typeLabel":"number | string"}},"uniqueKey":"provider.max_price","typeLabel":"object"},"preferred_min_throughput":{"oneOf":[{"type":"number","uniqueKey":"provider.preferred_min_throughput.oneOf.0","typeLabel":"number"},{"type":"object","additionalProperties":{"type":"number","uniqueKey":"provider.preferred_min_throughput.oneOf.1.additionalProperties","typeLabel":"number"},"uniqueKey":"provider.preferred_min_throughput.oneOf.1","typeLabel":"object"}],"uniqueKey":"provider.preferred_min_throughput","typeLabel":"number | object"},"preferred_max_latency":{"oneOf":[{"type":"number","uniqueKey":"provider.preferred_max_latency.oneOf.0","typeLabel":"number"},{"type":"object","additionalProperties":{"type":"number","uniqueKey":"provider.preferred_max_latency.oneOf.1.additionalProperties","typeLabel":"number"},"uniqueKey":"provider.preferred_max_latency.oneOf.1","typeLabel":"object"}],"uniqueKey":"provider.preferred_max_latency","typeLabel":"number | object"}},"uniqueKey":"provider","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"datetimeServerTool":{"title":"datetimeServerTool","value":{"model":"openai/gpt-5-nano","stream":false,"input":[{"role":"user","content":"Give me the current datetime in Asia/Tokyo."}],"tools":[{"type":"gateway:datetime","parameters":{"timezone":"Asia/Tokyo"}}],"tool_choice":"auto"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"95fb62bb-65b3-4489-81e7-ee42f603a7d4":{"description":"Response","headers":{"x-request-id":{"description":"Server-generated public request identifier. For inference requests, this is the generation ID used in response payloads and request logs. Caller-supplied x-request-id values do not replace it.","schema":{"type":"string","pattern":"^G-[0-9A-HJKMNP-TV-Z]{26}$"}},"X-Phaseo-Requested-Model":{"description":"The model the request asked for. Sent only when retired model routing answered the request with a replacement model.","schema":{"type":"string"}},"X-Phaseo-Model-Substitution":{"description":"Why and how the requested model was replaced, for example `reason=unserved; from=lab/old-model; to=lab/new-model`. Sent only when retired model routing answered the request with a replacement model.","schema":{"type":"string"}},"X-Phaseo-Dropped-Params":{"description":"Request parameters the client sent that the serving provider does not support, which the gateway removed instead of sending them upstream or rejecting the request, for example `top_k, min_p`. Sent only on successful responses, and only when at least one parameter from the request body was dropped. Parameters that come from a preset or a default value are not listed.","schema":{"type":"string"}},"X-Phaseo-Spend-Warning":{"description":"Sent while a spend rule that blocks covers the request and spend has passed its last alert threshold but not yet its block point. Lists up to three rules as rule_id, scope and resets_at, for example `rule_id=...; scope=workspace; resets_at=2026-11-01T00:00:00.000Z`. Once spend reaches the block point, requests in scope get a 429 with code spend_rule_blocked.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","uniqueKey":"object","typeLabel":"string"},"created":{"type":"integer","uniqueKey":"created","typeLabel":"integer"},"model":{"type":"string","uniqueKey":"model","typeLabel":"string"},"provider":{"type":"string","uniqueKey":"provider","typeLabel":"string"},"provider_id":{"type":"string","uniqueKey":"provider_id","typeLabel":"string"},"nativeResponseId":{"oneOf":[{"type":"string","uniqueKey":"nativeResponseId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"nativeResponseId.oneOf.1","typeLabel":"null"}],"uniqueKey":"nativeResponseId","typeLabel":"string | null"},"status":{"type":"string","enum":["completed","failed","incomplete"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"finish_reason":{"oneOf":[{"type":"string","uniqueKey":"finish_reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"finish_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"finish_reason","typeLabel":"string | null"},"meta":{"type":"object","additionalProperties":true,"uniqueKey":"meta","typeLabel":"object"},"cost_nanos":{"type":"number","uniqueKey":"cost_nanos","typeLabel":"number"},"cost_cents":{"type":"integer","uniqueKey":"cost_cents","typeLabel":"integer"},"currency":{"type":"string","uniqueKey":"currency","typeLabel":"string"},"pricing_lines":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"pricing_lines.items.[INDEX]","typeLabel":"object"},"uniqueKey":"pricing_lines","typeLabel":"object[]"},"output":{"type":"array","items":{"type":"object","description":"Responses API output item.","properties":{"type":{"type":"string","uniqueKey":"output.items.[INDEX].type","typeLabel":"string"},"id":{"type":"string","uniqueKey":"output.items.[INDEX].id","typeLabel":"string"},"role":{"type":"string","uniqueKey":"output.items.[INDEX].role","typeLabel":"string"},"content":{"type":"array","items":{"oneOf":[{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["output_text"],"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.0.text","typeLabel":"string"},"annotations":{"type":"array","items":{"type":"object","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.0.annotations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.0.annotations","typeLabel":"object[]"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Reasoning text in the content of a reasoning output item.","required":["type","text"],"properties":{"type":{"type":"string","enum":["reasoning_text"],"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.1.text","typeLabel":"string"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["type","b64_json"],"properties":{"type":{"type":"string","enum":["output_image"],"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"b64_json":{"type":"string","isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.2.b64_json","typeLabel":"string"},"image_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.2.image_url.url","typeLabel":"string"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.2.image_url","typeLabel":"object"},"mime_type":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.2.mime_type","typeLabel":"string"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["type","image_url"],"properties":{"type":{"type":"string","enum":["output_image"],"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"image_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.3.image_url.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.3.image_url","typeLabel":"object"},"b64_json":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.3.b64_json","typeLabel":"string"},"mime_type":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.3.mime_type","typeLabel":"string"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["type","b64_json"],"properties":{"type":{"type":"string","enum":["output_audio"],"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"b64_json":{"type":"string","isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.4.b64_json","typeLabel":"string"},"audio_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.4.audio_url.url","typeLabel":"string"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.4.audio_url","typeLabel":"object"},"mime_type":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.4.mime_type","typeLabel":"string"},"format":{"type":"string","enum":["wav","mp3","flac","m4a","ogg","pcm16","pcm24"],"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.4.format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","required":["type","audio_url"],"properties":{"type":{"type":"string","enum":["output_audio"],"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"audio_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.5.audio_url.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.5.audio_url","typeLabel":"object"},"b64_json":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.5.b64_json","typeLabel":"string"},"mime_type":{"type":"string","uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.5.mime_type","typeLabel":"string"},"format":{"type":"string","enum":["wav","mp3","flac","m4a","ogg","pcm16","pcm24"],"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.5.format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"output.items.[INDEX].content.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"output.items.[INDEX].content.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output.items.[INDEX].content","typeLabel":"object[]"},"call_id":{"type":"string","uniqueKey":"output.items.[INDEX].call_id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"output.items.[INDEX].name","typeLabel":"string"},"arguments":{"type":"string","uniqueKey":"output.items.[INDEX].arguments","typeLabel":"string"},"summary":{"type":"array","items":{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["summary_text"],"isRequired":true,"uniqueKey":"output.items.[INDEX].summary.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"output.items.[INDEX].summary.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"output.items.[INDEX].summary.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output.items.[INDEX].summary","typeLabel":"object[]"},"encrypted_content":{"type":"string","uniqueKey":"output.items.[INDEX].encrypted_content","typeLabel":"string"}},"uniqueKey":"output.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output","typeLabel":"object[]"},"output_items":{"type":"array","items":{"type":"object","description":"Responses API output item.","properties":{"type":{"type":"string","uniqueKey":"output_items.items.[INDEX].type","typeLabel":"string"},"id":{"type":"string","uniqueKey":"output_items.items.[INDEX].id","typeLabel":"string"},"role":{"type":"string","uniqueKey":"output_items.items.[INDEX].role","typeLabel":"string"},"content":{"type":"array","items":{"oneOf":[{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["output_text"],"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.0.text","typeLabel":"string"},"annotations":{"type":"array","items":{"type":"object","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.0.annotations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.0.annotations","typeLabel":"object[]"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Reasoning text in the content of a reasoning output item.","required":["type","text"],"properties":{"type":{"type":"string","enum":["reasoning_text"],"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.1.text","typeLabel":"string"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["type","b64_json"],"properties":{"type":{"type":"string","enum":["output_image"],"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"b64_json":{"type":"string","isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.2.b64_json","typeLabel":"string"},"image_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.2.image_url.url","typeLabel":"string"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.2.image_url","typeLabel":"object"},"mime_type":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.2.mime_type","typeLabel":"string"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["type","image_url"],"properties":{"type":{"type":"string","enum":["output_image"],"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"image_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.3.image_url.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.3.image_url","typeLabel":"object"},"b64_json":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.3.b64_json","typeLabel":"string"},"mime_type":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.3.mime_type","typeLabel":"string"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["type","b64_json"],"properties":{"type":{"type":"string","enum":["output_audio"],"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"b64_json":{"type":"string","isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.4.b64_json","typeLabel":"string"},"audio_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.4.audio_url.url","typeLabel":"string"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.4.audio_url","typeLabel":"object"},"mime_type":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.4.mime_type","typeLabel":"string"},"format":{"type":"string","enum":["wav","mp3","flac","m4a","ogg","pcm16","pcm24"],"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.4.format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","required":["type","audio_url"],"properties":{"type":{"type":"string","enum":["output_audio"],"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"audio_url":{"type":"object","properties":{"url":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.5.audio_url.url","typeLabel":"string"}},"isRequired":true,"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.5.audio_url","typeLabel":"object"},"b64_json":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.5.b64_json","typeLabel":"string"},"mime_type":{"type":"string","uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.5.mime_type","typeLabel":"string"},"format":{"type":"string","enum":["wav","mp3","flac","m4a","ogg","pcm16","pcm24"],"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.5.format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"output_items.items.[INDEX].content.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output_items.items.[INDEX].content","typeLabel":"object[]"},"call_id":{"type":"string","uniqueKey":"output_items.items.[INDEX].call_id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"output_items.items.[INDEX].name","typeLabel":"string"},"arguments":{"type":"string","uniqueKey":"output_items.items.[INDEX].arguments","typeLabel":"string"},"summary":{"type":"array","items":{"type":"object","required":["type","text"],"properties":{"type":{"type":"string","enum":["summary_text"],"isRequired":true,"uniqueKey":"output_items.items.[INDEX].summary.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"output_items.items.[INDEX].summary.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"output_items.items.[INDEX].summary.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output_items.items.[INDEX].summary","typeLabel":"object[]"},"encrypted_content":{"type":"string","uniqueKey":"output_items.items.[INDEX].encrypted_content","typeLabel":"string"}},"uniqueKey":"output_items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"output_items","typeLabel":"object[]"},"content":{"type":"array","items":{"type":"object","uniqueKey":"content.items.[INDEX]","typeLabel":"object"},"uniqueKey":"content","typeLabel":"object[]"},"role":{"type":"string","uniqueKey":"role","typeLabel":"string"},"stop_reason":{"type":"string","uniqueKey":"stop_reason","typeLabel":"string"},"type":{"type":"string","uniqueKey":"type","typeLabel":"string"},"usage":{"type":"object","properties":{"prompt_tokens":{"type":"integer","description":"Input tokens, including cache reads and cache writes.","uniqueKey":"usage.prompt_tokens","typeLabel":"integer"},"prompt_tokens_details":{"type":"object","description":"Breakdown of the input tokens.","properties":{"cached_tokens":{"type":"integer","description":"Input tokens read from the provider's prompt cache.","uniqueKey":"usage.prompt_tokens_details.cached_tokens","typeLabel":"integer"},"cache_write_tokens":{"type":"integer","description":"Input tokens written to the provider's prompt cache.","uniqueKey":"usage.prompt_tokens_details.cache_write_tokens","typeLabel":"integer"},"cache_write_tokens_details":{"type":"object","description":"Cache writes split by lifetime, on Responses usage from OpenAI GPT-5.6 and later. The two counts sum to cache_write_tokens. Not returned in Chat Completions prompt_tokens_details.","properties":{"ttl_30m_tokens":{"type":"integer","description":"Input tokens written to the cache with a 30-minute lifetime, billed at 1.25x the input rate.","uniqueKey":"usage.prompt_tokens_details.cache_write_tokens_details.ttl_30m_tokens","typeLabel":"integer"},"ttl_12h_tokens":{"type":"integer","description":"Input tokens written to the cache with a 12-hour lifetime, billed at 2.5x the input rate.","uniqueKey":"usage.prompt_tokens_details.cache_write_tokens_details.ttl_12h_tokens","typeLabel":"integer"}},"uniqueKey":"usage.prompt_tokens_details.cache_write_tokens_details","typeLabel":"object"}},"uniqueKey":"usage.prompt_tokens_details","typeLabel":"object"},"completion_tokens":{"type":"integer","uniqueKey":"usage.completion_tokens","typeLabel":"integer"},"input_tokens":{"type":"integer","description":"Input tokens, including cache reads and cache writes.","uniqueKey":"usage.input_tokens","typeLabel":"integer"},"input_tokens_details":{"type":"object","description":"Breakdown of the input tokens.","properties":{"cached_tokens":{"type":"integer","description":"Input tokens read from the provider's prompt cache.","uniqueKey":"usage.input_tokens_details.cached_tokens","typeLabel":"integer"},"cache_write_tokens":{"type":"integer","description":"Input tokens written to the provider's prompt cache.","uniqueKey":"usage.input_tokens_details.cache_write_tokens","typeLabel":"integer"},"cache_write_tokens_details":{"type":"object","description":"Cache writes split by lifetime, on Responses usage from OpenAI GPT-5.6 and later. The two counts sum to cache_write_tokens. Not returned in Chat Completions prompt_tokens_details.","properties":{"ttl_30m_tokens":{"type":"integer","description":"Input tokens written to the cache with a 30-minute lifetime, billed at 1.25x the input rate.","uniqueKey":"usage.input_tokens_details.cache_write_tokens_details.ttl_30m_tokens","typeLabel":"integer"},"ttl_12h_tokens":{"type":"integer","description":"Input tokens written to the cache with a 12-hour lifetime, billed at 2.5x the input rate.","uniqueKey":"usage.input_tokens_details.cache_write_tokens_details.ttl_12h_tokens","typeLabel":"integer"}},"uniqueKey":"usage.input_tokens_details.cache_write_tokens_details","typeLabel":"object"}},"uniqueKey":"usage.input_tokens_details","typeLabel":"object"},"output_tokens":{"type":"integer","uniqueKey":"usage.output_tokens","typeLabel":"integer"},"total_tokens":{"type":"integer","uniqueKey":"usage.total_tokens","typeLabel":"integer"},"server_tool_use":{"type":"object","properties":{"datetime_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.datetime_requests","typeLabel":"integer"},"web_search_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.web_search_requests","typeLabel":"integer"},"subagent_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.subagent_requests","typeLabel":"integer"},"fusion_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.fusion_requests","typeLabel":"integer"},"search_models_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.search_models_requests","typeLabel":"integer"},"web_fetch_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.web_fetch_requests","typeLabel":"integer"},"advisor_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.advisor_requests","typeLabel":"integer"},"image_generation_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.image_generation_requests","typeLabel":"integer"},"apply_patch_requests":{"type":"integer","minimum":0,"uniqueKey":"usage.server_tool_use.apply_patch_requests","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"usage.server_tool_use","typeLabel":"object"},"cost":{"type":"number","format":"double","description":"What the request costs you, in US dollars: the amount charged to your credits, the same figure as `cost_nanos`, after any data-sharing discount or zero-output waiver. Returned on Chat Completions, Responses, Messages and embeddings responses once the request is priced. On a stream it is on the final usage frame (on Messages, the final `message_delta`) and covers the whole stream. A stream leaves it out when the charge is not known as that frame is sent: on a BYOK stream, whose service fee is worked out when the stream ends (`cost_details.upstream_inference_cost` gives the model price instead), and on a stream that has already failed, which is not charged.","example":0.001234567,"uniqueKey":"usage.cost","typeLabel":"number\u003cdouble>"},"cost_details":{"type":"object","description":"Breakdown of the request's cost.","properties":{"upstream_inference_cost":{"oneOf":[{"type":"number","format":"double","description":"On a BYOK request, what the provider charges your own key for the inference, in US dollars, at the model's listed prices. Null when the request runs on Phaseo credits, where `cost` is the whole charge.","example":null,"uniqueKey":"usage.cost_details.upstream_inference_cost.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","description":"On a BYOK request, what the provider charges your own key for the inference, in US dollars, at the model's listed prices. Null when the request runs on Phaseo credits, where `cost` is the whole charge.","example":null,"uniqueKey":"usage.cost_details.upstream_inference_cost.oneOf.1","typeLabel":"null"}],"uniqueKey":"usage.cost_details.upstream_inference_cost","typeLabel":"number\u003cdouble> | null"}},"uniqueKey":"usage.cost_details","typeLabel":"object"}},"uniqueKey":"usage","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","object":"\u003cstring>","created":123,"model":"\u003cstring>","provider":"\u003cstring>","provider_id":"\u003cstring>","nativeResponseId":"\u003cstring>","status":"completed","finish_reason":"\u003cstring>","meta":{},"cost_nanos":123,"cost_cents":123,"currency":"\u003cstring>","pricing_lines":[{}],"output":[{"type":"\u003cstring>","id":"\u003cstring>","role":"\u003cstring>","content":[{"type":"output_text","text":"\u003cstring>","annotations":[{}]}],"call_id":"\u003cstring>","name":"\u003cstring>","arguments":"\u003cstring>","summary":[{"type":"summary_text","text":"\u003cstring>"}],"encrypted_content":"\u003cstring>"}],"output_items":[{"type":"\u003cstring>","id":"\u003cstring>","role":"\u003cstring>","content":[{"type":"output_text","text":"\u003cstring>","annotations":[{}]}],"call_id":"\u003cstring>","name":"\u003cstring>","arguments":"\u003cstring>","summary":[{"type":"summary_text","text":"\u003cstring>"}],"encrypted_content":"\u003cstring>"}],"content":[{}],"role":"\u003cstring>","stop_reason":"\u003cstring>","type":"\u003cstring>","usage":{"prompt_tokens":123,"prompt_tokens_details":{"cached_tokens":123,"cache_write_tokens":123,"cache_write_tokens_details":{"ttl_30m_tokens":123,"ttl_12h_tokens":123}},"completion_tokens":123,"input_tokens":123,"input_tokens_details":{"cached_tokens":123,"cache_write_tokens":123,"cache_write_tokens_details":{"ttl_30m_tokens":123,"ttl_12h_tokens":123}},"output_tokens":123,"total_tokens":123,"server_tool_use":{"datetime_requests":1,"web_search_requests":1,"subagent_requests":1,"fusion_requests":1,"search_models_requests":1,"web_fetch_requests":1,"advisor_requests":1,"image_generation_requests":1,"apply_patch_requests":1},"cost":0.001234567,"cost_details":{"upstream_inference_cost":null}}}}},"exampleType":"generated"}},"exampleType":"generated"},"5b63cc29-6332-4f92-a188-a644381229f6":{"description":"The selected upstream provider rate-limited the request.","headers":{"Retry-After":{"description":"Validated provider guidance in seconds before retrying.","schema":{"type":"integer","minimum":0,"maximum":86400}},"X-Phaseo-Upstream-RateLimit-Limit":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Remaining":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Reset":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Limit-Requests":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Remaining-Requests":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Reset-Requests":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Limit-Tokens":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Remaining-Tokens":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}},"X-Phaseo-Upstream-RateLimit-Reset-Tokens":{"description":"BYOK-only provider quota metadata. Omitted for managed-provider requests.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"oneOf":[{"type":"string","description":"The error object (`code`, `message`, `type`, `param` and optional `metadata`) that OpenAI-compatible SDKs read. Earlier responses returned the code string here; it is now also returned as top-level `code`.","example":{"code":"validation_error","message":"Unknown parameter: foo","type":"invalid_request_error","param":"foo"},"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"object","description":"The error object (`code`, `message`, `type`, `param` and optional `metadata`) that OpenAI-compatible SDKs read. Earlier responses returned the code string here; it is now also returned as top-level `code`.","required":["code","message","type"],"example":{"code":"validation_error","message":"Unknown parameter: foo","type":"invalid_request_error","param":"foo"},"properties":{"code":{"type":"string","description":"Machine-readable error code.","example":"validation_error","isRequired":true,"uniqueKey":"error.oneOf.1.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation of the failure.","example":"Unknown parameter: foo","isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"},"type":{"type":"string","description":"The error type, following OpenAI's documented error types.","enum":["invalid_request_error","authentication_error","permission_error","not_found_error","rate_limit_error","insufficient_quota","server_error","service_unavailable","overloaded"],"example":"invalid_request_error","isRequired":true,"uniqueKey":"error.oneOf.1.type","typeLabel":"enum\u003cstring>"},"param":{"oneOf":[{"type":"string","description":"The request parameter that caused the error, when known.","example":"foo","uniqueKey":"error.oneOf.1.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request parameter that caused the error, when known.","example":"foo","uniqueKey":"error.oneOf.1.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.oneOf.1.param","typeLabel":"string | null"},"metadata":{"type":"object","description":"Structured detail also returned at the top level, such as the failing provider, `reason`, `failed_statuses`, `retry_after_seconds` or `upstream_error`.","additionalProperties":true,"uniqueKey":"error.oneOf.1.metadata","typeLabel":"object"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | object"},"ok":{"type":"boolean","example":false,"uniqueKey":"ok","typeLabel":"boolean"},"code":{"type":"string","description":"The error code, the same value as `error.code`.","example":"validation_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"Human-readable error message","uniqueKey":"message","typeLabel":"string"},"description":{"type":"string","example":"Additional error details.","uniqueKey":"description","typeLabel":"string"},"generation_id":{"type":"string","example":"G-abc123","uniqueKey":"generation_id","typeLabel":"string"},"status_code":{"type":"integer","example":502,"uniqueKey":"status_code","typeLabel":"integer"},"error_type":{"type":"string","enum":["user","system"],"example":"system","uniqueKey":"error_type","typeLabel":"enum\u003cstring>"},"error_origin":{"type":"string","enum":["user","gateway","upstream"],"example":"upstream","uniqueKey":"error_origin","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","example":"all_candidates_failed","uniqueKey":"reason","typeLabel":"string"},"attempt_count":{"type":"integer","example":2,"uniqueKey":"attempt_count","typeLabel":"integer"},"failed_providers":{"type":"array","items":{"type":"string","uniqueKey":"failed_providers.items.[INDEX]","typeLabel":"string"},"example":["google-ai-studio","openai"],"uniqueKey":"failed_providers","typeLabel":"string[]"},"failed_statuses":{"type":"array","items":{"type":"integer","uniqueKey":"failed_statuses.items.[INDEX]","typeLabel":"integer"},"example":[403,429],"uniqueKey":"failed_statuses","typeLabel":"integer[]"},"upstream_error":{"type":"object","properties":{"code":{"oneOf":[{"type":"string","example":"PERMISSION_DENIED","uniqueKey":"upstream_error.code.oneOf.0","typeLabel":"string"},{"type":"null","example":"PERMISSION_DENIED","uniqueKey":"upstream_error.code.oneOf.1","typeLabel":"null"}],"uniqueKey":"upstream_error.code","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","example":"The caller does not have permission.","uniqueKey":"upstream_error.message.oneOf.0","typeLabel":"string"},{"type":"null","example":"The caller does not have permission.","uniqueKey":"upstream_error.message.oneOf.1","typeLabel":"null"}],"uniqueKey":"upstream_error.message","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","uniqueKey":"upstream_error.description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"upstream_error.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"upstream_error.description","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","uniqueKey":"upstream_error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"upstream_error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"upstream_error.param","typeLabel":"string | null"}},"uniqueKey":"upstream_error","typeLabel":"object"},"failure_sample":{"type":"array","items":{"type":"object","properties":{"provider":{"oneOf":[{"type":"string","uniqueKey":"failure_sample.items.[INDEX].provider.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].provider","typeLabel":"string | null"},"type":{"oneOf":[{"type":"string","uniqueKey":"failure_sample.items.[INDEX].type.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].type.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].type","typeLabel":"string | null"},"status":{"oneOf":[{"type":"integer","uniqueKey":"failure_sample.items.[INDEX].status.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].status","typeLabel":"integer | null"},"upstream_error_code":{"oneOf":[{"type":"string","uniqueKey":"failure_sample.items.[INDEX].upstream_error_code.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].upstream_error_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].upstream_error_code","typeLabel":"string | null"},"upstream_error_message":{"oneOf":[{"type":"string","uniqueKey":"failure_sample.items.[INDEX].upstream_error_message.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].upstream_error_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].upstream_error_message","typeLabel":"string | null"},"upstream_error_description":{"oneOf":[{"type":"string","uniqueKey":"failure_sample.items.[INDEX].upstream_error_description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].upstream_error_description.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].upstream_error_description","typeLabel":"string | null"},"upstream_error_param":{"oneOf":[{"type":"string","uniqueKey":"failure_sample.items.[INDEX].upstream_error_param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].upstream_error_param.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].upstream_error_param","typeLabel":"string | null"},"upstream_payload_preview":{"oneOf":[{"type":"string","uniqueKey":"failure_sample.items.[INDEX].upstream_payload_preview.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].upstream_payload_preview.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].upstream_payload_preview","typeLabel":"string | null"},"retryable":{"oneOf":[{"type":"boolean","uniqueKey":"failure_sample.items.[INDEX].retryable.oneOf.0","typeLabel":"boolean"},{"type":"null","uniqueKey":"failure_sample.items.[INDEX].retryable.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_sample.items.[INDEX].retryable","typeLabel":"boolean | null"}},"additionalProperties":true,"uniqueKey":"failure_sample.items.[INDEX]","typeLabel":"object"},"uniqueKey":"failure_sample","typeLabel":"object[]"},"provider_failure_diagnostics":{"type":"object","properties":{"category":{"type":"string","enum":["credentials_not_configured","credentials_invalid_or_forbidden","provider_access_missing","region_or_project_restriction","model_unavailable_for_endpoint","rate_limited","server_error"],"uniqueKey":"provider_failure_diagnostics.category","typeLabel":"enum\u003cstring>"},"hint":{"type":"string","uniqueKey":"provider_failure_diagnostics.hint","typeLabel":"string"},"provider":{"oneOf":[{"type":"string","uniqueKey":"provider_failure_diagnostics.provider.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"provider_failure_diagnostics.provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_failure_diagnostics.provider","typeLabel":"string | null"}},"uniqueKey":"provider_failure_diagnostics","typeLabel":"object"},"routing_diagnostics":{"type":"object","properties":{"filterStages":{"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].stage","typeLabel":"string"},"beforeCount":{"type":"integer","uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].beforeCount","typeLabel":"integer"},"afterCount":{"type":"integer","uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].afterCount","typeLabel":"integer"},"droppedProviders":{"type":"array","items":{"type":"object","properties":{"providerId":{"oneOf":[{"type":"string","uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders.items.[INDEX].providerId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders.items.[INDEX].providerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders.items.[INDEX].providerId","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders.items.[INDEX].reason","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders.items.[INDEX]","typeLabel":"object"},"uniqueKey":"routing_diagnostics.filterStages.items.[INDEX].droppedProviders","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"routing_diagnostics.filterStages.items.[INDEX]","typeLabel":"object"},"uniqueKey":"routing_diagnostics.filterStages","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"routing_diagnostics","typeLabel":"object"},"provider_candidate_diagnostics":{"type":"object","properties":{"totalProviders":{"type":"integer","uniqueKey":"provider_candidate_diagnostics.totalProviders","typeLabel":"integer"},"supportsEndpointCount":{"type":"integer","uniqueKey":"provider_candidate_diagnostics.supportsEndpointCount","typeLabel":"integer"},"candidateCount":{"type":"integer","uniqueKey":"provider_candidate_diagnostics.candidateCount","typeLabel":"integer"},"droppedUnsupportedEndpoint":{"type":"array","items":{"type":"string","uniqueKey":"provider_candidate_diagnostics.droppedUnsupportedEndpoint.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider_candidate_diagnostics.droppedUnsupportedEndpoint","typeLabel":"string[]"},"droppedMissingAdapter":{"type":"array","items":{"type":"object","properties":{"providerId":{"oneOf":[{"type":"string","uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter.items.[INDEX].providerId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter.items.[INDEX].providerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter.items.[INDEX].providerId","typeLabel":"string | null"},"endpoint":{"oneOf":[{"type":"string","uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter.items.[INDEX].endpoint.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter.items.[INDEX].endpoint.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter.items.[INDEX].endpoint","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter.items.[INDEX]","typeLabel":"object"},"uniqueKey":"provider_candidate_diagnostics.droppedMissingAdapter","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"provider_candidate_diagnostics","typeLabel":"object"},"provider_enablement":{"type":"object","properties":{"capability":{"type":"string","uniqueKey":"provider_enablement.capability","typeLabel":"string"},"providersBefore":{"type":"array","items":{"type":"string","uniqueKey":"provider_enablement.providersBefore.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider_enablement.providersBefore","typeLabel":"string[]"},"providersAfter":{"type":"array","items":{"type":"string","uniqueKey":"provider_enablement.providersAfter.items.[INDEX]","typeLabel":"string"},"uniqueKey":"provider_enablement.providersAfter","typeLabel":"string[]"},"dropped":{"type":"array","items":{"type":"object","properties":{"providerId":{"oneOf":[{"type":"string","uniqueKey":"provider_enablement.dropped.items.[INDEX].providerId.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"provider_enablement.dropped.items.[INDEX].providerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_enablement.dropped.items.[INDEX].providerId","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","uniqueKey":"provider_enablement.dropped.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"provider_enablement.dropped.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"provider_enablement.dropped.items.[INDEX].reason","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"provider_enablement.dropped.items.[INDEX]","typeLabel":"object"},"uniqueKey":"provider_enablement.dropped","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"provider_enablement","typeLabel":"object"},"missing_pricing_providers":{"type":"array","items":{"type":"string","uniqueKey":"missing_pricing_providers.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing_pricing_providers","typeLabel":"string[]"},"provider_payment_required_provider":{"type":"string","example":"openai","uniqueKey":"provider_payment_required_provider","typeLabel":"string"},"provider_payment_required_support_notice":{"type":"string","example":"Our upstream provider billing appears to be unavailable. If this persists, contact support.","uniqueKey":"provider_payment_required_support_notice","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"validation_error","message":"Unknown parameter: foo","type":"invalid_request_error","param":"foo"},"ok":false,"code":"validation_error","message":"Human-readable error message","description":"Additional error details.","generation_id":"G-abc123","status_code":502,"error_type":"system","error_origin":"upstream","reason":"all_candidates_failed","attempt_count":2,"failed_providers":["google-ai-studio","openai"],"failed_statuses":[403,429],"upstream_error":{"code":"PERMISSION_DENIED","message":"The caller does not have permission.","description":"\u003cstring>","param":"\u003cstring>"},"failure_sample":[{"provider":"\u003cstring>","type":"\u003cstring>","status":123,"upstream_error_code":"\u003cstring>","upstream_error_message":"\u003cstring>","upstream_error_description":"\u003cstring>","upstream_error_param":"\u003cstring>","upstream_payload_preview":"\u003cstring>","retryable":true}],"provider_failure_diagnostics":{"category":"credentials_not_configured","hint":"\u003cstring>","provider":"\u003cstring>"},"routing_diagnostics":{"filterStages":[{"stage":"\u003cstring>","beforeCount":123,"afterCount":123,"droppedProviders":[{"providerId":"\u003cstring>","reason":"\u003cstring>"}]}]},"provider_candidate_diagnostics":{"totalProviders":123,"supportsEndpointCount":123,"candidateCount":123,"droppedUnsupportedEndpoint":["\u003cstring>"],"droppedMissingAdapter":[{"providerId":"\u003cstring>","endpoint":"\u003cstring>"}]},"provider_enablement":{"capability":"\u003cstring>","providersBefore":["\u003cstring>"],"providersAfter":["\u003cstring>"],"dropped":[{"providerId":"\u003cstring>","reason":"\u003cstring>"}]},"missing_pricing_providers":["\u003cstring>"],"provider_payment_required_provider":"openai","provider_payment_required_support_notice":"Our upstream provider billing appears to be unavailable. If this persists, contact support.","details":[{}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7175321d-db20-40f8-904b-8c57cc025120":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token authentication","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"19613171-9f05-476d-867a-64695ac10a2b":{"url":"https://api.phaseo.app/v1","description":"Global routing"},"67429236-0a4d-4b3c-976b-6284801ce854":{"url":"https://eu.api.phaseo.app/v1","description":"EU regional provider routing (text only)"},"33fc7fa3-33bc-47ef-ad4a-73c4f7070d42":{"url":"https://us.api.phaseo.app/v1","description":"US regional provider routing (text only)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer token authentication","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token authentication","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi/v1/openapi.yaml"},"subdomain":"aistats","siteName":"Phaseo Docs","title":"Create a response - Phaseo Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/v1/api-reference/endpoint/responses","matchLevel":0},"es":{"href":"/es/v1/api-reference/endpoint/responses","matchLevel":1},"fr":{"href":"/fr/v1/api-reference/endpoint/responses","matchLevel":1},"de":{"href":"/de/v1/api-reference/endpoint/responses","matchLevel":1},"pt-BR":{"href":"/pt-BR/v1/api-reference/endpoint/responses","matchLevel":1},"ja":{"href":"/ja/v1/api-reference/endpoint/responses","matchLevel":1},"zh-Hans":{"href":"/zh-Hans/v1/api-reference/endpoint/responses","matchLevel":1},"hi":{"href":"/hi/v1/api-reference/endpoint/responses","matchLevel":1},"ar":{"href":"/ar/v1/api-reference/endpoint/responses","matchLevel":1}}},"lastModified":"2026-10-18T10:02:14.573Z","gitLastModified":"2026-10-18T20:37:36.000Z","originalFileLocation":"v1/api-reference/endpoint/responses.mdx","locale":"en"},"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=\"Creates a response using the Responses API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Phaseo Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_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=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a response - Phaseo Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a response using the Responses API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Phaseo Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://phaseo.app/docs/v1/api-reference/endpoint/responses\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://phaseo.app/og/dynamic?title=Create%20a%20response\u0026amp;pathname=/docs/v1/api-reference/endpoint/responses\">\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=\"Create a response - Phaseo Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a response using the Responses API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://phaseo.app/og/dynamic?title=Create%20a%20response\u0026amp;pathname=/docs/v1/api-reference/endpoint/responses\">\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=\"/docs/mintlify-assets/_mintlify/favicons/aistats/e9OKRuK0XVSasMAN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Phaseo Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0069a8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://phaseo.app/docs/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/v1/api-reference/endpoint/responses.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://phaseo.app/docs/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://phaseo.app/docs/es/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://phaseo.app/docs/fr/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://phaseo.app/docs/de/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://phaseo.app/docs/pt-BR/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://phaseo.app/docs/ja/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-Hans\" href=\"https://phaseo.app/docs/zh-Hans/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"hi\" href=\"https://phaseo.app/docs/hi/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://phaseo.app/docs/ar/v1/api-reference/endpoint/responses\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://phaseo.app/docs/v1/api-reference/endpoint/responses\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://phaseo.app/#organization\",\"name\":\"Phaseo Docs\",\"url\":\"https://phaseo.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/aistats/bxzzjromPyjBlHKc/logo/light.svg?fit=max\u0026auto=format\u0026n=bxzzjromPyjBlHKc\u0026q=85\u0026s=f1e10d307a46469852edc2ae198e3c2a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://phaseo.app/docs#website\",\"name\":\"Phaseo Docs\",\"url\":\"https://phaseo.app/docs\",\"publisher\":{\"@id\":\"https://phaseo.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses#webpage\",\"url\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses\",\"name\":\"Create a response\",\"description\":\"Creates a response using the Responses API.\",\"dateModified\":\"2026-10-18T20:37:36.000Z\",\"isPartOf\":{\"@id\":\"https://phaseo.app/docs#website\"},\"breadcrumb\":{\"@id\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Phaseo Docs\",\"item\":\"https://phaseo.app/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a response\",\"item\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses#apireference\",\"headline\":\"Create a response\",\"name\":\"Create a response\",\"description\":\"Creates a response using the Responses API.\",\"url\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses\",\"mainEntityOfPage\":{\"@id\":\"https://phaseo.app/docs/v1/api-reference/endpoint/responses#webpage\"},\"image\":\"https://phaseo.app/og/dynamic?title=Create%20a%20response\u0026pathname=/docs/v1/api-reference/endpoint/responses\",\"dateModified\":\"2026-10-18T20:37:36.000Z\",\"publisher\":{\"@id\":\"https://phaseo.app/#organization\"},\"isPartOf\":{\"@id\":\"https://phaseo.app/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Phaseo Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Phaseo Docs","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Docs","icon":"book","pages":[{"title":"Docs","href":"/v1"}]},{"tab":"API Reference","icon":"server","groups":[{"group":"API Guides","icon":"book-open","expanded":true,"pages":[{"title":"Gateway API Overview","sidebarTitle":"Overview","icon":"map","href":"/v1/api-reference/introduction"},{"title":"Authentication","icon":"key-round","href":"/v1/developers/authentication"},{"title":"Parameters","icon":"sliders-horizontal","href":"/v1/api-reference/parameters"},{"title":"Streaming","icon":"radio","href":"/v1/guides/streaming"},{"title":"Rate Limits","icon":"gauge","href":"/v1/api-reference/limits"},{"title":"Errors and Debugging","description":"Understand Phaseo error responses and fix common request, provider, and routing issues faster.","icon":"bug","href":"/v1/api-reference/errors"}]},{"group":"Text","icon":"message-square-text","pages":[{"title":"Create a response","sidebarTitle":"Create a response","openapi":"openapi/v1/openapi.yaml POST /responses","href":"/v1/api-reference/endpoint/responses"},{"title":"Create a chat completion","sidebarTitle":"Create a chat completion","openapi":"openapi/v1/openapi.yaml POST /chat/completions","description":"Generate chat-based completions using the OpenAI-compatible chat endpoint.","href":"/v1/api-reference/endpoint/chat-completions"},{"title":"Create a message","sidebarTitle":"Create a message (Anthropic)","openapi":"openapi/v1/openapi.yaml POST /messages","href":"/v1/api-reference/endpoint/anthropic-messages"}]},{"group":"Image","icon":"image","pages":[{"title":"Generate an image","sidebarTitle":"Generate an image","openapi":"openapi/v1/openapi.yaml POST /images/generations","href":"/v1/api-reference/endpoint/images-generations"},{"title":"Edit an image","sidebarTitle":"Edit an image","openapi":"openapi/v1/openapi.yaml POST /images/edits","href":"/v1/api-reference/endpoint/images-edits"}]},{"group":"Video","icon":"video","tag":"Beta","pages":[{"title":"Create video","openapi":"openapi/v1/openapi.yaml POST /videos","href":"/v1/api-reference/endpoint/video-create"},{"title":"Get video status","openapi":"openapi/v1/openapi.yaml GET /videos/{video_id}","href":"/v1/api-reference/endpoint/video-status"},{"title":"Download video content","openapi":"openapi/v1/openapi.yaml GET /videos/{video_id}/content","href":"/v1/api-reference/endpoint/video-content"},{"title":"Create a signed download URL","openapi":"openapi/v1/openapi.yaml POST /videos/{video_id}/download_url","href":"/v1/api-reference/endpoint/video-download-url"},{"title":"Cancel video","openapi":"openapi/v1/openapi.yaml POST /videos/{video_id}/cancel","href":"/v1/api-reference/endpoint/video-cancel"},{"title":"Delete video","openapi":"openapi/v1/openapi.yaml DELETE /videos/{video_id}","href":"/v1/api-reference/endpoint/video-delete"},{"title":"List videos","openapi":"openapi/v1/openapi.yaml GET /videos","href":"/v1/api-reference/endpoint/video-list"},{"title":"List video models","openapi":"openapi/v1/openapi.yaml GET /videos/models","href":"/v1/api-reference/endpoint/video-models"}]},{"group":"Embeddings","icon":"braces","pages":[{"title":"Create embeddings","sidebarTitle":"Create embeddings","openapi":"openapi/v1/openapi.yaml POST /embeddings","href":"/v1/api-reference/endpoint/embeddings"}]},{"group":"Decisions","icon":"signpost","pages":[{"title":"Make a decision","tag":"Beta","openapi":"openapi/v1/openapi.yaml POST /decisions","href":"/v1/api-reference/endpoint/decisions"},{"title":"Extract values","tag":"Beta","icon":"list-filter","openapi":"openapi/v1/openapi.yaml POST /extractions","href":"/v1/api-reference/endpoint/extractions"}]},{"group":"Moderations","icon":"shield-check","pages":[{"title":"Create a moderation","sidebarTitle":"Create a moderation","openapi":"openapi/v1/openapi.yaml POST /moderations","href":"/v1/api-reference/endpoint/moderations"}]},{"group":"Rerank","icon":"arrow-down-wide-narrow","pages":[{"title":"Rerank documents","sidebarTitle":"Rerank documents","openapi":"openapi/v1/openapi.yaml POST /rerank","href":"/v1/api-reference/endpoint/rerank"}]},{"group":"Documents","icon":"file-text","pages":[{"title":"Extract text with OCR","sidebarTitle":"Extract text","tag":"Beta","openapi":"openapi/v1/openapi.yaml POST /ocr","href":"/v1/api-reference/endpoint/ocr"},{"title":"Parse a document image","sidebarTitle":"Parse a document","tag":"Beta","openapi":"openapi/v1/openapi.yaml POST /parse","href":"/v1/api-reference/endpoint/parse"}]},{"group":"Speech","icon":"audio-lines","pages":[{"title":"Create speech","sidebarTitle":"Create speech","openapi":"openapi/v1/openapi.yaml POST /audio/speech","href":"/v1/api-reference/endpoint/audio-speech"}]},{"group":"Transcription","icon":"captions","pages":[{"title":"Create a transcription","sidebarTitle":"Create a transcription","openapi":"openapi/v1/openapi.yaml POST /audio/transcriptions","href":"/v1/api-reference/endpoint/audio-transcriptions"}]},{"group":"Translation","icon":"languages","pages":[{"title":"Create a translation","sidebarTitle":"Create a translation","openapi":"openapi/v1/openapi.yaml POST /audio/translations","href":"/v1/api-reference/endpoint/audio-translations"}]},{"group":"Music","icon":"music","pages":[{"title":"Generate music","sidebarTitle":"Generate music","openapi":"openapi/v1/openapi.yaml POST /music/generate","href":"/v1/api-reference/endpoint/music-generate"},{"title":"Get music generation","sidebarTitle":"Get music generation","openapi":"openapi/v1/openapi.yaml GET /music/generate/{music_id}","href":"/v1/api-reference/endpoint/music-status"}]},{"group":"Jobs, Files \u0026 Webhooks","icon":"layers","pages":[{"group":"Batch","tag":"Beta","expanded":true,"pages":[{"title":"Create batch","openapi":"openapi/v1/openapi.yaml POST /batches","href":"/v1/api-reference/endpoint/batches-create"},{"title":"Get batch status","openapi":"openapi/v1/openapi.yaml GET /batches/{batch_id}","href":"/v1/api-reference/endpoint/batches-retrieve"},{"title":"Download batch results","openapi":"openapi/v1/openapi.yaml GET /batches/{batch_id}/results","href":"/v1/api-reference/endpoint/batches-results"},{"title":"List batch request rows","openapi":"openapi/v1/openapi.yaml GET /batches/{batch_id}/requests","href":"/v1/api-reference/endpoint/batches-requests"},{"title":"Cancel batch","openapi":"openapi/v1/openapi.yaml POST /batches/{batch_id}/cancel","href":"/v1/api-reference/endpoint/batches-cancel"},{"title":"List batches","openapi":"openapi/v1/openapi.yaml GET /batches","href":"/v1/api-reference/endpoint/batches-list"},{"title":"Upload batch file","openapi":"openapi/v1/openapi.yaml POST /batches/files","href":"/v1/api-reference/endpoint/batches-files-upload"},{"title":"Retrieve batch file","openapi":"openapi/v1/openapi.yaml GET /batches/files/{file_id}","href":"/v1/api-reference/endpoint/batches-files-retrieve"},{"title":"Download batch file content","openapi":"openapi/v1/openapi.yaml GET /batches/files/{file_id}/content","href":"/v1/api-reference/endpoint/batches-files-content"},{"title":"List batch files","openapi":"openapi/v1/openapi.yaml GET /batches/files","href":"/v1/api-reference/endpoint/batches-files-list"},{"title":"List batch models","openapi":"openapi/v1/openapi.yaml GET /batches/models","href":"/v1/api-reference/endpoint/batches-models"},{"title":"List batch provider capabilities","openapi":"openapi/v1/openapi.yaml GET /batches/capabilities","href":"/v1/api-reference/endpoint/batches-capabilities"}]},{"group":"Files","expanded":true,"pages":[{"title":"Upload a file","sidebarTitle":"Upload a file","openapi":"openapi/v1/openapi.yaml POST /files","href":"/v1/api-reference/endpoint/files"},{"title":"Retrieve a file","sidebarTitle":"Retrieve a file","openapi":"openapi/v1/openapi.yaml GET /files/{file_id}","href":"/v1/api-reference/endpoint/files-retrieve"},{"title":"Download file content","sidebarTitle":"Download file content","tag":"Beta","openapi":"openapi/v1/openapi.yaml GET /files/{file_id}/content","href":"/v1/api-reference/endpoint/files-content"},{"title":"List files","sidebarTitle":"List files","openapi":"openapi/v1/openapi.yaml GET /files","href":"/v1/api-reference/endpoint/files-list"}]},{"group":"Webhook Endpoints","tag":"Beta","expanded":true,"pages":[{"title":"Create webhook endpoint","openapi":"openapi/v1/openapi.yaml POST /webhook-endpoints","href":"/v1/api-reference/endpoint/webhook-endpoints-create"},{"title":"Get webhook endpoint","openapi":"openapi/v1/openapi.yaml GET /webhook-endpoints/{id}","href":"/v1/api-reference/endpoint/webhook-endpoints-get"},{"title":"Update webhook endpoint","openapi":"openapi/v1/openapi.yaml PATCH /webhook-endpoints/{id}","href":"/v1/api-reference/endpoint/webhook-endpoints-update"},{"title":"Rotate webhook secret","openapi":"openapi/v1/openapi.yaml POST /webhook-endpoints/{id}/rotate-secret","href":"/v1/api-reference/endpoint/webhook-endpoints-rotate-secret"},{"title":"Delete webhook endpoint","openapi":"openapi/v1/openapi.yaml DELETE /webhook-endpoints/{id}","href":"/v1/api-reference/endpoint/webhook-endpoints-delete"},{"title":"List webhook endpoints","openapi":"openapi/v1/openapi.yaml GET /webhook-endpoints","href":"/v1/api-reference/endpoint/webhook-endpoints-list"}]}]},{"group":"Models \u0026 Pricing","icon":"boxes","pages":[{"title":"List models","sidebarTitle":"List models","openapi":"openapi/v1/openapi.yaml GET /models","href":"/v1/api-reference/endpoint/models"},{"title":"List model endpoint capabilities","openapi":"openapi/v1/openapi.yaml GET /models/{author}/{slug}/endpoints","href":"/v1/api-reference/endpoint/model-endpoints"},{"title":"List providers","sidebarTitle":"List providers","openapi":"openapi/v1/openapi.yaml GET /providers","href":"/v1/api-reference/endpoint/providers"},{"title":"List endpoints","sidebarTitle":"List endpoints","openapi":"openapi/v1/openapi.yaml GET /endpoints","href":"/v1/api-reference/endpoint/endpoints"},{"title":"List model pricing","sidebarTitle":"List model pricing","openapi":"openapi/v1/openapi.yaml GET /pricing/models","href":"/v1/api-reference/endpoint/pricing-models"},{"title":"Calculate pricing","sidebarTitle":"Calculate pricing","openapi":"openapi/v1/openapi.yaml POST /pricing/calculate","href":"/v1/api-reference/endpoint/pricing-calculate"},{"title":"List organisations","sidebarTitle":"List organisations","openapi":"openapi/v1/openapi.yaml GET /organisations","href":"/v1/api-reference/endpoint/organisations"}]},{"group":"Routing \u0026 Policies","icon":"route","pages":[{"group":"Routing","expanded":false,"pages":[{"title":"Get workspace settings","sidebarTitle":"Get settings","openapi":"openapi/v1/openapi.yaml GET /settings","href":"/v1/api-reference/endpoint/workspace-settings-get"},{"title":"Update workspace settings","sidebarTitle":"Update settings","openapi":"openapi/v1/openapi.yaml PATCH /settings","href":"/v1/api-reference/endpoint/workspace-settings-update"},{"title":"Create dynamic route","sidebarTitle":"Create route","openapi":"openapi/v1/openapi.yaml POST /routing/dynamic-routes","href":"/v1/api-reference/endpoint/dynamic-routes-create"},{"title":"Get dynamic route","sidebarTitle":"Get route","openapi":"openapi/v1/openapi.yaml GET /routing/dynamic-routes/{id}","href":"/v1/api-reference/endpoint/dynamic-routes-get"},{"title":"Update dynamic route","sidebarTitle":"Update route","openapi":"openapi/v1/openapi.yaml PATCH /routing/dynamic-routes/{id}","href":"/v1/api-reference/endpoint/dynamic-routes-update"},{"title":"Replace dynamic-route keys","sidebarTitle":"Attach keys","openapi":"openapi/v1/openapi.yaml PUT /routing/dynamic-routes/{id}/keys","href":"/v1/api-reference/endpoint/dynamic-routes-keys-update"},{"title":"Deploy dynamic-route version","sidebarTitle":"Deploy version","openapi":"openapi/v1/openapi.yaml POST /routing/dynamic-routes/{id}/versions/{version}/deploy","href":"/v1/api-reference/endpoint/dynamic-routes-deploy"},{"title":"Delete dynamic route","sidebarTitle":"Delete route","openapi":"openapi/v1/openapi.yaml DELETE /routing/dynamic-routes/{id}","href":"/v1/api-reference/endpoint/dynamic-routes-delete"},{"title":"List dynamic routes","sidebarTitle":"List routes","openapi":"openapi/v1/openapi.yaml GET /routing/dynamic-routes","href":"/v1/api-reference/endpoint/dynamic-routes-list"},{"title":"Get auto-routing settings","sidebarTitle":"Get auto-routing","openapi":"openapi/v1/openapi.yaml GET /routing/auto","href":"/v1/api-reference/endpoint/routing-auto-get"},{"title":"Update auto-routing settings","sidebarTitle":"Update auto-routing","openapi":"openapi/v1/openapi.yaml PATCH /routing/auto","href":"/v1/api-reference/endpoint/routing-auto-update"},{"title":"List successor replacements","sidebarTitle":"List successor replacements","openapi":"openapi/v1/openapi.yaml GET /routing/successor/replacements","href":"/v1/api-reference/endpoint/successor-replacements-list"},{"title":"Save a successor replacement","sidebarTitle":"Save successor replacement","openapi":"openapi/v1/openapi.yaml PUT /routing/successor/replacements","href":"/v1/api-reference/endpoint/successor-replacements-save"},{"title":"Remove a successor replacement","sidebarTitle":"Remove successor replacement","openapi":"openapi/v1/openapi.yaml DELETE /routing/successor/replacements","href":"/v1/api-reference/endpoint/successor-replacements-remove"}]},{"group":"Presets","expanded":false,"pages":[{"title":"Create preset","sidebarTitle":"Create preset","openapi":"openapi/v1/openapi.yaml POST /presets","href":"/v1/api-reference/endpoint/presets-create"},{"title":"Get preset","sidebarTitle":"Get preset","openapi":"openapi/v1/openapi.yaml GET /presets/{id}","href":"/v1/api-reference/endpoint/presets-get"},{"title":"Update preset draft","sidebarTitle":"Update preset","openapi":"openapi/v1/openapi.yaml PATCH /presets/{id}","href":"/v1/api-reference/endpoint/presets-update"},{"title":"Publish preset version","sidebarTitle":"Publish version","openapi":"openapi/v1/openapi.yaml POST /presets/{id}/versions","href":"/v1/api-reference/endpoint/presets-version-publish"},{"title":"List preset versions","sidebarTitle":"List versions","openapi":"openapi/v1/openapi.yaml GET /presets/{id}/versions","href":"/v1/api-reference/endpoint/presets-versions-list"},{"title":"List preset labels","sidebarTitle":"List labels","openapi":"openapi/v1/openapi.yaml GET /presets/{id}/labels","href":"/v1/api-reference/endpoint/presets-labels-list"},{"title":"Set preset label","sidebarTitle":"Set label","openapi":"openapi/v1/openapi.yaml PUT /presets/{id}/labels/{label}","href":"/v1/api-reference/endpoint/presets-label-set"},{"title":"Remove preset label","sidebarTitle":"Remove label","openapi":"openapi/v1/openapi.yaml DELETE /presets/{id}/labels/{label}","href":"/v1/api-reference/endpoint/presets-label-delete"},{"title":"Fork public preset","sidebarTitle":"Fork preset","openapi":"openapi/v1/openapi.yaml POST /presets/{id}/fork","href":"/v1/api-reference/endpoint/presets-fork"},{"title":"Apply upstream preset version","sidebarTitle":"Apply upstream","openapi":"openapi/v1/openapi.yaml POST /presets/{id}/upstream","href":"/v1/api-reference/endpoint/presets-upstream-apply"},{"title":"Archive preset","sidebarTitle":"Archive preset","openapi":"openapi/v1/openapi.yaml DELETE /presets/{id}","href":"/v1/api-reference/endpoint/presets-delete"},{"title":"List presets","sidebarTitle":"List presets","openapi":"openapi/v1/openapi.yaml GET /presets","href":"/v1/api-reference/endpoint/presets-list"},{"title":"Get preset publisher","sidebarTitle":"Get publisher","openapi":"openapi/v1/openapi.yaml GET /presets/publisher","href":"/v1/api-reference/endpoint/presets-publisher-get"},{"title":"Update preset publisher","sidebarTitle":"Update publisher","openapi":"openapi/v1/openapi.yaml PUT /presets/publisher","href":"/v1/api-reference/endpoint/presets-publisher-update"}]},{"group":"Private Models","expanded":false,"pages":[{"title":"Create a private model","sidebarTitle":"Create private model","openapi":"openapi/v1/openapi.yaml POST /private-models","href":"/v1/api-reference/endpoint/private-models-create"},{"title":"Get a private model","sidebarTitle":"Get private model","openapi":"openapi/v1/openapi.yaml GET /private-models/{id}","href":"/v1/api-reference/endpoint/private-models-get"},{"title":"Update a private model","sidebarTitle":"Update private model","openapi":"openapi/v1/openapi.yaml PATCH /private-models/{id}","href":"/v1/api-reference/endpoint/private-models-update"},{"title":"Delete a private model","sidebarTitle":"Delete private model","openapi":"openapi/v1/openapi.yaml DELETE /private-models/{id}","href":"/v1/api-reference/endpoint/private-models-delete"},{"title":"List private models","sidebarTitle":"List private models","openapi":"openapi/v1/openapi.yaml GET /private-models","href":"/v1/api-reference/endpoint/private-models-list"}]},{"group":"Provider credentials","expanded":false,"pages":[{"title":"Create provider credential","sidebarTitle":"Create credential","openapi":"openapi/v1/openapi.yaml POST /byok","href":"/v1/api-reference/endpoint/provider-credentials-create"},{"title":"Get provider credential","sidebarTitle":"Get credential","openapi":"openapi/v1/openapi.yaml GET /byok/{id}","href":"/v1/api-reference/endpoint/provider-credentials-get"},{"title":"Update provider credential","sidebarTitle":"Update credential","openapi":"openapi/v1/openapi.yaml PATCH /byok/{id}","href":"/v1/api-reference/endpoint/provider-credentials-update"},{"title":"Reorder provider credentials","sidebarTitle":"Reorder credentials","openapi":"openapi/v1/openapi.yaml POST /byok/reorder","href":"/v1/api-reference/endpoint/provider-credentials-reorder"},{"title":"Delete provider credential","sidebarTitle":"Delete credential","openapi":"openapi/v1/openapi.yaml DELETE /byok/{id}","href":"/v1/api-reference/endpoint/provider-credentials-delete"},{"title":"List provider credentials","sidebarTitle":"List credentials","openapi":"openapi/v1/openapi.yaml GET /byok","href":"/v1/api-reference/endpoint/provider-credentials-list"}]},{"group":"Guardrails","expanded":false,"pages":[{"icon":"shield-check","title":"Guardrails API","sidebarTitle":"Overview","href":"/v1/api-reference/endpoint/guardrails"},{"title":"Create guardrail","sidebarTitle":"Create guardrail","openapi":"openapi/v1/openapi.yaml POST /guardrails","href":"/v1/api-reference/endpoint/guardrails-create"},{"title":"Get guardrail","sidebarTitle":"Get guardrail","openapi":"openapi/v1/openapi.yaml GET /guardrails/{id}","href":"/v1/api-reference/endpoint/guardrails-get"},{"title":"Update guardrail","sidebarTitle":"Update guardrail","openapi":"openapi/v1/openapi.yaml PATCH /guardrails/{id}","href":"/v1/api-reference/endpoint/guardrails-update"},{"title":"Delete guardrail","sidebarTitle":"Delete guardrail","openapi":"openapi/v1/openapi.yaml DELETE /guardrails/{id}","href":"/v1/api-reference/endpoint/guardrails-delete"},{"title":"List guardrails","sidebarTitle":"List guardrails","openapi":"openapi/v1/openapi.yaml GET /guardrails","href":"/v1/api-reference/endpoint/guardrails-list"},{"title":"Add guardrail keys","sidebarTitle":"Add assigned keys","openapi":"openapi/v1/openapi.yaml POST /guardrails/{id}/keys/add","href":"/v1/api-reference/endpoint/guardrail-keys-add"},{"title":"Replace guardrail keys","sidebarTitle":"Replace assigned keys","openapi":"openapi/v1/openapi.yaml PUT /guardrails/{id}/keys","href":"/v1/api-reference/endpoint/guardrail-keys-replace"},{"title":"Remove guardrail keys","sidebarTitle":"Remove assigned keys","openapi":"openapi/v1/openapi.yaml POST /guardrails/{id}/keys/remove","href":"/v1/api-reference/endpoint/guardrail-keys-remove"},{"title":"List guardrail keys","sidebarTitle":"List assigned keys","openapi":"openapi/v1/openapi.yaml GET /guardrails/{id}/keys","href":"/v1/api-reference/endpoint/guardrail-keys-list"},{"title":"Add guardrail members","sidebarTitle":"Add assigned members","openapi":"openapi/v1/openapi.yaml POST /guardrails/{id}/members/add","href":"/v1/api-reference/endpoint/guardrail-members-add"},{"title":"Remove guardrail members","sidebarTitle":"Remove assigned members","openapi":"openapi/v1/openapi.yaml POST /guardrails/{id}/members/remove","href":"/v1/api-reference/endpoint/guardrail-members-remove"},{"title":"List guardrail members","sidebarTitle":"List assigned members","openapi":"openapi/v1/openapi.yaml GET /guardrails/{id}/members","href":"/v1/api-reference/endpoint/guardrail-members-list"}]}]},{"group":"Usage \u0026 Monitoring","icon":"chart-no-axes-combined","pages":[{"group":"Usage \u0026 Analytics","expanded":true,"pages":[{"title":"Get a generation","sidebarTitle":"Get a generation","openapi":"openapi/v1/openapi.yaml GET /generations","href":"/v1/api-reference/endpoint/generation"},{"title":"List activity","sidebarTitle":"List activity","openapi":"openapi/v1/openapi.yaml GET /activity","href":"/v1/api-reference/endpoint/activity"},{"title":"List workspace audit events","sidebarTitle":"Audit events","openapi":"openapi/v1/openapi.yaml GET /audit-events","href":"/v1/api-reference/endpoint/audit-events"},{"title":"Get workspace analytics","sidebarTitle":"Get analytics","openapi":"openapi/v1/openapi.yaml GET /analytics","href":"/v1/api-reference/endpoint/analytics-get"},{"title":"Export workspace analytics","sidebarTitle":"Export analytics","openapi":"openapi/v1/openapi.yaml GET /analytics/export","href":"/v1/api-reference/endpoint/analytics-export"},{"title":"Check Gateway health","sidebarTitle":"Health check","openapi":"openapi/v1/openapi.yaml GET /health","href":"/v1/api-reference/endpoint/health"}]},{"group":"Logs","expanded":true,"pages":[{"title":"List gateway request logs","tag":"Beta","openapi":"openapi/v1/openapi.yaml GET /logs","href":"/v1/api-reference/endpoint/logs-list"},{"title":"Get gateway request log","tag":"Beta","openapi":"openapi/v1/openapi.yaml GET /logs/{requestId}","href":"/v1/api-reference/endpoint/logs-get"}]},{"group":"Observability","expanded":true,"pages":[{"title":"Get observability logging policy","sidebarTitle":"Get logging policy","openapi":"openapi/v1/openapi.yaml GET /observability/logging-policy","href":"/v1/api-reference/endpoint/observability-logging-policy-get"},{"title":"Update observability logging policy","sidebarTitle":"Update logging policy","openapi":"openapi/v1/openapi.yaml PATCH /observability/logging-policy","href":"/v1/api-reference/endpoint/observability-logging-policy-update"},{"title":"Create observability destination","sidebarTitle":"Create destination","openapi":"openapi/v1/openapi.yaml POST /observability/destinations","href":"/v1/api-reference/endpoint/observability-destinations-create"},{"title":"Get observability destination","sidebarTitle":"Get destination","openapi":"openapi/v1/openapi.yaml GET /observability/destinations/{id}","href":"/v1/api-reference/endpoint/observability-destinations-get"},{"title":"Update observability destination","sidebarTitle":"Update destination","openapi":"openapi/v1/openapi.yaml PATCH /observability/destinations/{id}","href":"/v1/api-reference/endpoint/observability-destinations-update"},{"title":"Delete observability destination","sidebarTitle":"Delete destination","openapi":"openapi/v1/openapi.yaml DELETE /observability/destinations/{id}","href":"/v1/api-reference/endpoint/observability-destinations-delete"},{"title":"List observability destinations","sidebarTitle":"List destinations","openapi":"openapi/v1/openapi.yaml GET /observability/destinations","href":"/v1/api-reference/endpoint/observability-destinations-list"},{"title":"Test destination settings","sidebarTitle":"Test destination settings","openapi":"openapi/v1/openapi.yaml POST /observability/destinations/test","href":"/v1/api-reference/endpoint/observability-destinations-test-config"},{"title":"Check a destination's connection","sidebarTitle":"Check destination connection","openapi":"openapi/v1/openapi.yaml POST /observability/destinations/{id}/test","href":"/v1/api-reference/endpoint/observability-destinations-test"},{"title":"Send a sample trace","sidebarTitle":"Send sample trace","openapi":"openapi/v1/openapi.yaml POST /observability/destinations/{id}/sample","href":"/v1/api-reference/endpoint/observability-destinations-sample"},{"title":"Test a request classifier","sidebarTitle":"Test classifier","openapi":"openapi/v1/openapi.yaml POST /classifiers/test","href":"/v1/api-reference/endpoint/classifiers-test"}]},{"group":"Feedback \u0026 Evaluations","tag":"Beta","expanded":false,"pages":[{"title":"Create gateway feedback","openapi":"openapi/v1/openapi.yaml POST /feedback","href":"/v1/api-reference/endpoint/feedback-create"},{"title":"List gateway feedback","openapi":"openapi/v1/openapi.yaml GET /feedback","href":"/v1/api-reference/endpoint/feedback-list"},{"title":"Summarize gateway feedback","openapi":"openapi/v1/openapi.yaml GET /feedback/summary","href":"/v1/api-reference/endpoint/feedback-summary"},{"title":"Create observability event","openapi":"openapi/v1/openapi.yaml POST /events","href":"/v1/api-reference/endpoint/events-create"},{"title":"List observability events","openapi":"openapi/v1/openapi.yaml GET /events","href":"/v1/api-reference/endpoint/events-list"},{"title":"Create preset test run","openapi":"openapi/v1/openapi.yaml POST /preset-test-runs","href":"/v1/api-reference/endpoint/preset-test-run-create"},{"title":"Get preset test run","openapi":"openapi/v1/openapi.yaml GET /preset-test-runs/{id}","href":"/v1/api-reference/endpoint/preset-test-run-get"},{"title":"Update preset test run","openapi":"openapi/v1/openapi.yaml PATCH /preset-test-runs/{id}","href":"/v1/api-reference/endpoint/preset-test-run-update"},{"title":"List preset test runs","openapi":"openapi/v1/openapi.yaml GET /preset-test-runs","href":"/v1/api-reference/endpoint/preset-test-runs-list"}]}]},{"group":"Workspace Management","icon":"users","pages":[{"group":"Workspaces","expanded":false,"pages":[{"title":"Create a workspace","sidebarTitle":"Create a workspace","openapi":"openapi/v1/openapi.yaml POST /workspaces","href":"/v1/api-reference/endpoint/workspaces-create"},{"title":"Get a workspace","sidebarTitle":"Get a workspace","openapi":"openapi/v1/openapi.yaml GET /workspaces/{id}","href":"/v1/api-reference/endpoint/workspaces-get"},{"title":"Update a workspace","sidebarTitle":"Update a workspace","openapi":"openapi/v1/openapi.yaml PATCH /workspaces/{id}","href":"/v1/api-reference/endpoint/workspaces-update"},{"title":"Delete a workspace","sidebarTitle":"Delete a workspace","openapi":"openapi/v1/openapi.yaml DELETE /workspaces/{id}","href":"/v1/api-reference/endpoint/workspaces-delete"},{"title":"List workspaces","sidebarTitle":"List workspaces","openapi":"openapi/v1/openapi.yaml GET /workspaces","href":"/v1/api-reference/endpoint/workspaces-list"},{"title":"Add workspace members","sidebarTitle":"Add members","openapi":"openapi/v1/openapi.yaml POST /workspaces/{id}/members/add","href":"/v1/api-reference/endpoint/workspace-members-add"},{"title":"Update workspace member role","sidebarTitle":"Update member role","openapi":"openapi/v1/openapi.yaml PATCH /workspaces/{id}/members/{user_id}","href":"/v1/api-reference/endpoint/workspace-member-role-update"},{"title":"Remove workspace members","sidebarTitle":"Remove members","openapi":"openapi/v1/openapi.yaml POST /workspaces/{id}/members/remove","href":"/v1/api-reference/endpoint/workspace-members-remove"},{"title":"List workspace members","sidebarTitle":"List members","openapi":"openapi/v1/openapi.yaml GET /workspaces/{id}/members","href":"/v1/api-reference/endpoint/workspace-members-list"},{"title":"Create workspace invite","sidebarTitle":"Create invite","openapi":"openapi/v1/openapi.yaml POST /workspaces/{id}/invites","href":"/v1/api-reference/endpoint/workspace-invites-create"},{"title":"Delete workspace invite","sidebarTitle":"Delete invite","openapi":"openapi/v1/openapi.yaml DELETE /workspaces/{id}/invites/{invite_id}","href":"/v1/api-reference/endpoint/workspace-invites-delete"},{"title":"List workspace invites","sidebarTitle":"List invites","openapi":"openapi/v1/openapi.yaml GET /workspaces/{id}/invites","href":"/v1/api-reference/endpoint/workspace-invites-list"},{"title":"List workspace join requests","sidebarTitle":"List join requests","openapi":"openapi/v1/openapi.yaml GET /workspaces/{id}/join-requests","href":"/v1/api-reference/endpoint/workspace-join-requests-list"},{"title":"Approve workspace join request","sidebarTitle":"Approve join request","openapi":"openapi/v1/openapi.yaml POST /workspaces/{id}/join-requests/{request_id}/approve","href":"/v1/api-reference/endpoint/workspace-join-request-approve"},{"title":"Reject workspace join request","sidebarTitle":"Reject join request","openapi":"openapi/v1/openapi.yaml POST /workspaces/{id}/join-requests/{request_id}/reject","href":"/v1/api-reference/endpoint/workspace-join-request-reject"},{"title":"Accept a workspace invite","sidebarTitle":"Accept invite","openapi":"openapi/v1/openapi.yaml POST /invites/accept","href":"/v1/api-reference/endpoint/invites-accept"},{"title":"List your join requests","sidebarTitle":"List your join requests","openapi":"openapi/v1/openapi.yaml GET /invites/requests","href":"/v1/api-reference/endpoint/invites-requests-list"},{"title":"Get the rate limit tier","sidebarTitle":"Get rate limit tier","openapi":"openapi/v1/openapi.yaml GET /rate-limits/tier","href":"/v1/api-reference/endpoint/rate-limits-tier-get"},{"title":"Raise the rate limit tier","sidebarTitle":"Raise rate limit tier","openapi":"openapi/v1/openapi.yaml POST /rate-limits/tier/raise","href":"/v1/api-reference/endpoint/rate-limits-tier-raise"}]},{"group":"API Keys","expanded":false,"pages":[{"title":"Get current API key","sidebarTitle":"Get current API key","openapi":"openapi/v1/openapi.yaml GET /key","href":"/v1/api-reference/endpoint/key-current"},{"title":"Create API key","sidebarTitle":"Create API key","openapi":"openapi/v1/openapi.yaml POST /keys","href":"/v1/api-reference/endpoint/keys-create"},{"title":"Get API key","sidebarTitle":"Get API key","openapi":"openapi/v1/openapi.yaml GET /keys/{id}","href":"/v1/api-reference/endpoint/keys-get"},{"title":"Update API key","sidebarTitle":"Update API key","openapi":"openapi/v1/openapi.yaml PATCH /keys/{id}","href":"/v1/api-reference/endpoint/keys-update"},{"title":"Rotate API key","openapi":"openapi/v1/openapi.yaml POST /keys/{id}/rotate","href":"/v1/api-reference/endpoint/keys-rotate"},{"title":"Invalidate API key cache","openapi":"openapi/v1/openapi.yaml POST /keys/{id}/invalidate","href":"/v1/api-reference/endpoint/keys-invalidate"},{"title":"Delete API key","sidebarTitle":"Delete API key","openapi":"openapi/v1/openapi.yaml DELETE /keys/{id}","href":"/v1/api-reference/endpoint/keys-delete"},{"title":"List API keys","sidebarTitle":"List API keys","openapi":"openapi/v1/openapi.yaml GET /keys","href":"/v1/api-reference/endpoint/keys-list"},{"title":"Report a leaked API key","sidebarTitle":"Report leaked key","openapi":"openapi/v1/openapi.yaml POST /security/report-leaked-key","href":"/v1/api-reference/endpoint/security-report-leaked-key"},{"title":"List trusted workload policies","sidebarTitle":"List trusted workload policies","openapi":"openapi/v1/openapi.yaml GET /workload-identity/policies","href":"/v1/api-reference/endpoint/trusted-workloads-list"},{"title":"Create trusted workload policy","sidebarTitle":"Create trusted workload policy","openapi":"openapi/v1/openapi.yaml POST /workload-identity/policies","href":"/v1/api-reference/endpoint/trusted-workloads-create"},{"title":"Get trusted workload policy","sidebarTitle":"Get trusted workload policy","openapi":"openapi/v1/openapi.yaml GET /workload-identity/policies/{id}","href":"/v1/api-reference/endpoint/trusted-workloads-get"},{"title":"Update trusted workload policy","sidebarTitle":"Update trusted workload policy","openapi":"openapi/v1/openapi.yaml PATCH /workload-identity/policies/{id}","href":"/v1/api-reference/endpoint/trusted-workloads-update"},{"title":"Delete trusted workload policy","sidebarTitle":"Delete trusted workload policy","openapi":"openapi/v1/openapi.yaml DELETE /workload-identity/policies/{id}","href":"/v1/api-reference/endpoint/trusted-workloads-delete"}]},{"group":"Management Keys","expanded":false,"pages":[{"title":"Create management key","sidebarTitle":"Create management key","openapi":"openapi/v1/openapi.yaml POST /management-keys","href":"/v1/api-reference/endpoint/management-keys-create"},{"title":"Get management key","sidebarTitle":"Get management key","openapi":"openapi/v1/openapi.yaml GET /management-keys/{id}","href":"/v1/api-reference/endpoint/management-keys-get"},{"title":"Update management key","sidebarTitle":"Update management key","openapi":"openapi/v1/openapi.yaml PATCH /management-keys/{id}","href":"/v1/api-reference/endpoint/management-keys-update"},{"title":"Delete management key","sidebarTitle":"Delete management key","openapi":"openapi/v1/openapi.yaml DELETE /management-keys/{id}","href":"/v1/api-reference/endpoint/management-keys-delete"},{"title":"List management keys","sidebarTitle":"List management keys","openapi":"openapi/v1/openapi.yaml GET /management-keys","href":"/v1/api-reference/endpoint/management-keys-list"}]},{"group":"Credits \u0026 Budgets","expanded":false,"pages":[{"title":"Get credits","sidebarTitle":"Get credits","openapi":"openapi/v1/openapi.yaml GET /credits","href":"/v1/api-reference/endpoint/credits"},{"title":"Create a workspace budget","sidebarTitle":"Create budget","openapi":"openapi/v1/openapi.yaml POST /budgets","href":"/v1/api-reference/endpoint/budgets-create"},{"title":"Get a workspace budget","sidebarTitle":"Get budget","openapi":"openapi/v1/openapi.yaml GET /budgets/{id}","href":"/v1/api-reference/endpoint/budgets-get"},{"title":"Update a workspace budget","sidebarTitle":"Update budget","openapi":"openapi/v1/openapi.yaml PATCH /budgets/{id}","href":"/v1/api-reference/endpoint/budgets-update"},{"title":"Delete a workspace budget","sidebarTitle":"Delete budget","openapi":"openapi/v1/openapi.yaml DELETE /budgets/{id}","href":"/v1/api-reference/endpoint/budgets-delete"},{"title":"List workspace budgets","sidebarTitle":"List budgets","openapi":"openapi/v1/openapi.yaml GET /budgets","href":"/v1/api-reference/endpoint/budgets-list"}]},{"group":"OAuth Applications","tag":"Beta","expanded":false,"pages":[{"title":"Create OAuth client","openapi":"openapi/v1/openapi.yaml POST /oauth-clients","href":"/v1/api-reference/endpoint/oauth-clients-create"},{"title":"Get OAuth client","openapi":"openapi/v1/openapi.yaml GET /oauth-clients/{client_id}","href":"/v1/api-reference/endpoint/oauth-clients-get"},{"title":"Update OAuth client","openapi":"openapi/v1/openapi.yaml PATCH /oauth-clients/{client_id}","href":"/v1/api-reference/endpoint/oauth-clients-update"},{"title":"Regenerate OAuth secret","openapi":"openapi/v1/openapi.yaml POST /oauth-clients/{client_id}/regenerate-secret","href":"/v1/api-reference/endpoint/oauth-clients-regenerate-secret"},{"title":"Delete OAuth client","openapi":"openapi/v1/openapi.yaml DELETE /oauth-clients/{client_id}","href":"/v1/api-reference/endpoint/oauth-clients-delete"},{"title":"List OAuth clients","openapi":"openapi/v1/openapi.yaml GET /oauth-clients","href":"/v1/api-reference/endpoint/oauth-clients-list"},{"title":"Get the signed-in user","sidebarTitle":"Get signed-in user","openapi":"openapi/v1/openapi.yaml GET /me","href":"/v1/api-reference/endpoint/me-get"},{"title":"Get your profile","sidebarTitle":"Get profile","openapi":"openapi/v1/openapi.yaml GET /me/profile","href":"/v1/api-reference/endpoint/profile-get"},{"title":"Update your profile","sidebarTitle":"Update profile","openapi":"openapi/v1/openapi.yaml PATCH /me/profile","href":"/v1/api-reference/endpoint/profile-update"},{"title":"List authorized apps","sidebarTitle":"List authorized apps","openapi":"openapi/v1/openapi.yaml GET /me/authorized-apps","href":"/v1/api-reference/endpoint/authorized-apps-list"},{"title":"Remove scopes from an authorized app","sidebarTitle":"Reduce app scopes","openapi":"openapi/v1/openapi.yaml PATCH /me/authorized-apps/{id}","href":"/v1/api-reference/endpoint/authorized-apps-update-scopes"},{"title":"Revoke an authorized app","sidebarTitle":"Revoke authorized app","openapi":"openapi/v1/openapi.yaml DELETE /me/authorized-apps/{id}","href":"/v1/api-reference/endpoint/authorized-apps-revoke"}]},{"group":"SSO \u0026 SCIM","tag":"Beta","expanded":false,"pages":[{"title":"Get workspace SSO","openapi":"openapi/v1/openapi.yaml GET /identity/sso","href":"/v1/api-reference/endpoint/identity-sso-get"},{"title":"Update workspace SSO","openapi":"openapi/v1/openapi.yaml PUT /identity/sso","href":"/v1/api-reference/endpoint/identity-sso-update"},{"title":"Get workspace SCIM","openapi":"openapi/v1/openapi.yaml GET /identity/scim","href":"/v1/api-reference/endpoint/identity-scim-get"},{"title":"Update workspace SCIM","openapi":"openapi/v1/openapi.yaml PUT /identity/scim","href":"/v1/api-reference/endpoint/identity-scim-update"},{"title":"Create SCIM token","openapi":"openapi/v1/openapi.yaml POST /identity/scim/tokens","href":"/v1/api-reference/endpoint/identity-scim-token-create"},{"title":"Revoke SCIM token","openapi":"openapi/v1/openapi.yaml DELETE /identity/scim/tokens/{id}","href":"/v1/api-reference/endpoint/identity-scim-token-revoke"},{"title":"List SCIM audit events","openapi":"openapi/v1/openapi.yaml GET /identity/scim/audit","href":"/v1/api-reference/endpoint/identity-scim-audit-list"}]},{"group":"Directory \u0026 Departments","tag":"Beta","expanded":false,"pages":[{"title":"Get workspace directory","openapi":"openapi/v1/openapi.yaml GET /identity/directory","href":"/v1/api-reference/endpoint/identity-directory-get"},{"title":"Update directory member","openapi":"openapi/v1/openapi.yaml PUT /identity/directory/members/{id}","href":"/v1/api-reference/endpoint/identity-directory-member-update"},{"title":"Create workspace department","openapi":"openapi/v1/openapi.yaml POST /identity/departments","href":"/v1/api-reference/endpoint/identity-department-create"},{"title":"Update workspace department","openapi":"openapi/v1/openapi.yaml PATCH /identity/departments/{id}","href":"/v1/api-reference/endpoint/identity-department-update"},{"title":"Delete workspace department","openapi":"openapi/v1/openapi.yaml DELETE /identity/departments/{id}","href":"/v1/api-reference/endpoint/identity-department-delete"},{"title":"List workspace departments","openapi":"openapi/v1/openapi.yaml GET /identity/departments","href":"/v1/api-reference/endpoint/identity-departments-list"},{"title":"Set department membership","openapi":"openapi/v1/openapi.yaml PUT /identity/departments/{departmentId}/members/{userId}","href":"/v1/api-reference/endpoint/identity-department-member-set"},{"title":"Delete department membership","openapi":"openapi/v1/openapi.yaml DELETE /identity/departments/{departmentId}/members/{userId}","href":"/v1/api-reference/endpoint/identity-department-member-delete"},{"title":"Create directory group mapping","openapi":"openapi/v1/openapi.yaml POST /identity/group-mappings","href":"/v1/api-reference/endpoint/identity-group-mapping-create"},{"title":"Update directory group mapping","openapi":"openapi/v1/openapi.yaml PATCH /identity/group-mappings/{id}","href":"/v1/api-reference/endpoint/identity-group-mapping-update"},{"title":"Delete directory group mapping","openapi":"openapi/v1/openapi.yaml DELETE /identity/group-mappings/{id}","href":"/v1/api-reference/endpoint/identity-group-mapping-delete"},{"title":"List directory group mappings","openapi":"openapi/v1/openapi.yaml GET /identity/group-mappings","href":"/v1/api-reference/endpoint/identity-group-mappings-list"}]},{"group":"Notifications","tag":"Beta","expanded":false,"pages":[{"title":"Get notification settings","openapi":"openapi/v1/openapi.yaml GET /notifications/settings","href":"/v1/api-reference/endpoint/notifications-settings-get"},{"title":"Update notification settings","openapi":"openapi/v1/openapi.yaml PATCH /notifications/settings","href":"/v1/api-reference/endpoint/notifications-settings-update"},{"title":"Create notification destination","openapi":"openapi/v1/openapi.yaml POST /notifications/destinations","href":"/v1/api-reference/endpoint/notifications-destination-create"},{"title":"Test destination configuration","openapi":"openapi/v1/openapi.yaml POST /notifications/destinations/test","href":"/v1/api-reference/endpoint/notifications-destination-config-test"},{"title":"Test notification destination","openapi":"openapi/v1/openapi.yaml POST /notifications/destinations/{id}/test","href":"/v1/api-reference/endpoint/notifications-destination-test"},{"title":"Rotate notification webhook secret","openapi":"openapi/v1/openapi.yaml POST /notifications/destinations/{id}/rotate-secret","href":"/v1/api-reference/endpoint/notifications-destination-rotate-secret"},{"title":"Delete notification destination","openapi":"openapi/v1/openapi.yaml DELETE /notifications/destinations/{id}","href":"/v1/api-reference/endpoint/notifications-destination-delete"},{"title":"List notification destinations","openapi":"openapi/v1/openapi.yaml GET /notifications/destinations","href":"/v1/api-reference/endpoint/notifications-destinations-list"},{"title":"List notification routes","openapi":"openapi/v1/openapi.yaml GET /notifications/routes","href":"/v1/api-reference/endpoint/notifications-routes-list"},{"title":"Update notification route","openapi":"openapi/v1/openapi.yaml PUT /notifications/routes/{eventKind}","href":"/v1/api-reference/endpoint/notifications-route-update"}]},{"group":"Applications","tag":"Beta","expanded":false,"pages":[{"title":"List workspace applications","openapi":"openapi/v1/openapi.yaml GET /apps","href":"/v1/api-reference/endpoint/apps-list"},{"title":"Update workspace application","openapi":"openapi/v1/openapi.yaml PATCH /apps/{id}","href":"/v1/api-reference/endpoint/app-update"},{"title":"Merge workspace applications","openapi":"openapi/v1/openapi.yaml POST /apps/{id}/merge","href":"/v1/api-reference/endpoint/app-merge"}]},{"group":"Data Contribution","tag":"Beta","expanded":false,"pages":[{"title":"Get data contribution settings","openapi":"openapi/v1/openapi.yaml GET /data-contribution","href":"/v1/api-reference/endpoint/data-contribution-get"},{"title":"Update data contribution consent","openapi":"openapi/v1/openapi.yaml PATCH /data-contribution/consent","href":"/v1/api-reference/endpoint/data-contribution-consent-update"},{"title":"Create data contribution classifier","openapi":"openapi/v1/openapi.yaml POST /data-contribution/classifiers","href":"/v1/api-reference/endpoint/data-contribution-classifier-create"},{"title":"Update data contribution classifier","openapi":"openapi/v1/openapi.yaml PATCH /data-contribution/classifiers/{id}","href":"/v1/api-reference/endpoint/data-contribution-classifier-update"},{"title":"Delete data contribution classifier","openapi":"openapi/v1/openapi.yaml DELETE /data-contribution/classifiers/{id}","href":"/v1/api-reference/endpoint/data-contribution-classifier-delete"}]}]}]},{"tab":"Client SDKs","icon":"package","menu":[{"item":"AI SDK (Vercel)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/brands/vercel.svg","pages":[{"title":"AI SDK (Vercel)","href":"/v1/sdk-reference/sdk/ai-sdk"}]},{"item":"TypeScript SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/typescript.svg","pages":[{"title":"TypeScript SDK","href":"/v1/sdk-reference/typescript/overview"}]},{"item":"Python SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/python.svg","pages":[{"title":"Python SDK","href":"/v1/sdk-reference/python/overview"}]},{"item":"Go SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/go.svg","pages":[{"title":"Go SDK","href":"/v1/sdk-reference/go/overview"}]},{"item":"C# SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/csharp.svg","pages":[{"title":"C# SDK","href":"/v1/sdk-reference/csharp/overview"}]},{"item":"PHP SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/php.svg","pages":[{"title":"PHP SDK","href":"/v1/sdk-reference/php/overview"}]},{"item":"Ruby SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/ruby.svg","pages":[{"title":"Ruby SDK","href":"/v1/sdk-reference/ruby/overview"}]},{"item":"Java SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/java.svg","pages":[{"title":"Java SDK","href":"/v1/sdk-reference/java/overview"}]},{"item":"Rust SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/rust.svg","pages":[{"title":"Rust SDK","href":"/v1/sdk-reference/rust/overview"}]}],"pages":[{"title":"Client SDKs","href":"/v1/sdk-reference/sdk/ai-sdk"}]},{"tab":"Agent SDK","icon":"bot","menu":[{"item":"Overview","icon":"compass","pages":[{"title":"Overview","href":"/v1/sdk-reference/agent-sdk/overview"}]},{"item":"TypeScript Agent SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/typescript.svg","pages":[{"title":"TypeScript Agent SDK","href":"/v1/sdk-reference/typescript/agent-sdk-overview"}]},{"item":"Python Agent SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/python.svg","pages":[{"title":"Python Agent SDK","href":"/v1/sdk-reference/python/agent-sdk-overview"}]},{"item":"Go Agent SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/go.svg","pages":[{"title":"Go Agent SDK","href":"/v1/sdk-reference/go/agent-sdk-overview"}]},{"item":"C# Agent SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/csharp.svg","pages":[{"title":"C# Agent SDK","href":"/v1/sdk-reference/csharp/agent-sdk-overview"}]},{"item":"PHP Agent SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/php.svg","pages":[{"title":"PHP Agent SDK","href":"/v1/sdk-reference/php/agent-sdk-overview"}]},{"item":"Ruby Agent SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/ruby.svg","pages":[{"title":"Ruby Agent SDK","href":"/v1/sdk-reference/ruby/agent-sdk-overview"}]},{"item":"Rust Agent SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/aistats/icons/languages/rust.svg","pages":[{"title":"Rust Agent SDK","href":"/v1/sdk-reference/rust/agent-sdk-overview"}]}],"pages":[{"title":"Agent SDK","href":"/v1/sdk-reference/agent-sdk/overview"}]},{"tab":"Cookbook","icon":"chef-hat","pages":[{"title":"Cookbook","href":"/v1/cookbook"}]},{"tab":"Changelog","icon":"history","pages":[{"title":"Changelog","href":"/v1/changelog"}]}]},{"language":"es","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modelos","href":"https://phaseo.app/es-ES/models"},{"label":"Estado","href":"https://status.phaseo.app"},{"label":"Soporte","href":"https://phaseo.app/es-ES/help"}]}]},"navbar":{"primary":{"type":"button","label":"Obtener clave de API","href":"https://phaseo.app/es-ES/settings/keys"}},"pages":[{"title":"es","href":"/es/v1/api-reference/endpoint/responses"}]},{"language":"fr","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modèles","href":"https://phaseo.app/fr-FR/models"},{"label":"État","href":"https://status.phaseo.app"},{"label":"Assistance","href":"https://phaseo.app/fr-FR/help"}]}]},"navbar":{"primary":{"type":"button","label":"Obtenir une clé API","href":"https://phaseo.app/fr-FR/settings/keys"}},"pages":[{"title":"fr","href":"/fr/v1/api-reference/endpoint/responses"}]},{"language":"de","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modelle","href":"https://phaseo.app/de-DE/models"},{"label":"Status","href":"https://status.phaseo.app"},{"label":"Support","href":"https://phaseo.app/de-DE/help"}]}]},"navbar":{"primary":{"type":"button","label":"API-Schlüssel erstellen","href":"https://phaseo.app/de-DE/settings/keys"}},"pages":[{"title":"de","href":"/de/v1/api-reference/endpoint/responses"}]},{"language":"pt-BR","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"Modelos","href":"https://phaseo.app/pt-BR/models"},{"label":"Status","href":"https://status.phaseo.app"},{"label":"Suporte","href":"https://phaseo.app/pt-BR/help"}]}]},"navbar":{"primary":{"type":"button","label":"Obter chave de API","href":"https://phaseo.app/pt-BR/settings/keys"}},"pages":[{"title":"pt-BR","href":"/pt-BR/v1/api-reference/endpoint/responses"}]},{"language":"ja","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"モデル","href":"https://phaseo.app/ja/models"},{"label":"ステータス","href":"https://status.phaseo.app"},{"label":"サポート","href":"https://phaseo.app/ja/help"}]}]},"navbar":{"primary":{"type":"button","label":"API キーを取得","href":"https://phaseo.app/ja/settings/keys"}},"pages":[{"title":"ja","href":"/ja/v1/api-reference/endpoint/responses"}]},{"language":"zh-Hans","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"模型","href":"https://phaseo.app/zh-Hans/models"},{"label":"状态","href":"https://status.phaseo.app"},{"label":"支持","href":"https://phaseo.app/zh-Hans/help"}]}]},"navbar":{"primary":{"type":"button","label":"获取 API 密钥","href":"https://phaseo.app/zh-Hans/settings/keys"}},"pages":[{"title":"zh-Hans","href":"/zh-Hans/v1/api-reference/endpoint/responses"}]},{"language":"hi","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"मॉडल","href":"https://phaseo.app/hi/models"},{"label":"स्थिति","href":"https://status.phaseo.app"},{"label":"सहायता","href":"https://phaseo.app/hi/help"}]}]},"navbar":{"primary":{"type":"button","label":"API कुंजी प्राप्त करें","href":"https://phaseo.app/hi/settings/keys"}},"pages":[{"title":"hi","href":"/hi/v1/api-reference/endpoint/responses"}]},{"language":"ar","footer":{"socials":{"x":"https://x.com/phaseoteam","github":"https://github.com/phaseoteam/Phaseo","discord":"https://discord.gg/aQyywCvgZ5","linkedin":"https://www.linkedin.com/company/phaseoapp","reddit":"https://www.reddit.com/r/Phaseo"},"links":[{"items":[{"label":"النماذج","href":"https://phaseo.app/ar-SA/models"},{"label":"الحالة","href":"https://status.phaseo.app"},{"label":"الدعم","href":"https://phaseo.app/ar-SA/help"}]}]},"navbar":{"primary":{"type":"button","label":"احصل على مفتاح API","href":"https://phaseo.app/ar-SA/settings/keys"}},"pages":[{"title":"ar","href":"/ar/v1/api-reference/endpoint/responses"}]}]},"basePath":"","title":"Create a response - Phaseo Docs","buildId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","deploymentId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-D_4Sesi0.js","utils-DRHeK26p.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C6d-DUc2.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dex7slho.js","snippetPresets-BcCEBp0Z.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BoJxk0m8.js","ApiExamples-CufowNTX.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-A4lJSCIe.js","shallow-DqoHP7zn.js","getApiPlaygroundDisplay-Cku8AmtL.js","CodeSnippet-CtHQbNqc.js","CodeSnippets-CGo5Cslf.js","getPastedJson-M-bKdue4.js","icon-DEqCU4st.js","MethodPill-DnfSSXiJ.js","DuplicateIcon-BHu2PE8M.js","createIcon-BPsE5X7c.js","DynamicMarkdown-Dnt6YhtR.js","SectionHeading-6CtFWqMQ.js","axios-vUo_bRtp.js","Markdown-BoKe_1fI.js","clsx-DM5-sUNJ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CkIdkovK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-B3e6Nh_r.js"]}