{ "openapi": "3.1.0", "info": { "title": "Universal AI Gateway", "version": "1.0.0" }, "paths": { "/api/auth/register": { "post": { "tags": [ "Accounts" ], "summary": "Register", "operationId": "register_api_auth_register_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Register" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Register Api Auth Register Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/login": { "post": { "tags": [ "Accounts" ], "summary": "Login", "operationId": "login_api_auth_login_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Credentials" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Login Api Auth Login Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/auth/me": { "get": { "tags": [ "Accounts" ], "summary": "Me", "operationId": "me_api_auth_me_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Me Api Auth Me Get" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/auth/logout": { "post": { "tags": [ "Accounts" ], "summary": "Logout", "operationId": "logout_api_auth_logout_post", "responses": { "204": { "description": "Successful Response" } }, "security": [ { "DashboardSession": [] } ], "parameters": [ { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ] } }, "/api/catalog": { "get": { "tags": [ "Dashboard" ], "summary": "Catalog", "operationId": "catalog_api_catalog_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Response Catalog Api Catalog Get" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/providers": { "get": { "tags": [ "Dashboard" ], "summary": "Providers", "operationId": "providers_api_providers_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Response Providers Api Providers Get" } } } } }, "security": [ { "DashboardSession": [] } ] }, "post": { "tags": [ "Dashboard" ], "summary": "Create Provider", "operationId": "create_provider_api_providers_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderInput" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Create Provider Api Providers Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ], "parameters": [ { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ] } }, "/api/providers/{pid}": { "patch": { "tags": [ "Dashboard" ], "summary": "Patch Provider", "operationId": "patch_provider_api_providers__pid__patch", "parameters": [ { "name": "pid", "in": "path", "required": true, "schema": { "type": "string", "title": "Pid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderPatch" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Patch Provider Api Providers Pid Patch" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] }, "delete": { "tags": [ "Dashboard" ], "summary": "Delete Provider", "operationId": "delete_provider_api_providers__pid__delete", "parameters": [ { "name": "pid", "in": "path", "required": true, "schema": { "type": "string", "title": "Pid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/providers/{pid}/refresh": { "post": { "tags": [ "Dashboard" ], "summary": "Refresh Provider", "operationId": "refresh_provider_api_providers__pid__refresh_post", "parameters": [ { "name": "pid", "in": "path", "required": true, "schema": { "type": "string", "title": "Pid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Refresh Provider Api Providers Pid Refresh Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/models": { "get": { "tags": [ "Dashboard" ], "summary": "Models", "operationId": "models_api_models_get", "parameters": [ { "name": "search", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Search" } }, { "name": "capability", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Capability" } }, { "name": "provider", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Provider" } }, { "name": "free_only", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Free Only" } }, { "name": "owned_only", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Owned Only" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 1000, "minimum": 1, "default": 200, "title": "Limit" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Offset" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Models Api Models Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/providers/{pid}/models": { "put": { "tags": [ "Dashboard" ], "summary": "Save Model", "operationId": "save_model_api_providers__pid__models_put", "parameters": [ { "name": "pid", "in": "path", "required": true, "schema": { "type": "string", "title": "Pid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ModelInput" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Save Model Api Providers Pid Models Put" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/models/{mid}/favorite": { "post": { "tags": [ "Dashboard" ], "summary": "Favorite", "operationId": "favorite_api_models__mid__favorite_post", "parameters": [ { "name": "mid", "in": "path", "required": true, "schema": { "type": "string", "title": "Mid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Favorite Api Models Mid Favorite Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/keys": { "get": { "tags": [ "Dashboard" ], "summary": "Keys", "operationId": "keys_api_keys_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Response Keys Api Keys Get" } } } } }, "security": [ { "DashboardSession": [] } ] }, "post": { "tags": [ "Dashboard" ], "summary": "Create Key", "operationId": "create_key_api_keys_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewGatewayKey" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Create Key Api Keys Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ], "parameters": [ { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ] } }, "/api/keys/{kid}": { "delete": { "tags": [ "Dashboard" ], "summary": "Revoke Key", "operationId": "revoke_key_api_keys__kid__delete", "parameters": [ { "name": "kid", "in": "path", "required": true, "schema": { "type": "string", "title": "Kid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/logs": { "get": { "tags": [ "Dashboard" ], "summary": "Logs", "operationId": "logs_api_logs_get", "parameters": [ { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Offset" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "default": 25, "title": "Limit" } }, { "name": "errors_only", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Errors Only" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Logs Api Logs Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/audit": { "get": { "tags": [ "Dashboard" ], "summary": "Audits", "operationId": "audits_api_audit_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Response Audits Api Audit Get" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/usage": { "get": { "tags": [ "Dashboard" ], "summary": "Usage", "operationId": "usage_api_usage_get", "parameters": [ { "name": "days", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 90, "minimum": 1, "default": 7, "title": "Days" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Usage Api Usage Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/usage/export": { "get": { "tags": [ "Dashboard" ], "summary": "Export", "operationId": "export_api_usage_export_get", "parameters": [ { "name": "days", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 90, "minimum": 1, "default": 30, "title": "Days" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/quotas": { "get": { "tags": [ "Provider quotas" ], "summary": "Quotas", "operationId": "quotas_api_quotas_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Quotas Api Quotas Get" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/providers/{pid}/quota-refresh": { "post": { "tags": [ "Provider quotas" ], "summary": "Refresh Balance", "operationId": "refresh_balance_api_providers__pid__quota_refresh_post", "parameters": [ { "name": "pid", "in": "path", "required": true, "schema": { "type": "string", "title": "Pid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Refresh Balance Api Providers Pid Quota Refresh Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/oauth/openrouter/start": { "post": { "tags": [ "Provider OAuth" ], "summary": "Start", "operationId": "start_api_oauth_openrouter_start_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthStart" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Start Api Oauth Openrouter Start Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ], "parameters": [ { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ] } }, "/api/oauth/openrouter/callback": { "get": { "tags": [ "Provider OAuth" ], "summary": "Callback", "operationId": "callback_api_oauth_openrouter_callback_get", "parameters": [ { "name": "state", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "State" } }, { "name": "code", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Code" } }, { "name": "error", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Error" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/oauth/{kind}/start": { "post": { "tags": [ "Provider OAuth" ], "summary": "Start", "operationId": "start_api_oauth__kind__start_post", "parameters": [ { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "title": "Kind" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Start" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Start Api Oauth Kind Start Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/oauth/{kind}/poll": { "post": { "tags": [ "Provider OAuth" ], "summary": "Poll", "operationId": "poll_api_oauth__kind__poll_post", "parameters": [ { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "title": "Kind" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Flow" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Poll Api Oauth Kind Poll Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/oauth/{kind}/cancel": { "post": { "tags": [ "Provider OAuth" ], "summary": "Cancel", "operationId": "cancel_api_oauth__kind__cancel_post", "parameters": [ { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "title": "Kind" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Flow" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Cancel Api Oauth Kind Cancel Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/site": { "get": { "tags": [ "Administration" ], "summary": "Public Settings", "operationId": "public_settings_api_site_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Public Settings Api Site Get" } } } } } } }, "/api/admin/settings": { "get": { "tags": [ "Administration" ], "summary": "Get Settings", "operationId": "get_settings_api_admin_settings_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Get Settings Api Admin Settings Get" } } } } }, "security": [ { "DashboardSession": [] } ] }, "put": { "tags": [ "Administration" ], "summary": "Save Settings", "operationId": "save_settings_api_admin_settings_put", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SiteOptions" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Save Settings Api Admin Settings Put" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ], "parameters": [ { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ] } }, "/api/admin/summary": { "get": { "tags": [ "Administration" ], "summary": "Summary", "operationId": "summary_api_admin_summary_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Summary Api Admin Summary Get" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/admin/users": { "get": { "tags": [ "Administration" ], "summary": "Users", "operationId": "users_api_admin_users_get", "parameters": [ { "name": "search", "in": "query", "required": false, "schema": { "type": "string", "default": "", "title": "Search" } }, { "name": "offset", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 0, "default": 0, "title": "Offset" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Users Api Admin Users Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/admin/users/{uid}": { "patch": { "tags": [ "Administration" ], "summary": "Account Status", "operationId": "account_status_api_admin_users__uid__patch", "parameters": [ { "name": "uid", "in": "path", "required": true, "schema": { "type": "string", "title": "Uid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountStatus" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Account Status Api Admin Users Uid Patch" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/admin/shared-models": { "get": { "tags": [ "Administration" ], "summary": "Shared Models", "operationId": "shared_models_api_admin_shared_models_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Response Shared Models Api Admin Shared Models Get" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/api/admin/shared-models/{mid}": { "put": { "tags": [ "Administration" ], "summary": "Publish", "operationId": "publish_api_admin_shared_models__mid__put", "parameters": [ { "name": "mid", "in": "path", "required": true, "schema": { "type": "string", "title": "Mid" } }, { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublishOptions" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Publish Api Admin Shared Models Mid Put" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ] } }, "/v1/messages": { "post": { "tags": [ "Anthropic Messages bridge" ], "summary": "Messages", "operationId": "messages_v1_messages_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessagesRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "GatewayKey": [] }, { "MessagesKey": [] } ] } }, "/v1/messages/count_tokens": { "post": { "tags": [ "Anthropic Messages bridge" ], "summary": "Count Tokens", "operationId": "count_tokens_v1_messages_count_tokens_post", "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Body" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "GatewayKey": [] }, { "MessagesKey": [] } ] } }, "/health/live": { "get": { "tags": [ "Health" ], "summary": "Live", "operationId": "live_health_live_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Live Health Live Get" } } } } } } }, "/health/ready": { "get": { "tags": [ "Health" ], "summary": "Ready", "operationId": "ready_health_ready_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/v1/models": { "get": { "tags": [ "OpenAI compatible" ], "summary": "List Models", "operationId": "list_models_v1_models_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response List Models V1 Models Get" } } } } }, "security": [ { "GatewayKey": [] } ] } }, "/v1/chat/completions": { "post": { "tags": [ "OpenAI compatible" ], "summary": "Chat", "operationId": "chat_v1_chat_completions_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChatRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "GatewayKey": [] } ] } }, "/v1/embeddings": { "post": { "tags": [ "OpenAI compatible" ], "summary": "Embeddings", "operationId": "embeddings_v1_embeddings_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmbeddingRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "GatewayKey": [] } ] } }, "/v1/images/generations": { "post": { "tags": [ "OpenAI compatible" ], "summary": "Images", "operationId": "images_v1_images_generations_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "GatewayKey": [] } ] } }, "/v1/audio/speech": { "post": { "tags": [ "OpenAI compatible" ], "summary": "Speech", "operationId": "speech_v1_audio_speech_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SpeechRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "GatewayKey": [] } ] } }, "/v1/responses": { "post": { "tags": [ "OpenAI compatible" ], "summary": "Responses", "operationId": "responses_v1_responses_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResponseRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "GatewayKey": [] } ] } }, "/v1/audio/transcriptions": { "post": { "tags": [ "OpenAI compatible" ], "summary": "Transcriptions", "operationId": "transcriptions_v1_audio_transcriptions_post", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } }, "security": [ { "GatewayKey": [] } ] } }, "/api/playground": { "post": { "tags": [ "Dashboard" ], "summary": "Playground", "operationId": "playground_api_playground_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChatRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "DashboardSession": [] } ], "parameters": [ { "name": "X-CSRF-Token", "in": "header", "required": true, "schema": { "type": "string" }, "description": "Value of the gw_csrf cookie. Same-origin dashboard mutations only." } ] } } }, "components": { "schemas": { "AccountStatus": { "properties": { "disabled": { "type": "boolean", "title": "Disabled" } }, "additionalProperties": false, "type": "object", "required": [ "disabled" ], "title": "AccountStatus" }, "Capabilities": { "properties": { "chat": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Chat" }, "tools": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Tools" }, "vision": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Vision" }, "audio": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Audio" }, "json_mode": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Json Mode" }, "streaming": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Streaming" }, "reasoning": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Reasoning" }, "coding": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Coding" }, "embeddings": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Embeddings" }, "images": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Images" }, "transcription": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Transcription" }, "speech": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Speech" }, "responses": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Responses" } }, "type": "object", "title": "Capabilities" }, "ChatRequest": { "properties": { "model": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Model", "default": "auto" }, "provider": { "anyOf": [ { "type": "string", "maxLength": 80 }, { "type": "null" } ], "title": "Provider" }, "routing": { "type": "string", "enum": [ "auto", "fastest", "cheapest", "reasoning", "coding", "vision", "image", "embedding", "manual" ], "title": "Routing", "default": "auto" }, "max_retries": { "anyOf": [ { "type": "integer", "maximum": 5.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Max Retries" }, "allow_alternatives": { "type": "boolean", "title": "Allow Alternatives", "default": false }, "stream": { "type": "boolean", "title": "Stream", "default": false }, "response_format": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Response Format" }, "tools": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Tools" }, "functions": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Functions" }, "max_tokens": { "anyOf": [ { "type": "integer", "minimum": 1.0 }, { "type": "null" } ], "title": "Max Tokens" }, "max_completion_tokens": { "anyOf": [ { "type": "integer", "minimum": 1.0 }, { "type": "null" } ], "title": "Max Completion Tokens" }, "n": { "anyOf": [ { "type": "integer", "maximum": 16.0, "minimum": 1.0 }, { "type": "null" } ], "title": "N" }, "messages": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "maxItems": 1000, "minItems": 1, "title": "Messages" } }, "additionalProperties": true, "type": "object", "required": [ "messages" ], "title": "ChatRequest" }, "Credentials": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" }, "password": { "type": "string", "maxLength": 128, "minLength": 12, "title": "Password" } }, "type": "object", "required": [ "email", "password" ], "title": "Credentials" }, "EmbeddingRequest": { "properties": { "model": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Model", "default": "auto" }, "provider": { "anyOf": [ { "type": "string", "maxLength": 80 }, { "type": "null" } ], "title": "Provider" }, "routing": { "type": "string", "enum": [ "auto", "fastest", "cheapest", "reasoning", "coding", "vision", "image", "embedding", "manual" ], "title": "Routing", "default": "auto" }, "max_retries": { "anyOf": [ { "type": "integer", "maximum": 5.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Max Retries" }, "allow_alternatives": { "type": "boolean", "title": "Allow Alternatives", "default": false }, "stream": { "type": "boolean", "title": "Stream", "default": false }, "input": { "anyOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" }, { "items": { "type": "integer" }, "type": "array" }, { "items": { "items": { "type": "integer" }, "type": "array" }, "type": "array" } ], "title": "Input" } }, "additionalProperties": true, "type": "object", "required": [ "input" ], "title": "EmbeddingRequest" }, "Flow": { "properties": { "flow_id": { "type": "string", "maxLength": 128, "minLength": 32, "pattern": "^[A-Za-z0-9_-]+$", "title": "Flow Id" } }, "type": "object", "required": [ "flow_id" ], "title": "Flow" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "ImageRequest": { "properties": { "model": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Model", "default": "auto" }, "provider": { "anyOf": [ { "type": "string", "maxLength": 80 }, { "type": "null" } ], "title": "Provider" }, "routing": { "type": "string", "enum": [ "auto", "fastest", "cheapest", "reasoning", "coding", "vision", "image", "embedding", "manual" ], "title": "Routing", "default": "auto" }, "max_retries": { "anyOf": [ { "type": "integer", "maximum": 5.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Max Retries" }, "allow_alternatives": { "type": "boolean", "title": "Allow Alternatives", "default": false }, "stream": { "type": "boolean", "title": "Stream", "default": false }, "prompt": { "type": "string", "minLength": 1, "title": "Prompt" } }, "additionalProperties": true, "type": "object", "required": [ "prompt" ], "title": "ImageRequest" }, "MessagesRequest": { "properties": { "model": { "type": "string", "maxLength": 1024, "title": "Model", "default": "auto" }, "messages": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "minItems": 1, "title": "Messages" }, "max_tokens": { "type": "integer", "minimum": 1.0, "title": "Max Tokens" }, "system": { "anyOf": [ { "type": "string" }, { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "System" }, "tools": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Tools" }, "tool_choice": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Tool Choice" }, "stream": { "type": "boolean", "title": "Stream", "default": false }, "temperature": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Temperature" }, "top_p": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Top P" }, "stop_sequences": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Stop Sequences" }, "thinking": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Thinking" } }, "additionalProperties": true, "type": "object", "required": [ "messages", "max_tokens" ], "title": "MessagesRequest" }, "ModelInput": { "properties": { "model_id": { "type": "string", "maxLength": 512, "minLength": 1, "pattern": "^[^\\s]+$", "title": "Model Id" }, "name": { "anyOf": [ { "type": "string", "maxLength": 512 }, { "type": "null" } ], "title": "Name" }, "capabilities": { "$ref": "#/components/schemas/Capabilities" }, "context_window": { "anyOf": [ { "type": "integer", "minimum": 1.0 }, { "type": "null" } ], "title": "Context Window" }, "input_price": { "anyOf": [ { "type": "number", "minimum": 0.0 }, { "type": "null" } ], "title": "Input Price" }, "output_price": { "anyOf": [ { "type": "number", "minimum": 0.0 }, { "type": "null" } ], "title": "Output Price" } }, "type": "object", "required": [ "model_id" ], "title": "ModelInput" }, "NewGatewayKey": { "properties": { "name": { "type": "string", "maxLength": 80, "minLength": 1, "title": "Name" }, "expires_in_days": { "anyOf": [ { "type": "integer", "maximum": 3650.0, "minimum": 1.0 }, { "type": "null" } ], "title": "Expires In Days" } }, "type": "object", "required": [ "name" ], "title": "NewGatewayKey" }, "OAuthStart": { "properties": { "preferred_models": { "items": { "type": "string" }, "type": "array", "maxItems": 200, "title": "Preferred Models" }, "preferred_only": { "type": "boolean", "title": "Preferred Only", "default": false }, "priority": { "type": "integer", "maximum": 1000.0, "minimum": 0.0, "title": "Priority", "default": 10 }, "name": { "type": "string", "maxLength": 80, "minLength": 1, "title": "Name", "default": "OpenRouter" } }, "type": "object", "title": "OAuthStart" }, "ProviderInput": { "properties": { "preferred_models": { "items": { "type": "string" }, "type": "array", "maxItems": 200, "title": "Preferred Models" }, "preferred_only": { "type": "boolean", "title": "Preferred Only", "default": false }, "kind": { "type": "string", "enum": [ "9router", "alicode", "alicode-intl", "alims-intl", "alitp-intl", "anthropic", "api-airforce", "azure", "baidu", "bazaarlink", "blackbox", "bluesminds", "byteplus", "cerebras", "chutes", "cloudflare-ai", "codex", "cohere", "custom", "deepseek", "featherless", "fireworks", "github", "glm", "glm-cn", "google", "grok-cli", "groq", "huggingface", "hyperbolic", "jina-ai", "kilo-gateway", "kilocode", "kimi", "llm7", "minimax", "minimax-cn", "mistral", "morph", "nebius", "nvidia", "ollama", "ollama-local", "openai", "opencode", "opencode-go", "openrouter", "perplexity", "poolside", "recraft", "sambanova", "siliconflow", "tencent", "together", "tokenrouter", "venice", "vercel-ai-gateway", "volcengine-ark", "voyage-ai", "xai", "xiaomi-mimo", "xiaomi-tokenplan" ], "title": "Kind" }, "name": { "type": "string", "maxLength": 80, "minLength": 1, "title": "Name" }, "api_key": { "type": "string", "maxLength": 8192, "title": "Api Key", "default": "" }, "base_url": { "anyOf": [ { "type": "string", "maxLength": 2048 }, { "type": "null" } ], "title": "Base Url" }, "enabled": { "type": "boolean", "title": "Enabled", "default": true }, "priority": { "type": "integer", "maximum": 1000.0, "minimum": 0.0, "title": "Priority", "default": 10 }, "headers": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Headers" }, "models": { "items": { "$ref": "#/components/schemas/ModelInput" }, "type": "array", "maxItems": 200, "title": "Models" } }, "type": "object", "required": [ "kind", "name" ], "title": "ProviderInput" }, "ProviderPatch": { "properties": { "preferred_models": { "anyOf": [ { "items": { "type": "string" }, "type": "array", "maxItems": 200 }, { "type": "null" } ], "title": "Preferred Models" }, "preferred_only": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Preferred Only" }, "name": { "anyOf": [ { "type": "string", "maxLength": 80, "minLength": 1 }, { "type": "null" } ], "title": "Name" }, "api_key": { "anyOf": [ { "type": "string", "maxLength": 8192 }, { "type": "null" } ], "title": "Api Key" }, "enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enabled" }, "pinned": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Pinned" }, "priority": { "anyOf": [ { "type": "integer", "maximum": 1000.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Priority" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Headers" } }, "type": "object", "title": "ProviderPatch" }, "PublishOptions": { "properties": { "enabled": { "type": "boolean", "title": "Enabled", "default": true }, "requests_per_minute": { "type": "integer", "maximum": 120.0, "minimum": 1.0, "title": "Requests Per Minute", "default": 5 }, "max_output_tokens": { "type": "integer", "maximum": 8192.0, "minimum": 128.0, "title": "Max Output Tokens", "default": 1024 } }, "additionalProperties": false, "type": "object", "title": "PublishOptions" }, "Register": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" }, "password": { "type": "string", "maxLength": 128, "minLength": 12, "title": "Password" }, "name": { "type": "string", "maxLength": 80, "minLength": 1, "title": "Name" }, "registration_code": { "type": "string", "title": "Registration Code", "default": "" } }, "type": "object", "required": [ "email", "password", "name" ], "title": "Register" }, "ResponseRequest": { "properties": { "model": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Model", "default": "auto" }, "provider": { "anyOf": [ { "type": "string", "maxLength": 80 }, { "type": "null" } ], "title": "Provider" }, "routing": { "type": "string", "enum": [ "auto", "fastest", "cheapest", "reasoning", "coding", "vision", "image", "embedding", "manual" ], "title": "Routing", "default": "auto" }, "max_retries": { "anyOf": [ { "type": "integer", "maximum": 5.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Max Retries" }, "allow_alternatives": { "type": "boolean", "title": "Allow Alternatives", "default": false }, "stream": { "type": "boolean", "title": "Stream", "default": false }, "input": { "anyOf": [ { "type": "string" }, { "items": { "additionalProperties": true, "type": "object" }, "type": "array" } ], "title": "Input" } }, "additionalProperties": true, "type": "object", "required": [ "input" ], "title": "ResponseRequest" }, "SiteOptions": { "properties": { "site_name": { "type": "string", "maxLength": 40, "minLength": 1, "title": "Site Name", "default": "Nexus" }, "tagline": { "type": "string", "maxLength": 160, "minLength": 1, "title": "Tagline", "default": "Universal AI Gateway" }, "welcome_text": { "type": "string", "maxLength": 180, "minLength": 1, "title": "Welcome Text", "default": "Your models. Your keys. One connection." }, "accent": { "type": "string", "enum": [ "purple", "blue", "green" ], "title": "Accent", "default": "purple" }, "registration_open": { "type": "boolean", "title": "Registration Open", "default": true }, "requests_per_minute": { "type": "integer", "maximum": 10000.0, "minimum": 1.0, "title": "Requests Per Minute", "default": 60 }, "shared_models_enabled": { "type": "boolean", "title": "Shared Models Enabled", "default": true }, "shared_requests_per_minute": { "type": "integer", "maximum": 10000.0, "minimum": 1.0, "title": "Shared Requests Per Minute", "default": 30 }, "default_mode": { "type": "string", "enum": [ "auto", "fastest", "cheapest", "reasoning", "coding", "vision" ], "title": "Default Mode", "default": "auto" }, "default_stream": { "type": "boolean", "title": "Default Stream", "default": true }, "default_retries": { "type": "integer", "maximum": 5.0, "minimum": 0.0, "title": "Default Retries", "default": 2 } }, "additionalProperties": false, "type": "object", "title": "SiteOptions" }, "SpeechRequest": { "properties": { "model": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Model", "default": "auto" }, "provider": { "anyOf": [ { "type": "string", "maxLength": 80 }, { "type": "null" } ], "title": "Provider" }, "routing": { "type": "string", "enum": [ "auto", "fastest", "cheapest", "reasoning", "coding", "vision", "image", "embedding", "manual" ], "title": "Routing", "default": "auto" }, "max_retries": { "anyOf": [ { "type": "integer", "maximum": 5.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Max Retries" }, "allow_alternatives": { "type": "boolean", "title": "Allow Alternatives", "default": false }, "stream": { "type": "boolean", "title": "Stream", "default": false }, "input": { "type": "string", "minLength": 1, "title": "Input" }, "voice": { "type": "string", "minLength": 1, "title": "Voice" } }, "additionalProperties": true, "type": "object", "required": [ "input", "voice" ], "title": "SpeechRequest" }, "Start": { "properties": { "preferred_models": { "items": { "type": "string" }, "type": "array", "maxItems": 200, "title": "Preferred Models" }, "preferred_only": { "type": "boolean", "title": "Preferred Only", "default": false }, "name": { "type": "string", "maxLength": 80, "minLength": 1, "title": "Name" }, "priority": { "type": "integer", "maximum": 1000.0, "minimum": 0.0, "title": "Priority", "default": 10 } }, "type": "object", "required": [ "name" ], "title": "Start" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } }, "securitySchemes": { "GatewayKey": { "type": "http", "scheme": "bearer", "bearerFormat": "gw_..." }, "MessagesKey": { "type": "apiKey", "in": "header", "name": "x-api-key" }, "DashboardSession": { "type": "apiKey", "in": "cookie", "name": "gw_session" } } } }