{ "openapi": "3.0.0", "info": { "description": "AI gateway routing requests to multiple LLM providers (OpenAI, Anthropic, Gemini, Groq, Fireworks AI, Meta, OpenRouter, Kilo AI, DeepSeek, Z.ai, xAI, MiniMax, Xiaomi MiMo, OpenCode Go, Oracle, Ollama, Bailian). Drop-in OpenAI-compatible API.", "title": "GoModel API", "contact": {}, "version": "1.0" }, "paths": { "/admin/audit/conversation": { "get": { "description": "Thread entries carry the request/response bodies the\ntranscript is built from; attempts, request revisions, and\nheader maps are omitted.", "tags": [ "admin" ], "summary": "Get conversation thread around an audit log entry", "parameters": [ { "description": "Anchor audit log entry ID", "name": "log_id", "in": "query", "required": true, "schema": { "type": "string" } }, { "description": "Max entries in thread (default 40, max 200)", "name": "limit", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/auditlog.ConversationResult" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/audit/conversation" } } } }, "/admin/audit/detail": { "get": { "description": "Returns one audit log entry enriched with usage summary when available.", "tags": [ "admin" ], "summary": "Get audit log entry detail", "parameters": [ { "description": "Audit log entry ID", "name": "log_id", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.auditLogEntryResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/audit/detail" } } } }, "/admin/audit/log": { "get": { "description": "Entries are slimmed for the wire: request/response bodies,\nper-attempt error bodies, and rewritten revision bodies are\nomitted (bodies_omitted=true). Fetch /admin/audit/detail for\nthe full payload of one entry.", "tags": [ "admin" ], "summary": "Get paginated audit log entries", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by requested model selector", "name": "requested_model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by HTTP method", "name": "method", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request path", "name": "path", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact session id", "name": "session_id", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by error type", "name": "error_type", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by status code", "name": "status_code", "in": "query", "schema": { "type": "integer" } }, { "description": "Filter by stream mode (true/false)", "name": "stream", "in": "query", "schema": { "type": "boolean" } }, { "description": "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message", "name": "search", "in": "query", "schema": { "type": "string" } }, { "description": "Page size (default 25, max 100)", "name": "limit", "in": "query", "schema": { "type": "integer" } }, { "description": "Offset for pagination", "name": "offset", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.auditLogListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/audit/log" } } } }, "/admin/audit/sessions": { "get": { "description": "Groups audit log entries by session id into threads and returns\none summary per thread — its latest entry, entry count, and time\nspan — ordered by latest activity. Entries without a session id\nappear as single-entry threads. Filters apply to entries before\ngrouping.", "tags": [ "admin" ], "summary": "Get paginated audit sessions (threads)", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by requested model selector", "name": "requested_model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by HTTP method", "name": "method", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request path", "name": "path", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by error type", "name": "error_type", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by status code", "name": "status_code", "in": "query", "schema": { "type": "integer" } }, { "description": "Filter by stream mode (true/false)", "name": "stream", "in": "query", "schema": { "type": "boolean" } }, { "description": "Search across request_id/requested_model/provider/method/path/session_id/error_type/error_message", "name": "search", "in": "query", "schema": { "type": "string" } }, { "description": "Page size in threads (default 25, max 100)", "name": "limit", "in": "query", "schema": { "type": "integer" } }, { "description": "Offset for pagination", "name": "offset", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.auditSessionsListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/audit/sessions" } } } }, "/admin/audit/stats": { "get": { "description": "Returns request counts grouped into 2xx/4xx/5xx status classes\nper time bucket, an overall success-rate summary, and average\nrequest duration per provider for the dashboard charts.\nRanges up to 3 days use hourly buckets, longer ranges daily.", "tags": [ "admin" ], "summary": "Get time-bucketed request status and latency stats", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/auditlog.RequestStats" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/audit/stats" } } } }, "/admin/budgets": { "get": { "tags": [ "admin" ], "summary": "List budgets with current status", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.budgetListResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/budgets" } } }, "put": { "tags": [ "admin" ], "summary": "Create or update one budget", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.upsertBudgetRequest" } } }, "description": "Budget key and amount", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.budgetListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/budgets" } } }, "delete": { "tags": [ "admin" ], "summary": "Delete one budget", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.deleteBudgetRequest" } } }, "description": "Budget key", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.budgetListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/budgets" } } } }, "/admin/budgets/reset": { "post": { "tags": [ "admin" ], "summary": "Reset all budget periods", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.resetBudgetsRequest" } } }, "description": "Reset confirmation", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.resetBudgetsResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/budgets/reset" } } } }, "/admin/budgets/reset-one": { "post": { "tags": [ "admin" ], "summary": "Reset one budget period", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.resetBudgetRequest" } } }, "description": "Budget key", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.budgetListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/budgets/reset-one" } } } }, "/admin/budgets/settings": { "get": { "tags": [ "admin" ], "summary": "Get budget reset settings", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/budget.Settings" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/budgets/settings" } } }, "put": { "tags": [ "admin" ], "summary": "Update budget reset settings", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.updateBudgetSettingsRequest" } } }, "description": "Budget reset settings", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/budget.Settings" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/budgets/settings" } } } }, "/admin/cache/overview": { "get": { "tags": [ "admin" ], "summary": "Get cached-only usage overview", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Grouping interval: daily, weekly, monthly, yearly (default daily)", "name": "interval", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact model name", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request label (exact match)", "name": "label", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Cache mode filter: uncached, cached, all (cache overview always uses cached mode)", "name": "cache_mode", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/usage.CacheOverview" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/cache/overview" } } } }, "/admin/failover": { "get": { "tags": [ "admin" ], "summary": "List failover mappings", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/failover.View" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/failover" } } }, "put": { "tags": [ "admin" ], "summary": "Create or update one failover mapping", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.upsertFailoverRuleRequest" } } }, "description": "Failover mapping", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/failover.View" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/failover" } } }, "delete": { "tags": [ "admin" ], "summary": "Delete one failover mapping", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.deleteFailoverRuleRequest" } } }, "description": "Failover primary model to remove", "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/failover" } } } }, "/admin/failover/generate": { "post": { "tags": [ "admin" ], "summary": "Generate failover mapping suggestions", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.generateFailoverRulesRequest" } } }, "description": "Optional source model filter" }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/failover.View" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/failover/generate" } } } }, "/admin/failover/reset": { "post": { "tags": [ "admin" ], "summary": "Reset dashboard-managed failover mappings", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/failover.View" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/failover/reset" } } } }, "/admin/mcp-servers": { "get": { "tags": [ "admin" ], "summary": "List MCP servers (config-declared and admin-managed)", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/admin.mcpServerViewResponse" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/mcp-servers" } } }, "put": { "tags": [ "admin" ], "summary": "Create or update one admin-managed MCP server", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.upsertMCPServerRequest" } } }, "description": "MCP server definition", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.mcpServerViewResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/mcp-servers" } } } }, "/admin/mcp-servers/{name}": { "delete": { "tags": [ "admin" ], "summary": "Delete one admin-managed MCP server", "parameters": [ { "description": "MCP server slug", "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/mcp-servers/{name}" } } } }, "/admin/mcp-servers/{name}/catalog": { "get": { "description": "Lists the tools, prompts, resources, and resource templates the named server currently exposes through the gateway, after operator tool filters. Names are the upstream originals; the aggregated /mcp endpoint prefixes them with the server slug.", "tags": [ "admin" ], "summary": "Inspect one MCP server's current catalog", "parameters": [ { "description": "MCP server slug", "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/mcpgateway.CatalogView" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/mcp-servers/{name}/catalog" } } } }, "/admin/mcp-servers/{name}/reconnect": { "post": { "tags": [ "admin" ], "summary": "Force-redial one MCP server and return its fresh state", "parameters": [ { "description": "MCP server slug", "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.mcpServerViewResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/mcp-servers/{name}/reconnect" } } } }, "/admin/model-pricing-overrides": { "get": { "description": "Lists persisted USD pricing overrides. Selectors support global \"/\", provider-wide \"provider/\", model-wide \"model\", and exact \"provider/model\" scopes.", "tags": [ "admin" ], "summary": "List model pricing overrides", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/pricingoverrides.View" }, "maxItems": 10000, "description": "Bounded by maxItems=10000." } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/model-pricing-overrides" } } }, "put": { "description": "Stores USD-only pricing for one selector. More precise selectors override broader selectors at runtime.", "tags": [ "admin" ], "summary": "Create or update one model pricing override", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.upsertModelPricingOverrideRequest" } } }, "description": "Pricing selector and override", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/pricingoverrides.View" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/model-pricing-overrides" } } }, "delete": { "tags": [ "admin" ], "summary": "Delete one model pricing override", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.deleteModelPricingOverrideRequest" } } }, "description": "Pricing selector to remove", "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/model-pricing-overrides" } } } }, "/admin/models": { "get": { "tags": [ "admin" ], "summary": "List all registered models with provider info and access state", "parameters": [ { "description": "Filter by model category", "name": "category", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/admin.modelInventoryResponse" }, "maxItems": 10000, "description": "Bounded by maxItems=10000." } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/models" } } } }, "/admin/models/categories": { "get": { "tags": [ "admin" ], "summary": "List model categories with counts", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/providers.CategoryCount" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/models/categories" } } } }, "/admin/provider-credentials": { "get": { "tags": [ "admin" ], "summary": "List admin-managed model provider credentials", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/admin.providerCredentialViewResponse" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/provider-credentials" } } }, "put": { "description": "Registers (or re-registers) the provider into the running gateway immediately, without a restart.", "tags": [ "admin" ], "summary": "Create or update one admin-managed provider credential", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.upsertProviderCredentialRequest" } } }, "description": "Provider credential definition", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.providerCredentialViewResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/provider-credentials" } } } }, "/admin/provider-credentials/types": { "get": { "description": "Each entry names a constructible provider type and the credential fields it accepts, so a client offers only the fields that type uses.", "tags": [ "admin" ], "summary": "List provider types the gateway can construct, with their credential forms", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/admin.providerCredentialTypeResponse" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/provider-credentials/types" } } } }, "/admin/provider-credentials/{name}": { "delete": { "tags": [ "admin" ], "summary": "Delete one admin-managed provider credential", "parameters": [ { "description": "Provider name", "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/provider-credentials/{name}" } } } }, "/admin/rate-limits": { "get": { "tags": [ "admin" ], "summary": "List rate limit rules with live counter status", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.rateLimitListResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/rate-limits" } } }, "put": { "tags": [ "admin" ], "summary": "Create or update one rate limit rule", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.upsertRateLimitRequest" } } }, "description": "Rate limit key and limits", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.rateLimitListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/rate-limits" } } }, "delete": { "tags": [ "admin" ], "summary": "Delete one rate limit rule", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.deleteRateLimitRequest" } } }, "description": "Rate limit key", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.rateLimitListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/rate-limits" } } } }, "/admin/rate-limits/reset": { "post": { "tags": [ "admin" ], "summary": "Reset the live counters of all rate limit rules", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.resetRateLimitsRequest" } } }, "description": "Reset confirmation", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.resetRateLimitsResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/rate-limits/reset" } } } }, "/admin/rate-limits/reset-one": { "post": { "tags": [ "admin" ], "summary": "Reset the live counters of one rate limit rule", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.resetRateLimitRequest" } } }, "description": "Rate limit key", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.rateLimitListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/rate-limits/reset-one" } } } }, "/admin/runtime/config": { "get": { "tags": [ "admin" ], "summary": "Get admin runtime configuration", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.DashboardConfigResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/runtime/config" } } } }, "/admin/tagging/settings": { "get": { "tags": [ "admin" ], "summary": "Get header tagging rules", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.taggingSettingsResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/tagging/settings" } } }, "put": { "tags": [ "admin" ], "summary": "Replace operator header tagging rules", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.updateTaggingSettingsRequest" } } }, "description": "Operator tagging rules", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.taggingSettingsResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/tagging/settings" } } } }, "/admin/usage/daily": { "get": { "tags": [ "admin" ], "summary": "Get usage breakdown by period", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Grouping interval: daily, weekly, monthly, yearly (default daily)", "name": "interval", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact model name", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request label (exact match)", "name": "label", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Cache mode filter: uncached, cached, all (default uncached)", "name": "cache_mode", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/usage.DailyUsage" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/daily" } } } }, "/admin/usage/labels": { "get": { "description": "Returns per-label token and cost aggregates. Requests carrying\nseveral labels count once per label, so rows overlap and do\nnot sum to the period totals. Unlabelled requests are omitted.", "tags": [ "admin" ], "summary": "Get usage breakdown by request label", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact model name", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request label (exact match)", "name": "label", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Cache mode filter: uncached, cached, all (default uncached)", "name": "cache_mode", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/usage.LabelUsage" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/labels" } } } }, "/admin/usage/log": { "get": { "tags": [ "admin" ], "summary": "Get paginated usage log entries", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact model name", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request label (exact match)", "name": "label", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Cache mode filter: uncached, cached, all (default uncached)", "name": "cache_mode", "in": "query", "schema": { "type": "string" } }, { "description": "Search across model, provider, request_id, provider_id", "name": "search", "in": "query", "schema": { "type": "string" } }, { "description": "Page size (default 50, max 200)", "name": "limit", "in": "query", "schema": { "type": "integer" } }, { "description": "Offset for pagination", "name": "offset", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/usage.UsageLogResult" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/log" } } } }, "/admin/usage/models": { "get": { "tags": [ "admin" ], "summary": "Get usage breakdown by model", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact model name", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request label (exact match)", "name": "label", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Cache mode filter: uncached, cached, all (default uncached)", "name": "cache_mode", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/usage.ModelUsage" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/models" } } } }, "/admin/usage/recalculate-pricing": { "post": { "tags": [ "admin" ], "summary": "Recalculate stored usage costs from current model pricing metadata", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.recalculatePricingRequest" } } }, "description": "Recalculation filters and confirmation", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/usage.RecalculatePricingResult" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/recalculate-pricing" } } } }, "/admin/usage/summary": { "get": { "tags": [ "admin" ], "summary": "Get usage summary", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact model name", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request label (exact match)", "name": "label", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Cache mode filter: uncached, cached, all (default uncached)", "name": "cache_mode", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/usage.UsageSummary" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/summary" } } } }, "/admin/usage/throughput": { "get": { "description": "Returns a fixed, trailing window of token-volume buckets\n(input / output / prompt-cached / locally-cached) at the\nrequested granularity, for the overview live chart.", "tags": [ "admin" ], "summary": "Get the live token-throughput window", "parameters": [ { "description": "Bucket granularity: second, minute, hour, day", "name": "granularity", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/usage.TokenThroughput" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/throughput" } } } }, "/admin/usage/user-paths": { "get": { "tags": [ "admin" ], "summary": "Get usage breakdown by user path", "parameters": [ { "description": "Number of days (default 30)", "name": "days", "in": "query", "schema": { "type": "integer" } }, { "description": "Start date (YYYY-MM-DD)", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "End date (YYYY-MM-DD)", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by exact model name", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by provider name or provider type", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by request label (exact match)", "name": "label", "in": "query", "schema": { "type": "string" } }, { "description": "Filter by tracked user path subtree", "name": "user_path", "in": "query", "schema": { "type": "string" } }, { "description": "Cache mode filter: uncached, cached, all (default uncached)", "name": "cache_mode", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/usage.UserPathUsage" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/usage/user-paths" } } } }, "/admin/virtual-models": { "get": { "tags": [ "admin" ], "summary": "List virtual models (redirects and access policies)", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/virtualmodels.View" }, "maxItems": 10000, "description": "Bounded by maxItems=10000." } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/virtual-models" } } }, "put": { "tags": [ "admin" ], "summary": "Create, update, or rename one virtual model", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.upsertVirtualModelRequest" } } }, "description": "Virtual model definition", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/virtualmodels.View" } } } }, "204": { "description": "No-op access policy removed" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/virtual-models" } } }, "delete": { "tags": [ "admin" ], "summary": "Delete one virtual model", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/admin.deleteVirtualModelRequest" } } }, "description": "Virtual model source to remove", "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.GatewayError" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/admin/virtual-models" } } } }, "/health": { "get": { "tags": [ "system" ], "summary": "Health check", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "x-mint": { "metadata": { "sidebarTitle": "/health" } } } }, "/health/ready": { "get": { "tags": [ "system" ], "summary": "Readiness check", "responses": { "200": { "description": "ready or degraded", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } } } }, "503": { "description": "not ready", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } } } } }, "x-mint": { "metadata": { "sidebarTitle": "/health/ready" } } } }, "/mcp": { "get": { "description": "Streamable-HTTP MCP endpoint aggregating every configured upstream MCP server visible to the caller. Tools and prompts are namespaced as {slug}_{name}. POST carries JSON-RPC messages, GET opens the server-notification SSE stream, DELETE ends the session. The X-MCP-Servers request header optionally narrows the visible servers to a comma-separated subset of server slugs.", "tags": [ "mcp" ], "summary": "MCP gateway (aggregated)", "responses": { "200": { "description": "JSON-RPC response or SSE stream", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } }, "text/event-stream": { "schema": { "type": "object", "additionalProperties": true } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/mcp" } } }, "post": { "description": "Streamable-HTTP MCP endpoint aggregating every configured upstream MCP server visible to the caller. Tools and prompts are namespaced as {slug}_{name}. POST carries JSON-RPC messages, GET opens the server-notification SSE stream, DELETE ends the session. The X-MCP-Servers request header optionally narrows the visible servers to a comma-separated subset of server slugs.", "tags": [ "mcp" ], "summary": "MCP gateway (aggregated)", "responses": { "200": { "description": "JSON-RPC response or SSE stream", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } }, "text/event-stream": { "schema": { "type": "object", "additionalProperties": true } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/mcp" } } }, "delete": { "description": "Streamable-HTTP MCP endpoint aggregating every configured upstream MCP server visible to the caller. Tools and prompts are namespaced as {slug}_{name}. POST carries JSON-RPC messages, GET opens the server-notification SSE stream, DELETE ends the session. The X-MCP-Servers request header optionally narrows the visible servers to a comma-separated subset of server slugs.", "tags": [ "mcp" ], "summary": "MCP gateway (aggregated)", "responses": { "200": { "description": "JSON-RPC response or SSE stream", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } }, "text/event-stream": { "schema": { "type": "object", "additionalProperties": true } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/mcp" } } } }, "/mcp/{server}": { "get": { "description": "Streamable-HTTP MCP endpoint exposing one configured upstream MCP server with original (un-prefixed) tool names.", "tags": [ "mcp" ], "summary": "MCP gateway (single server)", "parameters": [ { "description": "Configured MCP server slug", "name": "server", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "JSON-RPC response or SSE stream", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } }, "text/event-stream": { "schema": { "type": "object", "additionalProperties": true } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/mcp/{server}" } } }, "post": { "description": "Streamable-HTTP MCP endpoint exposing one configured upstream MCP server with original (un-prefixed) tool names.", "tags": [ "mcp" ], "summary": "MCP gateway (single server)", "parameters": [ { "description": "Configured MCP server slug", "name": "server", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "JSON-RPC response or SSE stream", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } }, "text/event-stream": { "schema": { "type": "object", "additionalProperties": true } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/mcp/{server}" } } }, "delete": { "description": "Streamable-HTTP MCP endpoint exposing one configured upstream MCP server with original (un-prefixed) tool names.", "tags": [ "mcp" ], "summary": "MCP gateway (single server)", "parameters": [ { "description": "Configured MCP server slug", "name": "server", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "JSON-RPC response or SSE stream", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } }, "text/event-stream": { "schema": { "type": "object", "additionalProperties": true } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/mcp/{server}" } } } }, "/p/{provider}/{endpoint}": { "get": { "description": "Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.", "tags": [ "passthrough" ], "summary": "Provider passthrough", "parameters": [ { "description": "Provider type", "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider-native endpoint path relative to the provider base URL. URL-encode embedded / characters when using generated clients.", "name": "endpoint", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "201": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "204": { "description": "No Content passthrough response", "content": { "application/json": { "schema": { "type": "string" } }, "application/octet-stream": { "schema": { "type": "string" } }, "text/event-stream": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/p/{provider}/{endpoint}" } } }, "put": { "description": "Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.", "tags": [ "passthrough" ], "summary": "Provider passthrough", "parameters": [ { "description": "Provider type", "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider-native endpoint path relative to the provider base URL. URL-encode embedded / characters when using generated clients.", "name": "endpoint", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "201": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "204": { "description": "No Content passthrough response", "content": { "application/json": { "schema": { "type": "string" } }, "application/octet-stream": { "schema": { "type": "string" } }, "text/event-stream": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/p/{provider}/{endpoint}" } } }, "post": { "description": "Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.", "tags": [ "passthrough" ], "summary": "Provider passthrough", "parameters": [ { "description": "Provider type", "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider-native endpoint path relative to the provider base URL. URL-encode embedded / characters when using generated clients.", "name": "endpoint", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "201": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "204": { "description": "No Content passthrough response", "content": { "application/json": { "schema": { "type": "string" } }, "application/octet-stream": { "schema": { "type": "string" } }, "text/event-stream": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/p/{provider}/{endpoint}" } } }, "delete": { "description": "Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.", "tags": [ "passthrough" ], "summary": "Provider passthrough", "parameters": [ { "description": "Provider type", "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider-native endpoint path relative to the provider base URL. URL-encode embedded / characters when using generated clients.", "name": "endpoint", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "201": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "204": { "description": "No Content passthrough response", "content": { "application/json": { "schema": { "type": "string" } }, "application/octet-stream": { "schema": { "type": "string" } }, "text/event-stream": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/p/{provider}/{endpoint}" } } }, "options": { "description": "Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.", "tags": [ "passthrough" ], "summary": "Provider passthrough", "parameters": [ { "description": "Provider type", "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider-native endpoint path relative to the provider base URL. URL-encode embedded / characters when using generated clients.", "name": "endpoint", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "201": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "204": { "description": "No Content passthrough response", "content": { "application/json": { "schema": { "type": "string" } }, "application/octet-stream": { "schema": { "type": "string" } }, "text/event-stream": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/p/{provider}/{endpoint}" } } }, "head": { "description": "Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.", "tags": [ "passthrough" ], "summary": "Provider passthrough", "parameters": [ { "description": "Provider type", "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider-native endpoint path relative to the provider base URL. URL-encode embedded / characters when using generated clients.", "name": "endpoint", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "201": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "204": { "description": "No Content passthrough response", "content": { "application/json": { "schema": { "type": "string" } }, "application/octet-stream": { "schema": { "type": "string" } }, "text/event-stream": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/p/{provider}/{endpoint}" } } }, "patch": { "description": "Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.", "tags": [ "passthrough" ], "summary": "Provider passthrough", "parameters": [ { "description": "Provider type", "name": "provider", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider-native endpoint path relative to the provider base URL. URL-encode embedded / characters when using generated clients.", "name": "endpoint", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "201": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "202": { "description": "Opaque upstream response body", "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } }, "text/event-stream": { "schema": { "type": "string", "format": "binary" } } } }, "204": { "description": "No Content passthrough response", "content": { "application/json": { "schema": { "type": "string" } }, "application/octet-stream": { "schema": { "type": "string" } }, "text/event-stream": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/p/{provider}/{endpoint}" } } } }, "/v1/audio/speech": { "post": { "tags": [ "audio" ], "summary": "Create speech (text-to-speech)", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.AudioSpeechRequest" } } }, "description": "Text-to-speech request", "required": true }, "responses": { "200": { "description": "Binary audio in the requested response_format", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } }, "400": { "description": "Bad Request", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/audio/speech" } } } }, "/v1/audio/transcriptions": { "post": { "tags": [ "audio" ], "summary": "Create transcription (speech-to-text)", "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "description": "Audio file to transcribe", "type": "string", "format": "binary" }, "model": { "description": "Model ID", "type": "string" }, "language": { "description": "Input language (ISO-639-1)", "type": "string" }, "prompt": { "description": "Optional text to guide the model", "type": "string" }, "response_format": { "description": "json, text, srt, verbose_json, or vtt", "type": "string" }, "temperature": { "description": "Sampling temperature (0-1)", "type": "number" }, "timestamp_granularities[]": { "description": "Timestamp granularities to populate: word and/or segment", "type": "array", "items": { "type": "string" } } }, "required": [ "file", "model" ] } } }, "required": true }, "responses": { "200": { "description": "Transcription in the requested response_format: a JSON object for json/verbose_json, or a text/plain body for text/srt/vtt", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } }, "text/plain": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/plain": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/plain": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/plain": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/plain": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/audio/transcriptions" } } } }, "/v1/batches": { "get": { "tags": [ "batch" ], "summary": "List batches", "parameters": [ { "description": "Pagination cursor", "name": "after", "in": "query", "schema": { "type": "string" } }, { "description": "Maximum items to return (1-100, default 20)", "name": "limit", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.BatchListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/batches" } } }, "post": { "tags": [ "batch" ], "summary": "Create a native provider batch", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.BatchRequest" } } }, "description": "Batch request", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.BatchResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/batches" } } } }, "/v1/batches/{id}": { "get": { "tags": [ "batch" ], "summary": "Get a batch", "parameters": [ { "description": "Batch ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.BatchResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/batches/{id}" } } } }, "/v1/batches/{id}/cancel": { "post": { "tags": [ "batch" ], "summary": "Cancel a batch", "parameters": [ { "description": "Batch ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.BatchResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/batches/{id}/cancel" } } } }, "/v1/batches/{id}/results": { "get": { "tags": [ "batch" ], "summary": "Get batch results", "parameters": [ { "description": "Batch ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.BatchResultsResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/batches/{id}/results" } } } }, "/v1/chat/completions": { "post": { "tags": [ "chat" ], "summary": "Create a chat completion", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ChatRequest" } } }, "description": "Chat completion request", "required": true }, "responses": { "200": { "description": "JSON response or SSE stream when stream=true", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ChatResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.ChatResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/chat/completions" } } } }, "/v1/conversations": { "post": { "tags": [ "conversations" ], "summary": "Create a conversation", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ConversationCreateRequest" } } }, "description": "Conversation create request" }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.Conversation" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations" } } } }, "/v1/conversations/{id}": { "get": { "tags": [ "conversations" ], "summary": "Get a conversation", "parameters": [ { "description": "Conversation ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.Conversation" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations/{id}" } } }, "post": { "description": "Merges supplied keys into the conversation metadata.", "tags": [ "conversations" ], "summary": "Update a conversation", "parameters": [ { "description": "Conversation ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ConversationUpdateRequest" } } }, "description": "Conversation update request", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.Conversation" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations/{id}" } } }, "delete": { "tags": [ "conversations" ], "summary": "Delete a conversation", "parameters": [ { "description": "Conversation ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ConversationDeleteResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations/{id}" } } } }, "/v1/conversations/{id}/items": { "get": { "tags": [ "conversations" ], "summary": "List conversation items", "parameters": [ { "description": "Conversation ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Return items after this item ID", "name": "after", "in": "query", "schema": { "type": "string" } }, { "description": "Additional fields to include", "name": "include", "in": "query", "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Maximum items", "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 100, "default": 20 } }, { "description": "Sort order", "name": "order", "in": "query", "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ConversationItemListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations/{id}/items" } } }, "post": { "tags": [ "conversations" ], "summary": "Create conversation items", "parameters": [ { "description": "Conversation ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Additional fields to include", "name": "include", "in": "query", "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ConversationItemCreateRequest" } } }, "description": "Conversation items", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ConversationItemListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations/{id}/items" } } } }, "/v1/conversations/{id}/items/{item_id}": { "get": { "tags": [ "conversations" ], "summary": "Get a conversation item", "parameters": [ { "description": "Conversation ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Conversation item ID", "name": "item_id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Additional fields to include", "name": "include", "in": "query", "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations/{id}/items/{item_id}" } } }, "delete": { "tags": [ "conversations" ], "summary": "Delete a conversation item", "parameters": [ { "description": "Conversation ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Conversation item ID", "name": "item_id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.Conversation" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/conversations/{id}/items/{item_id}" } } } }, "/v1/embeddings": { "post": { "tags": [ "embeddings" ], "summary": "Create embeddings", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.EmbeddingRequest" } } }, "description": "Embeddings request", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.EmbeddingResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/embeddings" } } } }, "/v1/files": { "get": { "tags": [ "files" ], "summary": "List files", "parameters": [ { "description": "Provider filter", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "File purpose filter", "name": "purpose", "in": "query", "schema": { "type": "string" } }, { "description": "Pagination cursor", "name": "after", "in": "query", "schema": { "type": "string" } }, { "description": "Maximum items to return (1-100, default 20)", "name": "limit", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.FileListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/files" } } }, "post": { "tags": [ "files" ], "summary": "Upload a file", "parameters": [ { "description": "Provider override when multiple providers are configured", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "purpose": { "description": "File purpose", "type": "string" }, "file": { "description": "File to upload", "type": "string", "format": "binary" } }, "required": [ "purpose", "file" ] } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.FileObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/files" } } } }, "/v1/files/{id}": { "get": { "tags": [ "files" ], "summary": "Get file metadata", "parameters": [ { "description": "File ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider override", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.FileObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/files/{id}" } } }, "delete": { "tags": [ "files" ], "summary": "Delete a file", "parameters": [ { "description": "File ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider override", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.FileDeleteResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/files/{id}" } } } }, "/v1/files/{id}/content": { "get": { "tags": [ "files" ], "summary": "Download file content", "parameters": [ { "description": "File ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider override", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Raw file content", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } }, "400": { "description": "Bad Request", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/files/{id}/content" } } } }, "/v1/messages": { "post": { "tags": [ "messages" ], "summary": "Create a message (Anthropic Messages API)", "requestBody": { "$ref": "#/components/requestBodies/anthropicapi.MessagesRequest" }, "responses": { "200": { "description": "JSON response or SSE stream when stream=true", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.MessagesResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/anthropicapi.SSEEventFrame" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages" } } } }, "/v1/messages/batches": { "get": { "tags": [ "messages" ], "summary": "List message batches", "parameters": [ { "description": "Pagination cursor", "name": "after_id", "in": "query", "schema": { "type": "string" } }, { "description": "Maximum items to return (1-100, default 20)", "name": "limit", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.MessageBatchList" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages/batches" } } }, "post": { "tags": [ "messages" ], "summary": "Create a message batch (Anthropic Message Batches API)", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.BatchCreateRequest" } } }, "description": "Anthropic Message Batches create request", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.MessageBatch" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages/batches" } } } }, "/v1/messages/batches/{id}": { "get": { "tags": [ "messages" ], "summary": "Get a message batch", "parameters": [ { "description": "Message batch ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.MessageBatch" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages/batches/{id}" } } }, "delete": { "tags": [ "messages" ], "summary": "Delete an ended message batch", "parameters": [ { "description": "Message batch ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.DeletedMessageBatch" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages/batches/{id}" } } } }, "/v1/messages/batches/{id}/cancel": { "post": { "tags": [ "messages" ], "summary": "Cancel a message batch", "parameters": [ { "description": "Message batch ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.MessageBatch" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages/batches/{id}/cancel" } } } }, "/v1/messages/batches/{id}/results": { "get": { "tags": [ "messages" ], "summary": "Get message batch results (JSONL)", "parameters": [ { "description": "Message batch ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "JSONL stream of batch results", "content": { "application/x-jsonl": { "schema": { "type": "string" } } } }, "401": { "description": "Unauthorized", "content": { "application/x-jsonl": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "404": { "description": "Not Found", "content": { "application/x-jsonl": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "409": { "description": "Conflict", "content": { "application/x-jsonl": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages/batches/{id}/results" } } } }, "/v1/messages/count_tokens": { "post": { "description": "Returns a provider-agnostic heuristic estimate of the input token count.", "tags": [ "messages" ], "summary": "Count message tokens (Anthropic Messages API)", "requestBody": { "$ref": "#/components/requestBodies/anthropicapi.MessagesRequest" }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.CountTokensResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.ErrorResponse" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/messages/count_tokens" } } } }, "/v1/models": { "get": { "tags": [ "models" ], "summary": "List available models", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ModelsResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/models" } } } }, "/v1/realtime": { "get": { "description": "Upgrades to a websocket and relays an OpenAI-compatible realtime (speech-to-speech) session to the provider that owns the model named in the ?model= query parameter. Provider credentials are injected by the gateway. Passing ?call_id= instead attaches to an existing WebRTC/SIP call as a sideband channel; calls created through this gateway instance are routed automatically, others need explicit model (and provider) parameters.", "tags": [ "realtime" ], "summary": "Open a realtime session", "parameters": [ { "description": "Model that owns the realtime session (required unless call_id names a call created through this gateway instance)", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Optional provider hint", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Existing WebRTC/SIP call to attach to as a sideband channel", "name": "call_id", "in": "query", "schema": { "type": "string" } } ], "responses": { "101": { "description": "Switching Protocols", "content": { "*/*": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "*/*": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/realtime" } } } }, "/v1/realtime/calls": { "post": { "description": "OpenAI-compatible WebRTC SDP exchange. Accepts a raw application/sdp offer with the model in the ?model= query parameter, or a multipart form with sdp and session (JSON) fields. The gateway routes by model, injects provider credentials, and relays the SDP answer; the Location header carries the created call id. Media flows directly between the client and the provider, so usage is recorded by a gateway-side sideband observer when usage tracking is enabled.", "tags": [ "realtime" ], "summary": "Create a realtime WebRTC call", "parameters": [ { "description": "Model that owns the call (required for application/sdp offers)", "name": "model", "in": "query", "schema": { "type": "string" } }, { "description": "Optional provider hint", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/sdp": { "schema": { "type": "string" } }, "multipart/form-data": { "schema": { "type": "string" } } }, "description": "SDP offer (raw application/sdp body), or a multipart form with sdp and session (JSON) fields", "required": true }, "responses": { "201": { "description": "SDP answer", "content": { "application/sdp": { "schema": { "type": "string" } }, "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/sdp": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/sdp": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/sdp": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/sdp": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/sdp": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/realtime/calls" } } } }, "/v1/realtime/client_secrets": { "post": { "description": "OpenAI-compatible ephemeral credential minting for browser and mobile realtime clients. Routes by session.model (or the transcription model for transcription sessions), applies the same model-access, budget, and rate-limit gates as other model endpoints, and relays the provider response verbatim. The minted secret authenticates the client directly against the provider, bypassing the gateway for the session itself.", "tags": [ "realtime" ], "summary": "Mint an ephemeral realtime client secret", "parameters": [ { "description": "Optional provider hint", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "expires_after": { "type": "object" }, "session": { "type": "object" } } } } }, "description": "Client secret request: session config with the routing model (session.model, or the nested transcription model) plus optional expires_after; additional fields are relayed verbatim", "required": true }, "responses": { "200": { "description": "Provider client secret response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/realtime/client_secrets" } } } }, "/v1/responses": { "post": { "tags": [ "responses" ], "summary": "Create a model response (Responses API)", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponsesRequest" } } }, "description": "Responses API request", "required": true }, "responses": { "200": { "description": "JSON response or SSE stream when stream=true", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponsesResponse" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.ResponsesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } }, "text/event-stream": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/responses" } } } }, "/v1/responses/compact": { "post": { "tags": [ "responses" ], "summary": "Compact response input", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponseCompactRequest" } } }, "description": "Response compact request", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponseCompactResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/responses/compact" } } } }, "/v1/responses/input_tokens": { "post": { "tags": [ "responses" ], "summary": "Count response input tokens", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponseInputTokensRequest" } } }, "description": "Response input token request", "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponseInputTokensResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/responses/input_tokens" } } } }, "/v1/responses/{id}": { "get": { "tags": [ "responses" ], "summary": "Get a response", "parameters": [ { "description": "Response ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider override for native lookups", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Fields to include in the response", "name": "include", "in": "query", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Fields to include in the response", "name": "include[]", "in": "query", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Whether to include obfuscated response data", "name": "include_obfuscation", "in": "query", "schema": { "type": "boolean" } }, { "description": "Input item offset for providers that support it", "name": "starting_after", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponsesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/responses/{id}" } } }, "delete": { "tags": [ "responses" ], "summary": "Delete a response", "parameters": [ { "description": "Response ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider override for native deletion", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponseDeleteResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/responses/{id}" } } } }, "/v1/responses/{id}/cancel": { "post": { "tags": [ "responses" ], "summary": "Cancel a response", "parameters": [ { "description": "Response ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider override for native cancellation", "name": "provider", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponsesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/responses/{id}/cancel" } } } }, "/v1/responses/{id}/input_items": { "get": { "tags": [ "responses" ], "summary": "List response input items", "parameters": [ { "description": "Response ID", "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "description": "Provider override for native lookups", "name": "provider", "in": "query", "schema": { "type": "string" } }, { "description": "Pagination cursor", "name": "after", "in": "query", "schema": { "type": "string" } }, { "description": "Fields to include in listed input items", "name": "include", "in": "query", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Fields to include in listed input items", "name": "include[]", "in": "query", "explode": true, "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Maximum items to return (1-100, default 20)", "name": "limit", "in": "query", "schema": { "type": "integer" } }, { "description": "Sort order: asc or desc", "name": "order", "in": "query", "schema": { "type": "string", "enum": [ "asc", "desc" ] } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.ResponseInputItemListResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "501": { "description": "Not Implemented", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "502": { "description": "Bad Gateway", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/responses/{id}/input_items" } } } }, "/v1/usage": { "get": { "description": "Returns recorded usage, budget statuses, and rate limit statuses for the caller's effective user path (the path bound to the managed API key, or the user-path header for master-key callers).", "tags": [ "usage" ], "summary": "Self-service usage, budget, and rate limit status", "parameters": [ { "description": "Inclusive window start (YYYY-MM-DD, UTC); defaults to 29 days before end_date", "name": "start_date", "in": "query", "schema": { "type": "string" } }, { "description": "Inclusive window end (YYYY-MM-DD, UTC); defaults to today; the whole range may span at most 365 days", "name": "end_date", "in": "query", "schema": { "type": "string" } }, { "description": "Window length ending today when no explicit dates are given (default 30, max 365)", "name": "days", "in": "query", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/server.usageStatusResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/core.OpenAIErrorEnvelope" } } } } }, "security": [ { "BearerAuth": [] } ], "x-mint": { "metadata": { "sidebarTitle": "/v1/usage" } } } } }, "servers": [ { "url": "{base_url}", "description": "Edit the base URL to point at your GoModel deployment.", "variables": { "base_url": { "default": "http://localhost:8080", "description": "Your GoModel deployment URL" } } } ], "components": { "requestBodies": { "anthropicapi.MessagesRequest": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/anthropicapi.MessagesRequest" } } }, "description": "Anthropic Messages request", "required": true } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } }, "schemas": { "admin.DashboardConfigResponse": { "type": "object", "properties": { "BUDGETS_ENABLED": { "type": "string" }, "CACHE_ENABLED": { "type": "string" }, "DASHBOARD_LIVE_LOGS_ENABLED": { "type": "string" }, "DEMO_MODE": { "type": "string" }, "FAILOVER_ENABLED": { "type": "string" }, "GUARDRAILS_ENABLED": { "type": "string" }, "LOGGING_ENABLED": { "type": "string" }, "LOGGING_RETENTION_DAYS": { "type": "string" }, "MCP_ENABLED": { "type": "string" }, "RATE_LIMITS_ENABLED": { "type": "string" }, "REDIS_URL": { "type": "string" }, "SEMANTIC_CACHE_ENABLED": { "type": "string" }, "USAGE_ENABLED": { "type": "string" }, "USAGE_PRICING_RECALCULATION_ENABLED": { "type": "string" } } }, "admin.auditLogEntryResponse": { "type": "object", "properties": { "alias_used": { "type": "boolean" }, "auth_key_id": { "type": "string" }, "auth_method": { "type": "string" }, "bodies_omitted": { "description": "BodiesOmitted marks a list entry whose request/response bodies (and\nother heavy payloads) were stripped server-side; the full entry is\navailable from GET /admin/audit/detail. It also tells the dashboard\nthe entry is persisted — a slim entry is never an in-flight request.", "type": "boolean" }, "cache_type": { "type": "string" }, "client_ip": { "type": "string" }, "conversation_payload": { "description": "ConversationPayload reports that the entry's (stripped) bodies were\nshaped like a conversation, preserving the Interactions-drawer\neligibility signal the dashboard otherwise sniffs from the bodies.", "type": "boolean" }, "data": { "description": "Data contains flexible request/response information as JSON", "allOf": [ { "$ref": "#/components/schemas/auditlog.LogData" } ] }, "duration_ns": { "description": "DurationNs is the request duration in nanoseconds", "type": "integer" }, "error_type": { "type": "string" }, "id": { "description": "ID is a unique identifier for this log entry (UUID)", "type": "string" }, "method": { "type": "string" }, "path": { "type": "string" }, "provider": { "description": "canonical provider type used for routing and filters", "type": "string" }, "provider_name": { "type": "string" }, "request_id": { "description": "Extracted fields for efficient filtering (indexed in relational DBs)", "type": "string" }, "requested_model": { "description": "Core fields (indexed for queries)", "type": "string" }, "resolved_model": { "type": "string" }, "session_id": { "type": "string" }, "status_code": { "type": "integer" }, "stream": { "type": "boolean" }, "timestamp": { "description": "Timestamp is when the request started", "type": "string" }, "usage": { "$ref": "#/components/schemas/usage.RequestUsageSummary" }, "user_path": { "type": "string" }, "workflow_version_id": { "type": "string" } } }, "admin.auditLogListResponse": { "type": "object", "properties": { "entries": { "type": "array", "items": { "$ref": "#/components/schemas/admin.auditLogEntryResponse" } }, "limit": { "type": "integer" }, "offset": { "type": "integer" }, "total": { "type": "integer" } } }, "admin.auditSessionResponse": { "type": "object", "properties": { "count": { "type": "integer" }, "first_timestamp": { "type": "string" }, "last_timestamp": { "type": "string" }, "latest": { "$ref": "#/components/schemas/admin.auditLogEntryResponse" }, "session_id": { "type": "string" } } }, "admin.auditSessionsListResponse": { "type": "object", "properties": { "limit": { "type": "integer" }, "offset": { "type": "integer" }, "sessions": { "type": "array", "items": { "$ref": "#/components/schemas/admin.auditSessionResponse" } }, "total": { "type": "integer" } } }, "admin.budgetKeyRequest": { "type": "object", "properties": { "period": { "type": "string" }, "period_seconds": { "type": "integer" } }, "oneOf": [ { "required": [ "period" ] }, { "required": [ "period_seconds" ] } ] }, "admin.budgetListResponse": { "type": "object", "properties": { "budgets": { "type": "array", "items": { "$ref": "#/components/schemas/admin.budgetStatusResponse" } }, "server_time": { "type": "string" } } }, "admin.budgetStatusResponse": { "type": "object", "properties": { "amount": { "type": "number" }, "created_at": { "type": "string" }, "has_usage": { "type": "boolean" }, "last_reset_at": { "type": "string" }, "period_end": { "type": "string" }, "period_label": { "type": "string" }, "period_ratio": { "type": "number" }, "period_seconds": { "type": "integer" }, "period_start": { "type": "string" }, "remaining": { "type": "number" }, "scope": { "type": "string" }, "source": { "type": "string" }, "spent": { "type": "number" }, "subject": { "type": "string" }, "updated_at": { "type": "string" }, "usage_ratio": { "type": "number" }, "user_path": { "type": "string" } } }, "admin.deleteBudgetRequest": { "type": "object", "properties": { "budget_key": { "$ref": "#/components/schemas/admin.budgetKeyRequest" }, "scope": { "type": "string" }, "subject": { "type": "string" }, "user_path": { "type": "string" } }, "required": [ "budget_key" ] }, "admin.deleteFailoverRuleRequest": { "type": "object", "properties": { "primary_model": { "type": "string" } } }, "admin.deleteModelPricingOverrideRequest": { "type": "object", "properties": { "selector": { "type": "string" } }, "required": [ "selector" ] }, "admin.deleteRateLimitRequest": { "type": "object", "properties": { "limit_key": { "$ref": "#/components/schemas/admin.rateLimitKeyRequest" }, "scope": { "type": "string" }, "subject": { "type": "string" }, "user_path": { "type": "string" } } }, "admin.deleteVirtualModelRequest": { "type": "object", "properties": { "source": { "type": "string" } }, "required": [ "source" ] }, "admin.generateFailoverRulesRequest": { "type": "object", "properties": { "model": { "type": "string" }, "primary_model": { "type": "string" } } }, "admin.mcpServerViewResponse": { "type": "object", "properties": { "allowed_tools": { "type": "array", "items": { "type": "string" } }, "connected_at": { "type": "string" }, "description": { "type": "string" }, "disallowed_tools": { "type": "array", "items": { "type": "string" } }, "enabled": { "type": "boolean" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "last_error": { "type": "string" }, "managed": { "type": "boolean" }, "name": { "type": "string" }, "prompt_count": { "type": "integer" }, "resource_count": { "type": "integer" }, "slug": { "type": "string" }, "status": { "type": "string" }, "tool_count": { "type": "integer" }, "tool_timeout_seconds": { "type": "integer" }, "transport": { "type": "string" }, "url": { "type": "string" }, "user_paths": { "type": "array", "items": { "type": "string" } } } }, "admin.modelAccessResponse": { "type": "object", "properties": { "default_enabled": { "type": "boolean" }, "effective_enabled": { "type": "boolean" }, "override": { "$ref": "#/components/schemas/virtualmodels.VirtualModel" }, "selector": { "type": "string" }, "user_paths": { "type": "array", "items": { "type": "string" } } } }, "admin.modelInventoryResponse": { "type": "object", "properties": { "access": { "$ref": "#/components/schemas/admin.modelAccessResponse" }, "model": { "$ref": "#/components/schemas/core.Model" }, "provider_name": { "type": "string" }, "provider_type": { "type": "string" }, "selector": { "type": "string" } } }, "admin.providerCredentialFieldResponse": { "type": "object", "properties": { "advanced": { "description": "Advanced marks a field most operators leave at its default for this\nprovider type.", "type": "boolean" }, "name": { "type": "string" }, "options": { "description": "Options are an enumerated field's canonical values, for a client to\noffer as a choice. It is not a whitelist — providers accept further\nspellings of each, and upserts are not rejected for using one. An empty\nvalue always means \"provider default\", so it is never listed.", "type": "array", "items": { "type": "string" } }, "required": { "type": "boolean" } } }, "admin.providerCredentialTypeResponse": { "type": "object", "properties": { "default_base_url": { "type": "string" }, "fields": { "type": "array", "items": { "$ref": "#/components/schemas/admin.providerCredentialFieldResponse" } }, "type": { "type": "string" } } }, "admin.providerCredentialViewResponse": { "type": "object", "properties": { "api_keys": { "type": "array", "items": { "type": "string" } }, "api_mode": { "type": "string" }, "api_version": { "type": "string" }, "auth_type": { "type": "string" }, "backend": { "type": "string" }, "base_url": { "type": "string" }, "created_at": { "type": "string" }, "enabled": { "type": "boolean" }, "gcp_scope": { "type": "string" }, "managed": { "type": "boolean" }, "models": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "service_account_file": { "type": "string" }, "service_account_json": { "type": "string" }, "service_account_json_base64": { "type": "string" }, "type": { "type": "string" }, "updated_at": { "type": "string" }, "vertex_location": { "type": "string" }, "vertex_project": { "type": "string" } } }, "admin.rateLimitKeyRequest": { "type": "object", "properties": { "period": { "type": "string" }, "period_seconds": { "type": "integer" } } }, "admin.rateLimitListResponse": { "type": "object", "properties": { "rate_limits": { "type": "array", "items": { "$ref": "#/components/schemas/admin.rateLimitStatusResponse" } }, "server_time": { "type": "string" } } }, "admin.rateLimitStatusResponse": { "type": "object", "properties": { "created_at": { "type": "string" }, "in_flight": { "type": "integer" }, "max_requests": { "type": "integer" }, "max_tokens": { "type": "integer" }, "period_label": { "type": "string" }, "period_seconds": { "type": "integer" }, "requests_remaining": { "type": "integer" }, "requests_used": { "type": "integer" }, "scope": { "type": "string" }, "source": { "type": "string" }, "subject": { "type": "string" }, "tokens_remaining": { "type": "integer" }, "tokens_used": { "type": "integer" }, "updated_at": { "type": "string" }, "user_path": { "type": "string" }, "window_end": { "type": "string" }, "window_start": { "type": "string" } } }, "admin.recalculatePricingRequest": { "type": "object", "properties": { "confirm": { "type": "string" }, "confirmation": { "type": "string" }, "days": { "type": "integer" }, "end_date": { "type": "string" }, "selector": { "type": "string" }, "start_date": { "type": "string" }, "user_path": { "type": "string" } }, "required": [ "confirmation" ] }, "admin.resetBudgetRequest": { "type": "object", "properties": { "period": { "type": "string" }, "period_seconds": { "type": "integer" }, "scope": { "type": "string" }, "subject": { "type": "string" }, "user_path": { "type": "string" } } }, "admin.resetBudgetsRequest": { "type": "object", "properties": { "confirm": { "type": "string" }, "confirmation": { "type": "string" } } }, "admin.resetBudgetsResponse": { "type": "object", "properties": { "status": { "type": "string" } } }, "admin.resetRateLimitRequest": { "type": "object", "properties": { "period": { "type": "string" }, "period_seconds": { "type": "integer" }, "scope": { "type": "string" }, "subject": { "type": "string" }, "user_path": { "type": "string" } } }, "admin.resetRateLimitsRequest": { "type": "object", "properties": { "confirmation": { "type": "string" } } }, "admin.resetRateLimitsResponse": { "type": "object", "properties": { "status": { "type": "string" } } }, "admin.taggingSettingsResponse": { "type": "object", "properties": { "editable": { "description": "Editable reports whether operator rules can be saved (false when no\nsettings storage is available).", "type": "boolean" }, "headers": { "description": "Headers is the effective rule set: config/env-managed rules (read-only,\nmanaged=true) followed by operator rules persisted in the admin store.", "type": "array", "items": { "$ref": "#/components/schemas/tagging.Rule" } } } }, "admin.updateBudgetSettingsRequest": { "type": "object", "properties": { "daily_reset_hour": { "type": "integer" }, "daily_reset_minute": { "type": "integer" }, "monthly_reset_day": { "type": "integer" }, "monthly_reset_hour": { "type": "integer" }, "monthly_reset_minute": { "type": "integer" }, "weekly_reset_hour": { "type": "integer" }, "weekly_reset_minute": { "type": "integer" }, "weekly_reset_weekday": { "type": "integer" } } }, "admin.updateTaggingSettingsRequest": { "type": "object", "properties": { "headers": { "type": "array", "items": { "$ref": "#/components/schemas/tagging.Rule" } } } }, "admin.upsertBudgetRequest": { "type": "object", "properties": { "amount": { "type": "number" }, "budget_key": { "$ref": "#/components/schemas/admin.budgetKeyRequest" }, "scope": { "type": "string" }, "subject": { "type": "string" }, "user_path": { "type": "string" } }, "required": [ "amount", "budget_key" ] }, "admin.upsertFailoverRuleRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "fallback_models": { "type": "array", "items": { "type": "string" } }, "primary_model": { "type": "string" } } }, "admin.upsertMCPServerRequest": { "type": "object", "properties": { "allowed_tools": { "type": "array", "items": { "type": "string" } }, "description": { "type": "string" }, "disallowed_tools": { "type": "array", "items": { "type": "string" } }, "enabled": { "type": "boolean" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "name": { "type": "string" }, "slug": { "type": "string" }, "tool_timeout_seconds": { "type": "integer" }, "transport": { "type": "string" }, "url": { "type": "string" }, "user_paths": { "type": "array", "items": { "type": "string" } } } }, "admin.upsertModelPricingOverrideRequest": { "type": "object", "properties": { "pricing": { "$ref": "#/components/schemas/pricingoverrides.Pricing" }, "selector": { "type": "string" } }, "required": [ "pricing", "selector" ] }, "admin.upsertProviderCredentialRequest": { "type": "object", "properties": { "api_keys": { "type": "array", "items": { "type": "string" } }, "api_mode": { "type": "string" }, "api_version": { "type": "string" }, "auth_type": { "type": "string" }, "backend": { "type": "string" }, "base_url": { "type": "string" }, "enabled": { "type": "boolean" }, "gcp_scope": { "type": "string" }, "models": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "service_account_file": { "type": "string" }, "service_account_json": { "type": "string" }, "service_account_json_base64": { "type": "string" }, "type": { "type": "string" }, "vertex_location": { "type": "string" }, "vertex_project": { "type": "string" } } }, "admin.upsertRateLimitRequest": { "type": "object", "properties": { "limit_key": { "$ref": "#/components/schemas/admin.rateLimitKeyRequest" }, "max_requests": { "type": "integer" }, "max_tokens": { "type": "integer" }, "scope": { "type": "string" }, "subject": { "type": "string" }, "user_path": { "type": "string" } } }, "admin.upsertVirtualModelRequest": { "type": "object", "properties": { "description": { "type": "string" }, "enabled": { "type": "boolean" }, "old_source": { "type": "string" }, "session_affinity": { "description": "SessionAffinity keeps a detected session on the target that served it\nbefore. Omitted means enabled; false restores stateless balancing.", "type": "boolean" }, "source": { "type": "string" }, "strategy": { "type": "string" }, "target_model": { "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/components/schemas/admin.virtualModelTargetRequest" } }, "user_paths": { "type": "array", "items": { "type": "string", "maxLength": 1024 }, "maxItems": 100 } }, "required": [ "source" ] }, "admin.virtualModelTargetRequest": { "type": "object", "properties": { "model": { "type": "string" }, "provider": { "type": "string" }, "weight": { "type": "number" } } }, "anthropicapi.BatchCreateItem": { "type": "object", "properties": { "custom_id": { "type": "string" }, "params": { "type": "object" } } }, "anthropicapi.BatchCreateRequest": { "type": "object", "properties": { "requests": { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.BatchCreateItem" } } } }, "anthropicapi.CountTokensResponse": { "type": "object", "properties": { "input_tokens": { "type": "integer" } } }, "anthropicapi.DeletedMessageBatch": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } } }, "anthropicapi.ErrorObject": { "type": "object", "properties": { "message": { "type": "string" }, "type": { "type": "string" } } }, "anthropicapi.ErrorResponse": { "type": "object", "properties": { "error": { "$ref": "#/components/schemas/anthropicapi.ErrorObject" }, "type": { "type": "string" } } }, "anthropicapi.Message": { "type": "object", "properties": { "content": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.ContentBlock" } } ] }, "role": { "type": "string" } } }, "anthropicapi.MessageBatch": { "type": "object", "properties": { "archived_at": { "type": "string" }, "cancel_initiated_at": { "type": "string" }, "created_at": { "type": "string" }, "ended_at": { "type": "string" }, "expires_at": { "type": "string" }, "id": { "type": "string" }, "processing_status": { "type": "string" }, "request_counts": { "$ref": "#/components/schemas/anthropicapi.MessageBatchRequestCounts" }, "results_url": { "type": "string" }, "type": { "type": "string" } } }, "anthropicapi.MessageBatchList": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.MessageBatch" } }, "first_id": { "type": "string" }, "has_more": { "type": "boolean" }, "last_id": { "type": "string" } } }, "anthropicapi.MessageBatchRequestCounts": { "type": "object", "properties": { "canceled": { "type": "integer" }, "errored": { "type": "integer" }, "expired": { "type": "integer" }, "processing": { "type": "integer" }, "succeeded": { "type": "integer" } } }, "anthropicapi.MessagesRequest": { "type": "object", "properties": { "max_tokens": { "type": "integer" }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.Message" } }, "metadata": { "$ref": "#/components/schemas/anthropicapi.Metadata" }, "model": { "type": "string" }, "stop_sequences": { "type": "array", "items": { "type": "string" } }, "stream": { "type": "boolean" }, "system": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.ContentBlock" } } ] }, "temperature": { "type": "number" }, "thinking": { "$ref": "#/components/schemas/anthropicapi.Thinking" }, "tool_choice": { "$ref": "#/components/schemas/anthropicapi.ToolChoice" }, "tools": { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.Tool" } }, "top_k": { "type": "integer" }, "top_p": { "type": "number" } } }, "anthropicapi.MessagesResponse": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.ResponseContentBlock" } }, "id": { "type": "string" }, "model": { "type": "string" }, "role": { "type": "string" }, "stop_reason": { "type": "string" }, "stop_sequence": { "type": "string" }, "type": { "type": "string" }, "usage": { "$ref": "#/components/schemas/anthropicapi.Usage" } } }, "anthropicapi.Metadata": { "type": "object", "properties": { "user_id": { "type": "string" } } }, "anthropicapi.ResponseContentBlock": { "type": "object", "properties": { "id": { "type": "string" }, "input": { "type": "object", "additionalProperties": true }, "name": { "type": "string" }, "text": { "type": "string" }, "thinking": { "type": "string" }, "type": { "type": "string" } } }, "anthropicapi.Thinking": { "type": "object", "properties": { "budget_tokens": { "type": "integer" }, "type": { "type": "string" } } }, "anthropicapi.Tool": { "type": "object", "properties": { "description": { "type": "string" }, "input_schema": { "type": "object", "additionalProperties": true }, "name": { "type": "string" }, "type": { "type": "string" } } }, "anthropicapi.ToolChoice": { "type": "object", "properties": { "disable_parallel_tool_use": { "type": "boolean" }, "name": { "type": "string" }, "type": { "type": "string" } } }, "anthropicapi.Usage": { "type": "object", "properties": { "cache_creation_input_tokens": { "type": "integer" }, "cache_read_input_tokens": { "type": "integer" }, "input_tokens": { "type": "integer" }, "output_tokens": { "type": "integer" } } }, "auditlog.AttemptSnapshot": { "type": "object", "properties": { "duration_ns": { "type": "integer" }, "error_code": { "type": "string" }, "error_message": { "type": "string" }, "error_type": { "type": "string" }, "kind": { "type": "string" }, "model": { "type": "string" }, "provider_name": { "type": "string" }, "provider_type": { "type": "string" }, "response_body": { "description": "ResponseBody and ResponseHeaders capture the raw upstream error response\nof a failed attempt. ResponseBody is the parsed JSON (or a string when the\nbody is not JSON); ResponseHeaders is redacted. Both are populated only\nwhen audit body/header logging is enabled." }, "response_headers": { "type": "object", "additionalProperties": { "type": "string" } }, "seq": { "type": "integer" }, "started_at": { "type": "string" }, "status_code": { "type": "integer" }, "success": { "type": "boolean" } } }, "auditlog.ConversationResult": { "type": "object", "properties": { "anchor_id": { "type": "string" }, "entries": { "type": "array", "items": { "$ref": "#/components/schemas/auditlog.LogEntry" } }, "truncated": { "description": "Truncated reports that the thread walk stopped early because the\ncaller's deadline expired; the entries collected up to that point are\nreturned rather than failing the whole request.", "type": "boolean" } } }, "auditlog.FailoverSnapshot": { "type": "object", "properties": { "target_model": { "type": "string" } } }, "auditlog.LogData": { "type": "object", "properties": { "api_key_hash": { "type": "string" }, "attempts": { "description": "Attempts captures provider calls made for this logical request. SQL\nstores split this into audit_log_attempts; Mongo stores it embedded.", "type": "array", "items": { "$ref": "#/components/schemas/auditlog.AttemptSnapshot" } }, "error_code": { "type": "string" }, "error_message": { "description": "Error details (message can be long, so kept in JSON)", "type": "string" }, "failover": { "description": "Failover captures runtime redirect details when translated execution\nmoved from the primary selector to a configured failover target.", "allOf": [ { "$ref": "#/components/schemas/auditlog.FailoverSnapshot" } ] }, "labels": { "description": "Labels are request labels extracted from configured tagging headers.", "type": "array", "items": { "type": "string" } }, "max_tokens": { "type": "integer" }, "request_body": { "description": "Optional bodies (when LOGGING_LOG_BODIES=true)\nStored as interface{} so MongoDB serializes as native BSON documents (queryable/readable)\ninstead of BSON Binary (base64 in Compass)" }, "request_body_too_big_to_handle": { "description": "Body capture status flags (set when body exceeds 1MB limit)", "type": "boolean" }, "request_headers": { "description": "Optional headers (when LOGGING_LOG_HEADERS=true)\nSensitive headers are auto-redacted", "type": "object", "additionalProperties": { "type": "string" } }, "request_revisions": { "description": "RequestRevisions captures the ingress request-rewrite chain: one entry\nper registered rewriter that ran, in application order. Rewriters that\nchanged the body carry the rewritten body; those that left it alone are\nrecorded with NoChange so the audit trail still shows the step ran.\nRequestBody always remains the original client request; the last\nchanged revision is what was forwarded downstream — when every rewriter\nwas a no-op there is no such revision and the original body is what\nwent upstream.", "type": "array", "items": { "$ref": "#/components/schemas/auditlog.RequestRevisionSnapshot" } }, "response_body": {}, "response_body_too_big_to_handle": { "type": "boolean" }, "response_headers": { "type": "object", "additionalProperties": { "type": "string" } }, "temperature": { "description": "Request parameters", "type": "number" }, "user_agent": { "description": "Identity", "type": "string" }, "workflow_features": { "description": "WorkflowFeatures captures the request-time effective workflow features\nafter runtime caps were applied. This keeps audit views historically accurate\neven if the active process config changes later.", "allOf": [ { "$ref": "#/components/schemas/auditlog.WorkflowFeaturesSnapshot" } ] } } }, "auditlog.LogEntry": { "type": "object", "properties": { "alias_used": { "type": "boolean" }, "auth_key_id": { "type": "string" }, "auth_method": { "type": "string" }, "cache_type": { "type": "string" }, "client_ip": { "type": "string" }, "data": { "description": "Data contains flexible request/response information as JSON", "allOf": [ { "$ref": "#/components/schemas/auditlog.LogData" } ] }, "duration_ns": { "description": "DurationNs is the request duration in nanoseconds", "type": "integer" }, "error_type": { "type": "string" }, "id": { "description": "ID is a unique identifier for this log entry (UUID)", "type": "string" }, "method": { "type": "string" }, "path": { "type": "string" }, "provider": { "description": "canonical provider type used for routing and filters", "type": "string" }, "provider_name": { "type": "string" }, "request_id": { "description": "Extracted fields for efficient filtering (indexed in relational DBs)", "type": "string" }, "requested_model": { "description": "Core fields (indexed for queries)", "type": "string" }, "resolved_model": { "type": "string" }, "session_id": { "type": "string" }, "status_code": { "type": "integer" }, "stream": { "type": "boolean" }, "timestamp": { "description": "Timestamp is when the request started", "type": "string" }, "user_path": { "type": "string" }, "workflow_version_id": { "type": "string" } } }, "auditlog.ProviderLatencySeries": { "type": "object", "properties": { "avg_duration_ms": { "type": "array", "items": { "type": "number" } }, "provider": { "type": "string" }, "requests": { "type": "array", "items": { "type": "integer" } } } }, "auditlog.RequestRevisionSnapshot": { "type": "object", "properties": { "body": { "description": "Body is the request body after this revision (parsed JSON, or a string\nwhen not valid JSON). Populated only when body logging is enabled and\nthe body is within the capture limit." }, "bytes_after": { "type": "integer" }, "bytes_before": { "type": "integer" }, "detail": { "description": "Detail is an optional rewriter-provided structured summary of what\nchanged (for example a compression block report)." }, "no_change": { "description": "NoChange marks a rewriter that ran and left the body untouched. Such\nrevisions record the step for operators — BytesAfter equals BytesBefore,\nBody is empty and TokensSaved is zero, though Detail may explain why\nnothing changed — but are not part of the chain that produced the\nforwarded request. Absent on entries written before no-change steps were\ntracked, which is why the flag is positive: an old revision always\nchanged the body.", "type": "boolean" }, "rewriter": { "type": "string" }, "seq": { "type": "integer" }, "tokens_saved": { "description": "TokensSaved is the rewriter-reported estimate of prompt tokens this\nrevision saved (e.g. token compression); zero when the rewriter does\nnot report savings.", "type": "integer" } } }, "auditlog.RequestStats": { "type": "object", "properties": { "buckets": { "type": "array", "items": { "$ref": "#/components/schemas/auditlog.RequestStatsBucket" } }, "interval": { "type": "string" }, "provider_latency": { "type": "array", "items": { "$ref": "#/components/schemas/auditlog.ProviderLatencySeries" } }, "summary": { "$ref": "#/components/schemas/auditlog.RequestStatsSummary" } } }, "auditlog.RequestStatsBucket": { "type": "object", "properties": { "requests": { "type": "integer" }, "start": { "type": "string" }, "status_2xx": { "type": "integer" }, "status_4xx": { "type": "integer" }, "status_5xx": { "type": "integer" }, "status_other": { "type": "integer" } } }, "auditlog.RequestStatsSummary": { "type": "object", "properties": { "avg_duration_ms": { "type": "number" }, "requests": { "type": "integer" }, "status_2xx": { "type": "integer" }, "status_4xx": { "type": "integer" }, "status_5xx": { "type": "integer" }, "status_other": { "type": "integer" }, "success_rate": { "type": "number" } } }, "auditlog.WorkflowFeaturesSnapshot": { "type": "object", "properties": { "audit": { "type": "boolean" }, "budget": { "type": "boolean" }, "cache": { "type": "boolean" }, "failover": { "type": "boolean" }, "guardrails": { "type": "boolean" }, "usage": { "type": "boolean" } } }, "budget.Settings": { "type": "object", "properties": { "daily_reset_hour": { "type": "integer" }, "daily_reset_minute": { "type": "integer" }, "monthly_reset_day": { "type": "integer" }, "monthly_reset_hour": { "type": "integer" }, "monthly_reset_minute": { "type": "integer" }, "updated_at": { "type": "string" }, "weekly_reset_hour": { "type": "integer" }, "weekly_reset_minute": { "type": "integer" }, "weekly_reset_weekday": { "type": "integer" } } }, "core.AudioSpeechRequest": { "type": "object", "properties": { "input": { "type": "string" }, "instructions": { "type": "string" }, "model": { "type": "string" }, "provider": { "description": "Provider is gateway routing metadata, stripped before dispatching upstream.", "type": "string" }, "response_format": { "type": "string" }, "speed": { "type": "number" }, "voice": { "type": "string" } }, "required": [ "input", "model", "voice" ] }, "core.BatchError": { "type": "object", "properties": { "message": { "type": "string" }, "type": { "type": "string" } } }, "core.BatchListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/core.BatchResponse" } }, "first_id": { "type": "string" }, "has_more": { "type": "boolean" }, "last_id": { "type": "string" }, "object": { "type": "string" } } }, "core.BatchRequest": { "type": "object", "properties": { "completion_window": { "type": "string" }, "endpoint": { "type": "string" }, "input_file_id": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "requests": { "type": "array", "items": { "$ref": "#/components/schemas/core.BatchRequestItem" } } } }, "core.BatchRequestCounts": { "type": "object", "properties": { "completed": { "type": "integer" }, "failed": { "type": "integer" }, "total": { "type": "integer" } } }, "core.BatchRequestItem": { "type": "object", "properties": { "body": { "type": "object" }, "custom_id": { "type": "string" }, "method": { "type": "string" }, "url": { "type": "string" } } }, "core.BatchResponse": { "type": "object", "properties": { "cancelled_at": { "type": "integer" }, "cancelling_at": { "type": "integer" }, "completed_at": { "type": "integer" }, "completion_window": { "type": "string" }, "created_at": { "type": "integer" }, "endpoint": { "type": "string" }, "failed_at": { "type": "integer" }, "id": { "type": "string" }, "in_progress_at": { "type": "integer" }, "input_file_id": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "object": { "type": "string" }, "provider": { "type": "string" }, "provider_batch_id": { "type": "string" }, "request_counts": { "$ref": "#/components/schemas/core.BatchRequestCounts" }, "results": { "type": "array", "items": { "$ref": "#/components/schemas/core.BatchResultItem" } }, "status": { "type": "string" }, "usage": { "description": "Gateway extension: optional usage/result snapshots persisted by the gateway.", "allOf": [ { "$ref": "#/components/schemas/core.BatchUsageSummary" } ] } } }, "core.BatchResultItem": { "type": "object", "properties": { "custom_id": { "type": "string" }, "error": { "$ref": "#/components/schemas/core.BatchError" }, "index": { "type": "integer" }, "model": { "type": "string" }, "provider": { "type": "string" }, "response": {}, "status_code": { "type": "integer" }, "url": { "type": "string" } } }, "core.BatchResultsResponse": { "type": "object", "properties": { "batch_id": { "type": "string" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/core.BatchResultItem" } }, "object": { "type": "string" } } }, "core.BatchUsageSummary": { "type": "object", "properties": { "input_cost": { "type": "number" }, "input_tokens": { "type": "integer" }, "output_cost": { "type": "number" }, "output_tokens": { "type": "integer" }, "total_cost": { "type": "number" }, "total_tokens": { "type": "integer" } } }, "core.ChatRequest": { "type": "object", "properties": { "max_tokens": { "type": "integer" }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/core.Message" } }, "model": { "type": "string" }, "parallel_tool_calls": { "type": "boolean" }, "provider": { "description": "Gateway routing hint; stripped before upstream execution.", "type": "string" }, "reasoning": { "$ref": "#/components/schemas/core.Reasoning" }, "service_tier": { "type": "string" }, "stream": { "type": "boolean" }, "stream_options": { "$ref": "#/components/schemas/core.StreamOptions" }, "temperature": { "type": "number" }, "tool_choice": { "description": "string or object" }, "tools": { "type": "array", "items": { "type": "object", "additionalProperties": {} } }, "top_p": { "type": "number" }, "user": { "type": "string" } } }, "core.ChatResponse": { "type": "object", "properties": { "choices": { "type": "array", "items": { "$ref": "#/components/schemas/core.Choice" } }, "created": { "type": "integer" }, "id": { "type": "string" }, "model": { "type": "string" }, "object": { "type": "string" }, "provider": { "type": "string" }, "system_fingerprint": { "type": "string" }, "usage": { "$ref": "#/components/schemas/core.Usage" } } }, "core.Choice": { "type": "object", "properties": { "finish_reason": { "type": "string" }, "index": { "type": "integer" }, "logprobs": { "type": "object" }, "message": { "$ref": "#/components/schemas/core.ResponseMessage" }, "stop_sequence": { "description": "StopSequence is the matched stop sequence when the provider reports one\nnatively (Anthropic stop_reason \"stop_sequence\"). OpenAI's finish_reason\n\"stop\" conflates natural stops with stop-parameter hits, so this is an\nextension field: present only when the provider knows the answer, in the\nsame spirit as the relayed reasoning_content extension.", "type": "string" } } }, "core.CompletionTokensDetails": { "type": "object", "properties": { "accepted_prediction_tokens": { "type": "integer" }, "audio_tokens": { "type": "integer" }, "reasoning_tokens": { "type": "integer" }, "rejected_prediction_tokens": { "type": "integer" } } }, "core.ContentPart": { "type": "object", "properties": { "image_url": { "$ref": "#/components/schemas/core.ImageURLContent" }, "input_audio": { "$ref": "#/components/schemas/core.InputAudioContent" }, "text": { "type": "string" }, "type": { "type": "string" } } }, "core.Conversation": { "type": "object", "properties": { "created_at": { "type": "integer" }, "id": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "object": { "description": "\"conversation\"", "type": "string" } } }, "core.ConversationCreateRequest": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object" } }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } } } }, "core.ConversationDeleteResponse": { "type": "object", "properties": { "deleted": { "type": "boolean" }, "id": { "type": "string" }, "object": { "description": "\"conversation.deleted\"", "type": "string" } } }, "core.ConversationItemCreateRequest": { "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "type": "object" } } } }, "core.ConversationItemListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object" } }, "first_id": { "type": "string", "nullable": true }, "has_more": { "type": "boolean" }, "last_id": { "type": "string", "nullable": true }, "object": { "type": "string" } } }, "core.ConversationUpdateRequest": { "type": "object", "required": [ "metadata" ], "properties": { "metadata": { "type": "object", "additionalProperties": { "type": "string" } } } }, "core.EmbeddingData": { "type": "object", "properties": { "embedding": { "type": "object" }, "index": { "type": "integer" }, "object": { "type": "string" } } }, "core.EmbeddingRequest": { "type": "object", "properties": { "dimensions": { "type": "integer" }, "encoding_format": { "type": "string" }, "input": {}, "model": { "type": "string" }, "provider": { "description": "Gateway routing hint; stripped before upstream execution.", "type": "string" } } }, "core.EmbeddingResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/core.EmbeddingData" } }, "model": { "type": "string" }, "object": { "type": "string" }, "provider": { "type": "string" }, "usage": { "$ref": "#/components/schemas/core.EmbeddingUsage" } } }, "core.EmbeddingUsage": { "type": "object", "properties": { "prompt_tokens": { "type": "integer" }, "total_tokens": { "type": "integer" } } }, "core.ErrorType": { "type": "string", "enum": [ "provider_error", "rate_limit_error", "invalid_request_error", "authentication_error", "not_found_error" ], "x-enum-varnames": [ "ErrorTypeProvider", "ErrorTypeRateLimit", "ErrorTypeInvalidRequest", "ErrorTypeAuthentication", "ErrorTypeNotFound" ] }, "core.FileDeleteResponse": { "type": "object", "properties": { "deleted": { "type": "boolean" }, "id": { "type": "string" }, "object": { "type": "string" } } }, "core.FileListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/core.FileObject" } }, "has_more": { "type": "boolean" }, "object": { "type": "string" } } }, "core.FileObject": { "type": "object", "properties": { "bytes": { "type": "integer" }, "created_at": { "type": "integer" }, "filename": { "type": "string" }, "id": { "type": "string" }, "object": { "type": "string" }, "provider": { "description": "Gateway enrichment for multi-provider deployments.", "type": "string" }, "purpose": { "type": "string" }, "status": { "type": "string" }, "status_details": { "type": "string" } } }, "core.FunctionCall": { "type": "object", "properties": { "arguments": { "type": "string" }, "name": { "type": "string" } } }, "core.GatewayError": { "type": "object", "properties": { "code": { "type": "string", "nullable": true }, "message": { "type": "string" }, "param": { "type": "string", "nullable": true }, "provider": { "type": "string" }, "status_code": { "type": "integer" }, "type": { "$ref": "#/components/schemas/core.ErrorType" } } }, "core.ImageURLContent": { "type": "object", "properties": { "detail": { "type": "string" }, "media_type": { "type": "string" }, "url": { "type": "string" } } }, "core.InputAudioContent": { "type": "object", "properties": { "data": { "type": "string" }, "format": { "type": "string" } } }, "core.Message": { "type": "object", "properties": { "content": { "description": "ContentSchema documents that `content` accepts either a plain string\nor an array of ContentPart values.", "type": "array", "items": { "$ref": "#/components/schemas/core.ContentPart" }, "x-oneof": "[{\"type\":\"null\"},{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/core.ContentPart\"}}]" }, "role": { "type": "string" }, "tool_call_id": { "type": "string" }, "tool_calls": { "type": "array", "items": { "$ref": "#/components/schemas/core.ToolCall" } } } }, "core.Model": { "type": "object", "properties": { "created": { "type": "integer" }, "id": { "type": "string" }, "metadata": { "description": "Metadata holds optional enrichment data (display name, pricing, capabilities, etc.).\nMay be nil if the model was not found in the external registry.", "allOf": [ { "$ref": "#/components/schemas/core.ModelMetadata" } ] }, "object": { "type": "string" }, "owned_by": { "type": "string" } } }, "core.ModelCategory": { "type": "string", "enum": [ "all", "text_generation", "embedding", "image", "audio", "video", "utility" ], "x-enum-varnames": [ "CategoryAll", "CategoryTextGeneration", "CategoryEmbedding", "CategoryImage", "CategoryAudio", "CategoryVideo", "CategoryUtility" ] }, "core.ModelMetadata": { "type": "object", "properties": { "capabilities": { "type": "object", "additionalProperties": { "type": "boolean" } }, "categories": { "type": "array", "items": { "$ref": "#/components/schemas/core.ModelCategory" } }, "context_window": { "type": "integer" }, "description": { "type": "string" }, "display_name": { "type": "string" }, "family": { "type": "string" }, "max_output_tokens": { "type": "integer" }, "modes": { "type": "array", "items": { "type": "string" } }, "pricing": { "$ref": "#/components/schemas/core.ModelPricing" }, "pricing_sources": { "type": "object", "additionalProperties": { "type": "string" } }, "rankings": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/core.ModelRanking" } }, "tags": { "type": "array", "items": { "type": "string" } } } }, "core.ModelPricing": { "type": "object", "properties": { "audio_input_per_mtok": { "type": "number" }, "audio_output_per_mtok": { "type": "number" }, "batch_input_per_mtok": { "type": "number" }, "batch_output_per_mtok": { "type": "number" }, "cache_write_per_mtok": { "type": "number" }, "cached_input_per_mtok": { "type": "number" }, "currency": { "type": "string" }, "input_per_image": { "type": "number" }, "input_per_mtok": { "type": "number" }, "output_per_mtok": { "type": "number" }, "per_character_input": { "type": "number" }, "per_image": { "type": "number" }, "per_page": { "type": "number" }, "per_request": { "type": "number" }, "per_second_input": { "type": "number" }, "per_second_output": { "type": "number" }, "reasoning_output_per_mtok": { "type": "number" }, "tiers": { "type": "array", "items": { "$ref": "#/components/schemas/core.ModelPricingTier" } } } }, "core.ModelPricingTier": { "type": "object", "properties": { "input_per_mtok": { "type": "number" }, "output_per_mtok": { "type": "number" }, "up_to_mtok": { "type": "number" }, "up_to_tokens": { "type": "integer", "minimum": 1 } } }, "core.ModelRanking": { "type": "object", "properties": { "as_of": { "type": "string" }, "elo": { "type": "number" }, "rank": { "type": "integer" } } }, "core.ModelsResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/core.Model" } }, "object": { "type": "string" } } }, "core.OpenAIErrorEnvelope": { "type": "object", "required": [ "error" ], "properties": { "error": { "$ref": "#/components/schemas/core.OpenAIErrorObject" } } }, "core.OpenAIErrorObject": { "type": "object", "required": [ "code", "message", "param", "type" ], "properties": { "code": { "type": "string", "nullable": true }, "message": { "type": "string" }, "param": { "type": "string", "nullable": true }, "type": { "$ref": "#/components/schemas/core.ErrorType" } } }, "core.PromptTokensDetails": { "type": "object", "properties": { "audio_tokens": { "type": "integer" }, "cached_tokens": { "type": "integer" }, "image_tokens": { "type": "integer" }, "text_tokens": { "type": "integer" } } }, "core.Reasoning": { "type": "object", "properties": { "effort": { "description": "Effort controls how much reasoning effort the model should use.\nValid values are \"low\", \"medium\", \"high\", \"xhigh\", and \"max\".\n\"xhigh\" and \"max\" are supported by newer models such as Claude Opus 4.8;\nproviders downgrade unsupported levels to their nearest equivalent.", "type": "string" } } }, "core.ResponseCompactRequest": { "type": "object", "properties": { "context_management": {}, "conversation": { "description": "Conversation accepts either a conversation ID string or an object with id.", "oneOf": [ { "type": "string" }, { "$ref": "#/components/schemas/core.ResponsesConversationRef" } ] }, "include": { "type": "array", "items": { "type": "string" } }, "input": { "description": "string or []ResponsesInputElement — see docs for array form", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/core.ResponsesInputElement" } } ] }, "instructions": { "type": "string" }, "max_output_tokens": { "type": "integer" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "model": { "type": "string" }, "parallel_tool_calls": { "type": "boolean" }, "previous_response_id": { "type": "string" }, "prompt": {}, "prompt_cache_retention": { "type": "string" }, "provider": { "description": "Gateway routing hint; stripped before upstream execution.", "type": "string" }, "reasoning": { "$ref": "#/components/schemas/core.Reasoning" }, "safety_identifier": { "type": "string" }, "service_tier": { "type": "string" }, "store": { "type": "boolean" }, "temperature": { "type": "number" }, "text": {}, "tool_choice": { "description": "string or object" }, "tools": { "type": "array", "items": { "type": "object", "additionalProperties": {} } }, "top_logprobs": { "type": "integer" }, "top_p": { "type": "number" }, "truncation": { "type": "string" }, "user": { "type": "string" } } }, "core.ResponseCompactResponse": { "type": "object", "properties": { "created_at": { "type": "integer" }, "error": { "$ref": "#/components/schemas/core.ResponsesError" }, "id": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "object": { "type": "string" }, "output": { "type": "array", "items": { "$ref": "#/components/schemas/core.ResponsesOutputItem" } }, "provider": { "type": "string" }, "usage": { "$ref": "#/components/schemas/core.ResponsesUsage" } } }, "core.ResponseDeleteResponse": { "type": "object", "properties": { "deleted": { "type": "boolean" }, "id": { "type": "string" }, "object": { "type": "string" } } }, "core.ResponseInputItemListResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/core.ResponsesInputElement" } }, "first_id": { "type": "string" }, "has_more": { "type": "boolean" }, "last_id": { "type": "string" }, "object": { "type": "string" } } }, "core.ResponseInputTokensRequest": { "type": "object", "properties": { "context_management": {}, "conversation": { "description": "Conversation accepts either a conversation ID string or an object with id.", "oneOf": [ { "type": "string" }, { "$ref": "#/components/schemas/core.ResponsesConversationRef" } ] }, "include": { "type": "array", "items": { "type": "string" } }, "input": { "description": "string or []ResponsesInputElement — see docs for array form", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/core.ResponsesInputElement" } } ] }, "instructions": { "type": "string" }, "max_output_tokens": { "type": "integer" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "model": { "type": "string" }, "parallel_tool_calls": { "type": "boolean" }, "previous_response_id": { "type": "string" }, "prompt": {}, "prompt_cache_retention": { "type": "string" }, "provider": { "description": "Gateway routing hint; stripped before upstream execution.", "type": "string" }, "reasoning": { "$ref": "#/components/schemas/core.Reasoning" }, "safety_identifier": { "type": "string" }, "service_tier": { "type": "string" }, "store": { "type": "boolean" }, "temperature": { "type": "number" }, "text": {}, "tool_choice": { "description": "string or object" }, "tools": { "type": "array", "items": { "type": "object", "additionalProperties": {} } }, "top_logprobs": { "type": "integer" }, "top_p": { "type": "number" }, "truncation": { "type": "string" }, "user": { "type": "string" } } }, "core.ResponseInputTokensResponse": { "type": "object", "properties": { "input_tokens": { "type": "integer" }, "object": { "type": "string" } } }, "core.ResponseMessage": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/core.ContentPart" }, "x-oneof": "[{\"type\":\"null\"},{\"type\":\"string\"},{\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/core.ContentPart\"}}]" }, "role": { "type": "string" }, "tool_calls": { "type": "array", "items": { "$ref": "#/components/schemas/core.ToolCall" } } } }, "core.ResponsesContentItem": { "type": "object", "properties": { "annotations": { "description": "Providers can return structured annotation objects here (for example\ncitations from native tools), so keep the payload shape liberal.", "type": "array", "items": { "type": "object" } }, "image_url": { "$ref": "#/components/schemas/core.ImageURLContent" }, "input_audio": { "$ref": "#/components/schemas/core.InputAudioContent" }, "text": { "type": "string" }, "type": { "description": "\"output_text\", \"input_image\", \"input_audio\", etc.", "type": "string" } } }, "core.ResponsesConversationRef": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ] }, "core.ResponsesError": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } } }, "core.ResponsesOutputItem": { "type": "object", "properties": { "arguments": { "type": "string" }, "call_id": { "type": "string" }, "content": { "type": "array", "items": { "$ref": "#/components/schemas/core.ResponsesContentItem" } }, "id": { "type": "string" }, "name": { "type": "string" }, "role": { "type": "string" }, "status": { "type": "string" }, "type": { "description": "\"message\", \"function_call\", etc.", "type": "string" } } }, "core.ResponsesRequest": { "type": "object", "properties": { "context_management": {}, "conversation": { "description": "Conversation accepts either a conversation ID string or an object with id.", "oneOf": [ { "type": "string" }, { "$ref": "#/components/schemas/core.ResponsesConversationRef" } ] }, "include": { "type": "array", "items": { "type": "string" } }, "input": { "description": "string or []ResponsesInputElement — see docs for array form", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/core.ResponsesInputElement" } } ] }, "instructions": { "type": "string" }, "max_output_tokens": { "type": "integer" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "model": { "type": "string" }, "parallel_tool_calls": { "type": "boolean" }, "previous_response_id": { "type": "string" }, "prompt": {}, "prompt_cache_retention": { "type": "string" }, "provider": { "description": "Gateway routing hint; stripped before upstream execution.", "type": "string" }, "reasoning": { "$ref": "#/components/schemas/core.Reasoning" }, "safety_identifier": { "type": "string" }, "service_tier": { "type": "string" }, "store": { "type": "boolean" }, "stream": { "type": "boolean" }, "stream_options": { "$ref": "#/components/schemas/core.StreamOptions" }, "temperature": { "type": "number" }, "text": {}, "tool_choice": { "description": "string or object" }, "tools": { "type": "array", "items": { "type": "object", "additionalProperties": {} } }, "top_logprobs": { "type": "integer" }, "top_p": { "type": "number" }, "truncation": { "type": "string" }, "user": { "type": "string" } } }, "core.ResponsesResponse": { "type": "object", "properties": { "created_at": { "type": "integer" }, "error": { "$ref": "#/components/schemas/core.ResponsesError" }, "id": { "type": "string" }, "model": { "type": "string" }, "object": { "description": "\"response\"", "type": "string" }, "output": { "type": "array", "items": { "$ref": "#/components/schemas/core.ResponsesOutputItem" } }, "provider": { "type": "string" }, "status": { "description": "\"completed\", \"failed\", \"in_progress\"", "type": "string" }, "usage": { "$ref": "#/components/schemas/core.ResponsesUsage" } } }, "core.ResponsesUsage": { "type": "object", "properties": { "completion_tokens_details": { "$ref": "#/components/schemas/core.CompletionTokensDetails" }, "input_tokens": { "type": "integer" }, "output_tokens": { "type": "integer" }, "prompt_tokens_details": { "$ref": "#/components/schemas/core.PromptTokensDetails" }, "raw_usage": { "type": "object", "additionalProperties": {} }, "total_tokens": { "type": "integer" } } }, "core.StreamOptions": { "type": "object", "properties": { "include_usage": { "description": "IncludeUsage requests token usage information in streaming responses.\nWhen true, the final streaming chunk will include usage statistics.", "type": "boolean" } } }, "core.ToolCall": { "type": "object", "properties": { "function": { "$ref": "#/components/schemas/core.FunctionCall" }, "id": { "type": "string" }, "type": { "type": "string" } } }, "core.Usage": { "type": "object", "properties": { "completion_tokens": { "type": "integer" }, "completion_tokens_details": { "$ref": "#/components/schemas/core.CompletionTokensDetails" }, "prompt_tokens": { "type": "integer" }, "prompt_tokens_details": { "$ref": "#/components/schemas/core.PromptTokensDetails" }, "raw_usage": { "type": "object", "additionalProperties": {} }, "total_tokens": { "type": "integer" } } }, "failover.View": { "type": "object", "properties": { "created_at": { "type": "string" }, "enabled": { "type": "boolean" }, "fallback_models": { "type": "array", "items": { "type": "string" } }, "managed": { "type": "boolean" }, "managed_source": { "type": "string" }, "primary_model": { "type": "string" }, "updated_at": { "type": "string" } } }, "mcpgateway.CatalogFeature": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" } } }, "mcpgateway.CatalogResource": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "uri": { "type": "string" } } }, "mcpgateway.CatalogTemplate": { "type": "object", "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "uri_template": { "type": "string" } } }, "mcpgateway.CatalogView": { "type": "object", "properties": { "instructions": { "type": "string" }, "prompts": { "type": "array", "items": { "$ref": "#/components/schemas/mcpgateway.CatalogFeature" } }, "resources": { "type": "array", "items": { "$ref": "#/components/schemas/mcpgateway.CatalogResource" } }, "server": { "type": "string" }, "status": { "$ref": "#/components/schemas/mcpgateway.ServerStatus" }, "templates": { "type": "array", "items": { "$ref": "#/components/schemas/mcpgateway.CatalogTemplate" } }, "tools": { "type": "array", "items": { "$ref": "#/components/schemas/mcpgateway.CatalogFeature" } } } }, "mcpgateway.ServerStatus": { "type": "string", "enum": [ "disabled", "connecting", "connected", "degraded" ], "x-enum-varnames": [ "StatusDisabled", "StatusConnecting", "StatusConnected", "StatusDegraded" ] }, "pricingoverrides.Pricing": { "type": "object", "properties": { "audio_input_per_mtok": { "type": "number" }, "audio_output_per_mtok": { "type": "number" }, "batch_input_per_mtok": { "type": "number" }, "batch_output_per_mtok": { "type": "number" }, "cache_write_per_mtok": { "type": "number" }, "cached_input_per_mtok": { "type": "number" }, "input_per_image": { "type": "number" }, "input_per_mtok": { "type": "number" }, "output_per_mtok": { "type": "number" }, "per_character_input": { "type": "number" }, "per_image": { "type": "number" }, "per_page": { "type": "number" }, "per_request": { "type": "number" }, "per_second_input": { "type": "number" }, "per_second_output": { "type": "number" }, "reasoning_output_per_mtok": { "type": "number" }, "tiers": { "type": "array", "items": { "$ref": "#/components/schemas/pricingoverrides.PricingTier" } } }, "minProperties": 1 }, "pricingoverrides.PricingTier": { "type": "object", "properties": { "input_per_mtok": { "type": "number" }, "output_per_mtok": { "type": "number" }, "up_to_mtok": { "type": "number" }, "up_to_tokens": { "type": "integer", "minimum": 1 } } }, "pricingoverrides.ScopeKind": { "type": "string", "enum": [ "global", "model", "provider", "provider_model" ], "x-enum-varnames": [ "PricingScopeGlobal", "PricingScopeModel", "PricingScopeProvider", "PricingScopeProviderModel" ] }, "pricingoverrides.View": { "type": "object", "properties": { "created_at": { "type": "string" }, "model": { "type": "string" }, "pricing": { "$ref": "#/components/schemas/pricingoverrides.Pricing" }, "provider_name": { "type": "string" }, "scope_kind": { "$ref": "#/components/schemas/pricingoverrides.ScopeKind" }, "selector": { "type": "string" }, "updated_at": { "type": "string" } } }, "providers.CategoryCount": { "type": "object", "properties": { "category": { "$ref": "#/components/schemas/core.ModelCategory" }, "count": { "type": "integer" }, "display_name": { "type": "string" } } }, "server.usageStatusBudget": { "type": "object", "properties": { "amount": { "type": "number" }, "exceeded": { "type": "boolean" }, "period_end": { "type": "string" }, "period_label": { "type": "string" }, "period_seconds": { "type": "integer" }, "period_start": { "type": "string" }, "remaining": { "type": "number" }, "resets_in_seconds": { "type": "integer" }, "scope": { "type": "string" }, "spent": { "type": "number" }, "subject": { "type": "string" }, "usage_ratio": { "description": "UsageRatio is spent/amount, deliberately unclamped: values above 1\nmean the budget is blown through.", "type": "number" }, "user_path": { "type": "string" } } }, "server.usageStatusRateLimit": { "type": "object", "properties": { "exhausted": { "type": "boolean" }, "in_flight": { "type": "integer" }, "max_requests": { "type": "integer" }, "max_tokens": { "type": "integer" }, "period_label": { "type": "string" }, "period_seconds": { "type": "integer" }, "requests_remaining": { "type": "integer" }, "requests_usage_ratio": { "description": "The usage ratios are used/limit per dimension, present only when that\nlimit exists and unclamped (token windows can overshoot past 1).", "type": "number" }, "requests_used": { "type": "integer" }, "resets_in_seconds": { "type": "integer" }, "tokens_remaining": { "type": "integer" }, "tokens_usage_ratio": { "type": "number" }, "tokens_used": { "type": "integer" }, "user_path": { "type": "string" }, "window_end": { "type": "string" }, "window_start": { "type": "string" } } }, "server.usageStatusResponse": { "type": "object", "properties": { "budgets": { "type": "array", "items": { "$ref": "#/components/schemas/server.usageStatusBudget" } }, "rate_limits": { "type": "array", "items": { "$ref": "#/components/schemas/server.usageStatusRateLimit" } }, "server_time": { "type": "string" }, "usage": { "$ref": "#/components/schemas/server.usageStatusSummary" }, "user_path": { "type": "string" } } }, "server.usageStatusSummary": { "type": "object", "properties": { "cache_write_input_tokens": { "type": "integer" }, "cached_input_tokens": { "type": "integer" }, "end_date": { "type": "string" }, "rewrite_cost_saved": { "type": "number" }, "rewrite_tokens_saved": { "description": "Rewrite savings: prompt tokens request rewriters removed before the\nprovider call, and the estimated input cost avoided (nil when no\nmatched row had a priced savings estimate).", "type": "integer" }, "start_date": { "type": "string" }, "total_cost": { "type": "number" }, "total_input_cost": { "type": "number" }, "total_input_tokens": { "type": "integer" }, "total_output_cost": { "type": "number" }, "total_output_tokens": { "type": "integer" }, "total_requests": { "type": "integer" }, "total_tokens": { "type": "integer" }, "uncached_input_tokens": { "type": "integer" } } }, "tagging.Rule": { "type": "object", "properties": { "delimiter": { "description": "Delimiter splits one header value into multiple labels. Default: \",\".", "type": "string" }, "do_not_pass": { "description": "DoNotPass strips the header before forwarding the request upstream.\nDefault: false (headers are passed through as-is).", "type": "boolean" }, "header": { "description": "Header is the canonical HTTP header name to read labels from.", "type": "string" }, "managed": { "description": "Managed marks a rule declared in config/env; such rules are read-only in\nthe dashboard. Never persisted.", "type": "boolean" }, "prefix": { "description": "Prefix is optionally trimmed from the front of each label. Trimming only\naffects the extracted label, never the forwarded header value.", "type": "string" } } }, "usage.CacheOverview": { "type": "object", "properties": { "daily": { "type": "array", "items": { "$ref": "#/components/schemas/usage.CacheOverviewDaily" } }, "summary": { "$ref": "#/components/schemas/usage.CacheOverviewSummary" } } }, "usage.CacheOverviewDaily": { "type": "object", "properties": { "date": { "type": "string" }, "exact_hits": { "type": "integer" }, "hits": { "type": "integer" }, "input_tokens": { "type": "integer" }, "output_tokens": { "type": "integer" }, "saved_cost": { "type": "number" }, "semantic_hits": { "type": "integer" }, "total_tokens": { "type": "integer" } } }, "usage.CacheOverviewSummary": { "type": "object", "properties": { "exact_hits": { "type": "integer" }, "semantic_hits": { "type": "integer" }, "total_hits": { "type": "integer" }, "total_input_tokens": { "type": "integer" }, "total_output_tokens": { "type": "integer" }, "total_saved_cost": { "type": "number" }, "total_tokens": { "type": "integer" } } }, "usage.DailyUsage": { "type": "object", "properties": { "cache_write_input_tokens": { "type": "integer" }, "cached_input_tokens": { "type": "integer" }, "date": { "type": "string" }, "input_cost": { "type": "number" }, "input_tokens": { "type": "integer" }, "output_cost": { "type": "number" }, "output_tokens": { "type": "integer" }, "requests": { "type": "integer" }, "total_cost": { "type": "number" }, "total_tokens": { "type": "integer" }, "uncached_input_tokens": { "description": "Provider prompt-cache split of the period's input, folded per row from\nraw_data (same source as the summary). Zero when the storage layer does\nnot populate them.", "type": "integer" } } }, "usage.LabelUsage": { "type": "object", "properties": { "cache_write_input_tokens": { "type": "integer" }, "cached_input_cost": { "type": "number", "nullable": true }, "cached_input_tokens": { "type": "integer" }, "input_cost": { "type": "number", "nullable": true }, "input_tokens": { "type": "integer" }, "label": { "type": "string" }, "local_cached_input_tokens": { "type": "integer" }, "local_cached_output_tokens": { "type": "integer" }, "output_cost": { "type": "number", "nullable": true }, "output_tokens": { "type": "integer" }, "requests": { "type": "integer" }, "total_cost": { "type": "number", "nullable": true }, "total_tokens": { "type": "integer" }, "uncached_input_tokens": { "type": "integer" } } }, "usage.ModelUsage": { "type": "object", "properties": { "cache_write_input_tokens": { "type": "integer" }, "cached_input_cost": { "type": "number", "nullable": true }, "cached_input_tokens": { "type": "integer" }, "input_cost": { "type": "number" }, "input_tokens": { "type": "integer" }, "local_cached_input_tokens": { "type": "integer" }, "local_cached_output_tokens": { "type": "integer" }, "model": { "type": "string" }, "output_cost": { "type": "number" }, "output_tokens": { "type": "integer" }, "provider": { "type": "string" }, "provider_name": { "type": "string" }, "total_cost": { "type": "number" }, "uncached_input_tokens": { "type": "integer" } } }, "usage.RecalculatePricingResult": { "type": "object", "properties": { "matched": { "type": "integer" }, "recalculated": { "type": "integer" }, "status": { "type": "string" }, "with_pricing": { "type": "integer" }, "without_pricing": { "type": "integer" } } }, "usage.RequestUsageSummary": { "type": "object", "properties": { "cache_write_input_tokens": { "type": "integer" }, "cached_input_ratio": { "type": "number" }, "cached_input_tokens": { "type": "integer" }, "entries": { "type": "integer" }, "estimated_cached_characters": { "type": "integer" }, "input_tokens": { "type": "integer" }, "output_tokens": { "type": "integer" }, "rewrite_cost_saved": { "type": "number" }, "rewrite_tokens_saved": { "type": "integer" }, "total_tokens": { "type": "integer" }, "uncached_input_tokens": { "type": "integer" } } }, "usage.ThroughputBucket": { "type": "object", "properties": { "input_tokens": { "type": "integer" }, "locally_cached_tokens": { "type": "integer" }, "output_tokens": { "type": "integer" }, "prompt_cached_tokens": { "type": "integer" }, "start": { "type": "string" } } }, "usage.TokenThroughput": { "type": "object", "properties": { "bucket_seconds": { "type": "integer" }, "buckets": { "type": "array", "items": { "$ref": "#/components/schemas/usage.ThroughputBucket" } }, "granularity": { "type": "string" } } }, "usage.UsageLogEntry": { "type": "object", "properties": { "cache_type": { "type": "string" }, "cache_write_input_tokens": { "type": "integer" }, "cached_input_ratio": { "type": "number" }, "cached_input_tokens": { "type": "integer" }, "cost_source": { "type": "string" }, "costs_calculation_caveat": { "type": "string" }, "endpoint": { "type": "string" }, "id": { "type": "string" }, "input_cost": { "type": "number" }, "input_tokens": { "type": "integer" }, "labels": { "type": "array", "items": { "type": "string" } }, "model": { "type": "string" }, "output_cost": { "type": "number" }, "output_tokens": { "type": "integer" }, "provider": { "type": "string" }, "provider_id": { "type": "string" }, "provider_name": { "type": "string" }, "raw_data": { "type": "object", "additionalProperties": {} }, "request_id": { "type": "string" }, "rewrite_cost_saved": { "type": "number" }, "rewrite_tokens_saved": { "type": "integer" }, "timestamp": { "type": "string" }, "total_cost": { "type": "number" }, "total_tokens": { "type": "integer" }, "uncached_input_tokens": { "type": "integer" }, "user_path": { "type": "string" } } }, "usage.UsageLogResult": { "type": "object", "properties": { "entries": { "type": "array", "items": { "$ref": "#/components/schemas/usage.UsageLogEntry" } }, "limit": { "type": "integer" }, "offset": { "type": "integer" }, "total": { "type": "integer" } } }, "usage.UsageSummary": { "type": "object", "properties": { "cache_write_input_tokens": { "type": "integer" }, "cached_input_tokens": { "type": "integer" }, "rewrite_cost_saved": { "type": "number" }, "rewrite_tokens_saved": { "description": "Rewrite savings: prompt tokens request rewriters removed before the\nprovider call, and the estimated input cost avoided (nil when no\nmatched row had a priced savings estimate).", "type": "integer" }, "total_cost": { "type": "number" }, "total_input_cost": { "type": "number" }, "total_input_tokens": { "type": "integer" }, "total_output_cost": { "type": "number" }, "total_output_tokens": { "type": "integer" }, "total_requests": { "type": "integer" }, "total_tokens": { "type": "integer" }, "uncached_input_tokens": { "type": "integer" } } }, "usage.UserPathUsage": { "type": "object", "properties": { "cache_write_input_tokens": { "type": "integer" }, "cached_input_cost": { "type": "number", "nullable": true }, "cached_input_tokens": { "type": "integer" }, "input_cost": { "type": "number", "nullable": true }, "input_tokens": { "type": "integer" }, "local_cached_input_tokens": { "type": "integer" }, "local_cached_output_tokens": { "type": "integer" }, "output_cost": { "type": "number", "nullable": true }, "output_tokens": { "type": "integer" }, "total_cost": { "type": "number", "nullable": true }, "total_tokens": { "type": "integer" }, "uncached_input_tokens": { "type": "integer" }, "user_path": { "type": "string" } } }, "virtualmodels.Target": { "type": "object", "properties": { "model": { "type": "string" }, "provider": { "type": "string" }, "weight": { "type": "number" } } }, "virtualmodels.View": { "type": "object", "properties": { "created_at": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "kind": { "type": "string" }, "managed": { "type": "boolean" }, "model": { "type": "string" }, "provider_name": { "type": "string" }, "provider_type": { "type": "string" }, "resolved_model": { "type": "string" }, "scope_kind": { "type": "string" }, "session_affinity": { "type": "boolean" }, "source": { "type": "string" }, "strategy": { "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/components/schemas/virtualmodels.Target" } }, "updated_at": { "type": "string" }, "user_paths": { "type": "array", "items": { "type": "string" } }, "valid": { "type": "boolean" } } }, "virtualmodels.VirtualModel": { "type": "object", "properties": { "created_at": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" }, "managed": { "description": "Managed marks a virtual model supplied declaratively through config.yaml or\nthe VIRTUAL_MODELS env var rather than the admin store. It is an in-memory\nflag only: stores never read or write it. Managed rows override store rows\nof the same Source and are read-only to the admin API.", "type": "boolean" }, "model": { "type": "string" }, "provider_name": { "type": "string" }, "session_affinity": { "description": "SessionAffinity keeps requests of one detected session on the target that\nserved it before, while that target stays available. Tri-state: nil means\nenabled (the default); explicit false restores stateless balancing.", "type": "boolean" }, "source": { "type": "string" }, "strategy": { "type": "string" }, "targets": { "type": "array", "items": { "$ref": "#/components/schemas/virtualmodels.Target" } }, "updated_at": { "type": "string" }, "user_paths": { "type": "array", "items": { "type": "string" } } } }, "core.ResponsesInputElement": { "type": "object", "properties": { "arguments": { "type": "string" }, "call_id": { "description": "Function call fields (type=\"function_call\")", "type": "string" }, "content": { "description": "Can be string or []ContentPart", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/core.ContentPart" } } ] }, "name": { "type": "string" }, "output": { "description": "Function call output fields (type=\"function_call_output\") - CallID shared above", "type": "string" }, "role": { "description": "Message fields (type=\"\" or \"message\")", "type": "string" }, "status": { "type": "string" }, "type": { "description": "\"message\", \"function_call\", \"function_call_output\"", "type": "string" } } }, "anthropicapi.ContentBlock": { "type": "object", "properties": { "content": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/anthropicapi.ContentBlock" } } ] }, "id": { "type": "string" }, "input": { "type": "object", "additionalProperties": true }, "is_error": { "type": "boolean" }, "name": { "type": "string" }, "source": { "oneOf": [ { "type": "string" }, { "type": "object", "additionalProperties": true } ] }, "text": { "type": "string" }, "thinking": { "type": "string" }, "tool_use_id": { "type": "string" }, "type": { "type": "string" } } }, "anthropicapi.SSEMessageStartEvent": { "type": "object", "required": [ "message", "type" ], "properties": { "type": { "type": "string", "enum": [ "message_start" ] }, "message": { "$ref": "#/components/schemas/anthropicapi.MessagesResponse" } } }, "anthropicapi.SSEContentBlockStartEvent": { "type": "object", "required": [ "content_block", "index", "type" ], "properties": { "type": { "type": "string", "enum": [ "content_block_start" ] }, "index": { "type": "integer" }, "content_block": { "$ref": "#/components/schemas/anthropicapi.ResponseContentBlock" } } }, "anthropicapi.SSEContentBlockDeltaEvent": { "type": "object", "required": [ "delta", "index", "type" ], "properties": { "type": { "type": "string", "enum": [ "content_block_delta" ] }, "index": { "type": "integer" }, "delta": { "type": "object", "additionalProperties": true } } }, "anthropicapi.SSEContentBlockStopEvent": { "type": "object", "required": [ "index", "type" ], "properties": { "type": { "type": "string", "enum": [ "content_block_stop" ] }, "index": { "type": "integer" } } }, "anthropicapi.SSEMessageDeltaEvent": { "type": "object", "required": [ "delta", "type" ], "properties": { "type": { "type": "string", "enum": [ "message_delta" ] }, "delta": { "type": "object", "additionalProperties": true }, "usage": { "$ref": "#/components/schemas/anthropicapi.Usage" } } }, "anthropicapi.SSEMessageStopEvent": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "message_stop" ] } } }, "anthropicapi.SSEPingEvent": { "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string", "enum": [ "ping" ] } } }, "anthropicapi.SSEErrorEvent": { "type": "object", "required": [ "error", "type" ], "properties": { "type": { "type": "string", "enum": [ "error" ] }, "error": { "$ref": "#/components/schemas/anthropicapi.ErrorObject" } } }, "anthropicapi.SSEUnknownEvent": { "description": "Fallback for future Anthropic streaming event payloads.", "type": "object", "required": [ "type" ], "properties": { "type": { "type": "string" } }, "additionalProperties": true }, "anthropicapi.SSEEventFrame": { "description": "One server-sent event frame emitted by streaming /v1/messages. On the wire each frame is sent as event: and data: . Unknown event payloads are accepted for forward compatibility.", "anyOf": [ { "$ref": "#/components/schemas/anthropicapi.SSEMessageStartEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEContentBlockStartEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEContentBlockDeltaEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEContentBlockStopEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEMessageDeltaEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEMessageStopEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEPingEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEErrorEvent" }, { "$ref": "#/components/schemas/anthropicapi.SSEUnknownEvent" } ] } } } }