{"components":{"schemas":{"AccountPatch":{"properties":{"disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disabled"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"title":"AccountPatch","type":"object"},"AdminAccountIn":{"description":"``POST /api/v1/admin/accounts``: create an organization workspace owned by ``owner_email``.","properties":{"name":{"title":"Name","type":"string"},"owner_email":{"title":"Owner Email","type":"string"},"plan":{"default":"free","title":"Plan","type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"required":["name","owner_email"],"title":"AdminAccountIn","type":"object"},"AdminMailTestIn":{"description":"``POST /api/v1/admin/mail/test``: send a delivery check to ``to``.","properties":{"to":{"title":"To","type":"string"}},"required":["to"],"title":"AdminMailTestIn","type":"object"},"AdminMemberIn":{"properties":{"email":{"title":"Email","type":"string"},"name":{"default":"","title":"Name","type":"string"},"role":{"default":"member","title":"Role","type":"string"}},"required":["email"],"title":"AdminMemberIn","type":"object"},"AdminUserBulkIn":{"description":"``POST /api/v1/admin/users/bulk``: one action applied to many users at once.","properties":{"action":{"title":"Action","type":"string"},"ids":{"items":{"type":"string"},"title":"Ids","type":"array"}},"required":["ids","action"],"title":"AdminUserBulkIn","type":"object"},"AdminUserIn":{"description":"``POST /api/v1/admin/users``: create a user (with a personal workspace) on behalf of someone.","properties":{"email":{"title":"Email","type":"string"},"name":{"default":"","title":"Name","type":"string"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"plan":{"default":"free","title":"Plan","type":"string"}},"required":["email"],"title":"AdminUserIn","type":"object"},"AdminUserPatch":{"properties":{"disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disabled"},"email_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Verified"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},"title":"AdminUserPatch","type":"object"},"ChannelIn":{"properties":{"kind":{"title":"Kind","type":"string"},"min_severity":{"default":"warning","title":"Min Severity","type":"string"},"name":{"default":"","title":"Name","type":"string"},"rules":{"items":{"type":"string"},"title":"Rules","type":"array"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"},"target":{"title":"Target","type":"string"}},"required":["kind","target"],"title":"ChannelIn","type":"object"},"ChannelPatch":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"min_severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Min Severity"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"rules":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Rules"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"},"target":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target"}},"title":"ChannelPatch","type":"object"},"ChatCompletionIn":{"properties":{"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Tokens"},"messages":{"items":{"$ref":"#/components/schemas/ChatMessage"},"title":"Messages","type":"array"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"model":{"default":"auto","title":"Model","type":"string"},"models":{"items":{"type":"string"},"title":"Models","type":"array"},"osr":{"$ref":"#/components/schemas/RoutingOptions"},"stream":{"default":false,"title":"Stream","type":"boolean"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"}},"required":["messages"],"title":"ChatCompletionIn","type":"object"},"ChatMessage":{"properties":{"content":{"default":"","title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"role":{"title":"Role","type":"string"}},"required":["role"],"title":"ChatMessage","type":"object"},"DeleteMeIn":{"description":"``POST /api/v1/me/delete``: the signed-in person deletes their own user (password when one is set).","properties":{"confirm":{"default":"","title":"Confirm","type":"string"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},"title":"DeleteMeIn","type":"object"},"DeviceCodeIn":{"description":"``POST /api/v1/auth/device/code``: a CLI asks for a sign-in code (RFC 8628 device authorization request).","properties":{"client_name":{"default":"","title":"Client Name","type":"string"}},"title":"DeviceCodeIn","type":"object"},"DeviceDecisionIn":{"description":"``POST /api/v1/auth/device/approve`` / ``deny``: the signed-in person decides about a user code.","properties":{"name":{"default":"","title":"Name","type":"string"},"user_code":{"title":"User Code","type":"string"}},"required":["user_code"],"title":"DeviceDecisionIn","type":"object"},"DeviceTokenIn":{"description":"``POST /api/v1/auth/device/token``: the CLI polls with its device code until the person decides.","properties":{"device_code":{"title":"Device Code","type":"string"},"grant_type":{"default":"urn:ietf:params:oauth:grant-type:device_code","title":"Grant Type","type":"string"}},"required":["device_code"],"title":"DeviceTokenIn","type":"object"},"EstimateIn":{"description":"``POST /api/v1/estimate``: the routing request plus the expected answer length and a monthly volume.","properties":{"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"context":{"additionalProperties":true,"title":"Context","type":"object"},"execute":{"default":false,"title":"Execute","type":"boolean"},"history":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"title":"History","type":"array"},"kinds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Kinds"},"monthly_requests":{"anyOf":[{"maximum":1000000000,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Monthly Requests"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"output_tokens":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Output Tokens"},"plan":{"default":false,"title":"Plan","type":"boolean"},"profile":{"additionalProperties":true,"title":"Profile","type":"object"},"text":{"title":"Text","type":"string"},"top_k":{"default":3,"title":"Top K","type":"integer"}},"required":["text"],"title":"EstimateIn","type":"object"},"FeedbackIn":{"properties":{"complexity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Complexity"},"cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost Usd"},"domains":{"items":{"type":"string"},"title":"Domains","type":"array"},"latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Ms"},"preferred_over":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Over"},"quality":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quality"},"request_id":{"title":"Request Id","type":"string"},"success":{"title":"Success","type":"boolean"},"target_id":{"title":"Target Id","type":"string"}},"required":["request_id","target_id","success"],"title":"FeedbackIn","type":"object"},"ForgotPasswordIn":{"description":"``POST /api/v1/auth/password/forgot``: email a single-use reset link (always answers 202).","properties":{"email":{"title":"Email","type":"string"}},"required":["email"],"title":"ForgotPasswordIn","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ImportCheckIn":{"description":"Which of these slugs already exist (any status), so an incremental publish sends only new rows.","properties":{"slugs":{"items":{"type":"string"},"title":"Slugs","type":"array"}},"required":["slugs"],"title":"ImportCheckIn","type":"object"},"ImportIn":{"description":"Bulk import of harvested listings (``osr_platform.harvest``); each item is a :func:`listing_for` row.","properties":{"items":{"items":{"additionalProperties":true,"type":"object"},"title":"Items","type":"array"},"refresh":{"default":false,"title":"Refresh","type":"boolean"}},"required":["items"],"title":"ImportIn","type":"object"},"InviteIn":{"properties":{"email":{"title":"Email","type":"string"},"role":{"default":"member","title":"Role","type":"string"}},"required":["email"],"title":"InviteIn","type":"object"},"KeyIn":{"properties":{"name":{"default":"","title":"Name","type":"string"}},"title":"KeyIn","type":"object"},"ListingIn":{"description":"Create a listing (as a draft). ``manifest`` may be the short form (see :func:`normalise_manifest`).","properties":{"domains":{"items":{"type":"string"},"title":"Domains","type":"array"},"kind":{"title":"Kind","type":"string"},"license":{"default":"Apache-2.0","title":"License","type":"string"},"manifest":{"additionalProperties":true,"title":"Manifest","type":"object"},"name":{"title":"Name","type":"string"},"price_usd":{"default":0,"title":"Price Usd","type":"number"},"readme":{"default":"","title":"Readme","type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"submit":{"default":false,"title":"Submit","type":"boolean"},"summary":{"default":"","title":"Summary","type":"string"},"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"version":{"default":"1.0.0","title":"Version","type":"string"}},"required":["kind","name"],"title":"ListingIn","type":"object"},"ListingPatch":{"properties":{"domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Domains"},"license":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License"},"manifest":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Manifest"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"price_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd"},"readme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readme"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"}},"title":"ListingPatch","type":"object"},"MappingIn":{"properties":{"defaults":{"additionalProperties":true,"title":"Defaults","type":"object"},"model":{"maxLength":200,"minLength":1,"title":"Model","type":"string"},"provider_id":{"title":"Provider Id","type":"string"},"system_prompt":{"anyOf":[{"maxLength":8000,"type":"string"},{"type":"null"}],"title":"System Prompt"}},"required":["provider_id","model"],"title":"MappingIn","type":"object"},"ModerationIn":{"properties":{"featured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Featured"},"note":{"default":"","title":"Note","type":"string"},"verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Verified"}},"title":"ModerationIn","type":"object"},"OperatorIn":{"properties":{"name":{"default":"","title":"Name","type":"string"},"password":{"title":"Password","type":"string"},"role":{"default":"operator","title":"Role","type":"string"},"username":{"title":"Username","type":"string"}},"required":["username","password"],"title":"OperatorIn","type":"object"},"OperatorLoginIn":{"description":"``POST /api/v1/admin/auth/login``: operator console sign-in.","properties":{"password":{"title":"Password","type":"string"},"username":{"title":"Username","type":"string"}},"required":["username","password"],"title":"OperatorLoginIn","type":"object"},"OperatorPasswordIn":{"properties":{"current_password":{"title":"Current Password","type":"string"},"password":{"title":"Password","type":"string"}},"required":["current_password","password"],"title":"OperatorPasswordIn","type":"object"},"OperatorPatch":{"properties":{"disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disabled"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"}},"title":"OperatorPatch","type":"object"},"PasswordChangeIn":{"description":"``POST /api/v1/auth/password``: set or change the signed-in user's password.","properties":{"current_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Password"},"password":{"title":"Password","type":"string"}},"required":["password"],"title":"PasswordChangeIn","type":"object"},"PasswordLoginIn":{"description":"``POST /api/v1/auth/password/login``: email + password sign-in that mints a browser session.","properties":{"email":{"title":"Email","type":"string"},"password":{"title":"Password","type":"string"}},"required":["email","password"],"title":"PasswordLoginIn","type":"object"},"PolicyIn":{"description":"``PUT /api/v1/policy``: the workspace-wide routing policy (see :data:`POLICY_KEYS`).","properties":{"config":{"additionalProperties":true,"title":"Config","type":"object"}},"title":"PolicyIn","type":"object"},"ProviderIn":{"properties":{"api_key":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"title":"Api Key"},"api_key_env":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Api Key Env"},"api_key_header":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"title":"Api Key Header"},"base_url":{"maxLength":500,"minLength":8,"title":"Base Url","type":"string"},"enabled":{"default":true,"title":"Enabled","type":"boolean"},"extra_headers":{"additionalProperties":{"type":"string"},"title":"Extra Headers","type":"object"},"kind":{"default":"custom","title":"Kind","type":"string"},"max_retries":{"default":2,"maximum":10,"minimum":0,"title":"Max Retries","type":"integer"},"name":{"maxLength":63,"minLength":1,"title":"Name","type":"string"},"notes":{"default":"","maxLength":2000,"title":"Notes","type":"string"},"timeout_s":{"default":60,"maximum":600,"minimum":1,"title":"Timeout S","type":"number"}},"required":["name","base_url"],"title":"ProviderIn","type":"object"},"ProviderPatch":{"properties":{"api_key":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"title":"Api Key"},"api_key_env":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Api Key Env"},"api_key_header":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"title":"Api Key Header"},"base_url":{"anyOf":[{"maxLength":500,"minLength":8,"type":"string"},{"type":"null"}],"title":"Base Url"},"clear_api_key":{"default":false,"title":"Clear Api Key","type":"boolean"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"extra_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Extra Headers"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"},"max_retries":{"anyOf":[{"maximum":10,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Max Retries"},"name":{"anyOf":[{"maxLength":63,"minLength":1,"type":"string"},{"type":"null"}],"title":"Name"},"notes":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"title":"Notes"},"timeout_s":{"anyOf":[{"maximum":600,"minimum":1,"type":"number"},{"type":"null"}],"title":"Timeout S"}},"title":"ProviderPatch","type":"object"},"ReadIn":{"properties":{"ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ids"}},"title":"ReadIn","type":"object"},"ResetPasswordIn":{"description":"``POST /api/v1/auth/password/reset``: the token from the email plus the new password.","properties":{"password":{"title":"Password","type":"string"},"token":{"title":"Token","type":"string"}},"required":["token","password"],"title":"ResetPasswordIn","type":"object"},"ReviewIn":{"properties":{"body":{"default":"","title":"Body","type":"string"},"rating":{"title":"Rating","type":"integer"},"title":{"default":"","title":"Title","type":"string"}},"required":["rating"],"title":"ReviewIn","type":"object"},"RoleIn":{"properties":{"role":{"title":"Role","type":"string"}},"required":["role"],"title":"RoleIn","type":"object"},"RouteIn":{"properties":{"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"context":{"additionalProperties":true,"title":"Context","type":"object"},"execute":{"default":false,"title":"Execute","type":"boolean"},"history":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"title":"History","type":"array"},"kinds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Kinds"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"plan":{"default":false,"title":"Plan","type":"boolean"},"profile":{"additionalProperties":true,"title":"Profile","type":"object"},"text":{"title":"Text","type":"string"},"top_k":{"default":3,"title":"Top K","type":"integer"}},"required":["text"],"title":"RouteIn","type":"object"},"RoutingOptions":{"description":"Platform extension carried in the chat body under ``osr`` (ignored by other providers).","properties":{"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"fallbacks":{"default":true,"title":"Fallbacks","type":"boolean"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"plan":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Plan"},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},"title":"RoutingOptions","type":"object"},"SignupIn":{"properties":{"email":{"title":"Email","type":"string"},"name":{"default":"","title":"Name","type":"string"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},"required":["email"],"title":"SignupIn","type":"object"},"SsoCallbackIn":{"properties":{"code":{"title":"Code","type":"string"},"state":{"title":"State","type":"string"}},"required":["code","state"],"title":"SsoCallbackIn","type":"object"},"SsoConnectionIn":{"description":"An organization's identity provider. ``kind`` is a preset (google, microsoft, gitlab, github) or ``oidc``.","properties":{"client_id":{"title":"Client Id","type":"string"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"},"default_role":{"default":"member","title":"Default Role","type":"string"},"domains":{"items":{"type":"string"},"title":"Domains","type":"array"},"issuer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer"},"kind":{"default":"oidc","title":"Kind","type":"string"},"label":{"default":"Company SSO","title":"Label","type":"string"},"scopes":{"items":{"type":"string"},"title":"Scopes","type":"array"}},"required":["client_id"],"title":"SsoConnectionIn","type":"object"},"TenantIn":{"properties":{"config":{"additionalProperties":true,"title":"Config","type":"object"},"slug":{"title":"Slug","type":"string"}},"required":["slug"],"title":"TenantIn","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"VerifyEmailIn":{"description":"``POST /api/v1/auth/verify``: the token from the confirmation email.","properties":{"token":{"title":"Token","type":"string"}},"required":["token"],"title":"VerifyEmailIn","type":"object"},"VersionIn":{"properties":{"changelog":{"default":"","title":"Changelog","type":"string"},"manifest":{"additionalProperties":true,"title":"Manifest","type":"object"},"version":{"title":"Version","type":"string"}},"required":["version","manifest"],"title":"VersionIn","type":"object"},"WorkspaceIn":{"properties":{"name":{"title":"Name","type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"required":["name"],"title":"WorkspaceIn","type":"object"},"WorkspacePatch":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"title":"WorkspacePatch","type":"object"}},"securitySchemes":{"apiKey":{"description":"`X-API-Key: <api key>`","in":"header","name":"X-API-Key","type":"apiKey"},"bearer":{"description":"`Authorization: Bearer <api key>`","scheme":"bearer","type":"http"}}},"info":{"description":"Metered routing API and OpenAI-compatible proxy for OpenSmartRoute 1.0.0 (enterprise edition). Authenticate with `Authorization: Bearer <key>` or `X-API-Key`; keys are created at signup and in the dashboard.","title":"OpenSmartRoute platform API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/v1/activity":{"get":{"description":"Newest-first request log; pass ``before=<ts of the last row>`` to page further back.\n\n``traced`` marks rows whose spans and events are still in the tracer buffer\n(``GET /api/v1/trace/{request_id}``); ``outcome`` summarises the feedback reported for the request.","operationId":"activity_api_v1_activity_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"query","name":"endpoint","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint"}},{"in":"query","name":"target","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target"}},{"in":"query","name":"key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Activity Api V1 Activity Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Activity","tags":["account"]}},"/api/v1/admin/accounts":{"get":{"description":"The workspace directory. Filters: ``q`` (name / email / slug), ``kind``, ``plan``, ``disabled``;\n``sort`` by created_at, name, email or plan. ``format=csv`` downloads every match.","operationId":"accounts_api_v1_admin_accounts_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"plan","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"}},{"in":"query","name":"disabled","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disabled"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"title":"Offset","type":"integer"}},{"in":"query","name":"sort","required":false,"schema":{"default":"created_at","title":"Sort","type":"string"}},{"in":"query","name":"order","required":false,"schema":{"default":"desc","title":"Order","type":"string"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","title":"Format","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Accounts Api V1 Admin Accounts Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Accounts","tags":["admin"]},"post":{"description":"Create an organization workspace owned by an existing or new user (first API key shown once).","operationId":"create_account_api_v1_admin_accounts_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAccountIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Account Api V1 Admin Accounts Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create Account","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}":{"delete":{"description":"Delete a workspace with its keys, tenants, policy, usage and memberships. Irreversible.","operationId":"delete_account_api_v1_admin_accounts__account_id__delete","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Account Api V1 Admin Accounts  Account Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Account","tags":["admin"]},"get":{"operationId":"get_account_api_v1_admin_accounts__account_id__get","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Account Api V1 Admin Accounts  Account Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Account","tags":["admin"]},"patch":{"operationId":"patch_account_api_v1_admin_accounts__account_id__patch","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Account Api V1 Admin Accounts  Account Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Account","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}/keys":{"post":{"description":"Mint an API key for the workspace (shown once); plan key limits apply.","operationId":"create_key_api_v1_admin_accounts__account_id__keys_post","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Key Api V1 Admin Accounts  Account Id  Keys Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create Key","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}/keys/{key_id}":{"delete":{"operationId":"revoke_key_api_v1_admin_accounts__account_id__keys__key_id__delete","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Revoke Key Api V1 Admin Accounts  Account Id  Keys  Key Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Revoke Key","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}/members":{"post":{"description":"Add a member by email (the user is created, with a personal workspace, if needed).","operationId":"add_member_api_v1_admin_accounts__account_id__members_post","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMemberIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Member Api V1 Admin Accounts  Account Id  Members Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Member","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}/members/{user_id}":{"delete":{"operationId":"remove_member_api_v1_admin_accounts__account_id__members__user_id__delete","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Remove Member Api V1 Admin Accounts  Account Id  Members  User Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Remove Member","tags":["admin"]},"patch":{"operationId":"set_member_role_api_v1_admin_accounts__account_id__members__user_id__patch","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Member Role Api V1 Admin Accounts  Account Id  Members  User Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Member Role","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}/session":{"post":{"description":"Superadmin only: a one-hour browser session on this workspace so the operator can open its dashboard.\n\nThe session acts as the workspace's owner with ``provider = \"operator\"`` (the dashboard shows it as an\noperator view and the owner sees it in the session list), sees every plan feature (quotas stay the\nworkspace's), expires after ``OPERATOR_VIEW_TTL_S`` and is written to the audit log as ``workspace.open``.","operationId":"open_workspace_api_v1_admin_accounts__account_id__session_post","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Open Workspace Api V1 Admin Accounts  Account Id  Session Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Open Workspace","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}/tenants/{slug}":{"delete":{"operationId":"delete_tenant_api_v1_admin_accounts__account_id__tenants__slug__delete","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Tenant Api V1 Admin Accounts  Account Id  Tenants  Slug  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Tenant","tags":["admin"]},"put":{"description":"Create or replace a tenant's routing configuration (validated like ``PUT /tenants``).","operationId":"put_tenant_api_v1_admin_accounts__account_id__tenants__slug__put","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Put Tenant Api V1 Admin Accounts  Account Id  Tenants  Slug  Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Put Tenant","tags":["admin"]}},"/api/v1/admin/accounts/{account_id}/usage":{"get":{"operationId":"account_usage_api_v1_admin_accounts__account_id__usage_get","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Account Usage Api V1 Admin Accounts  Account Id  Usage Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Account Usage","tags":["admin"]}},"/api/v1/admin/activity":{"get":{"description":"Newest-first request log across every workspace (never the prompt); ``before`` pages further back.","operationId":"activity_api_v1_admin_activity_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"query","name":"account_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},{"in":"query","name":"endpoint","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint"}},{"in":"query","name":"target","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target"}},{"in":"query","name":"failed","required":false,"schema":{"default":false,"title":"Failed","type":"boolean"}},{"in":"query","name":"request_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Activity Api V1 Admin Activity Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Activity","tags":["admin"]}},"/api/v1/admin/analytics":{"get":{"description":"Deployment-wide traffic for the last ``days``: per day (requests, failures, cost, tokens, active\nworkspaces, mean latency), per endpoint, per target, the busiest workspaces, and signups per day.","operationId":"analytics_api_v1_admin_analytics_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Analytics Api V1 Admin Analytics Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Analytics","tags":["admin"]}},"/api/v1/admin/audit-log":{"get":{"description":"Deployment-wide account-lifecycle log. ``action`` matches a prefix such as ``user.`` or ``member.``;\n``actor_type`` is user, key, operator, system or anonymous; ``q`` searches actor, IP and details;\n``after`` / ``before`` bound the time window (seconds since the epoch; page with ``before`` = the\noldest ``ts`` shown). ``format=csv`` downloads the matching events (up to 10 000).","operationId":"audit_log_api_v1_admin_audit_log_get","parameters":[{"in":"query","name":"user_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"in":"query","name":"account_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},{"in":"query","name":"action","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"in":"query","name":"actor_type","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Type"}},{"in":"query","name":"actor_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"query","name":"after","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"After"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","title":"Format","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Audit Log Api V1 Admin Audit Log Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Audit Log","tags":["admin"]}},"/api/v1/admin/auth/login":{"post":{"description":"Operator console sign-in with username and password; returns an ``osr_op_`` session token.","operationId":"operator_login_api_v1_admin_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorLoginIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Login Api V1 Admin Auth Login Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Login","tags":["admin"]}},"/api/v1/admin/auth/logout":{"post":{"operationId":"operator_logout_api_v1_admin_auth_logout_post","parameters":[{"in":"query","name":"everywhere","required":false,"schema":{"default":false,"title":"Everywhere","type":"boolean"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Logout Api V1 Admin Auth Logout Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Logout","tags":["admin"]}},"/api/v1/admin/auth/me":{"get":{"operationId":"operator_me_api_v1_admin_auth_me_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Me Api V1 Admin Auth Me Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Me","tags":["admin"]}},"/api/v1/admin/auth/password":{"post":{"description":"Change the signed-in operator's password (other sessions are revoked).","operationId":"operator_password_api_v1_admin_auth_password_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorPasswordIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Password Api V1 Admin Auth Password Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Password","tags":["admin"]}},"/api/v1/admin/auth/sessions":{"get":{"operationId":"operator_sessions_api_v1_admin_auth_sessions_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Sessions Api V1 Admin Auth Sessions Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Sessions","tags":["admin"]}},"/api/v1/admin/autopilot/cycle":{"post":{"description":"Ask the autopilot for an improvement cycle now (rate-limited by ``OSR_SLM_AUTOPILOT_MIN_GAP_S``).\n\n``scheduled`` is false when a cycle is already pending or running. 404 when the deployment runs\nwithout an autopilot (``OSR_PLATFORM_AUTOPILOT`` unset or no ``OSR_PLATFORM_SLM``).","operationId":"autopilot_cycle_api_v1_admin_autopilot_cycle_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Autopilot Cycle Api V1 Admin Autopilot Cycle Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Autopilot Cycle","tags":["admin"]}},"/api/v1/admin/health":{"get":{"description":"Readiness checks, HTTP traffic and latency series, circuit breakers, cache, deployment alerts and the\nalert evaluator, for the operator health page.","operationId":"health_api_v1_admin_health_get","parameters":[{"in":"query","name":"window","required":false,"schema":{"default":"1h","title":"Window","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Health Api V1 Admin Health Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Health","tags":["admin"]}},"/api/v1/admin/lookup":{"get":{"description":"Support search: users (email, name), workspaces (name, slug, email), API keys by prefix, operators,\ntenants by slug and a request id; every hit carries the console page that shows it.","operationId":"lookup_api_v1_admin_lookup_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"default":"","title":"Q","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Lookup Api V1 Admin Lookup Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Lookup","tags":["admin"]}},"/api/v1/admin/mail":{"get":{"description":"Email the platform composed (verification, reset, invitation links). Without SMTP this is where\noperators pick the links up; with SMTP ``sent_at`` / ``error`` show delivery. Filters: ``to``\n(substring), ``unsent``, ``failed``, ``kind``; ``summary`` carries the deployment-wide counters.","operationId":"mail_api_v1_admin_mail_get","parameters":[{"in":"query","name":"to","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To"}},{"in":"query","name":"unsent","required":false,"schema":{"default":false,"title":"Unsent","type":"boolean"}},{"in":"query","name":"failed","required":false,"schema":{"default":false,"title":"Failed","type":"boolean"}},{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"title":"Offset","type":"integer"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mail Api V1 Admin Mail Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail","tags":["admin"]}},"/api/v1/admin/mail/test":{"post":{"description":"Send a test message to ``to`` to prove the SMTP settings; without SMTP the message only lands in the\noutbox (``delivered`` false).","operationId":"mail_test_api_v1_admin_mail_test_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMailTestIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mail Test Api V1 Admin Mail Test Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Test","tags":["admin"]}},"/api/v1/admin/mail/{message_id}":{"delete":{"description":"Remove a message from the outbox (its link keeps working until the token expires).","operationId":"mail_delete_api_v1_admin_mail__message_id__delete","parameters":[{"in":"path","name":"message_id","required":true,"schema":{"title":"Message Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mail Delete Api V1 Admin Mail  Message Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Delete","tags":["admin"]},"get":{"operationId":"mail_message_api_v1_admin_mail__message_id__get","parameters":[{"in":"path","name":"message_id","required":true,"schema":{"title":"Message Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mail Message Api V1 Admin Mail  Message Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Message","tags":["admin"]}},"/api/v1/admin/mail/{message_id}/resend":{"post":{"description":"Deliver a stored message again (after an SMTP outage, or a message that was never sent).\n409 when no SMTP server is configured - hand the link over from the message body instead.","operationId":"mail_resend_api_v1_admin_mail__message_id__resend_post","parameters":[{"in":"path","name":"message_id","required":true,"schema":{"title":"Message Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mail Resend Api V1 Admin Mail  Message Id  Resend Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Resend","tags":["admin"]}},"/api/v1/admin/notifications":{"get":{"description":"Deployment-scope alert episodes (readiness, 5xx, latency, breakers, drift, SLM) for operators.","operationId":"inbox_api_v1_admin_notifications_get","parameters":[{"in":"query","name":"unread","required":false,"schema":{"default":false,"title":"Unread","type":"boolean"}},{"in":"query","name":"state","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Inbox Api V1 Admin Notifications Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Inbox","tags":["admin"]}},"/api/v1/admin/notifications/channels":{"get":{"operationId":"channels_api_v1_admin_notifications_channels_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Channels Api V1 Admin Notifications Channels Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Channels","tags":["admin"]},"post":{"operationId":"create_channel_api_v1_admin_notifications_channels_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Channel Api V1 Admin Notifications Channels Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create Channel","tags":["admin"]}},"/api/v1/admin/notifications/channels/{channel_id}":{"delete":{"operationId":"delete_channel_api_v1_admin_notifications_channels__channel_id__delete","parameters":[{"in":"path","name":"channel_id","required":true,"schema":{"title":"Channel Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Channel Api V1 Admin Notifications Channels  Channel Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Channel","tags":["admin"]},"patch":{"operationId":"patch_channel_api_v1_admin_notifications_channels__channel_id__patch","parameters":[{"in":"path","name":"channel_id","required":true,"schema":{"title":"Channel Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Channel Api V1 Admin Notifications Channels  Channel Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Channel","tags":["admin"]}},"/api/v1/admin/notifications/channels/{channel_id}/test":{"post":{"operationId":"test_channel_api_v1_admin_notifications_channels__channel_id__test_post","parameters":[{"in":"path","name":"channel_id","required":true,"schema":{"title":"Channel Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Test Channel Api V1 Admin Notifications Channels  Channel Id  Test Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Test Channel","tags":["admin"]}},"/api/v1/admin/notifications/deliveries":{"get":{"operationId":"deliveries_api_v1_admin_notifications_deliveries_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Deliveries Api V1 Admin Notifications Deliveries Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Deliveries","tags":["admin"]}},"/api/v1/admin/notifications/evaluate":{"post":{"description":"Run one evaluation round now (every active workspace and the deployment).","operationId":"evaluate_api_v1_admin_notifications_evaluate_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Evaluate Api V1 Admin Notifications Evaluate Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Evaluate","tags":["admin"]}},"/api/v1/admin/notifications/read":{"post":{"operationId":"read_api_v1_admin_notifications_read_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"integer"},"title":"Response Read Api V1 Admin Notifications Read Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Read","tags":["admin"]}},"/api/v1/admin/operators":{"get":{"operationId":"operators_api_v1_admin_operators_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"title":"Response Operators Api V1 Admin Operators Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operators","tags":["admin"]},"post":{"operationId":"create_operator_api_v1_admin_operators_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Operator Api V1 Admin Operators Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create Operator","tags":["admin"]}},"/api/v1/admin/operators/{operator_id}":{"delete":{"operationId":"delete_operator_api_v1_admin_operators__operator_id__delete","parameters":[{"in":"path","name":"operator_id","required":true,"schema":{"title":"Operator Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Operator Api V1 Admin Operators  Operator Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Operator","tags":["admin"]},"patch":{"operationId":"patch_operator_api_v1_admin_operators__operator_id__patch","parameters":[{"in":"path","name":"operator_id","required":true,"schema":{"title":"Operator Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Operator Api V1 Admin Operators  Operator Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Operator","tags":["admin"]}},"/api/v1/admin/operators/{operator_id}/sessions":{"delete":{"description":"Sign an operator out everywhere (or one session with ``session_id``) - a compromised console\naccount is locked out at once, before its password is changed.","operationId":"revoke_operator_sessions_api_v1_admin_operators__operator_id__sessions_delete","parameters":[{"in":"path","name":"operator_id","required":true,"schema":{"title":"Operator Id","type":"string"}},{"in":"query","name":"session_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Revoke Operator Sessions Api V1 Admin Operators  Operator Id  Sessions Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Revoke Operator Sessions","tags":["admin"]},"get":{"description":"Active console sessions of an operator (their own, or any operator for a superadmin).","operationId":"operator_sessions_of_api_v1_admin_operators__operator_id__sessions_get","parameters":[{"in":"path","name":"operator_id","required":true,"schema":{"title":"Operator Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Sessions Of Api V1 Admin Operators  Operator Id  Sessions Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Sessions Of","tags":["admin"]}},"/api/v1/admin/overview":{"get":{"description":"Deployment-wide counters: users, workspaces, keys, tenants, traffic and cost of the last seven days.","operationId":"overview_api_v1_admin_overview_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Overview Api V1 Admin Overview Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Overview","tags":["admin"]}},"/api/v1/admin/plans":{"get":{"operationId":"plans_api_v1_admin_plans_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"title":"Response Plans Api V1 Admin Plans Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Plans","tags":["admin"]}},"/api/v1/admin/pql":{"get":{"description":"Product-qualified leads: usage signals per account, highest score first (GO_TO_MARKET §2.3).","operationId":"pql_api_v1_admin_pql_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"query","name":"qualified_only","required":false,"schema":{"default":false,"title":"Qualified Only","type":"boolean"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"title":"Response Pql Api V1 Admin Pql Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Pql","tags":["admin"]}},"/api/v1/admin/providers":{"get":{"description":"Every provider (keys masked), its target mappings and the file configuration the deployment mounted.","operationId":"list_providers_api_v1_admin_providers_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Providers Api V1 Admin Providers Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Providers","tags":["providers"]},"post":{"description":"Add an OpenAI-compatible endpoint. Store the key inline or name the environment variable that holds it.","operationId":"create_provider_api_v1_admin_providers_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Provider Api V1 Admin Providers Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create Provider","tags":["providers"]}},"/api/v1/admin/providers/models/{target_id}":{"delete":{"operationId":"unmap_target_api_v1_admin_providers_models__target_id__delete","parameters":[{"in":"path","name":"target_id","required":true,"schema":{"title":"Target Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Unmap Target","tags":["providers"]},"put":{"description":"Execute ``target_id`` on ``provider_id`` as ``model`` (optional system prompt and request defaults).","operationId":"map_target_api_v1_admin_providers_models__target_id__put","parameters":[{"in":"path","name":"target_id","required":true,"schema":{"title":"Target Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MappingIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Map Target Api V1 Admin Providers Models  Target Id  Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Map Target","tags":["providers"]}},"/api/v1/admin/providers/{provider_id}":{"delete":{"operationId":"delete_provider_api_v1_admin_providers__provider_id__delete","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Provider","tags":["providers"]},"get":{"operationId":"get_provider_api_v1_admin_providers__provider_id__get","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Provider Api V1 Admin Providers  Provider Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Provider","tags":["providers"]},"patch":{"operationId":"patch_provider_api_v1_admin_providers__provider_id__patch","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Provider Api V1 Admin Providers  Provider Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Provider","tags":["providers"]}},"/api/v1/admin/providers/{provider_id}/check":{"post":{"description":"Call the endpoint's ``/models`` with its credentials; records health, latency and the upstream model ids.","operationId":"check_provider_api_v1_admin_providers__provider_id__check_post","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Check Provider Api V1 Admin Providers  Provider Id  Check Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Check Provider","tags":["providers"]}},"/api/v1/admin/registry":{"get":{"operationId":"queue_api_v1_admin_registry_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"default":"review","title":"Status","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Queue Api V1 Admin Registry Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Queue","tags":["marketplace"]}},"/api/v1/admin/registry/import":{"get":{"description":"Published listings per source (``platform`` = published through the API, others = harvested) and the\nstate of the scheduled refresh (``null`` when ``OSR_PLATFORM_MARKETPLACE_REFRESH_S`` is 0).","operationId":"import_status_api_v1_admin_registry_import_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Import Status Api V1 Admin Registry Import Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Import Status","tags":["marketplace"]},"post":{"description":"Publish up to ``MAX_IMPORT_BATCH`` harvested rows in one transaction; existing slugs are skipped\nunless ``refresh``. Rows come from ``platform/api/scripts/harvest_skills.py``.","operationId":"import_listings_api_v1_admin_registry_import_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Import Listings Api V1 Admin Registry Import Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Import Listings","tags":["marketplace"]}},"/api/v1/admin/registry/import/check":{"post":{"description":"Return the subset of ``slugs`` that already exist (up to 2000 per request).","operationId":"import_check_api_v1_admin_registry_import_check_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportCheckIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Import Check Api V1 Admin Registry Import Check Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Import Check","tags":["marketplace"]}},"/api/v1/admin/registry/import/refresh":{"post":{"description":"Run the scheduled harvest + publish now (in the background). 409 while a run is in progress,\n404 when the refresh is not enabled on this deployment.","operationId":"import_refresh_api_v1_admin_registry_import_refresh_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Import Refresh Api V1 Admin Registry Import Refresh Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Import Refresh","tags":["marketplace"]}},"/api/v1/admin/registry/{slug}/approve":{"post":{"operationId":"approve_api_v1_admin_registry__slug__approve_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ModerationIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Approve Api V1 Admin Registry  Slug  Approve Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Approve","tags":["marketplace"]}},"/api/v1/admin/registry/{slug}/flags":{"post":{"operationId":"flags_api_v1_admin_registry__slug__flags_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Flags Api V1 Admin Registry  Slug  Flags Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Flags","tags":["marketplace"]}},"/api/v1/admin/registry/{slug}/reject":{"post":{"operationId":"reject_api_v1_admin_registry__slug__reject_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reject Api V1 Admin Registry  Slug  Reject Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reject","tags":["marketplace"]}},"/api/v1/admin/registry/{slug}/unpublish":{"post":{"operationId":"unpublish_api_v1_admin_registry__slug__unpublish_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Unpublish Api V1 Admin Registry  Slug  Unpublish Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Unpublish","tags":["marketplace"]}},"/api/v1/admin/retention":{"get":{"description":"What the retention sweep keeps: request rows, persisted telemetry, audit log and outbox sizes.","operationId":"retention_api_v1_admin_retention_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Retention Api V1 Admin Retention Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Retention","tags":["admin"]}},"/api/v1/admin/retention/purge":{"post":{"description":"Run the retention sweep now (usage rows and persisted telemetry older than their retention).","operationId":"retention_purge_api_v1_admin_retention_purge_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Retention Purge Api V1 Admin Retention Purge Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Retention Purge","tags":["admin"]}},"/api/v1/admin/services":{"get":{"description":"Where every domain runs (in this process or as its own service) with a live health probe of each\nremote service: ``docs``, ``rankings``, ``marketplace``, ``providers``, ``onboarding``, ``slm``.","operationId":"services_api_v1_admin_services_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Services Api V1 Admin Services Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Services","tags":["admin"]}},"/api/v1/admin/settings":{"get":{"description":"The deployment's effective configuration, grouped, with secrets masked and the variable that sets each.","operationId":"settings_api_v1_admin_settings_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Settings Api V1 Admin Settings Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Settings","tags":["admin"]}},"/api/v1/admin/slm":{"get":{"description":"The routing SLM service: model in service, evidence ingested, cycles; plus what this replica serves.","operationId":"slm_status_api_v1_admin_slm_get","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Slm Status Api V1 Admin Slm Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Slm Status","tags":["admin"]}},"/api/v1/admin/slm/cycle":{"post":{"description":"Run one improvement cycle on the SLM service now (champion vs challenger; promoted only if it wins).","operationId":"slm_cycle_api_v1_admin_slm_cycle_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Slm Cycle Api V1 Admin Slm Cycle Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Slm Cycle","tags":["admin"]}},"/api/v1/admin/slm/predict":{"post":{"description":"Ask the SLM service to rank the catalogue for a prompt (operators probing the model).","operationId":"slm_predict_api_v1_admin_slm_predict_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Slm Predict Api V1 Admin Slm Predict Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Slm Predict","tags":["admin"]}},"/api/v1/admin/slm/reports":{"get":{"operationId":"slm_reports_api_v1_admin_slm_reports_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":20,"title":"Limit","type":"integer"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Slm Reports Api V1 Admin Slm Reports Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Slm Reports","tags":["admin"]}},"/api/v1/admin/tenants":{"get":{"description":"Every tenant across workspaces (enterprise feature; empty on community deployments).","operationId":"tenants_api_v1_admin_tenants_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"limit","required":false,"schema":{"default":200,"title":"Limit","type":"integer"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Tenants Api V1 Admin Tenants Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Tenants","tags":["admin"]}},"/api/v1/admin/users":{"get":{"description":"The user directory. Filters: ``q`` (email / name), ``disabled``, ``verified`` (email confirmed),\n``method`` (``password`` or ``sso``); ``sort`` by created_at, last_login_at, email or name; ``order``\nasc / desc. ``format=csv`` downloads every match as CSV.","operationId":"users_api_v1_admin_users_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"title":"Offset","type":"integer"}},{"in":"query","name":"disabled","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disabled"}},{"in":"query","name":"verified","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verified"}},{"in":"query","name":"method","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Method"}},{"in":"query","name":"sort","required":false,"schema":{"default":"created_at","title":"Sort","type":"string"}},{"in":"query","name":"order","required":false,"schema":{"default":"desc","title":"Order","type":"string"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","title":"Format","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Users Api V1 Admin Users Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Users","tags":["admin"]},"post":{"description":"Create a user with a personal workspace and first API key (shown once), optionally with a password.","operationId":"create_user_api_v1_admin_users_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create User Api V1 Admin Users Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create User","tags":["admin"]}},"/api/v1/admin/users/bulk":{"post":{"description":"Apply one action to many users: disable, enable, verify (mark the email confirmed), revoke_sessions,\nreset_link (email a password reset) or delete. Each user is reported as done or failed.","operationId":"users_bulk_api_v1_admin_users_bulk_post","parameters":[{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserBulkIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Users Bulk Api V1 Admin Users Bulk Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Users Bulk","tags":["admin"]}},"/api/v1/admin/users/{user_id}":{"delete":{"description":"Delete the user; workspaces where they were the only member are disabled and their keys revoked.","operationId":"delete_user_api_v1_admin_users__user_id__delete","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete User Api V1 Admin Users  User Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete User","tags":["admin"]},"get":{"operationId":"get_user_api_v1_admin_users__user_id__get","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get User Api V1 Admin Users  User Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get User","tags":["admin"]},"patch":{"operationId":"patch_user_api_v1_admin_users__user_id__patch","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch User Api V1 Admin Users  User Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch User","tags":["admin"]}},"/api/v1/admin/users/{user_id}/audit":{"get":{"operationId":"user_audit_api_v1_admin_users__user_id__audit_get","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response User Audit Api V1 Admin Users  User Id  Audit Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"User Audit","tags":["admin"]}},"/api/v1/admin/users/{user_id}/reset-link":{"post":{"description":"Issue a one-hour password-reset link for the user; it is emailed and also returned so support can\nhand it over when no mail server is configured.","operationId":"reset_link_api_v1_admin_users__user_id__reset_link_post","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reset Link Api V1 Admin Users  User Id  Reset Link Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reset Link","tags":["admin"]}},"/api/v1/admin/users/{user_id}/sessions":{"delete":{"operationId":"revoke_user_sessions_api_v1_admin_users__user_id__sessions_delete","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Revoke User Sessions Api V1 Admin Users  User Id  Sessions Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Revoke User Sessions","tags":["admin"]}},"/api/v1/admin/users/{user_id}/verify-link":{"post":{"description":"Re-send the address confirmation to the user.","operationId":"verify_link_api_v1_admin_users__user_id__verify_link_post","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-admin-token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Token"}},{"in":"header","name":"authorization","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Verify Link Api V1 Admin Users  User Id  Verify Link Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Verify Link","tags":["admin"]}},"/api/v1/alerts":{"get":{"description":"Active conditions, most severe first: budgets nearly spent or exhausted and failing requests for the\nworkspace; on plans with ``stats`` also the deployment's readiness, 5xx rate, latency SLO, open circuit\nbreakers, routing drift, autopilot errors, a stale routing SLM and tracing being off. Each alert names the\ndashboard page that shows or fixes it. Evaluated on request from the platform's own state.","operationId":"alerts_api_v1_alerts_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Alerts Api V1 Alerts Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Alerts","tags":["account"]}},"/api/v1/audit":{"get":{"operationId":"audit_api_v1_audit_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Audit Api V1 Audit Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Audit","tags":["routing"]}},"/api/v1/auth/device/approve":{"post":{"description":"Approve a CLI sign-in for the caller's current workspace (admin role; counts against the plan's keys).","operationId":"device_approve_api_v1_auth_device_approve_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDecisionIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Device Approve Api V1 Auth Device Approve Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Device Approve","tags":["auth"]}},"/api/v1/auth/device/code":{"post":{"description":"Start a CLI sign-in: returns a secret ``device_code`` for polling and a short ``user_code`` to approve.\n\nThe CLI opens ``verification_uri_complete`` in a browser; the signed-in person approves the code\nthere and the CLI receives a workspace API key from ``/device/token``. Anonymous; limited per client.","operationId":"device_code_api_v1_auth_device_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceCodeIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Device Code Api V1 Auth Device Code Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Device Code","tags":["auth"]}},"/api/v1/auth/device/deny":{"post":{"description":"Refuse a CLI sign-in; the polling CLI receives ``access_denied``.","operationId":"device_deny_api_v1_auth_device_deny_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDecisionIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Device Deny Api V1 Auth Device Deny Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Device Deny","tags":["auth"]}},"/api/v1/auth/device/token":{"post":{"description":"Poll for the outcome of a CLI sign-in (RFC 8628 section 3.4/3.5).\n\n``200`` with ``access_token`` (a new workspace API key, shown once) once approved; otherwise ``400``\nwith ``error`` = ``authorization_pending``, ``slow_down`` (poll less often), ``access_denied`` or\n``expired_token``. Each device code can be exchanged once.","operationId":"device_token_api_v1_auth_device_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTokenIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Device Token Api V1 Auth Device Token Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Device Token","tags":["auth"]}},"/api/v1/auth/device/{user_code}":{"get":{"description":"What the browser shows before approving: the client name, when the code expires and its status.","operationId":"device_info_api_v1_auth_device__user_code__get","parameters":[{"in":"path","name":"user_code","required":true,"schema":{"title":"User Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Device Info Api V1 Auth Device  User Code  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Device Info","tags":["auth"]}},"/api/v1/auth/discover":{"get":{"description":"Sign-in options for an email: the shared providers plus the organization's own IdP, if any.\n\nNever reveals whether the address has an account.","operationId":"discover_api_v1_auth_discover_get","parameters":[{"in":"query","name":"email","required":true,"schema":{"title":"Email","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Discover Api V1 Auth Discover Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Discover","tags":["auth"]}},"/api/v1/auth/identities":{"get":{"operationId":"identities_api_v1_auth_identities_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"title":"Response Identities Api V1 Auth Identities Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Identities","tags":["auth"]}},"/api/v1/auth/identities/{provider}":{"delete":{"operationId":"unlink_api_v1_auth_identities__provider__delete","parameters":[{"in":"path","name":"provider","required":true,"schema":{"title":"Provider","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Unlink Api V1 Auth Identities  Provider  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Unlink","tags":["auth"]}},"/api/v1/auth/invites/{token}":{"get":{"operationId":"invite_info_api_v1_auth_invites__token__get","parameters":[{"in":"path","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Invite Info Api V1 Auth Invites  Token  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Invite Info","tags":["auth"]}},"/api/v1/auth/invites/{token}/accept":{"post":{"operationId":"invite_accept_api_v1_auth_invites__token__accept_post","parameters":[{"in":"path","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Invite Accept Api V1 Auth Invites  Token  Accept Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Invite Accept","tags":["auth"]}},"/api/v1/auth/logout":{"post":{"operationId":"logout_api_v1_auth_logout_post","parameters":[{"in":"query","name":"everywhere","required":false,"schema":{"default":false,"title":"Everywhere","type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Logout Api V1 Auth Logout Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Logout","tags":["auth"]}},"/api/v1/auth/password":{"delete":{"description":"Remove password sign-in; refused when it is the only way into the account.","operationId":"password_remove_api_v1_auth_password_delete","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Password Remove Api V1 Auth Password Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Password Remove","tags":["auth"]},"post":{"description":"Set or change the signed-in user's password (the current one is required once set).","operationId":"password_set_api_v1_auth_password_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChangeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Password Set Api V1 Auth Password Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Password Set","tags":["auth"]}},"/api/v1/auth/password/forgot":{"post":{"description":"Email a single-use password-reset link. Always ``202`` so the response never reveals whether an\naddress has an account; the link expires after one hour.","operationId":"password_forgot_api_v1_auth_password_forgot_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordIn"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Password Forgot Api V1 Auth Password Forgot Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Password Forgot","tags":["auth"]}},"/api/v1/auth/password/login":{"post":{"description":"Sign in with email and password; returns a browser session like the SSO callback does.","operationId":"password_login_api_v1_auth_password_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordLoginIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Password Login Api V1 Auth Password Login Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Password Login","tags":["auth"]}},"/api/v1/auth/password/reset":{"post":{"description":"Set a new password with the emailed token; proves the inbox, so the address becomes verified.\nEvery existing session of the user is revoked and a fresh one is returned.","operationId":"password_reset_api_v1_auth_password_reset_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Password Reset Api V1 Auth Password Reset Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Password Reset","tags":["auth"]}},"/api/v1/auth/providers":{"get":{"operationId":"providers_api_v1_auth_providers_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Providers Api V1 Auth Providers Get","type":"object"}}},"description":"Successful Response"}},"summary":"Providers","tags":["auth"]}},"/api/v1/auth/sessions":{"get":{"operationId":"sessions_api_v1_auth_sessions_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Sessions Api V1 Auth Sessions Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Sessions","tags":["auth"]}},"/api/v1/auth/sessions/{session_id}":{"delete":{"operationId":"revoke_session_api_v1_auth_sessions__session_id__delete","parameters":[{"in":"path","name":"session_id","required":true,"schema":{"title":"Session Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Revoke Session Api V1 Auth Sessions  Session Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Revoke Session","tags":["auth"]}},"/api/v1/auth/verify":{"post":{"description":"Confirm an email address with the token from the message (works signed out).","operationId":"verify_api_v1_auth_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Verify Api V1 Auth Verify Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Verify","tags":["auth"]}},"/api/v1/auth/verify/send":{"post":{"description":"Re-send the address confirmation email to the signed-in user (at most once a minute).","operationId":"verify_send_api_v1_auth_verify_send_post","parameters":[],"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Verify Send Api V1 Auth Verify Send Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Verify Send","tags":["auth"]}},"/api/v1/auth/{provider}/callback":{"post":{"operationId":"callback_api_v1_auth__provider__callback_post","parameters":[{"in":"path","name":"provider","required":true,"schema":{"title":"Provider","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SsoCallbackIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Callback Api V1 Auth  Provider  Callback Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Callback","tags":["auth"]}},"/api/v1/auth/{provider}/start":{"get":{"operationId":"start_api_v1_auth__provider__start_get","parameters":[{"in":"path","name":"provider","required":true,"schema":{"title":"Provider","type":"string"}},{"in":"query","name":"next","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"title":"Response Start Api V1 Auth  Provider  Start Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Start","tags":["auth"]}},"/api/v1/billing/checkout":{"post":{"operationId":"checkout_api_v1_billing_checkout_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"title":"Body","type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Checkout Api V1 Billing Checkout Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Checkout","tags":["billing"]}},"/api/v1/billing/webhook":{"post":{"operationId":"webhook_api_v1_billing_webhook_post","parameters":[{"in":"header","name":"stripe-signature","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe-Signature"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Webhook Api V1 Billing Webhook Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Webhook","tags":["billing"]}},"/api/v1/catalogue":{"get":{"operationId":"catalogue_api_v1_catalogue_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Catalogue","tags":["public"]}},"/api/v1/docs":{"get":{"operationId":"nav_api_v1_docs_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"title":"Response Nav Api V1 Docs Get","type":"array"}}},"description":"Successful Response"}},"summary":"Nav","tags":["docs"]}},"/api/v1/docs/{slug}":{"get":{"operationId":"page_api_v1_docs__slug__get","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Page Api V1 Docs  Slug  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Page","tags":["docs"]}},"/api/v1/estimate":{"post":{"description":"Quote a request before sending it: tokens, cost per candidate and the recommended pick.\n\nWorks without a key (rate limited per client, no tenant rules) and with one (metered as\n``estimate``, workspace tenants and plan applied). ``monthly_requests`` adds a monthly projection.","operationId":"estimate_public_api_v1_estimate_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstimateIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Estimate Public Api V1 Estimate Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Estimate Public","tags":["public"]}},"/api/v1/events":{"get":{"description":"Recent tracer events of the workspace's requests (``name`` may end with ``*``, e.g. ``route.*``).\n\nOldest first, at most ``limit`` (default 200, max 2000). Deployment-wide events without a\nrequest id (breaker transitions, autopilot) are included on plans with ``stats``. ``since`` /\n``until`` (epoch seconds) select a time range from the platform's persisted telemetry (default the\nlast 6 hours); ``source`` says whether the rows came from the store or the in-memory buffer.","operationId":"events_api_v1_events_get","parameters":[{"in":"query","name":"request_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"}},{"in":"query","name":"name","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"level","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level"}},{"in":"query","name":"limit","required":false,"schema":{"default":200,"title":"Limit","type":"integer"}},{"in":"query","name":"since","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Since"}},{"in":"query","name":"until","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Until"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Events Api V1 Events Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Events","tags":["account"]}},"/api/v1/feedback":{"post":{"operationId":"feedback_api_v1_feedback_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Feedback Api V1 Feedback Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Feedback","tags":["routing"]}},"/api/v1/governance":{"get":{"description":"One view of the AI-governance posture of the workspace on this deployment.\n\nControls in force (input guard, PII redaction, audit chain, metrics, tracing), the workspace\npolicy and tenants with their budgets and spend, the plan's limits and quota, the catalogue's\ndata boundaries and PII-capable targets, and data retention.","operationId":"governance_api_v1_governance_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Governance Api V1 Governance Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Governance","tags":["account"]}},"/api/v1/info":{"get":{"operationId":"info_api_v1_info_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Info","tags":["public"]}},"/api/v1/keys":{"get":{"operationId":"keys_api_v1_keys_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"title":"Response Keys Api V1 Keys Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Keys","tags":["account"]},"post":{"operationId":"create_key_api_v1_keys_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Key Api V1 Keys Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create Key","tags":["account"]}},"/api/v1/keys/{key_id}":{"delete":{"operationId":"revoke_key_api_v1_keys__key_id__delete","parameters":[{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Revoke Key Api V1 Keys  Key Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Revoke Key","tags":["account"]},"patch":{"description":"Rename an active key (the secret does not change).","operationId":"rename_key_api_v1_keys__key_id__patch","parameters":[{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Rename Key Api V1 Keys  Key Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Rename Key","tags":["account"]}},"/api/v1/keys/{key_id}/rotate":{"post":{"description":"Issue a new secret for the key and invalidate the old one immediately; the new value is shown once.\nThe key keeps its id and name, so dashboards and audit rows stay attached to it.","operationId":"rotate_key_api_v1_keys__key_id__rotate_post","parameters":[{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Rotate Key Api V1 Keys  Key Id  Rotate Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Rotate Key","tags":["account"]}},"/api/v1/learning":{"get":{"description":"How the router learns on this deployment: the strategy ensemble and its weights, the learner\nstate (persistence, drift resets, quarantined state), per-target outcome statistics from feedback,\nthe routing SLM in service (rows, sources, encoder, calibration, accuracy history) and the autopilot\n(schedule, drift monitor, last cycle, recent champion-vs-challenger reports).\n\nDeployment-wide aggregates only - no request text, no per-workspace data. Available on every plan.","operationId":"learning_api_v1_learning_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Learning Api V1 Learning Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Learning","tags":["account"]}},"/api/v1/llms":{"get":{"description":"The reference LLM catalogue: real vendors, prices per million tokens, context windows, modalities.\n\nIndependent of what this deployment routes to; ``routed_by`` lists the routing targets that\nresolve to each model. Sorted by ``newest`` (default), ``name``, ``price``, ``price-desc``,\n``context`` or ``intelligence``.","operationId":"llms_api_v1_llms_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"default":"","title":"Q","type":"string"}},{"in":"query","name":"vendor","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor"}},{"in":"query","name":"modality","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modality"}},{"in":"query","name":"tools","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tools"}},{"in":"query","name":"reasoning","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reasoning"}},{"in":"query","name":"open_weights","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Open Weights"}},{"in":"query","name":"free","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Free"}},{"in":"query","name":"sort","required":false,"schema":{"default":"newest","title":"Sort","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":500,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Llms","tags":["public"]}},"/api/v1/llms/{vendor}/{model}":{"get":{"description":"One reference model with the routing targets that resolve to it and its vendor siblings.","operationId":"llm_api_v1_llms__vendor___model__get","parameters":[{"in":"path","name":"vendor","required":true,"schema":{"title":"Vendor","type":"string"}},{"in":"path","name":"model","required":true,"schema":{"title":"Model","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Llm","tags":["public"]}},"/api/v1/me":{"get":{"operationId":"me_api_v1_me_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Me Api V1 Me Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Me","tags":["account"]}},"/api/v1/me/audit":{"get":{"description":"The signed-in person's own account history: sign-ins, password and email changes, memberships.","operationId":"my_audit_api_v1_me_audit_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response My Audit Api V1 Me Audit Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"My Audit","tags":["account"]}},"/api/v1/me/delete":{"post":{"description":"Delete the signed-in user: sessions, linked identities and memberships go; workspaces they alone\nowned are disabled with their keys. Organizations with other members need another owner first.\nRequires the password when one is set and the account email typed as confirmation.","operationId":"delete_me_api_v1_me_delete_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Me Api V1 Me Delete Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Me","tags":["account"]}},"/api/v1/me/export":{"get":{"description":"Everything the platform holds about the signed-in person and the current workspace, as one JSON\ndocument (data portability): profile, identities, sessions, memberships, the workspace with its keys\n(prefixes only), tenants, policy, SSO connection, usage summary, request log and reported outcomes for\nthe last ``days`` (max 365), plus the account history. Prompt text is never stored, so none appears.","operationId":"my_export_api_v1_me_export_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":365,"title":"Days","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response My Export Api V1 Me Export Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"My Export","tags":["account"]}},"/api/v1/me/installs":{"get":{"operationId":"my_installs_api_v1_me_installs_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response My Installs Api V1 Me Installs Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"My Installs","tags":["marketplace"]}},"/api/v1/me/listings":{"get":{"operationId":"my_listings_api_v1_me_listings_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response My Listings Api V1 Me Listings Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"My Listings","tags":["marketplace"]}},"/api/v1/models":{"get":{"operationId":"models_api_v1_models_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":7,"title":"Days","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Models","tags":["public"]}},"/api/v1/models/recommended":{"get":{"description":"Recommended models per use case (chat, code, reasoning, summaries, extraction, sensitive data).\n\nEach use case is quoted live against the catalogue: the router's pick, the cheapest capable\ntarget, the best quality and the fastest, with the reasons. Cached for a minute.","operationId":"models_recommended_api_v1_models_recommended_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Models Recommended","tags":["public"]}},"/api/v1/models/{model_id}":{"get":{"operationId":"model_api_v1_models__model_id__get","parameters":[{"in":"path","name":"model_id","required":true,"schema":{"title":"Model Id","type":"string"}},{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Model","tags":["public"]}},"/api/v1/notifications":{"get":{"description":"Alert episodes of the workspace, newest first, with the unread counts the dashboard bell shows.","operationId":"inbox_api_v1_notifications_get","parameters":[{"in":"query","name":"unread","required":false,"schema":{"default":false,"title":"Unread","type":"boolean"}},{"in":"query","name":"state","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Inbox Api V1 Notifications Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Inbox","tags":["account"]}},"/api/v1/notifications/channels":{"get":{"operationId":"channels_api_v1_notifications_channels_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Channels Api V1 Notifications Channels Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Channels","tags":["account"]},"post":{"description":"Add an email, webhook, Slack or Teams channel; webhooks may carry a secret for ``X-OSR-Signature``.","operationId":"create_channel_api_v1_notifications_channels_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Channel Api V1 Notifications Channels Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create Channel","tags":["account"]}},"/api/v1/notifications/channels/{channel_id}":{"delete":{"operationId":"delete_channel_api_v1_notifications_channels__channel_id__delete","parameters":[{"in":"path","name":"channel_id","required":true,"schema":{"title":"Channel Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Channel Api V1 Notifications Channels  Channel Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Channel","tags":["account"]},"patch":{"operationId":"patch_channel_api_v1_notifications_channels__channel_id__patch","parameters":[{"in":"path","name":"channel_id","required":true,"schema":{"title":"Channel Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Channel Api V1 Notifications Channels  Channel Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Patch Channel","tags":["account"]}},"/api/v1/notifications/channels/{channel_id}/test":{"post":{"description":"Send a test notification through the channel and report the result.","operationId":"test_channel_api_v1_notifications_channels__channel_id__test_post","parameters":[{"in":"path","name":"channel_id","required":true,"schema":{"title":"Channel Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Test Channel Api V1 Notifications Channels  Channel Id  Test Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Test Channel","tags":["account"]}},"/api/v1/notifications/deliveries":{"get":{"operationId":"deliveries_api_v1_notifications_deliveries_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Deliveries Api V1 Notifications Deliveries Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Deliveries","tags":["account"]}},"/api/v1/notifications/read":{"post":{"description":"Mark the given notifications (or all) as read for the workspace.","operationId":"read_api_v1_notifications_read_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"integer"},"title":"Response Read Api V1 Notifications Read Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Read","tags":["account"]}},"/api/v1/notifications/unread":{"get":{"operationId":"unread_api_v1_notifications_unread_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"integer"},"title":"Response Unread Api V1 Notifications Unread Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Unread","tags":["account"]}},"/api/v1/onboarding":{"get":{"description":"Getting-started checklist of the calling workspace: what is done, what to do next, with the links.\n\nSteps: verify the e-mail address, create an API key, route a first request, report a first outcome,\nconnect a model provider (executable targets), invite a teammate (organizations). ``complete`` is\nthe share of steps done; the dashboard shows the list until every step is done.","operationId":"onboarding_api_v1_onboarding_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Onboarding Api V1 Onboarding Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Onboarding","tags":["account"]}},"/api/v1/policy":{"delete":{"operationId":"delete_policy_api_v1_policy_delete","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Policy Api V1 Policy Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Policy","tags":["account"]},"get":{"description":"The workspace-wide routing policy: constraints and budgets applied to every request.","operationId":"policy_api_v1_policy_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Policy Api V1 Policy Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Policy","tags":["account"]},"put":{"description":"Replace the workspace policy (admin role). Target ids are checked against the catalogue.","operationId":"set_policy_api_v1_policy_put","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Policy Api V1 Policy Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Set Policy","tags":["account"]}},"/api/v1/providers":{"get":{"description":"Which providers this deployment executes on, the model behind every executable target, prices, health.\n\nNo credentials are exposed; ``providers[].host`` is the endpoint host only. Prices are USD per million\ntokens from the reference catalogue when the upstream model is recognised, else the target's declared\ncost. ``kinds`` lists the presets the console offers.","operationId":"public_catalogue_api_v1_providers_get","responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Public Catalogue Api V1 Providers Get"}}},"description":"Successful Response"}},"summary":"Public Catalogue","tags":["providers"]}},"/api/v1/rankings":{"get":{"operationId":"rankings_api_v1_rankings_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":7,"title":"Days","type":"integer"}},{"in":"query","name":"domain","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Rankings","tags":["public"]}},"/api/v1/registry":{"get":{"operationId":"search_api_v1_registry_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"default":"","title":"Q","type":"string"}},{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"tag","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"}},{"in":"query","name":"price","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price"}},{"in":"query","name":"featured","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Featured"}},{"in":"query","name":"sort","required":false,"schema":{"default":"popular","title":"Sort","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":24,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"title":"Offset","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Search Api V1 Registry Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Search","tags":["marketplace"]},"post":{"operationId":"create_api_v1_registry_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Api V1 Registry Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create","tags":["marketplace"]}},"/api/v1/registry/kinds":{"get":{"operationId":"kinds_api_v1_registry_kinds_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Kinds Api V1 Registry Kinds Get","type":"object"}}},"description":"Successful Response"}},"summary":"Kinds","tags":["marketplace"]}},"/api/v1/registry/{slug}":{"get":{"operationId":"get_listing_api_v1_registry__slug__get","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Listing Api V1 Registry  Slug  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get Listing","tags":["marketplace"]},"patch":{"operationId":"patch_api_v1_registry__slug__patch","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Api V1 Registry  Slug  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Patch","tags":["marketplace"]}},"/api/v1/registry/{slug}/archive":{"post":{"operationId":"archive_api_v1_registry__slug__archive_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Archive Api V1 Registry  Slug  Archive Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Archive","tags":["marketplace"]}},"/api/v1/registry/{slug}/install":{"post":{"operationId":"install_api_v1_registry__slug__install_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Install Api V1 Registry  Slug  Install Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Install","tags":["marketplace"]}},"/api/v1/registry/{slug}/manifest":{"get":{"operationId":"manifest_api_v1_registry__slug__manifest_get","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"query","name":"version","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Manifest Api V1 Registry  Slug  Manifest Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Manifest","tags":["marketplace"]}},"/api/v1/registry/{slug}/reviews":{"delete":{"operationId":"delete_review_api_v1_registry__slug__reviews_delete","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Review","tags":["marketplace"]},"get":{"operationId":"reviews_api_v1_registry__slug__reviews_get","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reviews Api V1 Registry  Slug  Reviews Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reviews","tags":["marketplace"]},"put":{"operationId":"review_api_v1_registry__slug__reviews_put","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Review Api V1 Registry  Slug  Reviews Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Review","tags":["marketplace"]}},"/api/v1/registry/{slug}/submit":{"post":{"operationId":"submit_api_v1_registry__slug__submit_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Submit Api V1 Registry  Slug  Submit Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Submit","tags":["marketplace"]}},"/api/v1/registry/{slug}/unarchive":{"post":{"operationId":"unarchive_api_v1_registry__slug__unarchive_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Unarchive Api V1 Registry  Slug  Unarchive Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Unarchive","tags":["marketplace"]}},"/api/v1/registry/{slug}/versions":{"post":{"operationId":"add_version_api_v1_registry__slug__versions_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Version Api V1 Registry  Slug  Versions Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Add Version","tags":["marketplace"]}},"/api/v1/route":{"post":{"operationId":"route_api_v1_route_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Route Api V1 Route Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Route","tags":["routing"]}},"/api/v1/savings":{"get":{"description":"Baseline-vs-routed cost over the window; ``baseline`` defaults to the priciest model.","operationId":"savings_api_v1_savings_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"query","name":"baseline","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Baseline"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Savings Api V1 Savings Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Savings","tags":["account"]}},"/api/v1/signals":{"get":{"description":"The account's own product-usage signals (the same facts sales sees in ``/admin/pql``).","operationId":"signals_api_v1_signals_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Signals Api V1 Signals Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Signals","tags":["account"]}},"/api/v1/signup":{"post":{"operationId":"signup_api_v1_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Signup Api V1 Signup Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Signup","tags":["public"]}},"/api/v1/stats":{"get":{"operationId":"stats_api_v1_stats_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Stats Api V1 Stats Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Stats","tags":["routing"]}},"/api/v1/stats/public":{"get":{"operationId":"stats_public_api_v1_stats_public_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Stats Public","tags":["public"]}},"/api/v1/status":{"get":{"description":"Readiness checks, uptime and the observability controls of this deployment (no key needed).\n\nThe same checks as ``GET /readyz`` with the edition, versions and tracing state added; the\nstatus code is 503 while a check fails so status pages can poll it directly.","operationId":"status_api_v1_status_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Status","tags":["public"]}},"/api/v1/targets":{"get":{"operationId":"targets_api_v1_targets_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"title":"Response Targets Api V1 Targets Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Targets","tags":["routing"]}},"/api/v1/telemetry/series":{"get":{"description":"The workspace's traffic as a time series: requests, failures, p50 / p95 latency, cost and tokens per\nbucket over ``window`` (``1h``, ``6h``, ``24h``, ``7d``, ``30d``), with totals per target and endpoint.\nPlans with ``stats`` also get ``http``: the deployment's requests, 5xx and latency percentiles per bucket.\nComputed from the platform's own records - no external metrics system.","operationId":"telemetry_series_api_v1_telemetry_series_get","parameters":[{"in":"query","name":"window","required":false,"schema":{"default":"24h","title":"Window","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Telemetry Series Api V1 Telemetry Series Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Telemetry Series","tags":["account"]}},"/api/v1/tenants":{"get":{"operationId":"tenants_api_v1_tenants_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"title":"Response Tenants Api V1 Tenants Get","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Tenants","tags":["account"]},"put":{"operationId":"upsert_tenant_api_v1_tenants_put","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Upsert Tenant Api V1 Tenants Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Upsert Tenant","tags":["account"]}},"/api/v1/tenants/{slug}":{"delete":{"operationId":"delete_tenant_api_v1_tenants__slug__delete","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Tenant Api V1 Tenants  Slug  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Tenant","tags":["account"]}},"/api/v1/trace/{request_id}":{"get":{"description":"Every span and event the router recorded for one of the workspace's requests, in time order.\n\nSpans (``kind: \"span\"``) carry ``duration_ms`` and ``status``; events carry the stage's facts\n(signals, policy rejections, ranking, escalation, fallback, guard verdicts, execution steps).\n``outcomes`` lists the feedback reported for the request and ``audit`` its hash-chained records\n(plans with ``audit``). Request text never appears - only its digest. 404 when the request id is\nnot this workspace's.","operationId":"trace_api_v1_trace__request_id__get","parameters":[{"in":"path","name":"request_id","required":true,"schema":{"title":"Request Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Trace Api V1 Trace  Request Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Trace","tags":["account"]}},"/api/v1/usage":{"get":{"operationId":"usage_api_v1_usage_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Usage Api V1 Usage Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Usage","tags":["account"]}},"/api/v1/workspace":{"delete":{"description":"Leave the current organization (owners must hand over first).","operationId":"leave_workspace_api_v1_workspace_delete","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Leave Workspace Api V1 Workspace Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Leave Workspace","tags":["workspaces"]},"patch":{"operationId":"patch_workspace_api_v1_workspace_patch","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspacePatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Workspace Api V1 Workspace Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Patch Workspace","tags":["workspaces"]}},"/api/v1/workspace/audit":{"get":{"description":"Account-lifecycle events of this workspace (sign-ins, invitations, roles, removals). Admins only.","operationId":"workspace_audit_api_v1_workspace_audit_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"query","name":"action","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Workspace Audit Api V1 Workspace Audit Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Workspace Audit","tags":["workspaces"]}},"/api/v1/workspace/invites":{"post":{"operationId":"invite_api_v1_workspace_invites_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Invite Api V1 Workspace Invites Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Invite","tags":["workspaces"]}},"/api/v1/workspace/invites/{invite_id}":{"delete":{"operationId":"revoke_invite_api_v1_workspace_invites__invite_id__delete","parameters":[{"in":"path","name":"invite_id","required":true,"schema":{"title":"Invite Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Revoke Invite Api V1 Workspace Invites  Invite Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Revoke Invite","tags":["workspaces"]}},"/api/v1/workspace/members":{"get":{"operationId":"members_api_v1_workspace_members_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Members Api V1 Workspace Members Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Members","tags":["workspaces"]}},"/api/v1/workspace/members/{user_id}":{"delete":{"operationId":"remove_member_api_v1_workspace_members__user_id__delete","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Remove Member Api V1 Workspace Members  User Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Remove Member","tags":["workspaces"]},"patch":{"operationId":"set_role_api_v1_workspace_members__user_id__patch","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Role Api V1 Workspace Members  User Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Set Role","tags":["workspaces"]}},"/api/v1/workspace/sso":{"delete":{"operationId":"sso_delete_api_v1_workspace_sso_delete","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Sso Delete Api V1 Workspace Sso Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Sso Delete","tags":["workspaces"]},"get":{"operationId":"sso_get_api_v1_workspace_sso_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Sso Get Api V1 Workspace Sso Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Sso Get","tags":["workspaces"]},"put":{"operationId":"sso_put_api_v1_workspace_sso_put","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SsoConnectionIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Sso Put Api V1 Workspace Sso Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Sso Put","tags":["workspaces"]}},"/api/v1/workspaces":{"get":{"operationId":"workspaces_api_v1_workspaces_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Workspaces Api V1 Workspaces Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Workspaces","tags":["workspaces"]},"post":{"operationId":"create_workspace_api_v1_workspaces_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Workspace Api V1 Workspaces Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create Workspace","tags":["workspaces"]}},"/api/v1/workspaces/{account_id}/switch":{"post":{"operationId":"switch_workspace_api_v1_workspaces__account_id__switch_post","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Switch Workspace Api V1 Workspaces  Account Id  Switch Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Switch Workspace","tags":["workspaces"]}},"/mcp":{"get":{"description":"What the MCP server offers and how to connect (no key needed to read this).","operationId":"mcp_info_mcp_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Info Mcp Get","type":"object"}}},"description":"Successful Response"}},"summary":"Mcp Info","tags":["mcp"]},"post":{"description":"JSON-RPC 2.0 messages (single or batch) per the MCP specification.\n\nTools: ``route``, ``estimate``, ``recommend``, ``explain``, ``list_targets``, ``feedback``,\n``ask`` (plans tier) and ``marketplace_search`` / ``marketplace_get``. Every routed call is\nmetered against the workspace like ``/api/v1/route``; notifications return ``202``.","operationId":"mcp_endpoint_mcp_post","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Endpoint","tags":["mcp"]}},"/v1/chat/completions":{"post":{"operationId":"chat_v1_chat_completions_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Chat V1 Chat Completions Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Chat","tags":["openai"]}},"/v1/models":{"get":{"operationId":"models_v1_models_get","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Models V1 Models Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Models","tags":["openai"]}}},"servers":[{"url":"https://opensmartroute.ai","description":"This deployment"}],"tags":[{"description":"Route a request to a target and return the decision with its trace; optionally build a plan or execute it. Report outcomes for the learners and read statistics and the audit trail.","name":"routing"},{"description":"OpenAI-compatible chat completions and model listing. Point an OpenAI SDK at the platform base URL and use `model: \"auto\"`; the router chooses the model per request.","name":"openai"},{"description":"No API key required: deployment information, the model catalogue with live statistics, rankings and self-serve signup.","name":"public"},{"description":"The calling workspace: profile, usage, savings, activity log, API keys and tenants.","name":"account"},{"description":"Organization workspaces: members, roles, invitations and organization SSO (browser sessions only).","name":"workspaces"},{"description":"Sign-in with GitHub, Google or an organization identity provider; browser sessions; and CLI sign-in with device codes (`osr login`): the CLI requests a code, the person approves it in the browser, the CLI receives a workspace API key.","name":"auth"},{"description":"Plan upgrades through Stripe Checkout and the webhook that confirms them.","name":"billing"},{"description":"Model Context Protocol server for IDEs and agents (VS Code, Cursor, Claude, Windsurf): `POST /mcp` speaks JSON-RPC with tools to route, quote, recommend, explain and ask; `GET /mcp` describes it. Authenticate like the REST API.","name":"mcp"},{"description":"Browse, publish, install and rate agents, skills, personas, prompts, templates and tools. Each listing has a validated manifest the router can load; `GET /registry/{slug}/manifest` is what `registry://` references resolve to.","name":"marketplace"},{"description":"Model providers: `GET /providers` is the public, OpenRouter-style view of what this deployment executes on (provider, upstream model, prices, health per executable target - never credentials); the `/admin/providers` endpoints add, check and map OpenAI-compatible endpoints at run time, and every API replica picks the change up without a restart.","name":"providers"},{"description":"Operator console: sign in with an operator username and password (`POST /admin/auth/login`, then `Authorization: Bearer osr_op_...`) or use the static `X-Admin-Token`; manage users, workspaces, members, keys, tenants, plans and operators.","name":"admin"},{"description":"Rendered documentation for programmatic consumers.","name":"docs"}]}