{"components":{"schemas":{"AccountPatch":{"properties":{"disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disabled"},"limits":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Limits"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"title":"AccountPatch","type":"object"},"AdjustmentIn":{"properties":{"amount_cents":{"title":"Amount Cents","type":"integer"},"kind":{"default":"adjustment","title":"Kind","type":"string"},"reason":{"maxLength":500,"minLength":1,"title":"Reason","type":"string"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"}},"required":["amount_cents","reason"],"title":"AdjustmentIn","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"},"AdminSuppressIn":{"description":"``POST /api/v1/admin/mail/suppressions``: stop mailing an address.","properties":{"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"email":{"title":"Email","type":"string"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"required":["email"],"title":"AdminSuppressIn","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"},"mfa_reset":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mfa Reset"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"title":"AdminUserPatch","type":"object"},"AnnouncementIn":{"description":"``POST /api/v1/admin/announcements``.","properties":{"audience":{"$ref":"#/components/schemas/AudienceIn"},"body":{"default":"","maxLength":2000,"title":"Body","type":"string"},"dismissible":{"default":true,"title":"Dismissible","type":"boolean"},"ends_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ends At"},"link_label":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"title":"Link Label"},"link_url":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"title":"Link Url"},"notify":{"default":false,"title":"Notify","type":"boolean"},"severity":{"default":"info","title":"Severity","type":"string"},"starts_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Starts At"},"title":{"maxLength":160,"minLength":1,"title":"Title","type":"string"}},"required":["title"],"title":"AnnouncementIn","type":"object"},"AnnouncementPatch":{"properties":{"audience":{"anyOf":[{"$ref":"#/components/schemas/AudienceIn"},{"type":"null"}]},"body":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"title":"Body"},"clear_ends_at":{"default":false,"title":"Clear Ends At","type":"boolean"},"disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disabled"},"dismissible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dismissible"},"ends_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ends At"},"link_label":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"title":"Link Label"},"link_url":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"title":"Link Url"},"severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"},"starts_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Starts At"},"title":{"anyOf":[{"maxLength":160,"minLength":1,"type":"string"},{"type":"null"}],"title":"Title"}},"title":"AnnouncementPatch","type":"object"},"AnswerIn":{"properties":{"path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path"},"reason":{"title":"Reason","type":"string"},"stage":{"title":"Stage","type":"string"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"visitor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visitor"}},"required":["stage","reason"],"title":"AnswerIn","type":"object"},"AskIn":{"description":"``POST /api/v1/insights/ask``: a question about this workspace's usage, in plain words.","properties":{"days":{"default":7,"maximum":90,"minimum":1,"title":"Days","type":"integer"},"question":{"maxLength":300,"minLength":2,"title":"Question","type":"string"}},"required":["question"],"title":"AskIn","type":"object"},"AttachmentIn":{"properties":{"data":{"maxLength":3145728,"minLength":8,"title":"Data","type":"string"},"name":{"default":"screenshot","maxLength":120,"title":"Name","type":"string"}},"required":["data"],"title":"AttachmentIn","type":"object"},"AudienceIn":{"description":"Who sees it: nothing set = every workspace.","properties":{"account_ids":{"items":{"type":"string"},"maxItems":500,"title":"Account Ids","type":"array"},"plans":{"items":{"type":"string"},"maxItems":20,"title":"Plans","type":"array"}},"title":"AudienceIn","type":"object"},"AuditRotateBody":{"description":"Why the operator starts a new audit chain; written into its first record.","properties":{"reason":{"title":"Reason","type":"string"}},"required":["reason"],"title":"AuditRotateBody","type":"object"},"AutoTopupIn":{"properties":{"amount_cents":{"minimum":100,"title":"Amount Cents","type":"integer"},"threshold_cents":{"minimum":0,"title":"Threshold Cents","type":"integer"}},"required":["amount_cents","threshold_cents"],"title":"AutoTopupIn","type":"object"},"BackfillImagesIn":{"properties":{"limit":{"default":40,"title":"Limit","type":"integer"}},"title":"BackfillImagesIn","type":"object"},"BillingModeIn":{"properties":{"billing_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Mode"},"reason":{"maxLength":500,"minLength":1,"title":"Reason","type":"string"}},"required":["reason"],"title":"BillingModeIn","type":"object"},"Body_put_override":{"properties":{"alt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt"},"clear":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clear"},"file":{"anyOf":[{"contentMediaType":"application/octet-stream","type":"string"},{"type":"null"}],"title":"File"},"focus":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Focus"},"license":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License"},"page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page"},"photographer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photographer"}},"title":"Body_put_override","type":"object"},"Body_transcriptions_v1_audio_transcriptions_post":{"properties":{"file":{"contentMediaType":"application/octet-stream","title":"File","type":"string"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"model":{"default":"auto","title":"Model","type":"string"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"response_format":{"default":"json","title":"Response Format","type":"string"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"}},"required":["file"],"title":"Body_transcriptions_v1_audio_transcriptions_post","type":"object"},"Body_upload_import_api_v1_usage_imports_upload_post":{"properties":{"file":{"contentMediaType":"application/octet-stream","title":"File","type":"string"},"name":{"default":"","title":"Name","type":"string"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},"required":["file"],"title":"Body_upload_import_api_v1_usage_imports_upload_post","type":"object"},"BulkRevokeIn":{"description":"``POST /api/v1/admin/access/keys/revoke``: which keys, and whether to only count them.","properties":{"account_ids":{"items":{"type":"string"},"maxItems":1000,"title":"Account Ids","type":"array"},"created_before":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Created Before"},"dry_run":{"default":true,"title":"Dry Run","type":"boolean"},"prefixes":{"items":{"type":"string"},"maxItems":1000,"title":"Prefixes","type":"array"},"reason":{"default":"","maxLength":300,"title":"Reason","type":"string"},"unused_since":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Unused Since"}},"title":"BulkRevokeIn","type":"object"},"CampaignIn":{"description":"An operator-composed newsletter: plain text with blank-line paragraphs and ``## `` headings.","properties":{"body":{"title":"Body","type":"string"},"subject":{"title":"Subject","type":"string"}},"required":["subject","body"],"title":"CampaignIn","type":"object"},"CampaignPatch":{"properties":{"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"}},"title":"CampaignPatch","type":"object"},"CampaignPatchIn":{"properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"CampaignPatchIn","type":"object"},"CampaignRunIn":{"properties":{"campaigns":{"items":{"type":"string"},"maxItems":8,"title":"Campaigns","type":"array"}},"title":"CampaignRunIn","type":"object"},"CampaignTestIn":{"properties":{"to":{"title":"To","type":"string"}},"required":["to"],"title":"CampaignTestIn","type":"object"},"CandidateIn":{"additionalProperties":false,"description":"``POST /api/v1/shadow``: the policy to shadow - objective weights and / or constraint overrides.","properties":{"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"max_decisions":{"default":20000,"maximum":20000,"minimum":10,"title":"Max Decisions","type":"integer"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"sample":{"default":1,"exclusiveMinimum":0,"maximum":1,"title":"Sample","type":"number"}},"title":"CandidateIn","type":"object"},"ChannelIn":{"properties":{"events":{"items":{"type":"string"},"title":"Events","type":"array"},"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"},"events":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Events"},"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":{"additionalProperties":true,"description":"``POST /v1/chat/completions``: the OpenAI body; unknown fields are passed through to the provider.","properties":{"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Logprobs"},"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"},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N"},"osr":{"$ref":"#/components/schemas/RoutingOptions"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parallel Tool Calls"},"provider":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Provider"},"response_format":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response Format"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stop"},"stream":{"default":false,"title":"Stream","type":"boolean"},"stream_options":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Stream Options"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"},"tool_choice":{"title":"Tool Choice"},"tools":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tools"},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top Logprobs"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"}},"required":["messages"],"title":"ChatCompletionIn","type":"object"},"ChatIn":{"properties":{"conversation_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"title":"Conversation Id"},"message":{"maxLength":4000,"minLength":1,"title":"Message","type":"string"},"page":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"title":"Page"},"stream":{"default":false,"title":"Stream","type":"boolean"}},"required":["message"],"title":"ChatIn","type":"object"},"ChatMessage":{"additionalProperties":true,"properties":{"content":{"default":"","title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"refusal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refusal"},"role":{"title":"Role","type":"string"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"},"tool_calls":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tool Calls"}},"required":["role"],"title":"ChatMessage","type":"object"},"CheckIn":{"description":"``POST /api/v1/admin/signup-guard/check``: what would happen to this address.","properties":{"email":{"maxLength":254,"minLength":3,"title":"Email","type":"string"},"name":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Name"}},"required":["email"],"title":"CheckIn","type":"object"},"ClientEventIn":{"additionalProperties":false,"description":"One thing a client did. ``extra=\"forbid\"``: there is no field for text and none can be added by a caller.","properties":{"app":{"maxLength":40,"title":"App","type":"string"},"kind":{"maxLength":40,"minLength":3,"title":"Kind","type":"string"},"latency_ms":{"anyOf":[{"maximum":86400000,"minimum":0,"type":"number"},{"type":"null"}],"title":"Latency Ms"},"n":{"default":1,"maximum":1000000,"minimum":0,"title":"N","type":"integer"},"request_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"title":"Request Id"},"saved_usd":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"number"},{"type":"null"}],"title":"Saved Usd"},"site":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Site"},"target_id":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"title":"Target Id"},"task_type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Task Type"},"tier":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Tier"},"tokens":{"anyOf":[{"maximum":100000000,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Tokens"},"ts":{"exclusiveMinimum":0,"title":"Ts","type":"number"},"version":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Version"}},"required":["ts","app","kind"],"title":"ClientEventIn","type":"object"},"ClientEventsIn":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/ClientEventIn"},"maxItems":500,"minItems":1,"title":"Items","type":"array"}},"required":["items"],"title":"ClientEventsIn","type":"object"},"CommentIn":{"properties":{"body":{"maxLength":20000,"minLength":1,"title":"Body","type":"string"}},"required":["body"],"title":"CommentIn","type":"object"},"ContentRefreshIn":{"properties":{"feed_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Feed Ids"}},"title":"ContentRefreshIn","type":"object"},"ContextIn":{"description":"``POST /api/v1/knowledge/context``: preview the context the graph would place for ``text``.","properties":{"budget_tokens":{"anyOf":[{"maximum":4000,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Budget Tokens"},"text":{"maxLength":8000,"minLength":1,"title":"Text","type":"string"}},"required":["text"],"title":"ContextIn","type":"object"},"ConversationPatch":{"properties":{"title":{"maxLength":60,"minLength":1,"title":"Title","type":"string"}},"required":["title"],"title":"ConversationPatch","type":"object"},"ConversationSplitIn":{"description":"``POST /api/v1/conversations/{id}/split``: the first turn (1-based ``seq``) of the new conversation.","properties":{"from_seq":{"minimum":1,"title":"From Seq","type":"integer"}},"required":["from_seq"],"title":"ConversationSplitIn","type":"object"},"CouponCreateIn":{"properties":{"auto_apply":{"default":false,"title":"Auto Apply","type":"boolean"},"code":{"maxLength":32,"minLength":3,"title":"Code","type":"string"},"description":{"default":"","maxLength":200,"title":"Description","type":"string"},"max_redemptions":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"title":"Max Redemptions"},"plans":{"items":{"type":"string"},"title":"Plans","type":"array"},"trial_days":{"maximum":366,"minimum":1,"title":"Trial Days","type":"integer"},"valid_until":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"Valid Until"}},"required":["code","trial_days"],"title":"CouponCreateIn","type":"object"},"CouponPatchIn":{"properties":{"auto_apply":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Apply"},"clear_max_redemptions":{"default":false,"title":"Clear Max Redemptions","type":"boolean"},"clear_valid_until":{"default":false,"title":"Clear Valid Until","type":"boolean"},"description":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Description"},"disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disabled"},"max_redemptions":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"title":"Max Redemptions"},"plans":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Plans"},"trial_days":{"anyOf":[{"maximum":366,"minimum":1,"type":"integer"},{"type":"null"}],"title":"Trial Days"},"valid_until":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"Valid Until"}},"title":"CouponPatchIn","type":"object"},"CouponRedeemIn":{"properties":{"code":{"maxLength":64,"minLength":1,"title":"Code","type":"string"},"plan":{"maxLength":32,"minLength":1,"title":"Plan","type":"string"}},"required":["code","plan"],"title":"CouponRedeemIn","type":"object"},"CouponValidateIn":{"properties":{"code":{"maxLength":64,"minLength":1,"title":"Code","type":"string"},"plan":{"anyOf":[{"maxLength":32,"type":"string"},{"type":"null"}],"title":"Plan"}},"required":["code"],"title":"CouponValidateIn","type":"object"},"CreditsCheckoutIn":{"properties":{"amount_cents":{"minimum":100,"title":"Amount Cents","type":"integer"},"auto_topup":{"anyOf":[{"$ref":"#/components/schemas/AutoTopupIn"},{"type":"null"}]},"save_payment_method":{"default":false,"title":"Save Payment Method","type":"boolean"}},"required":["amount_cents"],"title":"CreditsCheckoutIn","type":"object"},"DatasetIn":{"additionalProperties":false,"description":"Create or extend a dataset from production: named ``request_ids`` (the activity page's *Add to dataset*),\na filter over the kept prompts (``days`` / ``limit`` / ``outcome`` / ``target_id``), explicit ``rows``, or any\nmix. A logged request becomes ``{text, expected, context, task_type}``: the prompt the workspace kept, the\ntarget that answered as the label when the outcome was good (``acceptable`` empty otherwise), the request id\nunder ``context.source``.","properties":{"days":{"anyOf":[{"maximum":90,"minimum":1,"type":"integer"},{"type":"null"}],"title":"Days"},"description":{"default":"","maxLength":500,"title":"Description","type":"string"},"label_from_outcome":{"default":true,"title":"Label From Outcome","type":"boolean"},"limit":{"default":500,"maximum":5000,"minimum":1,"title":"Limit","type":"integer"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"outcome":{"default":"any","title":"Outcome","type":"string"},"request_ids":{"items":{"type":"string"},"maxItems":5000,"title":"Request Ids","type":"array"},"rows":{"items":{"$ref":"#/components/schemas/EvalRowIn"},"maxItems":5000,"title":"Rows","type":"array"},"target_id":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Target Id"}},"title":"DatasetIn","type":"object"},"DecisionIn":{"description":"``POST /api/v1/admin/approvals/{id}/approve|reject``.","properties":{"note":{"default":"","maxLength":500,"title":"Note","type":"string"}},"title":"DecisionIn","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"},"DeletePostsIn":{"properties":{"ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ids"},"older_than_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Older Than Days"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"title":"DeletePostsIn","type":"object"},"DeleteWorkspaceIn":{"description":"``POST /api/v1/workspace/delete``: an owner deletes the current organization (password when one is set).","properties":{"confirm":{"default":"","title":"Confirm","type":"string"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},"title":"DeleteWorkspaceIn","type":"object"},"DestinationIn":{"properties":{"auto_publish":{"default":true,"title":"Auto Publish","type":"boolean"},"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"kind":{"title":"Kind","type":"string"},"name":{"title":"Name","type":"string"},"post_status":{"default":"publish","title":"Post Status","type":"string"},"schedule":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schedule"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template"},"url":{"default":"","title":"Url","type":"string"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}},"required":["kind","name"],"title":"DestinationIn","type":"object"},"DestinationPatch":{"properties":{"auto_publish":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Publish"},"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"post_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Status"},"schedule":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schedule"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}},"title":"DestinationPatch","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"},"DirectoryIn":{"properties":{"category":{"default":"software","title":"Category","type":"string"},"domain":{"default":"","title":"Domain","type":"string"},"listing_url":{"default":"","title":"Listing Url","type":"string"},"method":{"default":"form","title":"Method","type":"string"},"name":{"maxLength":120,"minLength":2,"title":"Name","type":"string"},"notes":{"default":"","title":"Notes","type":"string"},"priority":{"default":0.5,"title":"Priority","type":"number"},"search_url":{"default":"","title":"Search Url","type":"string"},"submit_email":{"default":"","title":"Submit Email","type":"string"},"submit_url":{"default":"","title":"Submit Url","type":"string"}},"required":["name"],"title":"DirectoryIn","type":"object"},"DirectoryPatch":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"},"listing_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Url"},"method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Method"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"priority":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Priority"},"search_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Url"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"submit_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submit Email"},"submit_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submit Url"}},"title":"DirectoryPatch","type":"object"},"EmailChangeIn":{"description":"``POST /api/v1/auth/email``: ask to move the account to a new address (confirmed from that address).","properties":{"current_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Password"},"email":{"title":"Email","type":"string"}},"required":["email"],"title":"EmailChangeIn","type":"object"},"EmailPreferencesIn":{"properties":{"newsletter":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Newsletter"},"preferences":{"additionalProperties":{"type":"boolean"},"title":"Preferences","type":"object"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"title":"EmailPreferencesIn","type":"object"},"EmbeddingsIn":{"additionalProperties":true,"description":"``POST /v1/embeddings``: ``model`` is ``auto`` (an embeddings-capable target is chosen) or a target id.","properties":{"dimensions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dimensions"},"encoding_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encoding Format"},"input":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"title":"Input"},"model":{"default":"auto","title":"Model","type":"string"},"osr":{"$ref":"#/components/schemas/RoutingOptions"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"}},"required":["input"],"title":"EmbeddingsIn","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":true,"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"},"plan_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Mode"},"profile":{"additionalProperties":true,"title":"Profile","type":"object"},"prompt":{"anyOf":[{"$ref":"#/components/schemas/PromptRef"},{"type":"null"}]},"text":{"title":"Text","type":"string"},"top_k":{"default":3,"title":"Top K","type":"integer"}},"required":["text"],"title":"EstimateIn","type":"object"},"EvalRowIn":{"additionalProperties":false,"description":"One prompt of a dataset. ``text`` is required; everything else is how the row is judged.","properties":{"acceptable":{"items":{"type":"string"},"maxItems":50,"title":"Acceptable","type":"array"},"context":{"additionalProperties":true,"title":"Context","type":"object"},"expected":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Expected"},"history":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"maxItems":50,"title":"History","type":"array"},"scores":{"additionalProperties":{"type":"number"},"title":"Scores","type":"object"},"task_type":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"title":"Task Type"},"text":{"maxLength":20000,"minLength":1,"title":"Text","type":"string"}},"required":["text"],"title":"EvalRowIn","type":"object"},"EvaluationIn":{"additionalProperties":false,"properties":{"baselines":{"default":true,"title":"Baselines","type":"boolean"},"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"frontier":{"default":false,"title":"Frontier","type":"boolean"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"rows":{"items":{"$ref":"#/components/schemas/EvalRowIn"},"minItems":1,"title":"Rows","type":"array"},"tenant":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"title":"Tenant"}},"required":["rows"],"title":"EvaluationIn","type":"object"},"EvaluationRunOptions":{"additionalProperties":false,"description":"The run options of :class:`EvaluationIn` without rows - what ``POST /datasets/{id}/run`` takes.","properties":{"baselines":{"default":true,"title":"Baselines","type":"boolean"},"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"frontier":{"default":false,"title":"Frontier","type":"boolean"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"tenant":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"title":"Tenant"}},"title":"EvaluationRunOptions","type":"object"},"FactIn":{"description":"``POST /api/v1/knowledge/facts``: a fact added by hand. ``subject`` defaults to the person; a shared fact\nnames any non-person entity (``target:llm-small``, ``topic:pricing``).","properties":{"confidence":{"default":1,"maximum":1,"minimum":0,"title":"Confidence","type":"number"},"object":{"maxLength":400,"minLength":1,"title":"Object","type":"string"},"predicate":{"maxLength":40,"minLength":2,"title":"Predicate","type":"string"},"subject":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Subject"}},"required":["predicate","object"],"title":"FactIn","type":"object"},"FeedIn":{"properties":{"category":{"default":"ai","title":"Category","type":"string"},"name":{"default":"","title":"Name","type":"string"},"url":{"title":"Url","type":"string"}},"required":["url"],"title":"FeedIn","type":"object"},"FeedPatch":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"title":"FeedPatch","type":"object"},"FeedPreviewIn":{"properties":{"url":{"title":"Url","type":"string"}},"required":["url"],"title":"FeedPreviewIn","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"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"success":{"title":"Success","type":"boolean"},"target_id":{"title":"Target Id","type":"string"}},"required":["request_id","target_id","success"],"title":"FeedbackIn","type":"object"},"FeedbackPatch":{"properties":{"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"},"note":{"anyOf":[{"maxLength":20000,"type":"string"},{"type":"null"}],"title":"Note"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"title":"FeedbackPatch","type":"object"},"ForgetIn":{"properties":{"phrase":{"maxLength":200,"minLength":2,"title":"Phrase","type":"string"}},"required":["phrase"],"title":"ForgetIn","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"},"GateIn":{"additionalProperties":false,"description":"``POST /api/v1/evaluations/gates``: the dataset the router must keep passing and the thresholds.","properties":{"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"max_drop":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"default":0.05,"title":"Max Drop"},"min_accuracy":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"title":"Min Accuracy"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"rows":{"items":{"$ref":"#/components/schemas/EvalRowIn"},"maxItems":500,"minItems":1,"title":"Rows","type":"array"},"tenant":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"title":"Tenant"}},"required":["rows"],"title":"GateIn","type":"object"},"GrowthCampaignPatch":{"properties":{"daily_budget_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Daily Budget Usd"},"landing":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Landing"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"title":"GrowthCampaignPatch","type":"object"},"GrowthCycleIn":{"properties":{"steps":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Steps"}},"title":"GrowthCycleIn","type":"object"},"GrowthIndexNowIn":{"properties":{"urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Urls"}},"title":"GrowthIndexNowIn","type":"object"},"GrowthKeywordIn":{"properties":{"intent":{"default":"informational","title":"Intent","type":"string"},"landing":{"default":"","title":"Landing","type":"string"},"priority":{"default":0.7,"title":"Priority","type":"number"},"term":{"title":"Term","type":"string"}},"required":["term"],"title":"GrowthKeywordIn","type":"object"},"GrowthKeywordPatch":{"properties":{"intent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intent"},"landing":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Landing"},"priority":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Priority"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"title":"GrowthKeywordPatch","type":"object"},"GrowthLinkedInAuthorIn":{"properties":{"author":{"maxLength":200,"minLength":1,"title":"Author","type":"string"}},"required":["author"],"title":"GrowthLinkedInAuthorIn","type":"object"},"GrowthLinkedInConnectIn":{"properties":{"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author"},"pages":{"default":false,"title":"Pages","type":"boolean"}},"title":"GrowthLinkedInConnectIn","type":"object"},"GrowthSocialIn":{"properties":{"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"}},"title":"GrowthSocialIn","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"HandoffResolveIn":{"description":"A person's answer to a queued hand-off; ``quality`` becomes the learning signal (default 1.0).","properties":{"answer":{"maxLength":20000,"minLength":1,"title":"Answer","type":"string"},"quality":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"title":"Quality"}},"required":["answer"],"title":"HandoffResolveIn","type":"object"},"ImagesIn":{"additionalProperties":true,"description":"``POST /v1/images/generations``: ``model`` is ``auto`` (an image target is chosen) or a target id.","properties":{"model":{"default":"auto","title":"Model","type":"string"},"n":{"anyOf":[{"maximum":10,"minimum":1,"type":"integer"},{"type":"null"}],"title":"N"},"osr":{"$ref":"#/components/schemas/RoutingOptions"},"prompt":{"maxLength":32000,"minLength":1,"title":"Prompt","type":"string"},"quality":{"anyOf":[{"maxLength":16,"type":"string"},{"type":"null"}],"title":"Quality"},"response_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Format"},"size":{"anyOf":[{"maxLength":16,"type":"string"},{"type":"null"}],"title":"Size"},"style":{"anyOf":[{"maxLength":16,"type":"string"},{"type":"null"}],"title":"Style"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"}},"required":["prompt"],"title":"ImagesIn","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"},"IncidentIn":{"properties":{"body":{"maxLength":4000,"minLength":1,"title":"Body","type":"string"},"components":{"items":{"type":"string"},"title":"Components","type":"array"},"severity":{"default":"minor","title":"Severity","type":"string"},"status":{"default":"investigating","title":"Status","type":"string"},"title":{"maxLength":200,"minLength":3,"title":"Title","type":"string"}},"required":["title","body"],"title":"IncidentIn","type":"object"},"IncidentPatch":{"properties":{"components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Components"},"severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"},"title":{"anyOf":[{"maxLength":200,"minLength":3,"type":"string"},{"type":"null"}],"title":"Title"}},"title":"IncidentPatch","type":"object"},"IncidentUpdateIn":{"properties":{"body":{"maxLength":4000,"minLength":1,"title":"Body","type":"string"},"status":{"title":"Status","type":"string"}},"required":["status","body"],"title":"IncidentUpdateIn","type":"object"},"InquiryIn":{"properties":{"company":{"default":"","maxLength":160,"title":"Company","type":"string"},"email":{"maxLength":254,"minLength":5,"title":"Email","type":"string"},"interest":{"default":"hosted","title":"Interest","type":"string"},"message":{"default":"","maxLength":5000,"title":"Message","type":"string"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"plan":{"default":"enterprise","maxLength":40,"title":"Plan","type":"string"},"volume":{"default":"","maxLength":80,"title":"Volume","type":"string"},"website":{"default":"","maxLength":200,"title":"Website","type":"string"}},"required":["email"],"title":"InquiryIn","type":"object"},"InquiryPatch":{"properties":{"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"note":{"anyOf":[{"maxLength":5000,"type":"string"},{"type":"null"}],"title":"Note"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"title":"InquiryPatch","type":"object"},"InviteIn":{"properties":{"email":{"title":"Email","type":"string"},"role":{"default":"member","title":"Role","type":"string"}},"required":["email"],"title":"InviteIn","type":"object"},"IpBlockIn":{"description":"``POST /api/v1/admin/access/ip-blocks``.","properties":{"cidr":{"maxLength":64,"minLength":1,"title":"Cidr","type":"string"},"expires_in_s":{"anyOf":[{"exclusiveMinimum":0,"maximum":31622400,"type":"number"},{"type":"null"}],"title":"Expires In S"},"reason":{"default":"","maxLength":300,"title":"Reason","type":"string"}},"required":["cidr"],"title":"IpBlockIn","type":"object"},"JourneyEventIn":{"properties":{"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"kind":{"title":"Kind","type":"string"},"path":{"default":"/","title":"Path","type":"string"},"referrer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer"}},"required":["kind"],"title":"JourneyEventIn","type":"object"},"JourneyIn":{"properties":{"events":{"items":{"$ref":"#/components/schemas/JourneyEventIn"},"title":"Events","type":"array"},"visitor":{"title":"Visitor","type":"string"}},"required":["visitor","events"],"title":"JourneyIn","type":"object"},"JudgeRunIn":{"additionalProperties":false,"properties":{"request_id":{"maxLength":80,"minLength":1,"title":"Request Id","type":"string"}},"required":["request_id"],"title":"JudgeRunIn","type":"object"},"KeyIn":{"properties":{"expires_in_days":{"anyOf":[{"maximum":3650,"minimum":1,"type":"integer"},{"type":"null"}],"title":"Expires In Days"},"limits":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Limits"},"name":{"default":"","title":"Name","type":"string"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes"},"team":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team"},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},"title":"KeyIn","type":"object"},"KnowledgeSettingsIn":{"description":"``PUT /api/v1/knowledge/settings``: the switch and the context budget for this subject.","properties":{"budget_tokens":{"anyOf":[{"maximum":4000,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Budget Tokens"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"}},"title":"KnowledgeSettingsIn","type":"object"},"LegalAcceptIn":{"description":"``POST /api/v1/me/legal/accept``: which documents the person accepts (default: all that need it).","properties":{"documents":{"items":{"type":"string"},"title":"Documents","type":"array"}},"title":"LegalAcceptIn","type":"object"},"LegalVersionIn":{"description":"``POST /api/v1/admin/legal/versions``: publish a new version of a document.","properties":{"document":{"title":"Document","type":"string"},"effective_at":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"Effective At"},"notify":{"default":true,"title":"Notify","type":"boolean"},"summary":{"default":"","title":"Summary","type":"string"},"version":{"title":"Version","type":"string"}},"required":["document","version"],"title":"LegalVersionIn","type":"object"},"ListAllIn":{"properties":{"data_policy":{"additionalProperties":true,"title":"Data Policy","type":"object"},"models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Models"},"region":{"default":"","maxLength":64,"title":"Region","type":"string"}},"title":"ListAllIn","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"},"LogExportIn":{"additionalProperties":false,"description":"Create a destination. ``credential`` is the container SAS (``azure_blob``) or the bearer token\n(``webhook``); it is stored encrypted and never returned.","properties":{"credential":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"title":"Credential"},"enabled":{"default":true,"title":"Enabled","type":"boolean"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"},"interval_s":{"default":300,"maximum":86400,"minimum":60,"title":"Interval S","type":"number"},"kind":{"title":"Kind","type":"string"},"name":{"maxLength":80,"minLength":1,"title":"Name","type":"string"},"prefix":{"default":"","maxLength":200,"title":"Prefix","type":"string"},"start_from":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Start From"},"url":{"maxLength":2000,"minLength":8,"title":"Url","type":"string"}},"required":["name","kind","url"],"title":"LogExportIn","type":"object"},"LogExportPatch":{"additionalProperties":false,"properties":{"clear_credential":{"default":false,"title":"Clear Credential","type":"boolean"},"credential":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"title":"Credential"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"include_payloads":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Payloads"},"interval_s":{"anyOf":[{"maximum":86400,"minimum":60,"type":"number"},{"type":"null"}],"title":"Interval S"},"name":{"anyOf":[{"maxLength":80,"minLength":1,"type":"string"},{"type":"null"}],"title":"Name"},"prefix":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Prefix"},"url":{"anyOf":[{"maxLength":2000,"minLength":8,"type":"string"},{"type":"null"}],"title":"Url"}},"title":"LogExportPatch","type":"object"},"LoginAlertsIn":{"description":"``PUT /api/v1/me/login-alerts``: when the person hears about a sign-in (``new`` or ``always``).","properties":{"mode":{"title":"Mode","type":"string"}},"required":["mode"],"title":"LoginAlertsIn","type":"object"},"MaintenanceIn":{"description":"``PUT /api/v1/admin/access/maintenance``.","properties":{"allow_reads":{"default":true,"title":"Allow Reads","type":"boolean"},"enabled":{"title":"Enabled","type":"boolean"},"message":{"default":"","maxLength":500,"title":"Message","type":"string"},"until":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Until"}},"required":["enabled"],"title":"MaintenanceIn","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"},"McpServerIn":{"additionalProperties":false,"description":"Connect a server: ``name`` becomes the prefix of its tool ids (``name:tool``).","properties":{"approval":{"default":"read_only","title":"Approval","type":"string"},"credential":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"title":"Credential"},"enabled":{"default":true,"title":"Enabled","type":"boolean"},"extra_headers":{"additionalProperties":{"type":"string"},"title":"Extra Headers","type":"object"},"name":{"maxLength":40,"minLength":1,"title":"Name","type":"string"},"url":{"maxLength":2000,"minLength":8,"title":"Url","type":"string"}},"required":["name","url"],"title":"McpServerIn","type":"object"},"McpServerPatch":{"additionalProperties":false,"properties":{"approval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval"},"clear_credential":{"default":false,"title":"Clear Credential","type":"boolean"},"credential":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"title":"Credential"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"extra_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Extra Headers"},"url":{"anyOf":[{"maxLength":2000,"minLength":8,"type":"string"},{"type":"null"}],"title":"Url"}},"title":"McpServerPatch","type":"object"},"MemoryIn":{"description":"``POST /api/v1/memory``: a fact the person adds by hand.","properties":{"content":{"maxLength":200,"minLength":2,"title":"Content","type":"string"},"kind":{"default":"note","title":"Kind","type":"string"}},"required":["content"],"title":"MemoryIn","type":"object"},"MemoryPatch":{"properties":{"content":{"anyOf":[{"maxLength":200,"minLength":2,"type":"string"},{"type":"null"}],"title":"Content"},"disabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disabled"}},"title":"MemoryPatch","type":"object"},"MemorySettingsIn":{"description":"``PUT /api/v1/memory/settings``: the long-term memory switch for this subject.","properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"MemorySettingsIn","type":"object"},"MessageIn":{"properties":{"body":{"maxLength":20000,"minLength":1,"title":"Body","type":"string"}},"required":["body"],"title":"MessageIn","type":"object"},"MfaCodeIn":{"description":"``POST /api/v1/auth/mfa/enable`` and ``/recovery-codes``: a current code from the authenticator app.","properties":{"code":{"title":"Code","type":"string"}},"required":["code"],"title":"MfaCodeIn","type":"object"},"MfaDisableIn":{"description":"``DELETE /api/v1/auth/mfa``: password and a current code (or recovery code) switch the factor off.","properties":{"code":{"title":"Code","type":"string"},"current_password":{"title":"Current Password","type":"string"}},"required":["current_password","code"],"title":"MfaDisableIn","type":"object"},"MfaSetupIn":{"description":"``POST /api/v1/auth/mfa/setup``: the signed-in user's current password confirms it is them.","properties":{"current_password":{"title":"Current Password","type":"string"}},"required":["current_password"],"title":"MfaSetupIn","type":"object"},"MfaVerifyIn":{"description":"``POST /api/v1/auth/mfa/verify``: the challenge from the password step plus an authenticator or recovery code.","properties":{"challenge":{"title":"Challenge","type":"string"},"code":{"title":"Code","type":"string"}},"required":["challenge","code"],"title":"MfaVerifyIn","type":"object"},"ModelAction":{"description":"A model name on one server.","properties":{"keep_alive":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Keep Alive"},"model":{"maxLength":300,"minLength":1,"title":"Model","type":"string"}},"required":["model"],"title":"ModelAction","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"},"ModerationsIn":{"additionalProperties":true,"description":"``POST /v1/moderations``: text (or a list of texts / ``text`` parts) screened by the router's guards.","properties":{"flag_pii":{"default":false,"title":"Flag Pii","type":"boolean"},"input":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Input"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},"required":["input"],"title":"ModerationsIn","type":"object"},"NewsletterSubscribeIn":{"properties":{"email":{"title":"Email","type":"string"},"source":{"default":"","title":"Source","type":"string"}},"required":["email"],"title":"NewsletterSubscribeIn","type":"object"},"ObservationIn":{"additionalProperties":false,"description":"One observed call. ``extra=\"forbid\"``: a text field of any name is a 422, never a stored prompt.","properties":{"completion_tokens":{"default":0,"maximum":10000000,"minimum":0,"title":"Completion Tokens","type":"integer"},"complexity":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"title":"Complexity"},"model":{"maxLength":120,"minLength":1,"title":"Model","type":"string"},"prompt_tokens":{"default":0,"maximum":10000000,"minimum":0,"title":"Prompt Tokens","type":"integer"},"site":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Site"},"source":{"title":"Source","type":"string"},"task_type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Task Type"},"ts":{"exclusiveMinimum":0,"title":"Ts","type":"number"},"vendor":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"title":"Vendor"}},"required":["ts","source","model"],"title":"ObservationIn","type":"object"},"ObservationsIn":{"additionalProperties":false,"properties":{"items":{"items":{"$ref":"#/components/schemas/ObservationIn"},"maxItems":500,"minItems":1,"title":"Items","type":"array"}},"required":["items"],"title":"ObservationsIn","type":"object"},"OfferIn":{"properties":{"data_policy":{"additionalProperties":true,"title":"Data Policy","type":"object"},"enabled":{"default":true,"title":"Enabled","type":"boolean"},"model":{"maxLength":200,"minLength":3,"title":"Model","type":"string"},"notes":{"default":"","maxLength":2000,"title":"Notes","type":"string"},"provider_id":{"title":"Provider Id","type":"string"},"region":{"default":"","maxLength":64,"title":"Region","type":"string"},"upstream_model":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Upstream Model"}},"required":["model","provider_id"],"title":"OfferIn","type":"object"},"OfferPatch":{"properties":{"data_policy":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data Policy"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"notes":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"title":"Notes"},"region":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"title":"Region"},"upstream_model":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Upstream Model"}},"title":"OfferPatch","type":"object"},"OperatorCommentIn":{"properties":{"body":{"maxLength":20000,"minLength":1,"title":"Body","type":"string"},"internal":{"default":false,"title":"Internal","type":"boolean"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"required":["body"],"title":"OperatorCommentIn","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"},"OperatorInviteAcceptIn":{"description":"``POST /api/v1/admin/auth/invitations/{token}/accept``.","properties":{"name":{"anyOf":[{"maxLength":120,"type":"string"},{"type":"null"}],"title":"Name"},"password":{"maxLength":256,"minLength":1,"title":"Password","type":"string"},"username":{"maxLength":63,"minLength":2,"title":"Username","type":"string"}},"required":["username","password"],"title":"OperatorInviteAcceptIn","type":"object"},"OperatorInviteIn":{"description":"``POST /api/v1/admin/operators/invitations``.","properties":{"email":{"maxLength":254,"minLength":3,"title":"Email","type":"string"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"role":{"default":"operator","title":"Role","type":"string"}},"required":["email"],"title":"OperatorInviteIn","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"},"OperatorMessageIn":{"properties":{"body":{"maxLength":20000,"minLength":1,"title":"Body","type":"string"},"internal":{"default":false,"title":"Internal","type":"boolean"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"required":["body"],"title":"OperatorMessageIn","type":"object"},"OperatorMfaCodeIn":{"properties":{"code":{"title":"Code","type":"string"}},"required":["code"],"title":"OperatorMfaCodeIn","type":"object"},"OperatorMfaDisableIn":{"properties":{"code":{"title":"Code","type":"string"},"current_password":{"title":"Current Password","type":"string"}},"required":["current_password","code"],"title":"OperatorMfaDisableIn","type":"object"},"OperatorMfaSetupIn":{"properties":{"current_password":{"title":"Current Password","type":"string"}},"required":["current_password"],"title":"OperatorMfaSetupIn","type":"object"},"OperatorMfaVerifyIn":{"description":"``POST /api/v1/admin/auth/mfa/verify``: the challenge from the password step plus a code.","properties":{"challenge":{"title":"Challenge","type":"string"},"code":{"title":"Code","type":"string"}},"required":["challenge","code"],"title":"OperatorMfaVerifyIn","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"},"mfa_reset":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mfa Reset"},"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"},"PlanPatchIn":{"description":"``PATCH /api/v1/admin/plans/{name}``: the plan fields to change (omitted fields keep their value).","properties":{"activity_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Activity Days"},"activity_events_per_day":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Activity Events Per Day"},"contact_sales":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Contact Sales"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"features":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Features"},"max_keys":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Keys"},"max_members":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Members"},"max_tenants":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Tenants"},"overage_usd_per_100k":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overage Usd Per 100K"},"price_usd_month":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd Month"},"price_usd_year":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Usd Year"},"requests_per_minute":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Requests Per Minute"},"requests_per_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Requests Per Month"},"retention_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Retention Days"},"sla_uptime_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sla Uptime Pct"},"support":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Support"},"trial_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Trial Days"}},"title":"PlanPatchIn","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"},"PostIn":{"properties":{"body":{"title":"Body","type":"string"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"status":{"default":"draft","title":"Status","type":"string"},"summary":{"default":"","title":"Summary","type":"string"},"tags":{"default":[],"items":{"type":"string"},"title":"Tags","type":"array"},"title":{"title":"Title","type":"string"}},"required":["title","body"],"title":"PostIn","type":"object"},"PostPatch":{"properties":{"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"highlights":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Highlights"},"image_alt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Alt"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keywords"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"why":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Why"}},"title":"PostPatch","type":"object"},"PreviewIn":{"properties":{"hashtags":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hashtags"},"network":{"title":"Network","type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template"}},"required":["network"],"title":"PreviewIn","type":"object"},"PriceIn":{"properties":{"effective_from":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective From"},"effective_to":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective To"},"model":{"maxLength":200,"minLength":1,"title":"Model","type":"string"},"provider_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"},"reason":{"maxLength":500,"minLength":1,"title":"Reason","type":"string"},"source":{"default":"manual","title":"Source","type":"string"},"unit":{"title":"Unit","type":"string"},"usd_per_million":{"minimum":0,"title":"Usd Per Million","type":"number"}},"required":["model","unit","usd_per_million","reason"],"title":"PriceIn","type":"object"},"ProductFeedbackIn":{"properties":{"attachments":{"items":{"$ref":"#/components/schemas/AttachmentIn"},"maxItems":3,"title":"Attachments","type":"array"},"body":{"maxLength":20000,"minLength":5,"title":"Body","type":"string"},"diagnostics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Diagnostics"},"kind":{"default":"other","title":"Kind","type":"string"},"page":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"title":"Page"},"request_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"title":"Request Id"},"title":{"maxLength":160,"minLength":3,"title":"Title","type":"string"},"url":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"title":"Url"}},"required":["title","body"],"title":"ProductFeedbackIn","type":"object"},"ProductSectionsIn":{"properties":{"limit":{"default":20,"title":"Limit","type":"integer"},"model":{"default":true,"title":"Model","type":"boolean"}},"title":"ProductSectionsIn","type":"object"},"ProfileIn":{"properties":{"article_words":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Article Words"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"},"auto_publish":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Publish"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"publication":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication"},"site_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Url"},"tone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tone"}},"title":"ProfileIn","type":"object"},"PromptLabelsIn":{"additionalProperties":false,"description":"``PUT /api/v1/prompts/{name}/{version}/labels`` - the labels this version carries (moved from others).","properties":{"labels":{"items":{"type":"string"},"maxItems":10,"title":"Labels","type":"array"}},"required":["labels"],"title":"PromptLabelsIn","type":"object"},"PromptRef":{"additionalProperties":false,"description":"How a request names a prompt: ``osr.prompt`` on chat completions, ``prompt`` on ``/api/v1/route``.","properties":{"label":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Label"},"name":{"maxLength":80,"minLength":1,"title":"Name","type":"string"},"variables":{"additionalProperties":true,"title":"Variables","type":"object"},"version":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"title":"Version"}},"required":["name"],"title":"PromptRef","type":"object"},"PromptRenderIn":{"additionalProperties":false,"properties":{"label":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Label"},"variables":{"additionalProperties":true,"title":"Variables","type":"object"},"version":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"title":"Version"}},"title":"PromptRenderIn","type":"object"},"PromptVersionIn":{"additionalProperties":false,"description":"``POST /api/v1/prompts`` - a new version of ``name`` (version 1 when the name is new).","properties":{"content":{"anyOf":[{"type":"string"},{"items":{"additionalProperties":true,"type":"object"},"type":"array"}],"title":"Content"},"kind":{"default":"text","title":"Kind","type":"string"},"labels":{"items":{"type":"string"},"maxItems":10,"title":"Labels","type":"array"},"message":{"default":"","maxLength":300,"title":"Message","type":"string"},"name":{"maxLength":80,"minLength":1,"title":"Name","type":"string"}},"required":["name","content"],"title":"PromptVersionIn","type":"object"},"ProviderAccountIn":{"properties":{"contract_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Terms"},"credit_limit_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credit Limit Cents"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"low_balance_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Low Balance Cents"},"prepaid_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prepaid Cents"},"reason":{"maxLength":500,"minLength":1,"title":"Reason","type":"string"}},"required":["reason"],"title":"ProviderAccountIn","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"},"concurrency":{"default":0,"maximum":100000,"minimum":0,"title":"Concurrency","type":"integer"},"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"},"ProviderInvoiceIn":{"properties":{"amount_cents":{"minimum":0,"title":"Amount Cents","type":"integer"},"currency":{"default":"usd","title":"Currency","type":"string"},"invoice_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Ref"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"period_end":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","title":"Period End","type":"string"},"period_start":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","title":"Period Start","type":"string"},"provider_id":{"title":"Provider Id","type":"string"},"status":{"default":"received","title":"Status","type":"string"}},"required":["provider_id","period_start","period_end","amount_cents"],"title":"ProviderInvoiceIn","type":"object"},"ProviderInvoiceStatusIn":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"reason":{"maxLength":500,"minLength":1,"title":"Reason","type":"string"},"status":{"title":"Status","type":"string"}},"required":["status","reason"],"title":"ProviderInvoiceStatusIn","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"},"concurrency":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"title":"Concurrency"},"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"},"PublishIn":{"properties":{"destination_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Destination Ids"}},"title":"PublishIn","type":"object"},"QuoteIn":{"properties":{"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"},"cached_tokens":{"default":0,"title":"Cached Tokens","type":"integer"},"completion_tokens":{"default":0,"title":"Completion Tokens","type":"integer"},"model":{"title":"Model","type":"string"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"prompt_tokens":{"default":0,"title":"Prompt Tokens","type":"integer"},"provider_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"}},"required":["model"],"title":"QuoteIn","type":"object"},"RankingsRefreshIn":{"properties":{"sources":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sources"}},"title":"RankingsRefreshIn","type":"object"},"ReadIn":{"properties":{"ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ids"}},"title":"ReadIn","type":"object"},"ReaderPreferencesIn":{"description":"``PUT /api/v1/newsletter/preferences``: what a reader may change from the link in an issue.","properties":{"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"}},"title":"ReaderPreferencesIn","type":"object"},"ReferralInviteIn":{"description":"``POST /api/v1/referrals/invite``: one address, an optional line in the sender's words.","properties":{"email":{"title":"Email","type":"string"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"required":["email"],"title":"ReferralInviteIn","type":"object"},"RefreshIn":{"properties":{"feed_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Feed Ids"}},"title":"RefreshIn","type":"object"},"ReplayIn":{"additionalProperties":false,"properties":{"days":{"default":7,"maximum":90,"minimum":1,"title":"Days","type":"integer"},"limit":{"default":500,"minimum":1,"title":"Limit","type":"integer"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"}},"title":"ReplayIn","type":"object"},"ReportPreferenceIn":{"description":"``PUT /api/v1/workspace/reports``: how often the owners get the usage digest.","properties":{"frequency":{"title":"Frequency","type":"string"}},"required":["frequency"],"title":"ReportPreferenceIn","type":"object"},"ReportSendIn":{"description":"``POST /api/v1/admin/reports/send``: a digest on demand.","properties":{"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"},"kind":{"default":"deployment","title":"Kind","type":"string"},"period":{"default":"weekly","title":"Period","type":"string"},"to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To"}},"title":"ReportSendIn","type":"object"},"RerankIn":{"additionalProperties":true,"description":"``POST /v1/rerank`` (Cohere / Jina shape): ``query`` against ``documents`` (strings or ``{\"text\": ...}``);\n``model`` is ``auto`` (an embeddings-capable target is chosen) or a target id.","properties":{"documents":{"items":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"}]},"title":"Documents","type":"array"},"model":{"default":"auto","title":"Model","type":"string"},"osr":{"$ref":"#/components/schemas/RoutingOptions"},"query":{"title":"Query","type":"string"},"return_documents":{"default":false,"title":"Return Documents","type":"boolean"},"top_n":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top N"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"}},"required":["query","documents"],"title":"RerankIn","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"},"ResultsIn":{"additionalProperties":false,"description":"Scores another evaluation framework computed on a dataset downloaded from here (``?format=``), read back\nin: ``format`` names the shape (:data:`RESULT_FORMATS`), ``tool`` the framework for the record, ``rows`` the\nresult rows. A row joins its dataset row by the ``row`` index the download put in its metadata, by the\nrequest id the row came from, or by the prompt text. ``threshold`` passes a row whose every metric reaches\nit when the tool gave no verdict; ``feedback`` writes the mean score as an outcome on rows that came from\nlogged requests, so the learners and the activity page see what the other tool thought.","properties":{"feedback":{"default":true,"title":"Feedback","type":"boolean"},"format":{"default":"scores","title":"Format","type":"string"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"rows":{"items":{"additionalProperties":true,"type":"object"},"maxItems":5000,"minItems":1,"title":"Rows","type":"array"},"threshold":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}],"title":"Threshold"},"tool":{"default":"","maxLength":40,"title":"Tool","type":"string"}},"required":["rows"],"title":"ResultsIn","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":true,"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"},"plan_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Mode"},"profile":{"additionalProperties":true,"title":"Profile","type":"object"},"prompt":{"anyOf":[{"$ref":"#/components/schemas/PromptRef"},{"type":"null"}]},"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":{"cache":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cache"},"constraints":{"additionalProperties":true,"title":"Constraints","type":"object"},"conversation":{"default":false,"title":"Conversation","type":"boolean"},"conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversation Id"},"fallbacks":{"default":true,"title":"Fallbacks","type":"boolean"},"memory":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memory"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"plan":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Plan"},"plan_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Mode"},"prompt":{"anyOf":[{"$ref":"#/components/schemas/PromptRef"},{"type":"null"}]},"provider":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Provider"},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},"title":"RoutingOptions","type":"object"},"RuleIn":{"properties":{"effective_from":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective From"},"effective_to":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Effective To"},"kind":{"title":"Kind","type":"string"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"params":{"additionalProperties":true,"title":"Params","type":"object"},"priority":{"default":0,"title":"Priority","type":"integer"},"provider_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"},"reason":{"maxLength":500,"minLength":1,"title":"Reason","type":"string"},"scope":{"default":"deployment","title":"Scope","type":"string"},"scope_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope Id"}},"required":["kind","reason"],"title":"RuleIn","type":"object"},"SLMPredictIn":{"description":"``POST /api/v1/admin/slm/predict``: an operator probes the routing SLM with the service's own controls.","properties":{"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"},"candidates":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Candidates"},"explain":{"default":false,"title":"Explain","type":"boolean"},"kinds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Kinds"},"objective":{"additionalProperties":{"type":"number"},"title":"Objective","type":"object"},"text":{"title":"Text","type":"string"},"top_k":{"default":5,"maximum":50,"minimum":1,"title":"Top K","type":"integer"}},"required":["text"],"title":"SLMPredictIn","type":"object"},"SearchEnginesRunIn":{"properties":{"force":{"default":false,"title":"Force","type":"boolean"},"inspect":{"default":true,"title":"Inspect","type":"boolean"}},"title":"SearchEnginesRunIn","type":"object"},"SendIn":{"properties":{"force":{"default":false,"title":"Force","type":"boolean"}},"title":"SendIn","type":"object"},"SettingIn":{"description":"``PUT /api/v1/admin/settings/{name}``: the new value (a bool, number, string or list as the setting takes).","properties":{"value":{"title":"Value"}},"required":["value"],"title":"SettingIn","type":"object"},"SettingsImportIn":{"description":"``PUT /api/v1/admin/settings``: a set of overrides to adopt in one step - what ``GET /settings/export`` of\nanother deployment returned, or a hand-written map. ``replace`` drops every override the map does not name.","properties":{"overrides":{"additionalProperties":true,"title":"Overrides","type":"object"},"replace":{"default":false,"title":"Replace","type":"boolean"}},"required":["overrides"],"title":"SettingsImportIn","type":"object"},"ShareIn":{"properties":{"at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"At"},"channel_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Channel Ids"},"slug":{"title":"Slug","type":"string"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"}},"required":["slug"],"title":"ShareIn","type":"object"},"SignupIn":{"properties":{"accept_terms":{"default":false,"title":"Accept Terms","type":"boolean"},"attribution":{"title":"Attribution"},"captcha_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Captcha Token"},"email":{"title":"Email","type":"string"},"name":{"default":"","title":"Name","type":"string"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"}},"required":["email"],"title":"SignupIn","type":"object"},"SignupPolicyIn":{"description":"``PUT /api/v1/admin/signup-guard/policy``.","properties":{"allowed_domains":{"items":{"type":"string"},"maxItems":500,"title":"Allowed Domains","type":"array"},"auto_block_after":{"default":0,"maximum":10000,"minimum":0,"title":"Auto Block After","type":"integer"},"block_disposable":{"default":true,"title":"Block Disposable","type":"boolean"},"block_generated":{"default":true,"title":"Block Generated","type":"boolean"},"block_plus_aliases":{"default":false,"title":"Block Plus Aliases","type":"boolean"},"per_domain_per_day":{"default":0,"maximum":100000,"minimum":0,"title":"Per Domain Per Day","type":"integer"}},"title":"SignupPolicyIn","type":"object"},"SignupRuleIn":{"description":"``POST /api/v1/admin/signup-guard/rules``.","properties":{"expires_in_s":{"anyOf":[{"exclusiveMinimum":0,"maximum":31622400,"type":"number"},{"type":"null"}],"title":"Expires In S"},"kind":{"pattern":"^(email|domain)$","title":"Kind","type":"string"},"reason":{"default":"","maxLength":300,"title":"Reason","type":"string"},"value":{"maxLength":254,"minLength":3,"title":"Value","type":"string"}},"required":["kind","value"],"title":"SignupRuleIn","type":"object"},"SocialChannelIn":{"properties":{"auto_share":{"default":true,"title":"Auto Share","type":"boolean"},"cadence_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cadence Hours"},"credentials":{"additionalProperties":{"type":"string"},"default":{},"title":"Credentials","type":"object"},"hashtags":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hashtags"},"name":{"title":"Name","type":"string"},"network":{"title":"Network","type":"string"},"post_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Status"},"schedule":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schedule"},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template"}},"required":["network","name"],"title":"SocialChannelIn","type":"object"},"SocialChannelPatch":{"properties":{"auto_share":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Share"},"cadence_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cadence Hours"},"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"hashtags":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hashtags"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"post_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Status"},"schedule":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schedule"},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template"}},"title":"SocialChannelPatch","type":"object"},"SpeechIn":{"additionalProperties":true,"description":"``POST /v1/audio/speech``: ``model`` is ``auto`` (a speech-capable target is chosen) or a target id.","properties":{"input":{"maxLength":4096,"minLength":1,"title":"Input","type":"string"},"instructions":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"null"}],"title":"Instructions"},"model":{"default":"auto","title":"Model","type":"string"},"osr":{"$ref":"#/components/schemas/RoutingOptions"},"response_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Format"},"speed":{"anyOf":[{"maximum":4,"minimum":0.25,"type":"number"},{"type":"null"}],"title":"Speed"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"},"voice":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"title":"Voice"}},"required":["input"],"title":"SpeechIn","type":"object"},"SpendImportIn":{"additionalProperties":false,"description":"A pasted or client-read export. ``text`` is the file's content (CSV, TSV, JSON or JSON lines) or the text of\nan invoice (its line items with amounts).","properties":{"filename":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Filename"},"name":{"default":"","maxLength":120,"title":"Name","type":"string"},"provider":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Provider"},"text":{"maxLength":8388608,"minLength":1,"title":"Text","type":"string"}},"required":["text"],"title":"SpendImportIn","type":"object"},"SsoCallbackIn":{"properties":{"attribution":{"title":"Attribution"},"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"},"role_map":{"additionalProperties":true,"title":"Role Map","type":"object"},"scopes":{"items":{"type":"string"},"title":"Scopes","type":"array"}},"required":["client_id"],"title":"SsoConnectionIn","type":"object"},"SsoCredentialIn":{"description":"``POST /api/v1/auth/{provider}/credential``: an ID token the browser obtained itself (Google One Tap).","properties":{"attribution":{"title":"Attribution"},"credential":{"title":"Credential","type":"string"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}},"required":["credential"],"title":"SsoCredentialIn","type":"object"},"StoreImagesIn":{"properties":{"force":{"default":false,"title":"Force","type":"boolean"},"limit":{"default":25,"title":"Limit","type":"integer"}},"title":"StoreImagesIn","type":"object"},"SubscribeIn":{"properties":{"email":{"title":"Email","type":"string"},"source":{"default":"web","title":"Source","type":"string"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"topics":{"default":[],"items":{"type":"string"},"title":"Topics","type":"array"}},"required":["email"],"title":"SubscribeIn","type":"object"},"SubscriberIn":{"properties":{"confirmed":{"default":true,"title":"Confirmed","type":"boolean"},"email":{"title":"Email","type":"string"}},"required":["email"],"title":"SubscriberIn","type":"object"},"TeamIn":{"description":"``POST /api/v1/workspace/teams``.","properties":{"description":{"default":"","title":"Description","type":"string"},"members":{"items":{"$ref":"#/components/schemas/TeamMemberIn"},"title":"Members","type":"array"},"name":{"title":"Name","type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},"required":["name"],"title":"TeamIn","type":"object"},"TeamMemberIn":{"description":"``POST /api/v1/workspace/teams/{slug}/members``: a workspace member joins the team.","properties":{"role":{"default":"member","title":"Role","type":"string"},"user_id":{"title":"User Id","type":"string"}},"required":["user_id"],"title":"TeamMemberIn","type":"object"},"TeamPatch":{"description":"``PATCH /api/v1/workspace/teams/{slug}``; ``tenant: \"\"`` unbinds the team.","properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},"title":"TeamPatch","type":"object"},"TenantIn":{"properties":{"config":{"additionalProperties":true,"title":"Config","type":"object"},"slug":{"title":"Slug","type":"string"}},"required":["slug"],"title":"TenantIn","type":"object"},"TicketIn":{"properties":{"body":{"maxLength":20000,"minLength":10,"title":"Body","type":"string"},"category":{"default":"question","title":"Category","type":"string"},"priority":{"default":"normal","title":"Priority","type":"string"},"request_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"title":"Request Id"},"subject":{"maxLength":200,"minLength":3,"title":"Subject","type":"string"}},"required":["subject","body"],"title":"TicketIn","type":"object"},"TicketPatch":{"properties":{"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"note":{"anyOf":[{"maxLength":20000,"type":"string"},{"type":"null"}],"title":"Note"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"title":"TicketPatch","type":"object"},"TokenIn":{"properties":{"token":{"title":"Token","type":"string"}},"required":["token"],"title":"TokenIn","type":"object"},"TransferIn":{"description":"``POST /api/v1/workspace/transfer``: who becomes an owner and what the current owner keeps.","properties":{"keep_role":{"default":"admin","title":"Keep Role","type":"string"},"user_id":{"title":"User Id","type":"string"}},"required":["user_id"],"title":"TransferIn","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"},"WorkspaceConvertIn":{"description":"``POST /api/v1/workspace/convert``: turn the personal workspace into an organization.","properties":{"name":{"title":"Name","type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"required":["name"],"title":"WorkspaceConvertIn","type":"object"},"WorkspaceFeedIn":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"url":{"title":"Url","type":"string"}},"required":["url"],"title":"WorkspaceFeedIn","type":"object"},"WorkspaceFeedPatch":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"title":"WorkspaceFeedPatch","type":"object"},"WorkspaceIn":{"properties":{"name":{"title":"Name","type":"string"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"required":["name"],"title":"WorkspaceIn","type":"object"},"WorkspaceMappingIn":{"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":"WorkspaceMappingIn","type":"object"},"WorkspacePatch":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"title":"WorkspacePatch","type":"object"},"WorkspacePostPatch":{"properties":{"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},"title":"WorkspacePostPatch","type":"object"},"WorkspaceProviderIn":{"properties":{"api_key":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"title":"Api Key"},"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":"WorkspaceProviderIn","type":"object"},"WorkspaceProviderPatch":{"properties":{"api_key":{"anyOf":[{"maxLength":4000,"type":"string"},{"type":"null"}],"title":"Api Key"},"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":"WorkspaceProviderPatch","type":"object"},"WriteIn":{"description":"``POST /api/v1/content/posts/write``: an editor's brief the writer turns into a post.","properties":{"notes":{"default":"","title":"Notes","type":"string"},"status":{"default":"draft","title":"Status","type":"string"},"topic":{"title":"Topic","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"required":["topic"],"title":"WriteIn","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 2.1.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":"2.1.0"},"openapi":"3.1.0","paths":{"/.well-known/oauth-protected-resource":{"get":{"description":"Which authorization servers issue tokens for this MCP endpoint and which scopes it understands\n(empty ``authorization_servers`` when the deployment accepts workspace API keys only). ``resource`` is the\nURL the client reached the server on - the API's own or the web origin's ``/mcp``.","operationId":"mcp_protected_resource__well_known_oauth_protected_resource_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Protected Resource  Well Known Oauth Protected Resource Get","type":"object"}}},"description":"Successful Response"}},"summary":"Mcp Protected Resource","tags":["mcp"]}},"/.well-known/oauth-protected-resource/mcp":{"get":{"description":"Which authorization servers issue tokens for this MCP endpoint and which scopes it understands\n(empty ``authorization_servers`` when the deployment accepts workspace API keys only). ``resource`` is the\nURL the client reached the server on - the API's own or the web origin's ``/mcp``.","operationId":"mcp_protected_resource_path__well_known_oauth_protected_resource_mcp_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Protected Resource Path  Well Known Oauth Protected Resource Mcp Get","type":"object"}}},"description":"Successful Response"}},"summary":"Mcp Protected Resource Path","tags":["mcp"]}},"/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;\n``logged`` marks rows whose prompt and answer were kept under the workspace's ``log_payloads`` policy\n(``logging`` is the mode in force: ``off`` / ``redacted`` / ``full``). ``tenant`` keeps one tenant's\nrows; a tenant-pinned key sees its own tenant's only.","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"}},{"in":"query","name":"tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-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/activity/logs":{"delete":{"description":"Erase every prompt and answer the workspace's ``log_payloads`` policy stored (admin role). The\nactivity rows, traces and outcomes stay; turn the policy to ``off`` to stop new rows.","operationId":"delete_activity_logs_api_v1_activity_logs_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Activity Logs Api V1 Activity Logs Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Activity Logs","tags":["account"]}},"/api/v1/admin/access":{"get":{"description":"Blocks, the maintenance state and the counts behind the emergency revocation form.","operationId":"overview_api_v1_admin_access_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 Access 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/access/ip-blocks":{"get":{"operationId":"list_blocks_api_v1_admin_access_ip_blocks_get","parameters":[{"in":"query","name":"include_expired","required":false,"schema":{"default":true,"title":"Include Expired","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 List Blocks Api V1 Admin Access Ip Blocks Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Blocks","tags":["admin"]},"post":{"description":"Block an address or range; the refusal takes effect on every replica within the refresh window.","operationId":"add_block_api_v1_admin_access_ip_blocks_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/IpBlockIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Block Api V1 Admin Access Ip Blocks Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Block","tags":["admin"]}},"/api/v1/admin/access/ip-blocks/{block_id}":{"delete":{"operationId":"remove_block_api_v1_admin_access_ip_blocks__block_id__delete","parameters":[{"in":"path","name":"block_id","required":true,"schema":{"title":"Block 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 Block Api V1 Admin Access Ip Blocks  Block Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Remove Block","tags":["admin"]}},"/api/v1/admin/access/keys/revoke":{"post":{"description":"Emergency revocation across workspaces. ``dry_run`` (the default) lists what would be revoked; a real\nrun needs the superadmin role and a reason, and is audited with the filter and the counts.","operationId":"revoke_keys_api_v1_admin_access_keys_revoke_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/BulkRevokeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Revoke Keys Api V1 Admin Access Keys Revoke Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Revoke Keys","tags":["admin"]}},"/api/v1/admin/access/maintenance":{"get":{"operationId":"get_maintenance_api_v1_admin_access_maintenance_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 Get Maintenance Api V1 Admin Access Maintenance Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Maintenance","tags":["admin"]},"put":{"description":"Switch maintenance on or off (superadmin). On: customer traffic answers 503 - reads too unless\n``allow_reads``; operators, probes and the status page keep working.","operationId":"set_maintenance_api_v1_admin_access_maintenance_put","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/MaintenanceIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Maintenance Api V1 Admin Access Maintenance Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Maintenance","tags":["admin"]}},"/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. With\n``account.delete`` in the approval actions, files a request for a second operator instead (202).","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}/nudge":{"post":{"description":"Send the getting-started reminder to one workspace now, whatever its age - once: a workspace that already\nreceived it answers ``409``. Returns the messages sent and the recipients skipped (category switched off).","operationId":"account_nudge_api_v1_admin_accounts__account_id__nudge_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":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Account Nudge Api V1 Admin Accounts  Account Id  Nudge Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Account Nudge","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/analytics/activation":{"get":{"description":"Activation funnel of the workspaces that signed up in the last ``days``: signed up, e-mail confirmed, first\nrequest routed, a target answered, an answer reported as good, came back on another day, on a paid plan -\neach with the count, the share of the cohort, the conversion from the previous stage and the median hours\nfrom signup (time to value); the funnel per acquisition source; and the newest workspaces stuck before\ntheir first request for more than a day, with the console link to reach out.","operationId":"activation_api_v1_admin_analytics_activation_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 Activation Api V1 Admin Analytics Activation Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Activation","tags":["admin"]}},"/api/v1/admin/analytics/activation/nudge":{"post":{"description":"Send the getting-started reminder now to the workspaces stuck before their first request (one to seven\ndays after signing up, never routed, not reminded before). The `accounts` service does the same once an\nhour, in each owner's daytime; this runs it on demand whatever the hour and returns the workspaces\nreminded, the messages sent and the recipients skipped because they switched the *Getting started*\ncategory off.","operationId":"activation_nudge_api_v1_admin_analytics_activation_nudge_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 Activation Nudge Api V1 Admin Analytics Activation Nudge Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Activation Nudge","tags":["admin"]}},"/api/v1/admin/analytics/journey":{"get":{"description":"What happens before a signup and why a signup goes quiet, for the last ``days``: distinct visitors\nthrough visited -> engaged -> opened the signup form -> started it -> signed up (with the step conversion),\nvisitors and signups per day, signup failures by reason, the landing pages and referrers with their signup\nrate, the calls to action clicked, the survey answers (counts per reason and the newest texts) and the\nworkspaces that never routed a request with the obstacles the platform can see and their own answer.","operationId":"journey_api_v1_admin_analytics_journey_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 Journey Api V1 Admin Analytics Journey Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Journey","tags":["admin"]}},"/api/v1/admin/announcements":{"get":{"operationId":"list_all_api_v1_admin_announcements_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":200,"maximum":1000,"minimum":1,"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 List All Api V1 Admin Announcements Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List All","tags":["admin"]},"post":{"description":"Publish an announcement (live at once unless ``starts_at`` is in the future).","operationId":"create_api_v1_admin_announcements_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/AnnouncementIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Api V1 Admin Announcements Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create","tags":["admin"]}},"/api/v1/admin/announcements/{announcement_id}":{"delete":{"operationId":"delete_api_v1_admin_announcements__announcement_id__delete","parameters":[{"in":"path","name":"announcement_id","required":true,"schema":{"title":"Announcement 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 Api V1 Admin Announcements  Announcement Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete","tags":["admin"]},"get":{"operationId":"get_one_api_v1_admin_announcements__announcement_id__get","parameters":[{"in":"path","name":"announcement_id","required":true,"schema":{"title":"Announcement 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 One Api V1 Admin Announcements  Announcement Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get One","tags":["admin"]},"patch":{"operationId":"patch_api_v1_admin_announcements__announcement_id__patch","parameters":[{"in":"path","name":"announcement_id","required":true,"schema":{"title":"Announcement 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/AnnouncementPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Api V1 Admin Announcements  Announcement Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch","tags":["admin"]}},"/api/v1/admin/announcements/{announcement_id}/notify":{"post":{"description":"Open the in-app notification in every workspace of the audience (workspaces already told are skipped).","operationId":"notify_api_v1_admin_announcements__announcement_id__notify_post","parameters":[{"in":"path","name":"announcement_id","required":true,"schema":{"title":"Announcement 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 Notify Api V1 Admin Announcements  Announcement Id  Notify Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Notify","tags":["admin"]}},"/api/v1/admin/approvals":{"get":{"description":"Requests newest first, the catalogue of gateable actions and which are gated here.","operationId":"list_requests_api_v1_admin_approvals_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":500,"minimum":1,"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 List Requests Api V1 Admin Approvals Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Requests","tags":["admin"]}},"/api/v1/admin/approvals/{request_id}":{"delete":{"description":"The requester withdraws a pending request (a superadmin may withdraw anyone's).","operationId":"withdraw_api_v1_admin_approvals__request_id__delete","parameters":[{"in":"path","name":"request_id","required":true,"schema":{"title":"Request 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 Withdraw Api V1 Admin Approvals  Request Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Withdraw","tags":["admin"]},"get":{"operationId":"get_request_api_v1_admin_approvals__request_id__get","parameters":[{"in":"path","name":"request_id","required":true,"schema":{"title":"Request 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 Request Api V1 Admin Approvals  Request Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Request","tags":["admin"]}},"/api/v1/admin/approvals/{request_id}/approve":{"post":{"description":"Approve and carry out the action as this operator (never the one who filed it).","operationId":"approve_api_v1_admin_approvals__request_id__approve_post","parameters":[{"in":"path","name":"request_id","required":true,"schema":{"title":"Request 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/DecisionIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Approve Api V1 Admin Approvals  Request Id  Approve Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Approve","tags":["admin"]}},"/api/v1/admin/approvals/{request_id}/reject":{"post":{"operationId":"reject_api_v1_admin_approvals__request_id__reject_post","parameters":[{"in":"path","name":"request_id","required":true,"schema":{"title":"Request 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/DecisionIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reject Api V1 Admin Approvals  Request Id  Reject Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reject","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, place and details;\n``country`` keeps the events whose address resolved to that ISO code (``--`` = no place known);\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). ``countries`` lists\nthe places of the last 90 days for the filter and ``geo`` says how places are resolved.","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":"country","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"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/audit/rotate":{"post":{"description":"Archive every audit chain file that no longer verifies and start a new chain in its place (superadmin).\nThe broken file is kept beside the new one as ``<file>.<stamp>.archived`` and the new chain's first\nrecord names it, the problem and the reason given here; the action is also in the operator audit log.","operationId":"audit_rotate_api_v1_admin_audit_rotate_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/AuditRotateBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Audit Rotate Api V1 Admin Audit Rotate Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Audit Rotate","tags":["admin"]}},"/api/v1/admin/auth/invitations/{token}":{"get":{"description":"What the invited person sees before choosing a username: address, role, who invited, until when.","operationId":"show_api_v1_admin_auth_invitations__token__get","parameters":[{"in":"path","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Show Api V1 Admin Auth Invitations  Token  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Show","tags":["admin"]}},"/api/v1/admin/auth/invitations/{token}/accept":{"post":{"description":"Create the operator from the invitation and sign them in (the answer is the login payload).","operationId":"accept_api_v1_admin_auth_invitations__token__accept_post","parameters":[{"in":"path","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorInviteAcceptIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Accept Api V1 Admin Auth Invitations  Token  Accept Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Accept","tags":["admin"]}},"/api/v1/admin/auth/login":{"post":{"description":"Operator console sign-in with username and password. Returns an ``osr_op_`` session token - or, for\nan operator with two-factor authentication, ``mfa_required`` with a five-minute ``challenge`` to redeem\nat ``POST /auth/mfa/verify`` with the authenticator code.","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/mfa":{"delete":{"description":"Switch the second factor off for the signed-in operator (password and a current code required;\nrefused while policy makes it mandatory for this account).","operationId":"operator_mfa_disable_api_v1_admin_auth_mfa_delete","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/OperatorMfaDisableIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Mfa Disable Api V1 Admin Auth Mfa Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Mfa Disable","tags":["admin"]}},"/api/v1/admin/auth/mfa/enable":{"post":{"description":"Confirm the pending secret with a code from the app; returns the recovery codes - shown once.","operationId":"operator_mfa_enable_api_v1_admin_auth_mfa_enable_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/OperatorMfaCodeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Mfa Enable Api V1 Admin Auth Mfa Enable Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Mfa Enable","tags":["admin"]}},"/api/v1/admin/auth/mfa/setup":{"post":{"description":"Start enrolment: a fresh TOTP secret (pending until ``/auth/mfa/enable`` confirms a code) with the\n``otpauth://`` URI authenticator apps import. Re-running replaces a pending secret; an enabled factor\nmust be disabled first.","operationId":"operator_mfa_setup_api_v1_admin_auth_mfa_setup_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/OperatorMfaSetupIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Mfa Setup Api V1 Admin Auth Mfa Setup Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Mfa Setup","tags":["admin"]}},"/api/v1/admin/auth/mfa/verify":{"post":{"description":"Second step of the sign-in: the challenge from ``/auth/login`` plus a six-digit authenticator code or\nan unused recovery code (each works once) buys the session.","operationId":"operator_mfa_verify_api_v1_admin_auth_mfa_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorMfaVerifyIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Operator Mfa Verify Api V1 Admin Auth Mfa Verify Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Operator Mfa Verify","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/autonomy":{"get":{"description":"Every job with its cadence and state, the crew the writers route with, the recent operator runs.","operationId":"status_api_v1_admin_autonomy_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 Status Api V1 Admin Autonomy Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Status","tags":["admin"]}},"/api/v1/admin/autonomy/{job}/run":{"post":{"description":"Run one job now (``content``, ``newsletter``, ``growth``, ``social``, ``rankings``, ``marketplace``,\n``autopilot``, ``reports``, ``alerts``), bypassing its lease and cadence.","operationId":"run_api_v1_admin_autonomy__job__run_post","parameters":[{"in":"path","name":"job","required":true,"schema":{"title":"Job","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 Run Api V1 Admin Autonomy  Job  Run Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Run","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/billing":{"get":{"description":"Billing at a glance: the configuration in force (never the secrets), workspaces per billing state, live\nsubscribers per plan with an MRR estimate, running coupon trials, the overage reported to Stripe this\nmonth and the last overage sync.","operationId":"overview_api_v1_admin_billing_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 Billing 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/billing/accounts/{account_id}/sync":{"post":{"description":"Re-read the workspace's subscription from Stripe and apply plan and billing state (a missed webhook,\na change made in the Stripe dashboard); a subscription Stripe no longer has sends the workspace to free.","operationId":"sync_account_api_v1_admin_billing_accounts__account_id__sync_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":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Sync Account Api V1 Admin Billing Accounts  Account Id  Sync Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Sync Account","tags":["admin"]}},"/api/v1/admin/billing/events":{"get":{"description":"The Stripe webhook events processed so far, newest first, with the workspace and object they named.","operationId":"events_api_v1_admin_billing_events_get","parameters":[{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"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 Events Api V1 Admin Billing Events Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Events","tags":["admin"]}},"/api/v1/admin/billing/overage/sync":{"post":{"description":"Report this month's requests beyond the quota to Stripe now instead of waiting for the scheduled sync.","operationId":"sync_overage_now_api_v1_admin_billing_overage_sync_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 Sync Overage Now Api V1 Admin Billing Overage Sync Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Sync Overage Now","tags":["admin"]}},"/api/v1/admin/billing/subscriptions":{"get":{"description":"Workspaces with a billing history (past due first): plan, state, period end, Stripe ids, this month's\nrequests against the quota and the overage reported. ``state`` is a billing state or ``trial`` (coupon\ntrials); ``q`` matches name, e-mail, slug or a Stripe id.","operationId":"subscriptions_api_v1_admin_billing_subscriptions_get","parameters":[{"in":"query","name":"state","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"in":"query","name":"plan","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"}},{"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":"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 Subscriptions Api V1 Admin Billing Subscriptions Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Subscriptions","tags":["admin"]}},"/api/v1/admin/campaigns":{"get":{"description":"Per campaign: recipients handled so far (mailed, or skipped because they opted out - either way never\ncontacted again), the last one, how many workspaces are due right now; the platform version and the last\none announced; the live promotion the upgrade offer would quote.","operationId":"status_api_v1_admin_campaigns_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 Status Api V1 Admin Campaigns Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Status","tags":["admin"]}},"/api/v1/admin/campaigns/run":{"post":{"description":"Run the campaigns now (all, or the ``campaigns`` named) - the same sweep the accounts service runs on\nthe digest cadence, except that it does not wait for anyone's local daytime. Returns candidates, messages\nsent and recipients skipped (opted out) per campaign.","operationId":"run_api_v1_admin_campaigns_run_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/CampaignRunIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Run Api V1 Admin Campaigns Run Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Run","tags":["admin"]}},"/api/v1/admin/campaigns/{campaign}":{"patch":{"description":"Switch a campaign on or off for the whole deployment. Off: the sweep and *Run now* send nothing for it\n(``release_news`` keeps recording the running version, so nothing piles up). On by default.","operationId":"patch_api_v1_admin_campaigns__campaign__patch","parameters":[{"in":"path","name":"campaign","required":true,"schema":{"title":"Campaign","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/CampaignPatchIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Api V1 Admin Campaigns  Campaign  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch","tags":["admin"]}},"/api/v1/admin/content":{"get":{"description":"Scheduler, writer model, feed, post and subscriber counts, the last issue.","operationId":"status_api_v1_admin_content_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 Status Api V1 Admin Content Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Status","tags":["admin"]}},"/api/v1/admin/content/archive":{"post":{"description":"Archive published posts older than the configured window now (also runs after every refresh).","operationId":"archive_now_api_v1_admin_content_archive_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 Archive Now Api V1 Admin Content Archive Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Archive Now","tags":["admin"]}},"/api/v1/admin/content/feeds":{"get":{"operationId":"feeds_api_v1_admin_content_feeds_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 Feeds Api V1 Admin Content Feeds Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Feeds","tags":["admin"]},"post":{"description":"Register an RSS or Atom feed - or a page that advertises one, the feed is found - fetched on the next\nrefresh (entries from the last 7 days). A reachable URL that is not a feed is refused; an unreachable one\nis registered with the error on it.","operationId":"add_feed_api_v1_admin_content_feeds_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/FeedIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Feed Api V1 Admin Content Feeds Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Feed","tags":["admin"]}},"/api/v1/admin/content/feeds/preview":{"post":{"description":"Look at a URL before registering it: the feed's title, site and newest entries - or, for a page, the\nfeed it advertises; nothing is stored.","operationId":"preview_feed_api_v1_admin_content_feeds_preview_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/FeedPreviewIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Preview Feed Api V1 Admin Content Feeds Preview Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Preview Feed","tags":["admin"]}},"/api/v1/admin/content/feeds/seed":{"post":{"description":"Add every curated default feed the deployment does not follow yet (existing feeds untouched).","operationId":"seed_feeds_api_v1_admin_content_feeds_seed_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 Seed Feeds Api V1 Admin Content Feeds Seed Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Seed Feeds","tags":["admin"]}},"/api/v1/admin/content/feeds/{feed_id}":{"delete":{"description":"Remove the feed and its stored entries; posts already written stay.","operationId":"delete_feed_api_v1_admin_content_feeds__feed_id__delete","parameters":[{"in":"path","name":"feed_id","required":true,"schema":{"title":"Feed 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 Feed Api V1 Admin Content Feeds  Feed Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Feed","tags":["admin"]},"patch":{"operationId":"patch_feed_api_v1_admin_content_feeds__feed_id__patch","parameters":[{"in":"path","name":"feed_id","required":true,"schema":{"title":"Feed 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/FeedPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Feed Api V1 Admin Content Feeds  Feed Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Feed","tags":["admin"]}},"/api/v1/admin/content/feeds/{feed_id}/fetch":{"post":{"description":"Fetch one feed now and write its new posts.","operationId":"fetch_feed_api_v1_admin_content_feeds__feed_id__fetch_post","parameters":[{"in":"path","name":"feed_id","required":true,"schema":{"title":"Feed 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 Fetch Feed Api V1 Admin Content Feeds  Feed Id  Fetch Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Fetch Feed","tags":["admin"]}},"/api/v1/admin/content/issues":{"get":{"description":"Issues newest first, each with the distinct readers who opened and who clicked (``engagement``).","operationId":"issues_api_v1_admin_content_issues_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":30,"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 Issues Api V1 Admin Content Issues Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Issues","tags":["admin"]}},"/api/v1/admin/content/issues/{issue_id}":{"get":{"description":"One issue with its body and engagement: opens, clickers, clicks and the ten most-clicked links.","operationId":"issue_api_v1_admin_content_issues__issue_id__get","parameters":[{"in":"path","name":"issue_id","required":true,"schema":{"title":"Issue 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 Issue Api V1 Admin Content Issues  Issue Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Issue","tags":["admin"]}},"/api/v1/admin/content/newsletter/preview":{"get":{"description":"What the next issue would contain (unmailed posts of the last two days) and how many would receive it.","operationId":"preview_api_v1_admin_content_newsletter_preview_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 Preview Api V1 Admin Content Newsletter Preview Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Preview","tags":["admin"]}},"/api/v1/admin/content/newsletter/send":{"post":{"description":"Send today's issue now to every confirmed subscriber who has not had one today, whatever their local\ntime (``force`` composes a fresh issue and repeats a day).","operationId":"send_api_v1_admin_content_newsletter_send_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":{"anyOf":[{"$ref":"#/components/schemas/SendIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Send Api V1 Admin Content Newsletter Send Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Send","tags":["admin"]}},"/api/v1/admin/content/posts":{"get":{"description":"Every post (any status) newest first; ``status`` filters draft / published / hidden.","operationId":"posts_api_v1_admin_content_posts_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"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 Posts Api V1 Admin Content Posts Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Posts","tags":["admin"]}},"/api/v1/admin/content/posts/delete":{"post":{"description":"Remove posts in bulk: by id, or every post in ``status`` (optionally older than ``older_than_days``).","operationId":"delete_posts_api_v1_admin_content_posts_delete_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/DeletePostsIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Posts Api V1 Admin Content Posts Delete Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Posts","tags":["admin"]}},"/api/v1/admin/content/posts/images":{"post":{"description":"Fetch a lead image (``og:image``) from the source page of public posts that have none; posts still\ncarrying a publisher's logo are cleared first (they show the generated cover until a real image is found).","operationId":"backfill_images_api_v1_admin_content_posts_images_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":{"anyOf":[{"$ref":"#/components/schemas/BackfillImagesIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Backfill Images Api V1 Admin Content Posts Images Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Backfill Images","tags":["admin"]}},"/api/v1/admin/content/posts/images/store":{"post":{"description":"Copy the pictures of public posts that are still served from their source into the platform (newest\nfirst, up to ``limit``); the site then serves them at ``/blog/{slug}/image``. Runs after every poll too.\n``force`` also retries sources that failed in the last week and re-sizes heavy copies stored today.","operationId":"store_images_api_v1_admin_content_posts_images_store_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":{"anyOf":[{"$ref":"#/components/schemas/StoreImagesIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Store Images Api V1 Admin Content Posts Images Store Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Store Images","tags":["admin"]}},"/api/v1/admin/content/posts/product-sections":{"post":{"description":"Give public posts written before the *How OpenSmartRoute helps* section existed that section, newest\nfirst, up to ``limit`` per call - written by the model for each story (``model``, one metered pass per\npost) or, with ``model`` off, the hand-written text angled by the post's tags. Runs after every poll too,\na few posts at a time.","operationId":"product_sections_api_v1_admin_content_posts_product_sections_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":{"anyOf":[{"$ref":"#/components/schemas/ProductSectionsIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Product Sections Api V1 Admin Content Posts Product Sections Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Product Sections","tags":["admin"]}},"/api/v1/admin/content/posts/{post_id}":{"delete":{"operationId":"delete_post_api_v1_admin_content_posts__post_id__delete","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post 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 Post Api V1 Admin Content Posts  Post Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Post","tags":["admin"]},"get":{"operationId":"post_api_v1_admin_content_posts__post_id__get","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post 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 Post Api V1 Admin Content Posts  Post Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Post","tags":["admin"]},"patch":{"description":"Edit or change the status of a post (``published`` sets ``published_at`` on the first publish).","operationId":"patch_post_api_v1_admin_content_posts__post_id__patch","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post 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/PostPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Post Api V1 Admin Content Posts  Post Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Post","tags":["admin"]}},"/api/v1/admin/content/posts/{post_id}/regenerate":{"post":{"description":"Rewrite the post from its source entry with the current writer model.","operationId":"regenerate_api_v1_admin_content_posts__post_id__regenerate_post","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post 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 Regenerate Api V1 Admin Content Posts  Post Id  Regenerate Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Regenerate","tags":["admin"]}},"/api/v1/admin/content/refresh":{"post":{"description":"Poll the feeds now (all enabled, or ``feed_ids``) and write posts for the new entries.","operationId":"refresh_api_v1_admin_content_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"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ContentRefreshIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Refresh Api V1 Admin Content Refresh Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Refresh","tags":["admin"]}},"/api/v1/admin/content/subscribers":{"get":{"operationId":"subscribers_api_v1_admin_content_subscribers_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"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 Subscribers Api V1 Admin Content Subscribers Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Subscribers","tags":["admin"]},"post":{"description":"Add an address by hand (``confirmed`` skips the opt-in mail - only for addresses that asked elsewhere).","operationId":"add_subscriber_api_v1_admin_content_subscribers_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/SubscriberIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Subscriber Api V1 Admin Content Subscribers Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Subscriber","tags":["admin"]}},"/api/v1/admin/content/subscribers/{subscriber_id}":{"delete":{"operationId":"delete_subscriber_api_v1_admin_content_subscribers__subscriber_id__delete","parameters":[{"in":"path","name":"subscriber_id","required":true,"schema":{"title":"Subscriber 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 Subscriber Api V1 Admin Content Subscribers  Subscriber Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Subscriber","tags":["admin"]}},"/api/v1/admin/coupons":{"get":{"description":"Every coupon with its counters; ``promotion`` is the auto-apply coupon currently on offer.","operationId":"list_coupons_api_v1_admin_coupons_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 Coupons Api V1 Admin Coupons Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Coupons","tags":["admin"]},"post":{"description":"Create a coupon. ``plans`` empty = every paid plan; ``auto_apply`` applies it to every eligible\ncheckout without the code being typed; ``valid_until`` is unix seconds or ``YYYY-MM-DD``.","operationId":"create_coupon_api_v1_admin_coupons_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/CouponCreateIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Coupon Api V1 Admin Coupons Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create Coupon","tags":["admin"]}},"/api/v1/admin/coupons/sweep":{"post":{"description":"Run the trial expiry now (the API does it every ``OSR_PLATFORM_TRIAL_SWEEP_S`` seconds).","operationId":"sweep_api_v1_admin_coupons_sweep_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 Sweep Api V1 Admin Coupons Sweep Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Sweep","tags":["admin"]}},"/api/v1/admin/coupons/{code}":{"get":{"operationId":"get_coupon_api_v1_admin_coupons__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"title":"Code","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 Coupon Api V1 Admin Coupons  Code  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Coupon","tags":["admin"]},"patch":{"description":"Change a coupon's terms or disable it (``disabled: true`` stops new redemptions; running trials keep\ntheir end date).","operationId":"patch_coupon_api_v1_admin_coupons__code__patch","parameters":[{"in":"path","name":"code","required":true,"schema":{"title":"Code","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/CouponPatchIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Coupon Api V1 Admin Coupons  Code  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Coupon","tags":["admin"]}},"/api/v1/admin/finance/accounts/{account_id}/billing-mode":{"put":{"description":"Switch a workspace between ``subscription`` (plan + overage), ``wallet`` (prepaid credits) and\n``invoice`` (net terms); None = the plan's default.","operationId":"set_mode_api_v1_admin_finance_accounts__account_id__billing_mode_put","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/BillingModeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Mode Api V1 Admin Finance Accounts  Account Id  Billing Mode Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Mode","tags":["admin"]}},"/api/v1/admin/finance/accounts/{account_id}/ledger":{"get":{"operationId":"account_ledger_api_v1_admin_finance_accounts__account_id__ledger_get","parameters":[{"in":"path","name":"account_id","required":true,"schema":{"title":"Account Id","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":200,"maximum":2000,"minimum":1,"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 Account Ledger Api V1 Admin Finance Accounts  Account Id  Ledger Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Account Ledger","tags":["admin"]},"post":{"description":"A signed ``adjustment`` / ``promo`` / ``refund`` entry with a reason (never an edit of the ledger).","operationId":"adjust_api_v1_admin_finance_accounts__account_id__ledger_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/AdjustmentIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Adjust Api V1 Admin Finance Accounts  Account Id  Ledger Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Adjust","tags":["admin"]}},"/api/v1/admin/finance/alerts":{"get":{"description":"The money alerts of the deployment, most severe first: prepaid provider balances (``provider_balance``),\nmodels sold below cost or under the margin floor (``margin``) and offers priced above the vendor's list\nprice (``above_list_price``) - the same rows the console health page and the notifier see.","operationId":"alerts_api_v1_admin_finance_alerts_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 Alerts Api V1 Admin Finance Alerts Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Alerts","tags":["admin"]}},"/api/v1/admin/finance/prices":{"get":{"description":"The provider price book: list (``catalogue``), ``manual`` and ``contract`` rows per model and unit.","operationId":"prices_api_v1_admin_finance_prices_get","parameters":[{"in":"query","name":"model","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},{"in":"query","name":"include_expired","required":false,"schema":{"default":false,"title":"Include Expired","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 Prices Api V1 Admin Finance Prices Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Prices","tags":["admin"]},"post":{"description":"Add a price row (a contract row of a provider beats the list price); needs a ``reason``.","operationId":"add_price_api_v1_admin_finance_prices_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/PriceIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Price Api V1 Admin Finance Prices Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Price","tags":["admin"]}},"/api/v1/admin/finance/prices/seed":{"post":{"description":"Write the reference catalogue's list prices into the book (manual / contract rows untouched).","operationId":"seed_api_v1_admin_finance_prices_seed_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 Seed Api V1 Admin Finance Prices Seed Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Seed","tags":["admin"]}},"/api/v1/admin/finance/prices/{price_id}":{"delete":{"description":"End a price row now (history is kept).","operationId":"close_price_api_v1_admin_finance_prices__price_id__delete","parameters":[{"in":"path","name":"price_id","required":true,"schema":{"title":"Price Id","type":"integer"}},{"in":"query","name":"reason","required":true,"schema":{"minLength":1,"title":"Reason","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 Close Price Api V1 Admin Finance Prices  Price Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Close Price","tags":["admin"]}},"/api/v1/admin/finance/provider-invoices":{"get":{"operationId":"provider_invoices_api_v1_admin_finance_provider_invoices_get","parameters":[{"in":"query","name":"provider_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"}},{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"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 Provider Invoices Api V1 Admin Finance Provider Invoices Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Provider Invoices","tags":["admin"]},"post":{"description":"Record a provider invoice for a period (``expected`` rows are the platform's own forecast).","operationId":"add_invoice_api_v1_admin_finance_provider_invoices_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/ProviderInvoiceIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Invoice Api V1 Admin Finance Provider Invoices Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Invoice","tags":["admin"]}},"/api/v1/admin/finance/provider-invoices/{invoice_id}":{"put":{"description":"Move an invoice between ``received`` / ``disputed`` / ``paid`` (settlement = recording ``paid``).","operationId":"set_invoice_status_api_v1_admin_finance_provider_invoices__invoice_id__put","parameters":[{"in":"path","name":"invoice_id","required":true,"schema":{"title":"Invoice Id","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"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderInvoiceStatusIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Invoice Status Api V1 Admin Finance Provider Invoices  Invoice Id  Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Invoice Status","tags":["admin"]}},"/api/v1/admin/finance/providers":{"get":{"description":"Every provider's finance view: prepaid balance projection, spend, invoices per state.","operationId":"provider_accounts_api_v1_admin_finance_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 Provider Accounts Api V1 Admin Finance Providers Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Provider Accounts","tags":["admin"]}},"/api/v1/admin/finance/providers/{provider_id}":{"put":{"description":"Prepaid balance, credit limit, low-balance threshold and contract terms of a provider.","operationId":"set_provider_account_api_v1_admin_finance_providers__provider_id__put","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/ProviderAccountIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Provider Account Api V1 Admin Finance Providers  Provider Id  Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Provider Account","tags":["admin"]}},"/api/v1/admin/finance/providers/{provider_id}/reconcile":{"get":{"description":"Expected spend (the platform's metered provider cost) against the invoices recorded for the period,\nwith the models behind the expectation.","operationId":"reconcile_api_v1_admin_finance_providers__provider_id__reconcile_get","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"query","name":"period_start","required":true,"schema":{"title":"Period Start","type":"string"}},{"in":"query","name":"period_end","required":true,"schema":{"title":"Period End","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 Reconcile Api V1 Admin Finance Providers  Provider Id  Reconcile Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reconcile","tags":["admin"]}},"/api/v1/admin/finance/quote":{"post":{"description":"Price a hypothetical request with the books and rules in force (what a customer would be charged).","operationId":"quote_route_api_v1_admin_finance_quote_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/QuoteIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Quote Route Api V1 Admin Finance Quote Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Quote Route","tags":["admin"]}},"/api/v1/admin/finance/rules":{"get":{"description":"Pricing rules (markups, tiers, per-million overrides, promotions, FX, minimum charge) by scope.","operationId":"rules_api_v1_admin_finance_rules_get","parameters":[{"in":"query","name":"include_expired","required":false,"schema":{"default":false,"title":"Include Expired","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 Rules Api V1 Admin Finance Rules Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Rules","tags":["admin"]},"post":{"description":"Add a rule; ``scope`` account / plan / deployment with ``scope_id`` the account id or plan name.","operationId":"add_rule_api_v1_admin_finance_rules_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/RuleIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Rule Api V1 Admin Finance Rules Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Rule","tags":["admin"]}},"/api/v1/admin/finance/rules/{rule_id}":{"delete":{"description":"End a rule now.","operationId":"close_rule_api_v1_admin_finance_rules__rule_id__delete","parameters":[{"in":"path","name":"rule_id","required":true,"schema":{"title":"Rule Id","type":"integer"}},{"in":"query","name":"reason","required":true,"schema":{"minLength":1,"title":"Reason","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 Close Rule Api V1 Admin Finance Rules  Rule Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Close Rule","tags":["admin"]}},"/api/v1/admin/finance/versions":{"get":{"description":"Frozen price versions (the ``price_version`` metered rows carry), newest first.","operationId":"versions_api_v1_admin_finance_versions_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":500,"minimum":1,"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 Versions Api V1 Admin Finance Versions Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Versions","tags":["admin"]}},"/api/v1/admin/finance/versions/{version}":{"get":{"operationId":"version_api_v1_admin_finance_versions__version__get","parameters":[{"in":"path","name":"version","required":true,"schema":{"title":"Version","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 Version Api V1 Admin Finance Versions  Version  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Version","tags":["admin"]}},"/api/v1/admin/finance/wallets":{"get":{"description":"Deployment-wide credits: outstanding balances, what was credited and consumed, wallet workspaces.","operationId":"wallets_api_v1_admin_finance_wallets_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 Wallets Api V1 Admin Finance Wallets Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Wallets","tags":["admin"]}},"/api/v1/admin/finance/wallets/sync":{"post":{"description":"Run the finance pass now: expire dead spend holds, price rows left unpriced, settle every wallet\nworkspace's charges through today.","operationId":"wallet_sync_api_v1_admin_finance_wallets_sync_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 Wallet Sync Api V1 Admin Finance Wallets Sync Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Wallet Sync","tags":["admin"]}},"/api/v1/admin/growth":{"get":{"description":"Engine status, the last run and the signup funnel of the last 30 days.","operationId":"status_api_v1_admin_growth_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 Status Api V1 Admin Growth Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Status","tags":["admin"]}},"/api/v1/admin/growth/campaigns":{"get":{"operationId":"campaigns_api_v1_admin_growth_campaigns_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 Campaigns Api V1 Admin Growth Campaigns Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Campaigns","tags":["admin"]}},"/api/v1/admin/growth/campaigns/export":{"get":{"description":"Google Ads Editor (``google``) or Microsoft Advertising bulk (``microsoft``) CSV of every campaign.","operationId":"export_api_v1_admin_growth_campaigns_export_get","parameters":[{"in":"query","name":"network","required":false,"schema":{"default":"google","title":"Network","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":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Export","tags":["admin"]}},"/api/v1/admin/growth/campaigns/sync":{"post":{"description":"Push the non-draft Google campaigns now (needs the Google Ads credentials and a daily budget).","operationId":"sync_api_v1_admin_growth_campaigns_sync_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 Sync Api V1 Admin Growth Campaigns Sync Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Sync","tags":["admin"]}},"/api/v1/admin/growth/campaigns/{cid}":{"delete":{"operationId":"delete_campaign_api_v1_admin_growth_campaigns__cid__delete","parameters":[{"in":"path","name":"cid","required":true,"schema":{"title":"Cid","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 Campaign","tags":["admin"]},"patch":{"operationId":"patch_campaign_api_v1_admin_growth_campaigns__cid__patch","parameters":[{"in":"path","name":"cid","required":true,"schema":{"title":"Cid","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/GrowthCampaignPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Campaign Api V1 Admin Growth Campaigns  Cid  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Campaign","tags":["admin"]}},"/api/v1/admin/growth/campaigns/{cid}/ads":{"post":{"description":"Write the campaign's responsive search ad again through the router.","operationId":"rewrite_ad_api_v1_admin_growth_campaigns__cid__ads_post","parameters":[{"in":"path","name":"cid","required":true,"schema":{"title":"Cid","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 Rewrite Ad Api V1 Admin Growth Campaigns  Cid  Ads Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Rewrite Ad","tags":["admin"]}},"/api/v1/admin/growth/cohorts":{"get":{"description":"Signup-week cohorts: first execution and first accepted outcome (time to each, non-completers),\nactivation within seven days, week-two and month-two retained value with explicit denominators, and the\npaying count as a plan state. ``weeks`` is the number of signup weeks (1-52).","operationId":"report_api_v1_admin_growth_cohorts_get","parameters":[{"in":"query","name":"weeks","required":false,"schema":{"default":8,"title":"Weeks","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 Report Api V1 Admin Growth Cohorts Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Report","tags":["admin"]}},"/api/v1/admin/growth/cycle":{"post":{"description":"Run a cycle now (optionally only some steps: search_console, keywords, content, seo_audit, indexnow,\nsearch_engines, index, directories, social, ads, metrics, budget, sync); ignores the leader lease.","operationId":"cycle_api_v1_admin_growth_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"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GrowthCycleIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Cycle Api V1 Admin Growth Cycle Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Cycle","tags":["admin"]}},"/api/v1/admin/growth/directories":{"get":{"description":"The register with each listing's status, what the last check found and the visits and signups it brought.","operationId":"directories_api_v1_admin_growth_directories_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 Directories Api V1 Admin Growth Directories Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Directories","tags":["admin"]},"post":{"operationId":"add_directory_api_v1_admin_growth_directories_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/DirectoryIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Directory Api V1 Admin Growth Directories Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Directory","tags":["admin"]}},"/api/v1/admin/growth/directories/check":{"post":{"description":"Re-read every listing now, whatever its schedule says.","operationId":"check_all_api_v1_admin_growth_directories_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"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Check All Api V1 Admin Growth Directories Check Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Check All","tags":["admin"]}},"/api/v1/admin/growth/directories/{did}":{"delete":{"operationId":"delete_directory_api_v1_admin_growth_directories__did__delete","parameters":[{"in":"path","name":"did","required":true,"schema":{"title":"Did","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 Directory","tags":["admin"]},"patch":{"operationId":"patch_directory_api_v1_admin_growth_directories__did__patch","parameters":[{"in":"path","name":"did","required":true,"schema":{"title":"Did","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/DirectoryPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Directory Api V1 Admin Growth Directories  Did  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Directory","tags":["admin"]}},"/api/v1/admin/growth/directories/{did}/check":{"post":{"operationId":"check_one_api_v1_admin_growth_directories__did__check_post","parameters":[{"in":"path","name":"did","required":true,"schema":{"title":"Did","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 One Api V1 Admin Growth Directories  Did  Check Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Check One","tags":["admin"]}},"/api/v1/admin/growth/directories/{did}/submit":{"post":{"description":"E-mail the kit to the directory's submission address (or, without one, mark the row submitted).","operationId":"submit_one_api_v1_admin_growth_directories__did__submit_post","parameters":[{"in":"path","name":"did","required":true,"schema":{"title":"Did","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 Submit One Api V1 Admin Growth Directories  Did  Submit Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Submit One","tags":["admin"]}},"/api/v1/admin/growth/funnel":{"get":{"description":"Signups per source / medium / campaign with how far each cohort got (verified, active, paid).","operationId":"funnel_api_v1_admin_growth_funnel_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 Funnel Api V1 Admin Growth Funnel Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Funnel","tags":["admin"]}},"/api/v1/admin/growth/indexnow":{"get":{"operationId":"indexnow_list_api_v1_admin_growth_indexnow_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 Indexnow List Api V1 Admin Growth Indexnow Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Indexnow List","tags":["admin"]},"post":{"description":"Submit the given site URLs (or every public post that was never accepted) to IndexNow.","operationId":"indexnow_submit_api_v1_admin_growth_indexnow_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":{"anyOf":[{"$ref":"#/components/schemas/GrowthIndexNowIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Indexnow Submit Api V1 Admin Growth Indexnow Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Indexnow Submit","tags":["admin"]}},"/api/v1/admin/growth/keywords":{"get":{"operationId":"keywords_api_v1_admin_growth_keywords_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"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 Keywords Api V1 Admin Growth Keywords Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Keywords","tags":["admin"]},"post":{"operationId":"add_keyword_api_v1_admin_growth_keywords_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/GrowthKeywordIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Keyword Api V1 Admin Growth Keywords Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Keyword","tags":["admin"]}},"/api/v1/admin/growth/keywords/{term}":{"delete":{"operationId":"delete_keyword_api_v1_admin_growth_keywords__term__delete","parameters":[{"in":"path","name":"term","required":true,"schema":{"title":"Term","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 Keyword","tags":["admin"]},"patch":{"operationId":"patch_keyword_api_v1_admin_growth_keywords__term__patch","parameters":[{"in":"path","name":"term","required":true,"schema":{"title":"Term","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/GrowthKeywordPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Keyword Api V1 Admin Growth Keywords  Term  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Keyword","tags":["admin"]}},"/api/v1/admin/growth/kit":{"get":{"description":"The listing kit: texts at the directories' lengths, links, logos and facts, ready to paste.","operationId":"kit_api_v1_admin_growth_kit_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 Kit Api V1 Admin Growth Kit Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Kit","tags":["admin"]},"post":{"description":"Write the kit's texts again through the router (503 when no writing model is executable).","operationId":"regenerate_kit_api_v1_admin_growth_kit_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 Regenerate Kit Api V1 Admin Growth Kit Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Regenerate Kit","tags":["admin"]}},"/api/v1/admin/growth/kit/email":{"get":{"description":"The kit as the plain-text e-mail a submission sends.","operationId":"kit_email_api_v1_admin_growth_kit_email_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":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Kit Email","tags":["admin"]}},"/api/v1/admin/growth/queries":{"get":{"description":"Search Console queries aggregated over the window (empty until a property is connected).","operationId":"queries_api_v1_admin_growth_queries_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":28,"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 Queries Api V1 Admin Growth Queries Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Queries","tags":["admin"]}},"/api/v1/admin/growth/runs":{"get":{"operationId":"runs_api_v1_admin_growth_runs_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":{"additionalProperties":true,"title":"Response Runs Api V1 Admin Growth Runs Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Runs","tags":["admin"]}},"/api/v1/admin/growth/search-engines":{"get":{"description":"IndexNow, Google Search Console and Bing Webmaster: what was submitted, what Google says is indexed.","operationId":"search_engines_api_v1_admin_growth_search_engines_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 Search Engines Api V1 Admin Growth Search Engines Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Search Engines","tags":["admin"]}},"/api/v1/admin/growth/search-engines/submit":{"post":{"description":"Submit the sitemaps and the pending addresses now, then read the index status of the key pages.","operationId":"submit_api_v1_admin_growth_search_engines_submit_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":{"anyOf":[{"$ref":"#/components/schemas/SearchEnginesRunIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Submit Api V1 Admin Growth Search Engines Submit Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Submit","tags":["admin"]}},"/api/v1/admin/growth/social":{"get":{"description":"LinkedIn status (author, cadence, next due) and the recorded posts, newest first.","operationId":"social_list_api_v1_admin_growth_social_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":50,"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 Social List Api V1 Admin Growth Social Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Social List","tags":["admin"]},"post":{"description":"Publish a LinkedIn post now, ignoring the cadence: the engine's pick, a given blog post (``slug``) or a\ngiven ``text``. 503 without LinkedIn credentials, 502 when LinkedIn rejects the post.","operationId":"social_post_api_v1_admin_growth_social_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":{"anyOf":[{"$ref":"#/components/schemas/GrowthSocialIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Social Post Api V1 Admin Growth Social Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Social Post","tags":["admin"]}},"/api/v1/admin/growth/social/linkedin":{"delete":{"description":"Forget the stored LinkedIn connection (an environment token, when set, keeps posting).","operationId":"linkedin_disconnect_api_v1_admin_growth_social_linkedin_delete","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":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Linkedin Disconnect","tags":["admin"]},"patch":{"description":"Post as another author with the stored connection (a company page URN or id, or a person URN).","operationId":"linkedin_author_api_v1_admin_growth_social_linkedin_patch","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/GrowthLinkedInAuthorIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Linkedin Author Api V1 Admin Growth Social Linkedin Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Linkedin Author","tags":["admin"]}},"/api/v1/admin/growth/social/linkedin/connect":{"post":{"description":"Start the LinkedIn consent flow: the URL to open in the browser (valid ten minutes), the redirect URL to\nregister on the LinkedIn app and the scopes asked for. ``pages`` adds the company-page scopes so a page can\nbe picked afterwards. 503 without the app's client id and secret.","operationId":"linkedin_connect_api_v1_admin_growth_social_linkedin_connect_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":{"anyOf":[{"$ref":"#/components/schemas/GrowthLinkedInConnectIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Linkedin Connect Api V1 Admin Growth Social Linkedin Connect Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Linkedin Connect","tags":["admin"]}},"/api/v1/admin/growth/social/linkedin/organizations":{"get":{"description":"The company pages the connected member administers (``[{urn, id, name}]``), to pick who posts. 503\nwithout a connection, 409 when it lacks the page scopes, 502 when LinkedIn refuses.","operationId":"linkedin_organizations_api_v1_admin_growth_social_linkedin_organizations_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 Linkedin Organizations Api V1 Admin Growth Social Linkedin Organizations Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Linkedin Organizations","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/legal":{"get":{"description":"Per document: the version in effect, an announced one, the history and how many users accepted.","operationId":"overview_api_v1_admin_legal_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 Legal 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/legal/versions":{"post":{"description":"Publish a new version of the terms or the privacy notice. With ``effective_at`` in the future the\nchange is announced and applies on that date; with ``notify`` every user is e-mailed and every\nworkspace gets an in-app notification. People must accept the new version once it is in effect.","operationId":"publish_api_v1_admin_legal_versions_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/LegalVersionIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Publish Api V1 Admin Legal Versions Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Publish","tags":["admin"]}},"/api/v1/admin/legal/versions/{version_id}/notify":{"post":{"description":"Send the change notice for a published version (again).","operationId":"renotify_api_v1_admin_legal_versions__version_id__notify_post","parameters":[{"in":"path","name":"version_id","required":true,"schema":{"title":"Version 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 Renotify Api V1 Admin Legal Versions  Version Id  Notify Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Renotify","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 a transport this is\nwhere operators pick the links up; with one (Microsoft 365, ACS or SMTP) ``sent_at`` / ``error`` show\ndelivery. Filters: ``to`` (substring), ``unsent``, ``failed``, ``kind``; ``summary`` carries the\ndeployment-wide counters, ``summary.categories`` the stored mail per category and ``opt_outs`` how\nmany users switched each optional category off.","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/suppressions":{"get":{"description":"Addresses the platform will not mail: hard bounces and complaints reported by the transport, soft\nbounces for thirty days, and addresses an operator listed. Every category is held back, security mail\nincluded - the address is not reachable.","operationId":"mail_suppressions_api_v1_admin_mail_suppressions_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 Mail Suppressions Api V1 Admin Mail Suppressions Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Suppressions","tags":["admin"]},"post":{"description":"Put an address on the suppression list by hand (a complaint that arrived out of band, a request to stop\nall mail). ``reason``: ``bounce``, ``complaint`` or ``manual``.","operationId":"mail_suppress_api_v1_admin_mail_suppressions_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/AdminSuppressIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mail Suppress Api V1 Admin Mail Suppressions Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Suppress","tags":["admin"]}},"/api/v1/admin/mail/suppressions/{email}":{"delete":{"description":"Take an address off the list (it asked to hear from us again, or the bounce was a mistake).","operationId":"mail_unsuppress_api_v1_admin_mail_suppressions__email__delete","parameters":[{"in":"path","name":"email","required":true,"schema":{"title":"Email","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 Unsuppress Api V1 Admin Mail Suppressions  Email  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Unsuppress","tags":["admin"]}},"/api/v1/admin/mail/templates":{"get":{"description":"Every message the platform can send, with its category, whether people can switch it off and how many\nwent out so far - the gallery the console previews and sends samples from.","operationId":"mail_templates_api_v1_admin_mail_templates_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 Mail Templates Api V1 Admin Mail Templates Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Templates","tags":["admin"]}},"/api/v1/admin/mail/templates/{kind}":{"get":{"description":"``kind`` rendered with sample data: the subject, the HTML and the plain-text alternative.","operationId":"mail_template_api_v1_admin_mail_templates__kind__get","parameters":[{"in":"path","name":"kind","required":true,"schema":{"title":"Kind","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 Template Api V1 Admin Mail Templates  Kind  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Template","tags":["admin"]}},"/api/v1/admin/mail/templates/{kind}/send":{"post":{"description":"Send the sample of ``kind`` to ``to`` (an operator's own inbox) to check the words and the design in a\nreal mail client. Stored in the outbox under the kind with a ``[Sample]`` subject.","operationId":"mail_template_send_api_v1_admin_mail_templates__kind__send_post","parameters":[{"in":"path","name":"kind","required":true,"schema":{"title":"Kind","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/AdminMailTestIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mail Template Send Api V1 Admin Mail Templates  Kind  Send Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mail Template Send","tags":["admin"]}},"/api/v1/admin/mail/test":{"post":{"description":"Send a test message to ``to`` to prove the email transport (Microsoft 365, ACS or SMTP); without one\nthe message only lands in the outbox (``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/model-servers":{"get":{"description":"Every self-hosted model server with what it holds in memory and in its store, inspected live.","operationId":"list_servers_api_v1_admin_model_servers_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 Servers Api V1 Admin Model Servers Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Servers","tags":["model-servers"]}},"/api/v1/admin/model-servers/jobs/{job_id}":{"get":{"operationId":"get_job_api_v1_admin_model_servers_jobs__job_id__get","parameters":[{"in":"path","name":"job_id","required":true,"schema":{"title":"Job 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 Job Api V1 Admin Model Servers Jobs  Job Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Job","tags":["model-servers"]}},"/api/v1/admin/model-servers/{provider_id}":{"get":{"description":"One server in detail (the model server adds footprints, engine arguments and store usage).","operationId":"get_server_api_v1_admin_model_servers__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 Server Api V1 Admin Model Servers  Provider Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Server","tags":["model-servers"]}},"/api/v1/admin/model-servers/{provider_id}/load":{"post":{"description":"Load a model into memory now (``keep_alive`` -1 pins it).","operationId":"load_model_api_v1_admin_model_servers__provider_id__load_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"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelAction"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Load Model Api V1 Admin Model Servers  Provider Id  Load Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Load Model","tags":["model-servers"]}},"/api/v1/admin/model-servers/{provider_id}/logs":{"get":{"description":"The engine's last log lines for a loaded model (model server only).","operationId":"engine_logs_api_v1_admin_model_servers__provider_id__logs_get","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"query","name":"model","required":true,"schema":{"title":"Model","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 Engine Logs Api V1 Admin Model Servers  Provider Id  Logs Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Engine Logs","tags":["model-servers"]}},"/api/v1/admin/model-servers/{provider_id}/models/{model}":{"delete":{"description":"Delete a model from the server's store (a model a target maps to is refused).","operationId":"delete_model_api_v1_admin_model_servers__provider_id__models__model__delete","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"path","name":"model","required":true,"schema":{"title":"Model","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 Model Api V1 Admin Model Servers  Provider Id  Models  Model  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Model","tags":["model-servers"]}},"/api/v1/admin/model-servers/{provider_id}/pull":{"post":{"description":"Download a model into the server's store; follow progress at ``/jobs/{id}``.","operationId":"pull_model_api_v1_admin_model_servers__provider_id__pull_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"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelAction"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Pull Model Api V1 Admin Model Servers  Provider Id  Pull Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Pull Model","tags":["model-servers"]}},"/api/v1/admin/model-servers/{provider_id}/unload":{"post":{"description":"Evict a model from memory (the store keeps it).","operationId":"unload_model_api_v1_admin_model_servers__provider_id__unload_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"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelAction"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Unload Model Api V1 Admin Model Servers  Provider Id  Unload Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Unload Model","tags":["model-servers"]}},"/api/v1/admin/newsletter":{"get":{"description":"Subscribers (filter by ``q`` / ``active``) and every campaign, newest first.","operationId":"newsletter_overview_api_v1_admin_newsletter_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"active","required":false,"schema":{"default":false,"title":"Active","type":"boolean"}},{"in":"query","name":"limit","required":false,"schema":{"default":200,"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 Newsletter Overview Api V1 Admin Newsletter Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Newsletter Overview","tags":["admin"]}},"/api/v1/admin/newsletter/campaigns":{"post":{"operationId":"campaign_create_api_v1_admin_newsletter_campaigns_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/CampaignIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Campaign Create Api V1 Admin Newsletter Campaigns Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Campaign Create","tags":["admin"]}},"/api/v1/admin/newsletter/campaigns/{campaign_id}":{"delete":{"operationId":"campaign_delete_api_v1_admin_newsletter_campaigns__campaign_id__delete","parameters":[{"in":"path","name":"campaign_id","required":true,"schema":{"title":"Campaign 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 Campaign Delete Api V1 Admin Newsletter Campaigns  Campaign Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Campaign Delete","tags":["admin"]},"get":{"operationId":"campaign_get_api_v1_admin_newsletter_campaigns__campaign_id__get","parameters":[{"in":"path","name":"campaign_id","required":true,"schema":{"title":"Campaign 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 Campaign Get Api V1 Admin Newsletter Campaigns  Campaign Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Campaign Get","tags":["admin"]},"patch":{"operationId":"campaign_patch_api_v1_admin_newsletter_campaigns__campaign_id__patch","parameters":[{"in":"path","name":"campaign_id","required":true,"schema":{"title":"Campaign 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/CampaignPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Campaign Patch Api V1 Admin Newsletter Campaigns  Campaign Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Campaign Patch","tags":["admin"]}},"/api/v1/admin/newsletter/campaigns/{campaign_id}/send":{"post":{"description":"Send the campaign once to every confirmed reader and every active hand-added subscriber; each gets\ntheir own unsubscribe link. An address on both lists receives one copy.","operationId":"campaign_send_api_v1_admin_newsletter_campaigns__campaign_id__send_post","parameters":[{"in":"path","name":"campaign_id","required":true,"schema":{"title":"Campaign 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 Campaign Send Api V1 Admin Newsletter Campaigns  Campaign Id  Send Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Campaign Send","tags":["admin"]}},"/api/v1/admin/newsletter/campaigns/{campaign_id}/test":{"post":{"description":"Send the campaign to one address only (the unsubscribe link in it is inert).","operationId":"campaign_test_api_v1_admin_newsletter_campaigns__campaign_id__test_post","parameters":[{"in":"path","name":"campaign_id","required":true,"schema":{"title":"Campaign 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/CampaignTestIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Campaign Test Api V1 Admin Newsletter Campaigns  Campaign Id  Test Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Campaign Test","tags":["admin"]}},"/api/v1/admin/newsletter/subscribers":{"post":{"description":"Add an address by hand (an event sign-up sheet, a customer who asked); no confirmation mail.","operationId":"newsletter_add_api_v1_admin_newsletter_subscribers_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/NewsletterSubscribeIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Newsletter Add Api V1 Admin Newsletter Subscribers Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Newsletter Add","tags":["admin"]}},"/api/v1/admin/newsletter/subscribers.csv":{"get":{"operationId":"newsletter_csv_api_v1_admin_newsletter_subscribers_csv_get","parameters":[{"in":"query","name":"active","required":false,"schema":{"default":true,"title":"Active","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":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Newsletter Csv","tags":["admin"]}},"/api/v1/admin/newsletter/subscribers/{subscriber_id}":{"delete":{"operationId":"newsletter_remove_api_v1_admin_newsletter_subscribers__subscriber_id__delete","parameters":[{"in":"path","name":"subscriber_id","required":true,"schema":{"title":"Subscriber 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 Newsletter Remove Api V1 Admin Newsletter Subscribers  Subscriber Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Newsletter Remove","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/offers":{"get":{"description":"Every offer row (enabled or not) with the card and the provider behind it.","operationId":"admin_list_api_v1_admin_offers_get","parameters":[{"in":"query","name":"provider_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider 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 Admin List Api V1 Admin Offers Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Admin List","tags":["offers"]},"post":{"description":"Offer one catalogue model on one provider (``upstream_model`` defaults to the model name).","operationId":"create_offer_api_v1_admin_offers_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/OfferIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Offer Api V1 Admin Offers Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create Offer","tags":["offers"]}},"/api/v1/admin/offers/desk":{"get":{"description":"The reseller's desk: every offer with what the deployment pays the provider per million tokens, what a\nworkspace on the public tariff is charged, the margin between them, and the last seven days of traffic\nwith the realised cost, charge and margin - so an operator sees at a glance which offers earn, which\nlose money and which are priced off the list instead of a provider contract.","operationId":"admin_desk_api_v1_admin_offers_desk_get","parameters":[{"in":"query","name":"provider_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider 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 Admin Desk Api V1 Admin Offers Desk Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Admin Desk","tags":["offers"]}},"/api/v1/admin/offers/{vendor}/{rest}":{"delete":{"operationId":"delete_offer_api_v1_admin_offers__vendor___rest__delete","parameters":[{"in":"path","name":"vendor","required":true,"schema":{"title":"Vendor","type":"string"}},{"in":"path","name":"rest","required":true,"schema":{"title":"Rest","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 Offer","tags":["offers"]},"patch":{"description":"Enable / disable an offer, change its upstream id, region, data policy or notes.","operationId":"patch_offer_api_v1_admin_offers__vendor___rest__patch","parameters":[{"in":"path","name":"vendor","required":true,"schema":{"title":"Vendor","type":"string"}},{"in":"path","name":"rest","required":true,"schema":{"title":"Rest","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/OfferPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Offer Api V1 Admin Offers  Vendor   Rest  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Offer","tags":["offers"]}},"/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/invitations":{"get":{"operationId":"list_invitations_api_v1_admin_operators_invitations_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 Invitations Api V1 Admin Operators Invitations Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Invitations","tags":["admin"]},"post":{"description":"Invite an operator by e-mail. The link is mailed and returned as ``accept_url`` (shown once) for a\ndeployment without a mail transport; an open invitation for the same address is superseded.","operationId":"invite_api_v1_admin_operators_invitations_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/OperatorInviteIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Invite Api V1 Admin Operators Invitations Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Invite","tags":["admin"]}},"/api/v1/admin/operators/invitations/{invitation_id}":{"delete":{"operationId":"revoke_api_v1_admin_operators_invitations__invitation_id__delete","parameters":[{"in":"path","name":"invitation_id","required":true,"schema":{"title":"Invitation 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 Api V1 Admin Operators Invitations  Invitation Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Revoke","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,\nand the state of outgoing mail.","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":{"description":"The plan catalogue in force, each with the changes operators made at run time (``overrides``) and\nthe fields the deployment's environment sets (``env_overrides``).","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/plans/{name}":{"delete":{"description":"Remove the run-time changes of a plan (superadmin): it returns to what the environment and the shipped\ncatalogue define, applied the same way as a change.","operationId":"reset_plan_api_v1_admin_plans__name__delete","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","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 Reset Plan Api V1 Admin Plans  Name  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reset Plan","tags":["admin"]},"patch":{"description":"Change a plan of the catalogue for the whole deployment (superadmin): quotas, prices, overage, trial,\nsupport tier, SLA, features or description. Checked field by field (400 names the offence), stored as a\nrun-time override that wins over ``OSR_PLATFORM_PLAN_OVERRIDES``, in force at once for every workspace\non the plan and adopted by every other process within a reload. 404 for a plan that does not exist.","operationId":"patch_plan_api_v1_admin_plans__name__patch","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","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/PlanPatchIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Plan Api V1 Admin Plans  Name  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Plan","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/product-feedback":{"get":{"description":"Every item, filtered (``status`` also accepts ``open``); ``q`` matches the reference, title, e-mail,\npage, id or request id.","operationId":"list_items_api_v1_admin_product_feedback_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"q","required":false,"schema":{"default":"","title":"Q","type":"string"}},{"in":"query","name":"account_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},{"in":"query","name":"assigned_to","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"}},{"in":"query","name":"page","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page"}},{"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 List Items Api V1 Admin Product Feedback Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Items","tags":["admin"]}},"/api/v1/admin/product-feedback/{key}":{"get":{"description":"One item with the whole conversation (internal notes included), the diagnostics and the screenshots.","operationId":"get_item_api_v1_admin_product_feedback__key__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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 Item Api V1 Admin Product Feedback  Key  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Item","tags":["admin"]},"patch":{"description":"Change status, kind or assignee; a status change is e-mailed to the person with ``note`` as the\nexplanation.","operationId":"patch_api_v1_admin_product_feedback__key__patch","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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/FeedbackPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Api V1 Admin Product Feedback  Key  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch","tags":["admin"]}},"/api/v1/admin/product-feedback/{key}/attachments/{attachment_id}":{"get":{"description":"A screenshot of the item (the image bytes).","operationId":"attachment_api_v1_admin_product_feedback__key__attachments__attachment_id__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"path","name":"attachment_id","required":true,"schema":{"title":"Attachment 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":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Attachment","tags":["admin"]}},"/api/v1/admin/product-feedback/{key}/comments":{"post":{"description":"Answer the person (e-mailed, inbox) or leave an internal note; a public answer moves a ``new`` item to\n``reviewing`` unless ``status`` says otherwise and records the first response time.","operationId":"reply_api_v1_admin_product_feedback__key__comments_post","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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/OperatorCommentIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reply Api V1 Admin Product Feedback  Key  Comments Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reply","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/providers/{provider_id}/offers":{"delete":{"operationId":"delete_all_api_v1_admin_providers__provider_id__offers_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":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete All Api V1 Admin Providers  Provider Id  Offers Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete All","tags":["offers"]},"post":{"description":"Offer every upstream model of the provider the catalogue recognises: ``models`` names them, else the\nprovider's ``/models`` is probed. Existing offers are kept as they are.","operationId":"list_all_api_v1_admin_providers__provider_id__offers_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"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAllIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List All Api V1 Admin Providers  Provider Id  Offers Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List All","tags":["offers"]}},"/api/v1/admin/rankings":{"get":{"description":"Schedule, per-source coverage and the last twenty runs.","operationId":"status_api_v1_admin_rankings_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 Status Api V1 Admin Rankings Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Status","tags":["admin"]}},"/api/v1/admin/rankings/refresh":{"post":{"description":"Refresh the catalogue and the benchmark sources now (optionally only ``sources``).","operationId":"refresh_api_v1_admin_rankings_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"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RankingsRefreshIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Refresh Api V1 Admin Rankings Refresh Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Refresh","tags":["admin"]}},"/api/v1/admin/readiness":{"get":{"description":"The go-live checklist: every promise the public site makes (checkout, overage, tax, mail, inquiries,\nmodels, legal versions, https, the status page) checked against the deployment's live configuration, most\nurgent first; ``ready`` is false while any journey is blocked.","operationId":"readiness_checklist_api_v1_admin_readiness_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 Readiness Checklist Api V1 Admin Readiness Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Readiness Checklist","tags":["admin"]}},"/api/v1/admin/referrals":{"get":{"description":"The programme as a whole: terms in force, totals by status, what was paid, the recent referrals with\nboth workspaces.","operationId":"referrals_api_v1_admin_referrals_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":500,"minimum":1,"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 Referrals Api V1 Admin Referrals Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Referrals","tags":["admin"]}},"/api/v1/admin/referrals/sweep":{"post":{"description":"Run the qualification pass now instead of waiting for the finance pass.","operationId":"sweep_api_v1_admin_referrals_sweep_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":{"type":"integer"},"title":"Response Sweep Api V1 Admin Referrals Sweep Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Sweep","tags":["admin"]}},"/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/reports":{"get":{"description":"The report scheduler: interval, digest recipients, past runs, workspaces per cadence.","operationId":"reports_status_api_v1_admin_reports_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 Reports Status Api V1 Admin Reports Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reports Status","tags":["admin"]}},"/api/v1/admin/reports/send":{"post":{"description":"Send a digest now: the deployment one (to the configured recipients or ``to``) or one workspace's.","operationId":"reports_send_api_v1_admin_reports_send_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/ReportSendIn"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reports Send Api V1 Admin Reports Send Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reports Send","tags":["admin"]}},"/api/v1/admin/reports/tick":{"post":{"description":"Run the scheduler pass now (what the timer does): sends whatever is due and not yet recorded.","operationId":"reports_tick_api_v1_admin_reports_tick_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 Reports Tick Api V1 Admin Reports Tick Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reports Tick","tags":["admin"]}},"/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/sales/inquiries":{"get":{"description":"Every inquiry, most recent activity first (``status`` also accepts ``open`` = new, contacted or\nqualified); ``q`` matches the reference, e-mail, company, name, id or workspace id.","operationId":"list_inquiries_api_v1_admin_sales_inquiries_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"q","required":false,"schema":{"default":"","title":"Q","type":"string"}},{"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 List Inquiries Api V1 Admin Sales Inquiries Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Inquiries","tags":["admin"]}},"/api/v1/admin/sales/inquiries/{key}":{"get":{"description":"One inquiry by id or reference (``OSR-S-00007``).","operationId":"get_inquiry_api_v1_admin_sales_inquiries__key__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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 Inquiry Api V1 Admin Sales Inquiries  Key  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Inquiry","tags":["admin"]},"patch":{"description":"Change status (``won`` / ``lost`` close it), assignee or the internal note; audited.","operationId":"patch_inquiry_api_v1_admin_sales_inquiries__key__patch","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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/InquiryPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Inquiry Api V1 Admin Sales Inquiries  Key  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch Inquiry","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;\nthe settings a superadmin may manage here carry ``editable`` with their kind, bounds and override.","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"]},"put":{"description":"Adopt a set of overrides in one step (superadmin). Every value is checked first; when any is refused\nnothing is stored and the reply lists each problem (400). Otherwise the overrides are written, the\nprocess reconfigures once, and the reply tells which settings changed, which were already so, and which\nwere removed (``replace``). One ``settings.imported`` audit entry carries the list.","operationId":"import_settings_api_v1_admin_settings_put","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/SettingsImportIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Import Settings Api V1 Admin Settings Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Import Settings","tags":["admin"]}},"/api/v1/admin/settings/export":{"get":{"description":"The run-time overrides as one document (superadmin): every manageable setting an operator changed, with\nits value, so a deployment's configuration can be kept in version control and re-applied elsewhere with\n``PUT /api/v1/admin/settings``. The environment's own values are not included; nothing here is a secret.","operationId":"export_settings_api_v1_admin_settings_export_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 Export Settings Api V1 Admin Settings Export Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Export Settings","tags":["admin"]}},"/api/v1/admin/settings/{name}":{"delete":{"description":"Remove the override of a manageable setting (superadmin): the value returns to what the environment\nsets, applied the same way as a change.","operationId":"reset_setting_api_v1_admin_settings__name__delete","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","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 Reset Setting Api V1 Admin Settings  Name  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reset Setting","tags":["admin"]},"put":{"description":"Change a manageable setting for the whole deployment (superadmin): the value is checked against the\nsetting's kind and bounds, stored, applied to this process at once and adopted by every other process\nwithin a reload. Returns the entry as ``GET /settings`` shows it. 400 for a value the setting refuses,\n404 for a setting that is not manageable at run time.","operationId":"set_setting_api_v1_admin_settings__name__put","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","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/SettingIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Setting Api V1 Admin Settings  Name  Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Setting","tags":["admin"]}},"/api/v1/admin/signup-guard":{"get":{"description":"The policy in force, every rule with its hits, what was refused in the window and why.","operationId":"overview_api_v1_admin_signup_guard_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":7,"maximum":30,"minimum":1,"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 Overview Api V1 Admin Signup Guard 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/signup-guard/check":{"post":{"description":"What the guard would do with an address right now - nothing is logged or counted.","operationId":"check_api_v1_admin_signup_guard_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/CheckIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Check Api V1 Admin Signup Guard Check Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Check","tags":["admin"]}},"/api/v1/admin/signup-guard/policy":{"put":{"description":"Change the policy (superadmin): disposable inboxes, +tag aliases, approved domains, the per-domain cap.","operationId":"set_policy_api_v1_admin_signup_guard_policy_put","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/SignupPolicyIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Policy Api V1 Admin Signup Guard Policy Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Policy","tags":["admin"]}},"/api/v1/admin/signup-guard/rules":{"get":{"operationId":"list_rules_api_v1_admin_signup_guard_rules_get","parameters":[{"in":"query","name":"include_expired","required":false,"schema":{"default":true,"title":"Include Expired","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 List Rules Api V1 Admin Signup Guard Rules Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Rules","tags":["admin"]},"post":{"description":"Block an address or a domain (and its subdomains); in force on every replica within the refresh window.","operationId":"add_rule_api_v1_admin_signup_guard_rules_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/SignupRuleIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Rule Api V1 Admin Signup Guard Rules Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Rule","tags":["admin"]}},"/api/v1/admin/signup-guard/rules/{rule_id}":{"delete":{"operationId":"remove_rule_api_v1_admin_signup_guard_rules__rule_id__delete","parameters":[{"in":"path","name":"rule_id","required":true,"schema":{"title":"Rule 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 Rule Api V1 Admin Signup Guard Rules  Rule Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Remove Rule","tags":["admin"]}},"/api/v1/admin/site/photos":{"get":{"description":"Every override with who changed it last, where new pictures are stored (``storage.kind`` is ``blob`` when\nan object-storage container is configured, else ``database``), how many pictures the database still holds\n(``db_held``, candidates for ``POST .../offload``) and the limits the upload applies.","operationId":"list_overrides","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 Overrides","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Overrides","tags":["admin"]}},"/api/v1/admin/site/photos/offload":{"post":{"description":"Move the pictures the database still holds into the object-storage container (one-off after the container\nis configured on a deployment that already had uploads). ``409`` when no container is configured.","operationId":"offload","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 Offload","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Offload","tags":["admin"]}},"/api/v1/admin/site/photos/{key}":{"delete":{"description":"Back to the shipped photograph and caption.","operationId":"reset_override","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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":"Reset Override","tags":["admin"]},"put":{"description":"Replace the picture behind ``key`` and / or the words next to it (multipart: an optional ``file`` plus\nthe caption fields, all optional). A field left out keeps its current value; ``clear`` names fields\n(comma-separated: ``alt,focus,photographer,page,license,image``) that go back to the shipped values. A new\npicture carries only the credit sent with it - the shipped photographer is never named under someone\nelse's picture. The picture is sized to the site (2400 px, WebP) and must be at least 1200 px on its long\nside.","operationId":"put_override","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_put_override"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Put Override","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Put Override","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): the same\ncontrols the service takes - candidates, kinds, objective weights, explain, a workspace's own 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/SLMPredictIn"}}},"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/social":{"get":{"description":"Everything on one page: the scheduler, the network catalogue with the credential fields each needs,\nthe channels with their schedules and next slot, share counts, the newest shares and the posts to share.","operationId":"overview_api_v1_admin_social_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 Social 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/social/channels":{"get":{"description":"The channels, never their credentials (only which fields are set).","operationId":"channels_api_v1_admin_social_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 Social Channels Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Channels","tags":["admin"]},"post":{"description":"Add a channel: the network, a name, its credentials (sealed at rest), the posting schedule, an optional\nmessage template, hashtag count, ``post_status`` for blog platforms and a cadence. ``auto_share`` shares\nevery post that becomes public.","operationId":"add_channel_api_v1_admin_social_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/SocialChannelIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Channel Api V1 Admin Social Channels Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Channel","tags":["admin"]}},"/api/v1/admin/social/channels/{channel_id}":{"delete":{"description":"Remove a channel and its share log (what was posted stays on the network).","operationId":"delete_channel_api_v1_admin_social_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":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete Channel","tags":["admin"]},"patch":{"description":"Change a channel: name, credentials (merged; an empty value removes a field), schedule, template,\nhashtags, ``post_status``, cadence, enabled, ``auto_share``.","operationId":"update_channel_api_v1_admin_social_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/SocialChannelPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Update Channel Api V1 Admin Social Channels  Channel Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Update Channel","tags":["admin"]}},"/api/v1/admin/social/channels/{channel_id}/test":{"post":{"description":"Post a clearly marked test message on the channel now and return the network's answer.","operationId":"test_channel_api_v1_admin_social_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 Social 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/social/networks":{"get":{"description":"The networks a channel can be made for, with the credential fields each needs and its limits.","operationId":"networks_api_v1_admin_social_networks_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 Networks Api V1 Admin Social Networks Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Networks","tags":["admin"]}},"/api/v1/admin/social/preview":{"post":{"description":"The message a share would carry on ``network`` for a post (``slug``; the newest public post when\nempty) with the given template and hashtag count.","operationId":"preview_api_v1_admin_social_preview_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/PreviewIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Preview Api V1 Admin Social Preview Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Preview","tags":["admin"]}},"/api/v1/admin/social/run":{"post":{"description":"Run a scheduler pass now (due shares and cadences), ignoring the leader lease.","operationId":"run_api_v1_admin_social_run_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 Run Api V1 Admin Social Run Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Run","tags":["admin"]}},"/api/v1/admin/social/share":{"post":{"description":"Share a blog post (``slug``) on every enabled channel or ``channel_ids``: now, waiting for the networks\n(each share comes back with its answer), or queued for ``at``.","operationId":"share_api_v1_admin_social_share_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/ShareIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Share Api V1 Admin Social Share Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Share","tags":["admin"]}},"/api/v1/admin/social/shares":{"get":{"description":"The share log: every post queued, sent or refused per channel, with the network's answer and permalink.","operationId":"shares_api_v1_admin_social_shares_get","parameters":[{"in":"query","name":"channel_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Id"}},{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"slug","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"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 Shares Api V1 Admin Social Shares Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Shares","tags":["admin"]}},"/api/v1/admin/social/shares/{share_id}":{"delete":{"description":"Withdraw a queued share (a sent one is removed from the log only).","operationId":"cancel_share_api_v1_admin_social_shares__share_id__delete","parameters":[{"in":"path","name":"share_id","required":true,"schema":{"title":"Share 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":"Cancel Share","tags":["admin"]}},"/api/v1/admin/social/shares/{share_id}/retry":{"post":{"description":"Try a failed, cancelled or waiting share again now.","operationId":"retry_share_api_v1_admin_social_shares__share_id__retry_post","parameters":[{"in":"path","name":"share_id","required":true,"schema":{"title":"Share 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 Retry Share Api V1 Admin Social Shares  Share Id  Retry Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Retry Share","tags":["admin"]}},"/api/v1/admin/status/incidents":{"get":{"description":"Every incident, newest first (the public list is limited to the last 90 days).","operationId":"admin_incidents_api_v1_admin_status_incidents_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":500,"minimum":1,"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 Admin Incidents Api V1 Admin Status Incidents Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Admin Incidents","tags":["admin"]},"post":{"description":"Open an incident: title, severity, the components affected and the first update.","operationId":"open_incident_api_v1_admin_status_incidents_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/IncidentIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Open Incident Api V1 Admin Status Incidents Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Open Incident","tags":["admin"]}},"/api/v1/admin/status/incidents/{incident_id}":{"patch":{"description":"Correct the title, severity or affected components of an incident.","operationId":"edit_incident_api_v1_admin_status_incidents__incident_id__patch","parameters":[{"in":"path","name":"incident_id","required":true,"schema":{"title":"Incident 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/IncidentPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Edit Incident Api V1 Admin Status Incidents  Incident Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Edit Incident","tags":["admin"]}},"/api/v1/admin/status/incidents/{incident_id}/updates":{"post":{"description":"Post an update and move the incident to ``status`` (``resolved`` closes it).","operationId":"add_update_api_v1_admin_status_incidents__incident_id__updates_post","parameters":[{"in":"path","name":"incident_id","required":true,"schema":{"title":"Incident 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/IncidentUpdateIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Update Api V1 Admin Status Incidents  Incident Id  Updates Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Add Update","tags":["admin"]}},"/api/v1/admin/support/tickets":{"get":{"description":"Every ticket, filtered (``status`` also accepts ``active`` = open or answered); ``q`` matches the\nreference, subject, requester e-mail, ticket id or request id.","operationId":"list_tickets_api_v1_admin_support_tickets_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"q","required":false,"schema":{"default":"","title":"Q","type":"string"}},{"in":"query","name":"account_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},{"in":"query","name":"assigned_to","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"}},{"in":"query","name":"priority","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"}},{"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 List Tickets Api V1 Admin Support Tickets Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Tickets","tags":["admin"]}},"/api/v1/admin/support/tickets/{key}":{"get":{"description":"One ticket with the whole conversation, internal notes included.","operationId":"get_ticket_api_v1_admin_support_tickets__key__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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 Ticket Api V1 Admin Support Tickets  Key  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Ticket","tags":["admin"]},"patch":{"description":"Change status, priority, category or assignee; a status change is e-mailed to the requester with\n``note`` as the explanation.","operationId":"patch_api_v1_admin_support_tickets__key__patch","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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/TicketPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Api V1 Admin Support Tickets  Key  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Patch","tags":["admin"]}},"/api/v1/admin/support/tickets/{key}/messages":{"post":{"description":"Answer the requester (e-mailed, inbox) or leave an internal note; a public reply marks the ticket\n``answered`` unless ``status`` says otherwise and records the first response time.","operationId":"reply_api_v1_admin_support_tickets__key__messages_post","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","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/OperatorMessageIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reply Api V1 Admin Support Tickets  Key  Messages Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reply","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/test-data":{"delete":{"description":"Delete everything ``GET /test-data`` lists: users with the personal workspaces only they belonged\nto, then any remaining matching workspace, with their conversations and memories. Irreversible;\naudited with the counts.","operationId":"purge_test_data_api_v1_admin_test_data_delete","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 Purge Test Data Api V1 Admin Test Data Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Purge Test Data","tags":["admin"]},"get":{"description":"Workspaces and users signed up with a reserved testing domain (``example.com``, ``localhost``,\n``*.test`` ...): what a smoke, load or e2e run left behind. The platform's own ``*.local`` service\nworkspaces are not listed. Empty on a production deployment that refuses such signups - the retention\nsweep removes anything that still gets in there (an operator's run, an earlier setting).","operationId":"test_data_api_v1_admin_test_data_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 Test Data Api V1 Admin Test Data Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Test Data","tags":["admin"]}},"/api/v1/admin/trace/{request_id}":{"get":{"description":"The trace of one metered request as its workspace sees it (``GET /api/v1/trace/{request_id}``): the\nactivity row, the decision spans and events, the usage story, outcomes and audit records, plus the\nworkspace it belongs to - so the operator answers \"why did this route there\" from the request log\nwithout opening the workspace. Audited as ``activity.trace``; 404 for an unknown request id.","operationId":"trace_api_v1_admin_trace__request_id__get","parameters":[{"in":"path","name":"request_id","required":true,"schema":{"title":"Request 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 Trace Api V1 Admin Trace  Request Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Trace","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), delete, block_email or block_domain (a signup-guard rule for the\naddress or its registrable domain, and the user disabled - the way a page of spam registrations is\ncleared). 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}/email":{"get":{"description":"The user's e-mail categories (on / off), newsletter status and the last messages addressed to them.","operationId":"user_email_api_v1_admin_users__user_id__email_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 User Email Api V1 Admin Users  User Id  Email Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"User Email","tags":["admin"]}},"/api/v1/admin/users/{user_id}/email-preferences":{"put":{"description":"Switch categories or the newsletter for a user (a support request, a bounce, a complaint). A verified\naddress joins the newsletter at once; an unverified one gets the confirmation link.","operationId":"set_user_email_api_v1_admin_users__user_id__email_preferences_put","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/EmailPreferencesIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set User Email Api V1 Admin Users  User Id  Email Preferences Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set User Email","tags":["admin"]}},"/api/v1/admin/users/{user_id}/export":{"get":{"description":"Operator-led data-subject export: the same document ``GET /me/export`` gives the person, built for\ntheir personal workspace (or the first workspace they belong to), so a request made by e-mail can be\nanswered without the person signing in. Audited (``user.export``) with the operator who ran it.","operationId":"user_export_api_v1_admin_users__user_id__export_get","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"query","name":"days","required":false,"schema":{"default":365,"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 User Export Api V1 Admin Users  User Id  Export Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"User Export","tags":["admin"]}},"/api/v1/admin/users/{user_id}/legal":{"get":{"description":"A user's acceptance status and the full acceptance history (support and compliance questions).","operationId":"user_legal_api_v1_admin_users__user_id__legal_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 User Legal Api V1 Admin Users  User Id  Legal Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"User Legal","tags":["admin"]}},"/api/v1/admin/users/{user_id}/legal/accept":{"post":{"description":"Record an acceptance on a user's behalf (a signed agreement, a support conversation); audited with\nthe operator as actor and ``source: operator``.","operationId":"accept_for_user_api_v1_admin_users__user_id__legal_accept_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"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegalAcceptIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Accept For User Api V1 Admin Users  User Id  Legal Accept Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Accept For User","tags":["admin"]}},"/api/v1/admin/users/{user_id}/network-data":{"delete":{"description":"Forget every address and place recorded about the user - their sessions, the events about them and\nthe events they performed; the events themselves stay. For a privacy request or a person who asked.\nAudited with the operator's own address and place (every operator action is), never the person's.","operationId":"clear_network_data_api_v1_admin_users__user_id__network_data_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 Clear Network Data Api V1 Admin Users  User Id  Network Data Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Clear Network Data","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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/announcements":{"get":{"description":"Live announcements for the caller's workspace (maintenance mode first, when it is on).","operationId":"list_mine_api_v1_announcements_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Mine Api V1 Announcements Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Mine","tags":["account"]}},"/api/v1/announcements/{announcement_id}/dismiss":{"post":{"operationId":"dismiss_api_v1_announcements__announcement_id__dismiss_post","parameters":[{"in":"path","name":"announcement_id","required":true,"schema":{"title":"Announcement Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Dismiss Api V1 Announcements  Announcement Id  Dismiss Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Dismiss","tags":["account"]}},"/api/v1/assistant/chat":{"post":{"description":"Ask the assistant. Plain JSON by default; ``stream: true`` answers as server-sent events (``meta`` with the\nconversation id, ``delta`` per token, ``done`` with the same JSON the plain call returns).","operationId":"chat_api_v1_assistant_chat_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Chat Api V1 Assistant Chat Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Chat","tags":["assistant"]}},"/api/v1/assistant/conversations/{conversation_id}":{"get":{"operationId":"conversation_api_v1_assistant_conversations__conversation_id__get","parameters":[{"in":"path","name":"conversation_id","required":true,"schema":{"title":"Conversation Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Conversation Api V1 Assistant Conversations  Conversation Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Conversation","tags":["assistant"]}},"/api/v1/assistant/kb/search":{"get":{"operationId":"kb_search_api_v1_assistant_kb_search_get","parameters":[{"in":"query","name":"q","required":true,"schema":{"maxLength":300,"minLength":1,"title":"Q","type":"string"}},{"in":"query","name":"k","required":false,"schema":{"default":5,"maximum":10,"minimum":1,"title":"K","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Kb Search Api V1 Assistant Kb Search Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Kb Search","tags":["assistant"]}},"/api/v1/assistant/status":{"get":{"description":"Whether the assistant answers with a model or from the documentation alone, and how much it has indexed.","operationId":"status_api_v1_assistant_status_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Status Api V1 Assistant Status Get","type":"object"}}},"description":"Successful Response"}},"summary":"Status","tags":["assistant"]}},"/api/v1/audit":{"get":{"description":"The workspace's hash-chained decision and outcome records, newest first, across every process's\nchain (``chains``); ``chain_ok`` is false when any chain is broken and ``problem`` names the file.\n``tenant`` keeps only the records of one tenant slug (a tenant-pinned key always gets its own); ``before``\n(the ``ts`` of the oldest record already seen) pages further back and ``next_before`` is the cursor for\nthe following page.","operationId":"audit_api_v1_audit_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"query","name":"tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/email":{"post":{"description":"Ask to move the signed-in user's account to a new address: a confirmation goes to that address and the\nchange happens when its link is opened (``POST /api/v1/auth/verify``). The current password is required\nwhen one is set; a session is required (a key cannot change the person's address).","operationId":"email_change_api_v1_auth_email_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailChangeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Email Change Api V1 Auth Email Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Email Change","tags":["auth"]}},"/api/v1/auth/identities":{"get":{"operationId":"identities_api_v1_auth_identities_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/mfa":{"delete":{"description":"Switch the second factor off for the signed-in user (password and a current code - or an unused\nrecovery code - required); a security notice is sent.","operationId":"mfa_disable_api_v1_auth_mfa_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaDisableIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mfa Disable Api V1 Auth Mfa Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mfa Disable","tags":["auth"]}},"/api/v1/auth/mfa/enable":{"post":{"description":"Confirm the pending secret with a code from the app; returns the recovery codes - shown once. Other\nbrowsers are signed out and a security notice is sent.","operationId":"mfa_enable_api_v1_auth_mfa_enable_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaCodeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mfa Enable Api V1 Auth Mfa Enable Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mfa Enable","tags":["auth"]}},"/api/v1/auth/mfa/recovery-codes":{"post":{"description":"Replace the recovery codes (a current authenticator code confirms it); the old ones stop working.","operationId":"mfa_recovery_codes_api_v1_auth_mfa_recovery_codes_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaCodeIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mfa Recovery Codes Api V1 Auth Mfa Recovery Codes Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mfa Recovery Codes","tags":["auth"]}},"/api/v1/auth/mfa/setup":{"post":{"description":"Start enrolling an authenticator app: a fresh TOTP secret (pending until ``/mfa/enable`` confirms a\ncode) with the ``otpauth://`` URI. Needs a password on the account - the factor guards password\nsign-in; identity providers bring their own. Re-running replaces a pending secret.","operationId":"mfa_setup_api_v1_auth_mfa_setup_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaSetupIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mfa Setup Api V1 Auth Mfa Setup Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mfa Setup","tags":["auth"]}},"/api/v1/auth/mfa/verify":{"post":{"description":"Second step of a password sign-in: the challenge from ``/password/login`` (or ``/password/reset``)\nplus a six-digit authenticator code or an unused recovery code (each works once) buys the session.","operationId":"mfa_verify_api_v1_auth_mfa_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaVerifyIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mfa Verify Api V1 Auth Mfa Verify Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Mfa Verify","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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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 - or, when\nthe account has two-factor authentication, ``mfa_required`` with a five-minute ``challenge`` to redeem\nat ``POST /auth/mfa/verify`` with the authenticator (or a recovery) code.","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 - unless the account has\ntwo-factor authentication: then ``mfa_required`` with a ``challenge`` for ``/auth/mfa/verify`` comes\nback, since the inbox alone is not the second factor.","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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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). The same link confirms a\nnew address asked for with ``POST /api/v1/auth/email``: the account moves to it.","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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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}/credential":{"post":{"description":"Sign in with an ID token the browser obtained itself - Google's One Tap prompt.\n\nThe provider validates the token (audience, issuer, expiry); the answer is the same browser\nsession as ``/callback``. Limited per client because it needs no server-issued state.","operationId":"credential_api_v1_auth__provider__credential_post","parameters":[{"in":"path","name":"provider","required":true,"schema":{"title":"Provider","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SsoCredentialIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Credential Api V1 Auth  Provider  Credential Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Credential","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/cancel":{"post":{"description":"Cancel the subscription at the end of the paid period; the plan stays until then.","operationId":"cancel_api_v1_billing_cancel_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Cancel Api V1 Billing Cancel Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Cancel","tags":["billing"]}},"/api/v1/billing/checkout":{"post":{"description":"Start a subscription (Checkout Session URL) or, with a live one, switch its plan in place.\n\n``plan`` names a paid plan; ``interval`` is ``month`` (default) or ``year`` when the deployment sells\nan annual price for it. The first checkout of a workspace starts the plan's free trial without a\npayment method (``trial_days`` of the plan, granted at once: ``trial_end`` in the answer and ``url``\nback to ``/platform/dashboard/billing?redeemed=<plan>``), as does any coupon that applies - ``coupon``\nin the body, or the auto-apply promotion the workspace is still eligible for; this works without\nStripe too. ``\"coupon\": \"\"`` skips the trial and the promotion and pays now. A plan whose trial asks\nfor a card (``trial_needs_card``) carries it into Stripe Checkout instead.","operationId":"checkout_api_v1_billing_checkout_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/coupons":{"get":{"description":"The promotion on offer, the workspace's running coupon trial and the plans it could still unlock.","operationId":"status_api_v1_billing_coupons_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Status Api V1 Billing Coupons Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Status","tags":["billing"]}},"/api/v1/billing/coupons/redeem":{"post":{"description":"Apply a coupon: the workspace moves to ``plan`` now, free of charge, until the trial ends.\n\nOwners and admins only. ``404`` unknown code, ``400`` when the coupon does not cover the plan or ran\nout, ``409`` when this workspace redeemed it before or already pays for a subscription.","operationId":"redeem_api_v1_billing_coupons_redeem_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedeemIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Redeem Api V1 Billing Coupons Redeem Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Redeem","tags":["billing"]}},"/api/v1/billing/coupons/validate":{"post":{"description":"Check a code before redeeming it: the coupon's terms plus ``eligible`` / ``reason`` for this\nworkspace (and for ``plan`` when given).","operationId":"validate_api_v1_billing_coupons_validate_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponValidateIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Validate Api V1 Billing Coupons Validate Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Validate","tags":["billing"]}},"/api/v1/billing/credits/checkout":{"post":{"description":"Buy credits: a Stripe Checkout Session (payment mode) for ``amount_cents``; the webhook credits the\nwallet when it completes and the browser returns to ``/platform/dashboard/billing?credited=<cents>``.\n``save_payment_method`` keeps the card for auto top-up; ``auto_topup`` (``amount_cents``,\n``threshold_cents``) switches auto top-up on as soon as the purchase completes.","operationId":"credits_api_v1_billing_credits_checkout_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditsCheckoutIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Credits Api V1 Billing Credits Checkout Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Credits","tags":["billing"]}},"/api/v1/billing/invoices":{"get":{"description":"The workspace's Stripe invoices, newest first, with hosted page and PDF links.","operationId":"invoices_api_v1_billing_invoices_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Invoices Api V1 Billing Invoices Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Invoices","tags":["billing"]}},"/api/v1/billing/portal":{"post":{"description":"A Stripe Billing Portal session (payment method, invoices, cancel / resume) for the workspace.","operationId":"portal_api_v1_billing_portal_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Portal Api V1 Billing Portal Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Portal","tags":["billing"]}},"/api/v1/billing/statement":{"get":{"description":"The monthly credits statement (``month`` = ``YYYY-MM``, default the current month) as JSON or\nMarkdown.","operationId":"statement_api_v1_billing_statement_get","parameters":[{"in":"query","name":"month","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Month"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","pattern":"^(json|markdown)$","title":"Format","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Statement Api V1 Billing Statement Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Statement","tags":["billing"]}},"/api/v1/billing/subscription":{"get":{"description":"Plan, billing state, period end and whether the portal / invoices are available.","operationId":"subscription_api_v1_billing_subscription_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Subscription Api V1 Billing Subscription Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Subscription","tags":["billing"]}},"/api/v1/billing/usage":{"get":{"description":"The workspace's metered usage with both sides of the price - provider cost and what the workspace is\ncharged - grouped by day (default), model, provider, key or tenant; ``format=csv`` downloads it.","operationId":"usage_api_v1_billing_usage_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"maximum":366,"minimum":1,"title":"Days","type":"integer"}},{"in":"query","name":"group","required":false,"schema":{"default":"day","pattern":"^(day|model|provider|key|tenant)$","title":"Group","type":"string"}},{"in":"query","name":"key_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Id"}},{"in":"query","name":"tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},{"in":"query","name":"model","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},{"in":"query","name":"provider_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","pattern":"^(json|csv)$","title":"Format","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Usage Api V1 Billing Usage Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Usage","tags":["billing"]}},"/api/v1/billing/wallet":{"get":{"description":"The credits wallet: billing mode, balance, the last top-up, what a purchase may be and today's pending\ncharges.","operationId":"wallet_api_v1_billing_wallet_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Wallet Api V1 Billing Wallet Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Wallet","tags":["billing"]}},"/api/v1/billing/wallet/auto-topup":{"delete":{"description":"Turn auto top-up off; ``forget_card=true`` also detaches the saved payment method at Stripe.","operationId":"clear_auto_topup_api_v1_billing_wallet_auto_topup_delete","parameters":[{"in":"query","name":"forget_card","required":false,"schema":{"default":false,"title":"Forget Card","type":"boolean"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Clear Auto Topup Api V1 Billing Wallet Auto Topup Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Clear Auto Topup","tags":["billing"]},"put":{"description":"Turn auto top-up on or change it: buy ``amount_cents`` of credits with the saved payment method\nwhenever the available balance falls to ``threshold_cents`` or below. ``409`` without a saved card -\nbuy credits once with ``save_payment_method`` (or ``auto_topup``) first.","operationId":"set_auto_topup_api_v1_billing_wallet_auto_topup_put","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTopupIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Auto Topup Api V1 Billing Wallet Auto Topup Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Set Auto Topup","tags":["billing"]}},"/api/v1/billing/wallet/ledger":{"get":{"description":"The append-only ledger behind the balance, newest first.","operationId":"ledger_api_v1_billing_wallet_ledger_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Ledger Api V1 Billing Wallet Ledger Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Ledger","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/blog":{"get":{"description":"Published blog posts, newest first (summary only; ``GET /blog/{slug}`` carries the body).\n\n``archive=true`` lists the archived posts instead (published more than the archive window ago).","operationId":"posts_api_v1_blog_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":20,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"title":"Offset","type":"integer"}},{"in":"query","name":"tag","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"}},{"in":"query","name":"category","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"archive","required":false,"schema":{"default":false,"title":"Archive","type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Posts","tags":["public"]}},"/api/v1/blog/{slug}":{"get":{"description":"One public post (published or archived) with its Markdown body, image, keywords, source and related posts.","operationId":"post_api_v1_blog__slug__get","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Post","tags":["public"]}},"/api/v1/blog/{slug}/image":{"get":{"description":"The post's own picture: the stored copy (long-lived cache, ETag), or a redirect to its source while no\ncopy exists yet. ``404`` for a post without a picture of its own (the site then draws its cover).","operationId":"post_image_api_v1_blog__slug__image_get","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}}],"responses":{"200":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Post Image","tags":["public"]}},"/api/v1/cache":{"delete":{"description":"Empty the workspace's response cache (admin role); the next identical request reaches a provider.","operationId":"cache_clear_api_v1_cache_delete","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Cache Clear Api V1 Cache Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Cache Clear","tags":["account"]},"get":{"description":"What the workspace's response cache holds: live entries, hits served, the policy TTL in force.","operationId":"cache_stats_api_v1_cache_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Cache Stats Api V1 Cache Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Cache Stats","tags":["account"]}},"/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/content":{"get":{"description":"The workspace's content service at a glance: editorial profile, post and delivery counts, feeds,\ndestinations, the writer that is active, the limits and the pull URL of the workspace RSS.","operationId":"overview_api_v1_content_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Overview Api V1 Content Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Overview","tags":["content"]}},"/api/v1/content/deliveries":{"get":{"description":"The delivery log: every attempt to put a post on a destination, with the site's answer.","operationId":"deliveries_api_v1_content_deliveries_get","parameters":[{"in":"query","name":"post_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Id"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Deliveries Api V1 Content 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":["content"]}},"/api/v1/content/deliveries/{delivery_id}/retry":{"post":{"description":"Try a failed or waiting delivery again now.","operationId":"retry_delivery_api_v1_content_deliveries__delivery_id__retry_post","parameters":[{"in":"path","name":"delivery_id","required":true,"schema":{"title":"Delivery Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Retry Delivery Api V1 Content Deliveries  Delivery Id  Retry Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Retry Delivery","tags":["content"]}},"/api/v1/content/destinations":{"get":{"description":"Where published posts go: signed webhooks, WordPress sites, Ghost publications and the social, chat and\nblog networks - never the secrets. ``networks`` describes every kind with the credential fields it needs.","operationId":"destinations_api_v1_content_destinations_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Destinations Api V1 Content Destinations Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Destinations","tags":["content"]},"post":{"description":"Add a destination (admins). ``webhook``: your URL, optional secret for ``X-OSR-Signature``;\n``wordpress``: the site URL, a user name and an application password; ``ghost``: the site URL and an\nAdmin API key; a social kind (``linkedin``, ``x``, ``facebook``, ``discord`` ...): its ``credentials``\n(the fields ``GET /destinations`` lists under ``networks``). ``auto_publish`` sends every post that\nbecomes published; ``post_status: draft`` leaves the post as a draft on a CMS or blog platform;\n``schedule`` (``mode`` immediate or window, ``days``, ``start``, ``end``, ``timezone``, ``gap_minutes``,\n``max_per_day``) decides when queued deliveries go out.","operationId":"add_destination_api_v1_content_destinations_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Destination Api V1 Content Destinations Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Add Destination","tags":["content"]}},"/api/v1/content/destinations/{destination_id}":{"delete":{"description":"Remove a destination and its delivery log (admins).","operationId":"delete_destination_api_v1_content_destinations__destination_id__delete","parameters":[{"in":"path","name":"destination_id","required":true,"schema":{"title":"Destination Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Destination","tags":["content"]},"patch":{"description":"Change a destination (admins); ``secret: \"\"`` removes the stored credential, ``credentials`` are merged\ninto the stored fields (an empty value removes one), ``schedule`` and ``template`` replace theirs.","operationId":"update_destination_api_v1_content_destinations__destination_id__patch","parameters":[{"in":"path","name":"destination_id","required":true,"schema":{"title":"Destination Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Update Destination Api V1 Content Destinations  Destination Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Update Destination","tags":["content"]}},"/api/v1/content/destinations/{destination_id}/test":{"post":{"description":"Send a clearly marked test post to the destination now and return the site's answer.","operationId":"test_destination_api_v1_content_destinations__destination_id__test_post","parameters":[{"in":"path","name":"destination_id","required":true,"schema":{"title":"Destination Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Test Destination Api V1 Content Destinations  Destination 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 Destination","tags":["content"]}},"/api/v1/content/feed.xml":{"get":{"description":"RSS 2.0 of the workspace's published posts, for its own site or a feed reader: with the API key in the\nheader, or with the workspace's feed token as ``?token=`` (the pull URL on the Content page) - a feed\nreader cannot send headers.","operationId":"feed_xml_api_v1_content_feed_xml_get","parameters":[{"in":"query","name":"token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Feed Xml","tags":["content"]}},"/api/v1/content/feed/token":{"post":{"description":"Replace the feed token (admins): the pull URL a feed reader or a site build was given stops working at\nonce and the answer carries the new one.","operationId":"rotate_feed_token_api_v1_content_feed_token_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Rotate Feed Token Api V1 Content Feed Token Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Rotate Feed Token","tags":["content"]}},"/api/v1/content/feeds":{"get":{"description":"The RSS/Atom feeds the workspace follows, with their last fetch.","operationId":"feeds_api_v1_content_feeds_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Feeds Api V1 Content Feeds Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Feeds","tags":["content"]},"post":{"description":"Follow a feed - or a page that advertises one, the feed is found - after one look at it: the feed's title\nnames it unless ``name`` is given, its site is remembered, a reachable URL that is no feed is refused (400),\nan unreachable one is followed with the error on its row. It is polled on the scheduler's next pass (entries\nfrom the last 7 days) and every new entry becomes a post written for the workspace's publication. The\nanswer is the feed with what the look found under ``probe``.","operationId":"add_feed_api_v1_content_feeds_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceFeedIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Feed Api V1 Content Feeds Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Add Feed","tags":["content"]}},"/api/v1/content/feeds/preview":{"post":{"description":"Look at a URL before following it: the feed's title, site and newest entries - or, for a page, the feed\nit advertises in its ``<head>`` (or at ``/feed``, ``/rss.xml`` ...); nothing is stored.","operationId":"preview_feed_api_v1_content_feeds_preview_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedPreviewIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Preview Feed Api V1 Content Feeds Preview Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Preview Feed","tags":["content"]}},"/api/v1/content/feeds/{feed_id}":{"delete":{"description":"Stop following a feed (its posts stay).","operationId":"delete_feed_api_v1_content_feeds__feed_id__delete","parameters":[{"in":"path","name":"feed_id","required":true,"schema":{"title":"Feed Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Feed","tags":["content"]},"patch":{"description":"Rename, recategorise or pause a feed.","operationId":"update_feed_api_v1_content_feeds__feed_id__patch","parameters":[{"in":"path","name":"feed_id","required":true,"schema":{"title":"Feed Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceFeedPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Update Feed Api V1 Content Feeds  Feed Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Update Feed","tags":["content"]}},"/api/v1/content/feeds/{feed_id}/fetch":{"post":{"description":"Poll one feed now and write posts for its new entries (a metered request per post).","operationId":"fetch_feed_api_v1_content_feeds__feed_id__fetch_post","parameters":[{"in":"path","name":"feed_id","required":true,"schema":{"title":"Feed Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Fetch Feed Api V1 Content Feeds  Feed Id  Fetch Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Fetch Feed","tags":["content"]}},"/api/v1/content/posts":{"get":{"description":"The workspace's posts, newest first (``status`` filters; ``q`` searches title, summary and tags).\nBodies are left out; ``GET /posts/{id}`` has them.","operationId":"posts_api_v1_content_posts_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"q","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"title":"Offset","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Posts Api V1 Content Posts Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Posts","tags":["content"]},"post":{"description":"Store a post written elsewhere (Markdown body). ``status: published`` delivers it to the destinations\nset to publish automatically.","operationId":"create_post_api_v1_content_posts_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Post Api V1 Content Posts Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create Post","tags":["content"]}},"/api/v1/content/posts/write":{"post":{"description":"Write a post from a brief: the topic, the editor's notes and optionally a page it is about. The writer\nroutes through the platform as the workspace's own metered request; ``routing`` on the post says which\nmodel wrote it. Without an executable model (or when the request is refused) the post is the brief.","operationId":"write_post_api_v1_content_posts_write_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Write Post Api V1 Content Posts Write Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Write Post","tags":["content"]}},"/api/v1/content/posts/{post_id}":{"delete":{"description":"Delete a post and its delivery log (what a site already received stays there).","operationId":"delete_post_api_v1_content_posts__post_id__delete","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Post","tags":["content"]},"get":{"description":"One post with its Markdown body, an HTML rendering and its deliveries.","operationId":"post_api_v1_content_posts__post_id__get","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Post Api V1 Content Posts  Post Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Post","tags":["content"]},"patch":{"description":"Edit a post; moving it to ``published`` delivers it to the automatic destinations.","operationId":"update_post_api_v1_content_posts__post_id__patch","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspacePostPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Update Post Api V1 Content Posts  Post Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Update Post","tags":["content"]}},"/api/v1/content/posts/{post_id}/publish":{"post":{"description":"Publish a post and deliver it now to every enabled destination (or ``destination_ids``), waiting for\nthe sites' answers; the deliveries come back with their status.","operationId":"publish_post_api_v1_content_posts__post_id__publish_post","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PublishIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Publish Post Api V1 Content Posts  Post Id  Publish Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Publish Post","tags":["content"]}},"/api/v1/content/posts/{post_id}/regenerate":{"post":{"description":"Rewrite a post from its feed entry with the current writer (status and slug are kept).","operationId":"regenerate_post_api_v1_content_posts__post_id__regenerate_post","parameters":[{"in":"path","name":"post_id","required":true,"schema":{"title":"Post Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Regenerate Post Api V1 Content Posts  Post Id  Regenerate Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Regenerate Post","tags":["content"]}},"/api/v1/content/profile":{"get":{"description":"The editorial profile the writer is told: publication, audience, tone, language, site, auto-publish.","operationId":"profile_api_v1_content_profile_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Profile Api V1 Content Profile Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Profile","tags":["content"]},"put":{"description":"Update the editorial profile (members). ``auto_publish`` publishes posts written from feeds at once -\nand delivers them to the destinations set to publish automatically - instead of keeping them as drafts.","operationId":"set_profile_api_v1_content_profile_put","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Profile Api V1 Content Profile Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Set Profile","tags":["content"]}},"/api/v1/content/refresh":{"post":{"description":"Poll every enabled feed (or ``feed_ids``) now and write the posts.","operationId":"refresh_api_v1_content_refresh_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RefreshIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Refresh Api V1 Content Refresh Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Refresh","tags":["content"]}},"/api/v1/conversations":{"delete":{"operationId":"delete_conversations_api_v1_conversations_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Conversations Api V1 Conversations Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Conversations","tags":["conversations"]},"get":{"operationId":"list_conversations_api_v1_conversations_get","parameters":[{"in":"query","name":"client","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client"}},{"in":"query","name":"q","required":false,"schema":{"default":"","maxLength":100,"title":"Q","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":200,"minimum":1,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Conversations Api V1 Conversations Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Conversations","tags":["conversations"]}},"/api/v1/conversations/{conversation_id}":{"delete":{"operationId":"delete_conversation_api_v1_conversations__conversation_id__delete","parameters":[{"in":"path","name":"conversation_id","required":true,"schema":{"title":"Conversation Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Conversation","tags":["conversations"]},"get":{"operationId":"get_conversation_api_v1_conversations__conversation_id__get","parameters":[{"in":"path","name":"conversation_id","required":true,"schema":{"title":"Conversation Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Conversation Api V1 Conversations  Conversation Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get Conversation","tags":["conversations"]},"patch":{"operationId":"rename_conversation_api_v1_conversations__conversation_id__patch","parameters":[{"in":"path","name":"conversation_id","required":true,"schema":{"title":"Conversation Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Rename Conversation Api V1 Conversations  Conversation Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Rename Conversation","tags":["conversations"]}},"/api/v1/conversations/{conversation_id}/split":{"post":{"description":"A topic change the person confirmed: the turns from ``from_seq`` on become their own conversation.","operationId":"split_conversation_api_v1_conversations__conversation_id__split_post","parameters":[{"in":"path","name":"conversation_id","required":true,"schema":{"title":"Conversation Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationSplitIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Split Conversation Api V1 Conversations  Conversation Id  Split Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Split Conversation","tags":["conversations"]}},"/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/email/events/acs":{"post":{"description":"Azure Communication Services delivery and engagement reports (an Event Grid webhook subscription on the\nCommunication Services resource, events ``EmailDeliveryReportReceived`` and\n``EmailEngagementTrackingReportReceived``).\n\nThe URL carries ``?token=`` equal to ``OSR_PLATFORM_MAIL_EVENTS_TOKEN``; without the setting the endpoint\nanswers 404, with the wrong token 401. The Event Grid validation handshake is answered; a report of\n``Bounced`` / ``Suppressed`` / ``Quarantined`` / ``FilteredSpam`` puts the address on the suppression\nlist, ``Expired`` for thirty days, and every report is written to the outbox row it refers to.","operationId":"acs_delivery_reports_api_v1_email_events_acs_post","parameters":[{"in":"query","name":"token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Acs Delivery Reports Api V1 Email Events Acs Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Acs Delivery Reports","tags":["account","public"]}},"/api/v1/email/preferences":{"get":{"description":"The preferences page behind the *Manage e-mail preferences* link of a message (no sign-in needed).","operationId":"preferences_by_token_api_v1_email_preferences_get","parameters":[{"in":"query","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Preferences By Token Api V1 Email Preferences Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Preferences By Token","tags":["account","public"]},"put":{"operationId":"set_preferences_by_token_api_v1_email_preferences_put","parameters":[{"in":"query","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPreferencesIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Preferences By Token Api V1 Email Preferences Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Preferences By Token","tags":["account","public"]}},"/api/v1/email/unsubscribe":{"post":{"description":"RFC 8058 one-click unsubscribe (the ``List-Unsubscribe`` target): switches ``category`` off for the\nuser the token names. Mail clients POST ``List-Unsubscribe=One-Click`` here without showing a page.","operationId":"one_click_unsubscribe_api_v1_email_unsubscribe_post","parameters":[{"in":"query","name":"token","required":true,"schema":{"title":"Token","type":"string"}},{"in":"query","name":"category","required":true,"schema":{"title":"Category","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response One Click Unsubscribe Api V1 Email Unsubscribe Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"One Click Unsubscribe","tags":["account","public"]}},"/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/evaluations":{"get":{"description":"The workspace's kept evaluation runs, newest first (summaries; ``GET /{id}`` has the report).","operationId":"evaluations_list_api_v1_evaluations_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Evaluations List Api V1 Evaluations Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Evaluations List","tags":["routing"]},"post":{"description":"Route every row of a labelled dataset on this workspace's pool - nothing is executed or metered - and\nkeep the report: accuracy with its interval, quality, price, latency, calibration, the mix, the misroutes\nand the baselines on the same rows. ``route`` scope.","operationId":"evaluations_run_api_v1_evaluations_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Evaluations Run Api V1 Evaluations Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Evaluations Run","tags":["routing"]}},"/api/v1/evaluations/datasets":{"get":{"description":"The workspace's kept datasets, most recently changed first (row and label counts; ``GET /{id}`` has the\nrows).","operationId":"datasets_list_api_v1_evaluations_datasets_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Datasets List Api V1 Evaluations Datasets Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Datasets List","tags":["routing"]},"post":{"description":"Save logged requests as an evaluation dataset - the activity page's *Add to dataset*: name ``request_ids``,\nor a window over the prompts kept under ``log_payloads`` (``days``, ``limit``, ``outcome`` good / bad /\nrated / any, ``target_id``), or explicit ``rows``. A good outcome labels the row with the target that\nanswered. ``route`` scope; 409 when nothing matches.","operationId":"datasets_create_api_v1_evaluations_datasets_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Datasets Create Api V1 Evaluations Datasets Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Datasets Create","tags":["routing"]}},"/api/v1/evaluations/datasets/{dataset_id}":{"delete":{"operationId":"datasets_delete_api_v1_evaluations_datasets__dataset_id__delete","parameters":[{"in":"path","name":"dataset_id","required":true,"schema":{"title":"Dataset Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Datasets Delete Api V1 Evaluations Datasets  Dataset Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Datasets Delete","tags":["routing"]},"get":{"description":"One dataset with its rows; ``?format=jsonl`` returns the file ``osr eval`` reads, ``ragas`` / ``deepeval``\n/ ``langfuse`` the same rows as a JSONL file in that framework's dataset shape (:data:`DATASET_FORMATS`).","operationId":"datasets_get_api_v1_evaluations_datasets__dataset_id__get","parameters":[{"in":"path","name":"dataset_id","required":true,"schema":{"title":"Dataset Id","type":"string"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","title":"Format","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Datasets Get Api V1 Evaluations Datasets  Dataset Id  Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Datasets Get","tags":["routing"]}},"/api/v1/evaluations/datasets/{dataset_id}/results":{"post":{"description":"Read the scores another framework computed on this dataset back in - a Ragas result table, DeepEval\ntest results, Langfuse run items, or plain ``{row | request_id | input, scores, passed}`` rows\n(:data:`RESULT_FORMATS`) - and keep them as an ``external`` run next to the router's own; rows that came\nfrom logged requests get the mean score as an outcome (source ``eval:<tool>``). ``route`` scope; 409 when\nno row joins.","operationId":"datasets_results_api_v1_evaluations_datasets__dataset_id__results_post","parameters":[{"in":"path","name":"dataset_id","required":true,"schema":{"title":"Dataset Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultsIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Datasets Results Api V1 Evaluations Datasets  Dataset Id  Results Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Datasets Results","tags":["routing"]}},"/api/v1/evaluations/datasets/{dataset_id}/rows":{"post":{"description":"Add rows to a dataset (same body as creation; a logged request already present is not added twice).","operationId":"datasets_extend_api_v1_evaluations_datasets__dataset_id__rows_post","parameters":[{"in":"path","name":"dataset_id","required":true,"schema":{"title":"Dataset Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Datasets Extend Api V1 Evaluations Datasets  Dataset Id  Rows Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Datasets Extend","tags":["routing"]}},"/api/v1/evaluations/datasets/{dataset_id}/run":{"post":{"description":"Evaluate a kept dataset on today's pool and keep the report (the body carries the run options -\n``objective``, ``constraints``, ``tenant``, ``baselines``, ``frontier``). ``route`` scope.","operationId":"datasets_run_api_v1_evaluations_datasets__dataset_id__run_post","parameters":[{"in":"path","name":"dataset_id","required":true,"schema":{"title":"Dataset Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/EvaluationRunOptions"},{"type":"null"}],"title":"Body"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Datasets Run Api V1 Evaluations Datasets  Dataset Id  Run Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Datasets Run","tags":["routing"]}},"/api/v1/evaluations/gates":{"get":{"description":"The workspace's quality gates with their last verdict, newest first.","operationId":"gates_list_api_v1_evaluations_gates_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Gates List Api V1 Evaluations Gates Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Gates List","tags":["routing"]},"post":{"description":"Keep a labelled dataset as a quality gate: it is routed now (the baseline) and again every interval and\nafter every policy change; a run below ``min_accuracy`` or more than ``max_drop`` under the baseline files a\nwarning in the workspace inbox. Nothing is executed or metered. ``route`` scope, admin role.","operationId":"gates_create_api_v1_evaluations_gates_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GateIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Gates Create Api V1 Evaluations Gates Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Gates Create","tags":["routing"]}},"/api/v1/evaluations/gates/{gate_id}":{"delete":{"operationId":"gates_delete_api_v1_evaluations_gates__gate_id__delete","parameters":[{"in":"path","name":"gate_id","required":true,"schema":{"title":"Gate Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Gates Delete Api V1 Evaluations Gates  Gate Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Gates Delete","tags":["routing"]}},"/api/v1/evaluations/gates/{gate_id}/run":{"post":{"description":"Route the gate now and judge it (``route`` scope).","operationId":"gates_run_api_v1_evaluations_gates__gate_id__run_post","parameters":[{"in":"path","name":"gate_id","required":true,"schema":{"title":"Gate Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Gates Run Api V1 Evaluations Gates  Gate Id  Run Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Gates Run","tags":["routing"]}},"/api/v1/evaluations/judge":{"get":{"description":"The judge in force (the policy's ``judge`` block), what it graded over ``days`` per answering target,\nand the latest verdicts with their reasons.","operationId":"judge_overview_api_v1_evaluations_judge_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":7,"title":"Days","type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Judge Overview Api V1 Evaluations Judge Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Judge Overview","tags":["routing"]}},"/api/v1/evaluations/judge/run":{"post":{"description":"Grade one kept request now (the activity page's *Judge this answer*): a metered ``judge`` call whose\nverdict becomes the request's outcome. ``execute`` scope; 409 when the prompt and answer were not kept.","operationId":"judge_run_api_v1_evaluations_judge_run_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JudgeRunIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Judge Run Api V1 Evaluations Judge Run Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Judge Run","tags":["routing"]}},"/api/v1/evaluations/replay":{"post":{"description":"Re-route the prompts the workspace kept under its ``log_payloads`` policy through today's router and\nreport what would change, what it would cost and how it agrees with the outcomes people reported.\n409 when nothing was kept. ``route`` scope.","operationId":"evaluations_replay_api_v1_evaluations_replay_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Evaluations Replay Api V1 Evaluations Replay Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Evaluations Replay","tags":["routing"]}},"/api/v1/evaluations/sample":{"get":{"description":"A labelled sample dataset built from the catalogue, to try a run before you have your own rows.","operationId":"evaluations_sample_api_v1_evaluations_sample_get","parameters":[{"in":"query","name":"n","required":false,"schema":{"default":40,"title":"N","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Evaluations Sample Api V1 Evaluations Sample Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Evaluations Sample","tags":["routing"]}},"/api/v1/evaluations/{evaluation_id}":{"delete":{"operationId":"evaluations_delete_api_v1_evaluations__evaluation_id__delete","parameters":[{"in":"path","name":"evaluation_id","required":true,"schema":{"title":"Evaluation Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Evaluations Delete Api V1 Evaluations  Evaluation Id  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Evaluations Delete","tags":["routing"]},"get":{"operationId":"evaluations_get_api_v1_evaluations__evaluation_id__get","parameters":[{"in":"path","name":"evaluation_id","required":true,"schema":{"title":"Evaluation Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Evaluations Get Api V1 Evaluations  Evaluation Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Evaluations Get","tags":["routing"]}},"/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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/events/stream":{"get":{"description":"The same events as ``GET /api/v1/events``, pushed as they are recorded (server-sent events).\n\nEach event is one ``event: <name>`` / ``data: {...}`` frame; a ``: ping`` comment every 15 seconds\nkeeps the connection alive; the stream ends after ``max_s`` seconds (default and ceiling one hour -\nreconnect to continue). Filters are the list endpoint's ``request_id`` / ``name`` / ``kind`` /\n``level``. Every replica reads the shared telemetry store, so the stream sees every replica's\nevents; without a store it follows this process's buffer. A disabled tracer answers ``404`` before\nthe stream starts.","operationId":"events_stream_api_v1_events_stream_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":"max_s","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max S"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":"Events Stream","tags":["account"]}},"/api/v1/facts":{"get":{"description":"The public numbers of this deployment, each in its own class, so no page mixes them up.\n\n``version`` (the release this deployment runs and its build), ``catalogue`` (the reference model index -\nindexed, not necessarily executable here), ``storefront`` (models sold by the token through this\ndeployment's providers), ``deployment`` (targets that execute here, the providers behind them, whether the\nrouting SLM and the autopilot run), ``activity`` (what was actually routed: requests, workspaces, the\nmeasured saving) and ``marketplace`` (listings published here against those indexed from public registries\nand repositories). ``classes`` spells out what each class means. Cached for a minute.","operationId":"public_facts_api_v1_facts_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Public Facts","tags":["public"]}},"/api/v1/feedback":{"post":{"operationId":"feedback_api_v1_feedback_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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, output guard, audit chain, metrics, tracing), the\nworkspace policy and tenants with their budgets and spend, the plan's limits and quota, the catalogue's\ndata boundaries and PII-capable targets, data retention, the API-key hygiene (``keys``), the guard\nverdicts of the last 24 hours (``guard_activity``) and the compliance findings with a 0-100 posture\nscore (``posture``).","operationId":"governance_api_v1_governance_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/governance/report":{"get":{"description":"The compliance evidence bundle (admin role): the governance payload plus members and roles, the SSO\nconnection (no secret), every active key with scopes, limits and expiry, and the platform identity.\n``format=markdown`` downloads it as a Markdown document for an audit file.","operationId":"governance_report_api_v1_governance_report_get","parameters":[{"in":"query","name":"format","required":false,"schema":{"default":"json","title":"Format","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Governance Report Api V1 Governance Report Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Governance Report","tags":["account"]}},"/api/v1/growth/indexnow-key":{"get":{"description":"The IndexNow key of this deployment as ``text/plain`` (404 when IndexNow is off).","operationId":"indexnow_key_api_v1_growth_indexnow_key_get","responses":{"200":{"description":"Successful Response"}},"summary":"Indexnow Key","tags":["public"]}},"/api/v1/growth/linkedin/callback":{"get":{"description":"Where LinkedIn sends the operator's browser after consent (the app's registered redirect URL). Exchanges\nthe code, stores the connection and returns to the console growth page with ``?linkedin=connected`` or\n``?linkedin=error&reason=``.","operationId":"linkedin_callback_api_v1_growth_linkedin_callback_get","parameters":[{"in":"query","name":"code","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"in":"query","name":"state","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"in":"query","name":"error","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"in":"query","name":"error_description","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Description"}}],"responses":{"303":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Linkedin Callback","tags":["public"]}},"/api/v1/handoffs":{"get":{"description":"The workspace's hand-off tickets, newest first (``status`` filters pending/resolved/cancelled); a\ntenant-pinned key sees the tickets of its own tenant's requests only.","operationId":"handoffs_list_api_v1_handoffs_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Handoffs List Api V1 Handoffs Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Handoffs List","tags":["routing"]}},"/api/v1/handoffs/{handoff_id}":{"get":{"operationId":"handoffs_get_api_v1_handoffs__handoff_id__get","parameters":[{"in":"path","name":"handoff_id","required":true,"schema":{"title":"Handoff Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Handoffs Get Api V1 Handoffs  Handoff Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Handoffs Get","tags":["routing"]}},"/api/v1/handoffs/{handoff_id}/cancel":{"post":{"description":"Withdraw a pending ticket; the router learns the hand-off did not deliver.","operationId":"handoffs_cancel_api_v1_handoffs__handoff_id__cancel_post","parameters":[{"in":"path","name":"handoff_id","required":true,"schema":{"title":"Handoff Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Handoffs Cancel Api V1 Handoffs  Handoff Id  Cancel Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Handoffs Cancel","tags":["routing"]}},"/api/v1/handoffs/{handoff_id}/resolve":{"post":{"description":"A person answers the ticket; the resolution teaches the router that deferring was right.","operationId":"handoffs_resolve_api_v1_handoffs__handoff_id__resolve_post","parameters":[{"in":"path","name":"handoff_id","required":true,"schema":{"title":"Handoff Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HandoffResolveIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Handoffs Resolve Api V1 Handoffs  Handoff Id  Resolve Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Handoffs Resolve","tags":["routing"]}},"/api/v1/info":{"get":{"description":"What a visitor may know about this deployment: brand, versions, edition, plans, sign-up and sign-in\noptions. Where state lives, the service topology and the mail transport are operator facts and stay\non ``GET /api/v1/admin/overview`` and ``GET /api/v1/admin/services``.","operationId":"info_api_v1_info_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Info","tags":["public"]}},"/api/v1/insights":{"get":{"description":"What the last ``days`` say, as findings: cost against the window before with the targets that moved\nit, unusual days, failures, speed, concentration on one target, savings against the baseline and spend\nthe extension saw outside the router - each with its evidence and the page that acts on it. A headline\nsums it up. Computed from the workspace's own metered rows; no model is involved.","operationId":"insights_api_v1_insights_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":7,"maximum":90,"minimum":1,"title":"Days","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Insights Api V1 Insights Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Insights","tags":["account"]}},"/api/v1/insights/ask":{"post":{"description":"Answer a plain-words question about this workspace (*why did my cost go up*, *is anything slower*,\n*where could I save*) from the same findings: the subject is read from the question, the matching\nfindings come back with one answer sentence, and the rest of the questions people ask as suggestions.","operationId":"ask_api_v1_insights_ask_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Ask Api V1 Insights Ask Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Ask","tags":["account"]}},"/api/v1/journey":{"post":{"description":"Report what an anonymous visitor did on the site: page views, calls to action, the signup form's\nprogress. Up to 25 events per call; the visitor id is stored hashed, paths lose their query string but a\nfew harmless keys, referrers keep their origin only. Nothing identifies a person.","operationId":"record_api_v1_journey_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JourneyIn"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Record","tags":["public"]}},"/api/v1/journey/answer":{"post":{"description":"One answer to \"What is holding you back?\" (a visitor on the site or the signup page) or \"What is in\nyour way?\" (a signed-in workspace stuck before its first request): a reason from the stage's list and an\noptional line of text. The onboarding stage needs the workspace's session or key; one answer per\nworkspace is kept (a new one replaces it).","operationId":"answer_api_v1_journey_answer_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Answer Api V1 Journey Answer Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Answer","tags":["public"]}},"/api/v1/journey/blocker":{"get":{"description":"The calling workspace's answer to \"What is in your way?\", or null when it has not answered.","operationId":"blocker_api_v1_journey_blocker_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Blocker Api V1 Journey Blocker Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Blocker","tags":["public","account"]}},"/api/v1/journey/reasons":{"get":{"description":"The reasons each stage of the survey offers, with their labels (what the forms render).","operationId":"reasons_api_v1_journey_reasons_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reasons Api V1 Journey Reasons Get","type":"object"}}},"description":"Successful Response"}},"summary":"Reasons","tags":["public"]}},"/api/v1/keys":{"get":{"description":"The workspace's API keys (prefixes, never the secret); a tenant-pinned key lists its tenant's only.","operationId":"keys_api_v1_keys_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":{"description":"Mint a key (admin role). ``team`` names one of the organization's teams: the key is pinned to the\nteam's tenant, and a lead of that team may mint it without the admin role.","operationId":"create_key_api_v1_keys_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/scopes":{"get":{"description":"The scopes a key can be limited to (``POST /keys`` ``scopes``), the longest allowed expiry and the\n``limits`` keys (budgets, allowed targets).","operationId":"key_scopes_api_v1_keys_scopes_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Key Scopes Api V1 Keys Scopes Get","type":"object"}}},"description":"Successful Response"}},"summary":"Key Scopes","tags":["account"]}},"/api/v1/keys/{key_id}":{"delete":{"description":"Revoke a key (admin role, or a lead of the team the key was minted for).","operationId":"revoke_key_api_v1_keys__key_id__delete","parameters":[{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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, change its scopes and / or replace its limits (the secret does not change).\nAdmin role, or a lead of the team the key was minted for.","operationId":"rename_key_api_v1_keys__key_id__patch","parameters":[{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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. Admin role, or a lead\nof the team the key was minted for.","operationId":"rotate_key_api_v1_keys__key_id__rotate_post","parameters":[{"in":"path","name":"key_id","required":true,"schema":{"title":"Key Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/knowledge":{"delete":{"operationId":"delete_personal_api_v1_knowledge_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Personal Api V1 Knowledge Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Personal","tags":["knowledge"]},"get":{"operationId":"overview_api_v1_knowledge_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Overview Api V1 Knowledge Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Overview","tags":["knowledge"]}},"/api/v1/knowledge/context":{"post":{"operationId":"preview_context_api_v1_knowledge_context_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContextIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Preview Context Api V1 Knowledge Context Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Preview Context","tags":["knowledge"]}},"/api/v1/knowledge/export":{"get":{"operationId":"export_api_v1_knowledge_export_get","parameters":[{"in":"query","name":"format","required":false,"schema":{"default":"jsonld","title":"Format","type":"string"}},{"in":"query","name":"personal","required":false,"schema":{"default":true,"title":"Personal","type":"boolean"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Export Api V1 Knowledge Export Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Export","tags":["knowledge"]}},"/api/v1/knowledge/facts":{"delete":{"operationId":"delete_facts_api_v1_knowledge_facts_delete","parameters":[{"in":"query","name":"subject","required":false,"schema":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"title":"Subject"}},{"in":"query","name":"predicate","required":false,"schema":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Predicate"}},{"in":"query","name":"object","required":false,"schema":{"anyOf":[{"maxLength":400,"type":"string"},{"type":"null"}],"title":"Object"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Facts Api V1 Knowledge Facts Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Facts","tags":["knowledge"]},"get":{"operationId":"list_facts_api_v1_knowledge_facts_get","parameters":[{"in":"query","name":"q","required":false,"schema":{"default":"","maxLength":200,"title":"Q","type":"string"}},{"in":"query","name":"predicate","required":false,"schema":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"title":"Predicate"}},{"in":"query","name":"personal","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Personal"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Facts Api V1 Knowledge Facts Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Facts","tags":["knowledge"]},"post":{"operationId":"add_fact_api_v1_knowledge_facts_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FactIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Fact Api V1 Knowledge Facts Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Add Fact","tags":["knowledge"]}},"/api/v1/knowledge/forget":{"post":{"operationId":"forget_api_v1_knowledge_forget_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgetIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Forget Api V1 Knowledge Forget Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Forget","tags":["knowledge"]}},"/api/v1/knowledge/settings":{"put":{"operationId":"put_settings_api_v1_knowledge_settings_put","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSettingsIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Put Settings Api V1 Knowledge Settings Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Put Settings","tags":["knowledge"]}},"/api/v1/knowledge/suggest":{"get":{"operationId":"suggest_api_v1_knowledge_suggest_get","parameters":[{"in":"query","name":"subject","required":true,"schema":{"maxLength":200,"minLength":1,"title":"Subject","type":"string"}},{"in":"query","name":"predicate","required":true,"schema":{"maxLength":40,"minLength":2,"title":"Predicate","type":"string"}},{"in":"query","name":"k","required":false,"schema":{"default":5,"maximum":50,"minimum":1,"title":"K","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Suggest Api V1 Knowledge Suggest Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Suggest","tags":["knowledge"]}},"/api/v1/knowledge/train":{"post":{"operationId":"train_api_v1_knowledge_train_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Train Api V1 Knowledge Train Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Train","tags":["knowledge"]}},"/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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/legal":{"get":{"description":"The versions of the terms of service and the privacy notice: what applies today, what is announced\nfor a later date and the history. No key needed.","operationId":"public_legal_api_v1_legal_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Public Legal Api V1 Legal Get","type":"object"}}},"description":"Successful Response"}},"summary":"Public Legal","tags":["account","public"]}},"/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/maintenance":{"get":{"operationId":"maintenance_api_v1_maintenance_get","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Maintenance Api V1 Maintenance Get","type":"object"}}},"description":"Successful Response"}},"summary":"Maintenance","tags":["public"]}},"/api/v1/me":{"get":{"operationId":"me_api_v1_me_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/email-preferences":{"get":{"description":"What the platform may e-mail you: the optional categories, the newsletter subscription of your address\nand (owners and admins) the workspace's usage-report schedule.","operationId":"my_preferences_api_v1_me_email_preferences_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response My Preferences Api V1 Me Email Preferences Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"My Preferences","tags":["account"]},"put":{"description":"Switch categories on or off and subscribe to or leave the newsletter. A verified address joins the\nnewsletter at once; an unverified one receives the usual confirmation link.","operationId":"set_my_preferences_api_v1_me_email_preferences_put","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPreferencesIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set My Preferences Api V1 Me Email Preferences Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Set My Preferences","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 stored only under a\n``log_payloads`` policy; ``request_logs`` carries whatever was kept.","operationId":"my_export_api_v1_me_export_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":365,"title":"Days","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/legal":{"get":{"description":"Which versions of the terms and the privacy notice you accepted, whether the versions in effect are\ncovered (``pending`` lists the ones that still need your acceptance) and announced changes.","operationId":"my_legal_api_v1_me_legal_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response My Legal Api V1 Me Legal Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"My Legal","tags":["account"]}},"/api/v1/me/legal/accept":{"post":{"description":"Record that you accept the newest published version of the given documents (default: all). Every\nacceptance is kept with its time and source; the response is the updated status.","operationId":"accept_legal_api_v1_me_legal_accept_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegalAcceptIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Accept Legal Api V1 Me Legal Accept Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Accept Legal","tags":["account"]}},"/api/v1/me/listings":{"get":{"operationId":"my_listings_api_v1_me_listings_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/me/login-alerts":{"put":{"description":"When the person is told about a sign-in (mail and the bell): ``new`` - a device or a country the\naccount has not been seen on, the default - or ``always`` - every sign-in. The notice cannot be switched\noff: it is the one message that tells someone their account is being used.","operationId":"set_login_alerts_api_v1_me_login_alerts_put","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginAlertsIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Login Alerts Api V1 Me Login Alerts Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Set Login Alerts","tags":["account"]}},"/api/v1/me/whats-new":{"get":{"description":"What changed since this user last acknowledged a release (empty once acknowledged).","operationId":"whats_new_api_v1_me_whats_new_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Whats New Api V1 Me Whats New Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Whats New","tags":["releases"]}},"/api/v1/me/whats-new/seen":{"post":{"description":"Remember that this user has read the notes up to the running version.","operationId":"mark_seen_api_v1_me_whats_new_seen_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mark Seen Api V1 Me Whats New Seen Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mark Seen","tags":["releases"]}},"/api/v1/memory":{"delete":{"operationId":"delete_memories_api_v1_memory_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Memories Api V1 Memory Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Memories","tags":["conversations"]},"get":{"operationId":"get_memory_api_v1_memory_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Memory Api V1 Memory Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get Memory","tags":["conversations"]},"post":{"operationId":"add_memory_api_v1_memory_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Memory Api V1 Memory Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Add Memory","tags":["conversations"]}},"/api/v1/memory/settings":{"put":{"operationId":"put_memory_settings_api_v1_memory_settings_put","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemorySettingsIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Put Memory Settings Api V1 Memory Settings Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Put Memory Settings","tags":["conversations"]}},"/api/v1/memory/{memory_id}":{"delete":{"operationId":"delete_memory_api_v1_memory__memory_id__delete","parameters":[{"in":"path","name":"memory_id","required":true,"schema":{"title":"Memory Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Memory","tags":["conversations"]},"patch":{"operationId":"patch_memory_api_v1_memory__memory_id__patch","parameters":[{"in":"path","name":"memory_id","required":true,"schema":{"title":"Memory Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Memory Api V1 Memory  Memory Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Patch Memory","tags":["conversations"]}},"/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/newsletter/confirm":{"post":{"description":"Confirm with the token from the email; 404 when it is unknown or older than three days. The address\nreceives the branded welcome with its unsubscribe link. The moment, the address the click came from and\nthe statement agreed to are kept as the consent record (``GET /api/v1/newsletter/preferences`` shows it).","operationId":"confirm_api_v1_newsletter_confirm_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Confirm Api V1 Newsletter Confirm Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Confirm","tags":["public"]}},"/api/v1/newsletter/issues/{issue_id}":{"get":{"description":"One sent issue as the website shows it behind the *view this issue in your browser* link: subject, day,\nopener and the posts it carried (public blog data only). 404 for an unknown issue or one not sent yet.","operationId":"issue_page_api_v1_newsletter_issues__issue_id__get","parameters":[{"in":"path","name":"issue_id","required":true,"schema":{"title":"Issue Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Issue Page Api V1 Newsletter Issues  Issue Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Issue Page","tags":["public"]}},"/api/v1/newsletter/preferences":{"delete":{"description":"Erase everything held about the reader - the subscription row with its consent record and the hashed\nengagement rows. Irreversible; a later signup starts from nothing.","operationId":"erase_reader_api_v1_newsletter_preferences_delete","parameters":[{"in":"query","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Erase Reader Api V1 Newsletter Preferences Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Erase Reader","tags":["public"]},"get":{"description":"The reader's page behind the *Newsletter preferences* link of every issue: the address, status, daily or\nweekly, time zone, the topics followed, the consent record and everything else stored about them. No\nsign-in; the token from the footer is the credential.","operationId":"reader_preferences_api_v1_newsletter_preferences_get","parameters":[{"in":"query","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reader Preferences Api V1 Newsletter Preferences Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Reader Preferences","tags":["public"]},"put":{"description":"Switch between the daily issue and the weekly digest (``weekly_day`` in the reader's zone), set the\ntime zone the issue is timed by, and choose the ``topics`` (categories) to receive - an empty list, or\nevery category, means all of them; an issue with nothing in the reader's topics is not sent to them.","operationId":"set_reader_preferences_api_v1_newsletter_preferences_put","parameters":[{"in":"query","name":"token","required":true,"schema":{"title":"Token","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReaderPreferencesIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Reader Preferences Api V1 Newsletter Preferences Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Set Reader Preferences","tags":["public"]}},"/api/v1/newsletter/subscribe":{"post":{"description":"Start a subscription: the address receives a confirmation link (three days). Always ``202``; an\nalready confirmed address is not told apart. 5 per IP per minute.","operationId":"subscribe_api_v1_newsletter_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeIn"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Subscribe Api V1 Newsletter Subscribe Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Subscribe","tags":["public"]}},"/api/v1/newsletter/unsubscribe":{"post":{"description":"One-click unsubscribe with the token from an issue's footer - as JSON ``{\"token\"}`` from the web page or\nas the ``?token=`` query a mail client's *List-Unsubscribe* POST carries (RFC 8058). Campaign tokens keep\nworking.","operationId":"unsubscribe_api_v1_newsletter_unsubscribe_post","parameters":[{"in":"query","name":"token","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TokenIn"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Unsubscribe Api V1 Newsletter Unsubscribe Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Unsubscribe","tags":["public"]}},"/api/v1/notifications":{"get":{"description":"The workspace's alert episodes and the reader's own account notices, newest first, with the unread\ncounts 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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":{"description":"The workspace's channels plus what they can be configured with: alert ``rules`` and ``severities``, and\nthe platform ``event_types`` a webhook / Slack / Teams channel can subscribe to (``events`` on the channel;\n``\"*\"`` and ``\"key.*\"`` patterns work). Event deliveries carry ``X-OSR-Event`` and, with a secret,\n``X-OSR-Signature``; they are listed under ``/deliveries`` and retried like alert deliveries.","operationId":"channels_api_v1_notifications_channels_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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`` and\nwebhook / Slack / Teams channels may subscribe to platform ``events``.","operationId":"create_channel_api_v1_notifications_channels_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/offers":{"get":{"description":"Every model this deployment sells, grouped by catalogue id: list price, the customer price (the caller's\nplan and rules when signed in, else the deployment's public tariff), the endpoints serving it with health and\nseven-day traffic. Only offers a client can call are listed - enabled, on an enabled provider; a disabled\noffer (switched off by an operator, or auto-disabled because its server does not run the model) is the\noperator's business (``GET /admin/offers``), not a storefront row. Anonymous callers get the public prices.","operationId":"list_offers_api_v1_offers_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":"provider","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response List Offers Api V1 Offers Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Offers","tags":["offers"]}},"/api/v1/offers/{vendor}/{model}":{"get":{"description":"One model's endpoints (``model`` may carry a ``:variant`` suffix) with prices, health and traffic.","operationId":"one_model_api_v1_offers__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":{"additionalProperties":true,"title":"Response One Model Api V1 Offers  Vendor   Model  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"One Model","tags":["offers"]}},"/api/v1/onboarding":{"get":{"description":"Getting-started checklist of the calling workspace: what is done, what to do next, with the links.\n\n``steps`` is *setup readiness*: verify the e-mail address, create an API key, route a first request,\nreport a first outcome, connect a model provider (executable targets), invite a teammate\n(organizations). ``complete`` is the share of steps done; the dashboard shows the list until every\nstep is done. ``value`` is kept apart from setup on purpose - a finished checklist is not proof the\nworkspace got anything out of the platform: its milestones are the first *executed* request (a target\nanswered, not only a decision), the first outcome reported as a success and a return visit on another\nday, each with the count behind it.","operationId":"onboarding_api_v1_onboarding_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/product-feedback":{"get":{"description":"The workspace's feedback, most recent activity first, with counts per status (``status=open`` = every\nitem not yet shipped or declined).","operationId":"list_items_api_v1_product_feedback_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Items Api V1 Product Feedback Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Items","tags":["support"]},"post":{"description":"Send feedback: a bug, an idea, an improvement, praise. ``diagnostics`` is what the browser collected on\nthe page (bounded and scrubbed of credentials on the way in), ``attachments`` up to three screenshots as\ndata URLs. Answers with the item and its reference; the person is e-mailed the same.","operationId":"submit_api_v1_product_feedback_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFeedbackIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Submit Api V1 Product Feedback Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Submit","tags":["support"]}},"/api/v1/product-feedback/{key}":{"get":{"description":"One item by id or reference (``FB-00012``) with its conversation (internal notes excluded), the\ndiagnostics the browser sent and the list of screenshots.","operationId":"get_item_api_v1_product_feedback__key__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Item Api V1 Product Feedback  Key  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get Item","tags":["support"]}},"/api/v1/product-feedback/{key}/attachments/{attachment_id}":{"get":{"description":"A screenshot of the item (the image bytes).","operationId":"attachment_api_v1_product_feedback__key__attachments__attachment_id__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"path","name":"attachment_id","required":true,"schema":{"title":"Attachment Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":"Attachment","tags":["support"]}},"/api/v1/product-feedback/{key}/comments":{"post":{"description":"Add to the conversation (not possible once the item is shipped or declined).","operationId":"comment_api_v1_product_feedback__key__comments_post","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Comment Api V1 Product Feedback  Key  Comments Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Comment","tags":["support"]}},"/api/v1/prompts":{"get":{"description":"Every prompt of the workspace: newest version, version count, labels and the variables it uses.","operationId":"prompts_list_api_v1_prompts_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Prompts List Api V1 Prompts Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts List","tags":["account"]},"post":{"description":"Add a version: version 1 of a new name, or the next version of an existing one (versions are\nimmutable). ``labels`` named here move to this version. ``manage`` scope.","operationId":"prompts_create_api_v1_prompts_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptVersionIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Prompts Create Api V1 Prompts Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Create","tags":["account"]}},"/api/v1/prompts/{name}":{"delete":{"description":"Delete a prompt with every version (requests naming it answer 404 from then on).","operationId":"prompts_delete_api_v1_prompts__name__delete","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Delete","tags":["account"]},"get":{"description":"Every version of ``name``, newest first, with content.","operationId":"prompts_versions_api_v1_prompts__name__get","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Prompts Versions Api V1 Prompts  Name  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Versions","tags":["account"]}},"/api/v1/prompts/{name}/render":{"post":{"description":"Preview a version with variables - what the instruction and the examples become, nothing routed.","operationId":"prompts_render_api_v1_prompts__name__render_post","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptRenderIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Prompts Render Api V1 Prompts  Name  Render Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Render","tags":["account"]}},"/api/v1/prompts/{name}/stats":{"get":{"description":"How each version did on the requests that named it in the last ``days``: requests, answered share,\ntokens, cost, median latency, reported success rate and mean quality - version against version.","operationId":"prompts_stats_api_v1_prompts__name__stats_get","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","type":"string"}},{"in":"query","name":"days","required":false,"schema":{"default":30,"maximum":90,"minimum":1,"title":"Days","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Prompts Stats Api V1 Prompts  Name  Stats Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Stats","tags":["account"]}},"/api/v1/prompts/{name}/{version}":{"delete":{"operationId":"prompts_delete_version_api_v1_prompts__name___version__delete","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","type":"string"}},{"in":"path","name":"version","required":true,"schema":{"title":"Version","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Delete Version","tags":["account"]},"get":{"operationId":"prompts_get_api_v1_prompts__name___version__get","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","type":"string"}},{"in":"path","name":"version","required":true,"schema":{"title":"Version","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Prompts Get Api V1 Prompts  Name   Version  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Get","tags":["account"]}},"/api/v1/prompts/{name}/{version}/labels":{"put":{"description":"Deploy by label: the labels this version carries (``production``, ``staging`` ...). A label names one\nversion, so naming it here takes it from the version that had it. ``manage`` scope.","operationId":"prompts_labels_api_v1_prompts__name___version__labels_put","parameters":[{"in":"path","name":"name","required":true,"schema":{"title":"Name","type":"string"}},{"in":"path","name":"version","required":true,"schema":{"title":"Version","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptLabelsIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Prompts Labels Api V1 Prompts  Name   Version  Labels Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Prompts Labels","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/quota":{"get":{"description":"Where the workspace stands against its plan this month: ``used`` / ``limit`` / ``remaining``,\n``percent``, ``resets_at`` (start of the next UTC month), ``state`` (``ok`` | ``warning`` | ``overage``\n| ``exhausted``) and, on plans with an overage rate, the requests beyond the quota and their\nestimated cost. Not metered.","operationId":"quota_api_v1_quota_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Quota Api V1 Quota Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Quota","tags":["account"]}},"/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/rankings/listings":{"get":{"description":"The marketplace board: published listings of one ``kind`` (or all) by ``installs`` (default),\n``rating`` (Bayesian average - the mean shrunk towards ``rating_prior.mean`` by ``rating_prior.weight``\nvirtual ratings) or ``newest``. Each row is the public card with ``rank``, ``reviews`` and\n``bayesian_rating``; publishers appear by display name only.","operationId":"listings_board_api_v1_rankings_listings_get","parameters":[{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"sort","required":false,"schema":{"default":"installs","title":"Sort","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Listings Board","tags":["public"]}},"/api/v1/rankings/listings/kinds":{"get":{"description":"Every marketplace kind with its published listings, installs and reviews.","operationId":"listings_kinds_api_v1_rankings_listings_kinds_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Listings Kinds","tags":["public"]}},"/api/v1/rankings/models":{"get":{"description":"Models ranked by published benchmarks - the composite ``osr_index`` by default (Artificial Analysis\nintelligence index, Open LLM Leaderboard average and Chatbot Arena score, weighted, with ``osr_coverage``\ntelling how many of the three the model publishes), or one metric (``sort``: ``intelligence_index``,\n``coding_index``, ``agentic_index``, ``hf_leaderboard_avg``, ``arena_score``, ``hub_downloads``,\n``hub_likes``, ``price``, ``newest``). ``movement`` is the change in rank since the previous day.\nRefreshed automatically every ``interval_s`` seconds (default: three times a day).","operationId":"models_api_v1_rankings_models_get","parameters":[{"in":"query","name":"sort","required":false,"schema":{"default":"osr_index","title":"Sort","type":"string"}},{"in":"query","name":"vendor","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor"}},{"in":"query","name":"open_weights","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Open Weights"}},{"in":"query","name":"q","required":false,"schema":{"default":"","title":"Q","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"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":"Models","tags":["public"]}},"/api/v1/rankings/models/{vendor}/{model}":{"get":{"description":"One model's board entry with its rank history (``days`` back, one point per refresh day).","operationId":"model_api_v1_rankings_models__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"}},{"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/rankings/targets":{"get":{"description":"Targets ranked by reported outcomes across every workspace, optionally one ``kind`` (``llm``, ``agent``,\n``skill``, ``tool``, ``persona``, ``workflow``, ``human``) within one task ``domain`` (see\n``/rankings/targets/domains``) over ``window_days`` (default 30). ``score`` is the Wilson lower bound of the\nreported success rate; rows with fewer than ``min_samples`` outcomes are ``provisional`` and listed last.\n``share`` is the target's part of the routed requests in that domain; ``p50_latency_ms`` is read off a\n10 ms histogram. Anonymised: no workspace, request or prompt data.","operationId":"targets_board_api_v1_rankings_targets_get","parameters":[{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"query","name":"domain","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"}},{"in":"query","name":"window_days","required":false,"schema":{"default":30,"title":"Window Days","type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Targets Board","tags":["public"]}},"/api/v1/rankings/targets/domains":{"get":{"description":"The task domains routed in the window with their request counts (domains thinner than ``min_samples``\nrequests are left out); the values ``/rankings/targets?domain=`` accepts.","operationId":"targets_domains_api_v1_rankings_targets_domains_get","parameters":[{"in":"query","name":"window_days","required":false,"schema":{"default":30,"title":"Window 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":"Targets Domains","tags":["public"]}},"/api/v1/referrals":{"get":{"description":"The workspace's referral code and link, the terms, the referrals so far and what they earned.","operationId":"my_referrals_api_v1_referrals_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response My Referrals Api V1 Referrals Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"My Referrals","tags":["account"]}},"/api/v1/referrals/invite":{"post":{"description":"E-mail the referral link to one address (twenty a day per workspace).","operationId":"invite_api_v1_referrals_invite_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralInviteIn"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Invite Api V1 Referrals Invite Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Invite","tags":["account"]}},"/api/v1/referrals/lookup":{"get":{"description":"What a visitor on a referral link is offered: whether the code is live and the welcome credit. Names\nthe inviting workspace by its initials only.","operationId":"lookup_api_v1_referrals_lookup_get","parameters":[{"in":"query","name":"code","required":true,"schema":{"maxLength":12,"minLength":6,"title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Lookup Api V1 Referrals Lookup Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Lookup","tags":["account","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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/sitemap":{"get":{"description":"``slug`` and ``updated_at`` of the published listings worth indexing, for the XML sitemap (no auth, cheap\nto page): native listings and imported ones with substance - a README, an install, a rating or a mark.","operationId":"sitemap_api_v1_registry_sitemap_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":5000,"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 Sitemap Api V1 Registry Sitemap Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Sitemap","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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/releases":{"get":{"description":"Released versions from the changelog, newest first, the version this deployment runs, the build it is\n(stable release or developer preview, docs/RELEASES.md) and what has landed since the last release.","operationId":"list_releases_api_v1_releases_get","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Releases Api V1 Releases Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Releases","tags":["releases"]}},"/api/v1/releases/{version}":{"get":{"description":"One release's notes; ``unreleased`` returns the changes since the last release (404 when there are none).","operationId":"one_release_api_v1_releases__version__get","parameters":[{"in":"path","name":"version","required":true,"schema":{"title":"Version","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response One Release Api V1 Releases  Version  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"One Release","tags":["releases"]}},"/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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/sales/inquiries":{"post":{"description":"Ask to talk to sales about a plan (the enterprise plan is sold this way). No key needed; a signed-in\ncaller's workspace is attached so the agreement can be applied to it. Answers with the inquiry and its\nreference; the requester is e-mailed the same, the operators are told. Five per address and day.","operationId":"open_inquiry_api_v1_sales_inquiries_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InquiryIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Open Inquiry Api V1 Sales Inquiries Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Open Inquiry","tags":["public"]}},"/api/v1/savings":{"get":{"description":"Baseline-vs-routed cost over the window; ``baseline`` defaults to the priciest model. A tenant-pinned\nkey sees its tenant's executed traffic only.","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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/services":{"get":{"description":"Everything the platform runs as a service, with its status on this deployment.\n\nEach item: ``status`` (``live`` works now, ``limited`` runs with a stated restriction, ``off`` not here),\n``detail`` (the reason), ``endpoint`` (``METHOD /path``), ``access`` (``public`` / ``key`` / ``operator``),\n``plan`` (the cheapest plan that includes it), ``docs`` and ``page`` on the site, and ``facts`` - small\nlive figures from the same stores the dashboards read. Cached for a minute.","operationId":"services_api_v1_services_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Services","tags":["public"]}},"/api/v1/shadow":{"delete":{"description":"Stop the running candidate (admin role); its comparisons stay readable under ``history``.","operationId":"stop_api_v1_shadow_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Stop Api V1 Shadow Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Stop","tags":["routing"]},"get":{"description":"The running shadow candidate with what it would have changed so far (``summary``: agreement, spend,\nquality and latency deltas, the target moves, refusals, a ``verdict``), the most recent comparisons and\nthe earlier candidates. ``candidate`` is null when nothing is being shadowed.","operationId":"read_api_v1_shadow_get","parameters":[{"in":"query","name":"recent","required":false,"schema":{"default":20,"maximum":500,"minimum":0,"title":"Recent","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Read Api V1 Shadow Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Read","tags":["routing"]},"post":{"description":"Start shadowing a candidate policy (admin role): objective weights (``quality``, ``cost``, ``latency``,\n``quality_floor``) and / or constraint overrides (the policy's request-shaping keys). A running candidate\nis stopped. Nothing is executed or charged for the shadow decisions.","operationId":"start_api_v1_shadow_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Start Api V1 Shadow Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Start","tags":["routing"]}},"/api/v1/shadow/promote":{"post":{"description":"Make the candidate the workspace policy (admin role): its constraint overrides are merged into the\npolicy and its objective weights become the policy's ``objective`` (the default for requests that set\nnone). The policy change runs every quality gate the workspace keeps.","operationId":"promote_api_v1_shadow_promote_post","parameters":[{"in":"query","name":"candidate_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Candidate Id"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Promote Api V1 Shadow Promote Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Promote","tags":["routing"]}},"/api/v1/shadow/{candidate_id}":{"get":{"description":"One candidate (running or ended) with its summary and comparisons.","operationId":"one_api_v1_shadow__candidate_id__get","parameters":[{"in":"path","name":"candidate_id","required":true,"schema":{"title":"Candidate Id","type":"string"}},{"in":"query","name":"recent","required":false,"schema":{"default":50,"maximum":500,"minimum":0,"title":"Recent","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response One Api V1 Shadow  Candidate Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"One","tags":["routing"]}},"/api/v1/showcase":{"get":{"description":"The product pages' walk-through drafts with the answer the router wrote for each and what it cost\n(target, model, tokens, price, latency). ``answer`` is null for a draft the platform has not answered\nyet; ``stale`` says whether a refresh is due.","operationId":"read_showcase_api_v1_showcase_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Read Showcase","tags":["public"]}},"/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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/site/photos":{"get":{"description":"The photographs an operator replaced or re-captioned, by key: caption, crop focus, credit and - when the\npicture itself was replaced - its size and a content version. The site merges this over the photographs\nit ships; a key that is not here shows the shipped picture.","operationId":"manifest_api_v1_site_photos_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Manifest","tags":["public"]}},"/api/v1/site/photos/{key}":{"get":{"description":"The replaced picture: a redirect to its address in object storage when it lives there, else the bytes\n(WebP, long-lived cache, ETag); ``404`` when the key keeps the shipped one.","operationId":"picture_api_v1_site_photos__key__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}}],"responses":{"200":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Picture","tags":["public"]}},"/api/v1/sla":{"get":{"description":"What the plan commits to and how the calendar month is going against it: ``availability`` (the\nshare of the workspace's metered requests the platform answered without a 5xx, against\n``sla_uptime_pct``) and ``support`` (first-response times of the tickets opened this month, against\nthe tier's ``support_response_hours``). ``met`` is null until there is something to measure; plans\nwithout a commitment still get the figures, with ``target`` null.","operationId":"sla_api_v1_sla_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Sla Api V1 Sla Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Sla","tags":["account"]}},"/api/v1/stats":{"get":{"operationId":"stats_api_v1_stats_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/status/board":{"get":{"description":"Everything the status page shows: overall state, every component with its last check and 90 days of\nuptime, open and recent incidents, and what the platform served per day (requests, platform failures).","operationId":"status_board_api_v1_status_board_get","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Status Board","tags":["public"]}},"/api/v1/status/incidents":{"get":{"description":"Incidents opened or active in the last ``days`` days, newest first, each with its updates.","operationId":"list_incidents_api_v1_status_incidents_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":90,"maximum":400,"minimum":1,"title":"Days","type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":200,"minimum":1,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Incidents","tags":["public"]}},"/api/v1/status/incidents/{incident_id}":{"get":{"operationId":"one_incident_api_v1_status_incidents__incident_id__get","parameters":[{"in":"path","name":"incident_id","required":true,"schema":{"title":"Incident Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response One Incident Api V1 Status Incidents  Incident Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"One Incident","tags":["public"]}},"/api/v1/support/tickets":{"get":{"description":"The workspace's tickets, most recent activity first, with counts per status.","operationId":"list_tickets_api_v1_support_tickets_get","parameters":[{"in":"query","name":"status","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Tickets Api V1 Support Tickets Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Tickets","tags":["support"]},"post":{"description":"Raise a concern. Answers with the ticket and its reference; the requester is e-mailed the same.","operationId":"open_ticket_api_v1_support_tickets_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Open Ticket Api V1 Support Tickets Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Open Ticket","tags":["support"]}},"/api/v1/support/tickets/{key}":{"get":{"description":"One ticket by id or reference (``OSR-00042``) with its conversation (internal notes excluded).","operationId":"get_ticket_api_v1_support_tickets__key__get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Ticket Api V1 Support Tickets  Key  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get Ticket","tags":["support"]}},"/api/v1/support/tickets/{key}/close":{"post":{"description":"The requester considers the matter closed.","operationId":"close_api_v1_support_tickets__key__close_post","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Close Api V1 Support Tickets  Key  Close Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Close","tags":["support"]}},"/api/v1/support/tickets/{key}/messages":{"post":{"description":"Add to the conversation; an answered or resolved ticket goes back to ``open``.","operationId":"reply_api_v1_support_tickets__key__messages_post","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Reply Api V1 Support Tickets  Key  Messages Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Reply","tags":["support"]}},"/api/v1/support/tickets/{key}/stream":{"get":{"description":"Live updates as server-sent events: the ticket with its conversation now, then again whenever it changes\n(a reply, a status change); a keep-alive comment every 15 s; ends after ten minutes (the client reconnects).","operationId":"stream_api_v1_support_tickets__key__stream_get","parameters":[{"in":"path","name":"key","required":true,"schema":{"title":"Key","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":"Stream","tags":["support"]}},"/api/v1/targets":{"get":{"description":"The deployment catalogue plus the workspace's installed marketplace listings (``source``:\n``catalogue`` / ``marketplace``), each with whether it can execute for this workspace.","operationId":"targets_api_v1_targets_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":{"description":"Every tenant with this month's usage, today's and this month's spend against its budgets, and the\nnumber of API keys pinned to it. A tenant-pinned key sees its own tenant only.","operationId":"tenants_api_v1_tenants_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":{"description":"Requests, tokens, cost and latency over ``days`` per day, target, endpoint and tenant; ``tenant``\nnarrows the window to one tenant slug (its ``by_tenant`` still lists every tenant). A tenant-pinned key\nalways gets its own tenant's figures and nothing else.","operationId":"usage_api_v1_usage_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"query","name":"tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/usage/activity":{"get":{"description":"The workspace's client events, newest first; ``before=<ts of the last row>`` pages further back,\n``app`` picks one client, ``kind`` one event kind or a prefix (``pii.*``).","operationId":"activity_list_api_v1_usage_activity_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"default":200,"title":"Limit","type":"integer"}},{"in":"query","name":"before","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Before"}},{"in":"query","name":"app","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App"}},{"in":"query","name":"kind","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Activity List Api V1 Usage Activity Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Activity List","tags":["account"]},"post":{"description":"Record what the browser extension or the desktop app did (kinds, counts and figures - never text).\n\n``feedback`` scope (the path is in ``auth._FEEDBACK_PATHS``). The plan caps events per day\n(``activity_events_per_day``): a batch that would cross it answers ``429`` with ``Retry-After`` and\nnothing is recorded; the answer always names the cap and the plan's retention.","operationId":"activity_ingest_api_v1_usage_activity_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientEventsIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Activity Ingest Api V1 Usage Activity Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Activity Ingest","tags":["account"]}},"/api/v1/usage/activity/summary":{"get":{"description":"Totals per app, kind and site and the per-day series of client events, plus what the plan keeps\n(``retention_days``) and allows (``limit_per_day``, ``today``).","operationId":"activity_summary_api_v1_usage_activity_summary_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Activity Summary Api V1 Usage Activity Summary Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Activity Summary","tags":["account"]}},"/api/v1/usage/imports":{"get":{"description":"The analyses kept for the workspace, newest first, with their headline figures.","operationId":"list_imports_api_v1_usage_imports_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Imports Api V1 Usage Imports Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Imports","tags":["account"]},"post":{"description":"Analyse a usage export from your model provider and, unless ``dry_run=true``, keep the analysis.\n\n``text`` is the export as the provider gave it: the OpenAI usage or costs CSV, the Anthropic console\nusage CSV, an Azure cost-analysis export, or any CSV / JSON with a date, a model and token or amount\ncolumns (``provider`` names the provider when the rows carry none; ``auto`` infers it from the model\nnames) - or the text of an invoice, whose line items are read with their amounts. Every line is priced\nat what the export says it cost - or at catalogue list price when it carries no amounts - and at what the\nrouter's recommended target would have charged for the same token shape.\nThe answer is the analysis: totals, the saving, the split per provider and model, the daily series, the\nlines (up to 5,000 inline; the file exports carry all) and notes on what was assumed. Dates, names and\nnumbers are read; every other column is ignored and never stored.","operationId":"create_import_api_v1_usage_imports_post","parameters":[{"in":"query","name":"dry_run","required":false,"schema":{"default":false,"title":"Dry Run","type":"boolean"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendImportIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Import Api V1 Usage Imports Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create Import","tags":["account"]}},"/api/v1/usage/imports/samples":{"get":{"description":"Sample exports in each provider's own layout (invented figures), to try the analysis before touching a\nreal bill: post one as ``text`` with ``?dry_run=true``.","operationId":"list_samples_api_v1_usage_imports_samples_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Samples Api V1 Usage Imports Samples Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Samples","tags":["account"]}},"/api/v1/usage/imports/upload":{"post":{"description":"The same analysis for a multipart upload (``file`` + optional ``name`` and ``provider`` fields), for\ncurl and integrations that hold the file rather than its text. A PDF is read as an invoice: the vendor,\nthe billing period and every line item that names a model with an amount.","operationId":"upload_import_api_v1_usage_imports_upload_post","parameters":[{"in":"query","name":"dry_run","required":false,"schema":{"default":false,"title":"Dry Run","type":"boolean"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_import_api_v1_usage_imports_upload_post"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Upload Import Api V1 Usage Imports Upload Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Upload Import","tags":["account"]}},"/api/v1/usage/imports/{import_id}":{"delete":{"description":"Delete an analysis and its lines.","operationId":"delete_import_api_v1_usage_imports__import_id__delete","parameters":[{"in":"path","name":"import_id","required":true,"schema":{"title":"Import Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Import","tags":["account"]},"get":{"description":"One analysis with its lines; ``format=csv`` downloads the lines, ``xlsx`` a workbook (summary, by\nprovider, by model, daily, lines) and ``pdf`` the report.","operationId":"get_import_api_v1_usage_imports__import_id__get","parameters":[{"in":"path","name":"import_id","required":true,"schema":{"title":"Import Id","type":"string"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","title":"Format","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Get Import Api V1 Usage Imports  Import Id  Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get Import","tags":["account"]}},"/api/v1/usage/observed":{"get":{"description":"The recent observations, newest first - the extension's history as the platform stored it.","operationId":"observed_list_api_v1_usage_observed_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"default":200,"title":"Limit","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Observed List Api V1 Usage Observed Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Observed List","tags":["account"]},"post":{"description":"Record calls the browser extension observed on third-party AI surfaces (shape only, never text).\n\nEach observation is priced at the observed model's catalogue list price and re-quoted through the\nrouter for the same token shape, so the opportunity report can compare them. ``feedback`` scope (the\npath is in ``auth._FEEDBACK_PATHS``; a scoped key that may report outcomes may report observations).","operationId":"observed_ingest_api_v1_usage_observed_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObservationsIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Observed Ingest Api V1 Usage Observed Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Observed Ingest","tags":["account"]}},"/api/v1/usage/opportunity":{"get":{"description":"What the workspace spent outside the router (as the extension observed it) against what the router's\nrecommended targets would have cost for the same requests: totals, per model / source / task / day and\nthe models with the largest gap.","operationId":"opportunity_api_v1_usage_opportunity_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Opportunity Api V1 Usage Opportunity Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Opportunity","tags":["account"]}},"/api/v1/usage/report":{"get":{"description":"The workspace's routed usage as one report: requests, tokens in / out / cached, provider cost and your\ncharge per day, model, provider and API key, and the saving against the savings baseline. ``format=csv``\ndownloads the day-model-provider lines, ``xlsx`` a workbook with every breakdown, ``pdf`` the report.","operationId":"routed_report_api_v1_usage_report_get","parameters":[{"in":"query","name":"days","required":false,"schema":{"default":30,"title":"Days","type":"integer"}},{"in":"query","name":"tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant"}},{"in":"query","name":"key_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Id"}},{"in":"query","name":"format","required":false,"schema":{"default":"json","title":"Format","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Routed Report Api V1 Usage Report Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Routed Report","tags":["account"]}},"/api/v1/workspace":{"delete":{"description":"Leave the current organization (owners must hand over first).","operationId":"leave_workspace_api_v1_workspace_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/convert":{"post":{"description":"Turn the personal workspace into an organization so teammates can be invited. The plan, the\nsubscription, the API keys, the tenants and the usage history stay exactly where they are; the user\nreceives a fresh free personal workspace. Browser sessions stay on the converted workspace.","operationId":"convert_workspace_api_v1_workspace_convert_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceConvertIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Convert Workspace Api V1 Workspace Convert Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Convert Workspace","tags":["workspaces"]}},"/api/v1/workspace/delete":{"post":{"description":"Delete the current organization - an owner's own exit, not a support ticket. Its keys, tenants,\npolicy, members, invitations, SSO connection, usage and outcomes go at once; a live subscription is\ncancelled immediately so nothing more is billed (the paid remainder is not refunded here). Owner\nonly, from a browser session; type the organization's name (or slug) to confirm, plus the password\nwhen one is set. Personal workspaces go with their user (``POST /api/v1/me/delete``). Every member's\nsession moves to their personal workspace.","operationId":"delete_workspace_api_v1_workspace_delete_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteWorkspaceIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Workspace Api V1 Workspace Delete Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Workspace","tags":["workspaces"]}},"/api/v1/workspace/invites":{"post":{"operationId":"invite_api_v1_workspace_invites_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/invites/{invite_id}/resend":{"post":{"description":"Send a pending invitation again with a fresh link and a full validity period; the previous link\nstops working. The new link is returned once, as on creation.","operationId":"resend_invite_api_v1_workspace_invites__invite_id__resend_post","parameters":[{"in":"path","name":"invite_id","required":true,"schema":{"title":"Invite Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Resend Invite Api V1 Workspace Invites  Invite Id  Resend Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Resend Invite","tags":["workspaces"]}},"/api/v1/workspace/log-export":{"get":{"description":"The workspace's export destinations with their cursors, counts and last error (credentials never).","operationId":"log_export_list_api_v1_workspace_log_export_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Log Export List Api V1 Workspace Log Export Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Log Export List","tags":["account"]},"post":{"description":"Add a destination: ``azure_blob`` (container URL + SAS), ``webhook`` (HTTPS URL + bearer token),\n``langfuse`` (host + ``public:secret`` keys) or ``otlp`` (an OTLP/HTTP traces endpoint + bearer token or\n``header=value;...`` pairs) - the last two receive traces with OpenInference attributes and scores.\nRows newer than ``start_from`` (default: now) are exported every ``interval_s``; ``include_payloads``\nadds the kept prompt and answer. ``manage`` scope.","operationId":"log_export_create_api_v1_workspace_log_export_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogExportIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Log Export Create Api V1 Workspace Log Export Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Log Export Create","tags":["account"]}},"/api/v1/workspace/log-export/{export_id}":{"delete":{"operationId":"log_export_delete_api_v1_workspace_log_export__export_id__delete","parameters":[{"in":"path","name":"export_id","required":true,"schema":{"title":"Export Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Log Export Delete","tags":["account"]},"patch":{"description":"Rename, re-point, rotate or clear the credential, change the interval, pause or resume.","operationId":"log_export_update_api_v1_workspace_log_export__export_id__patch","parameters":[{"in":"path","name":"export_id","required":true,"schema":{"title":"Export Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogExportPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Log Export Update Api V1 Workspace Log Export  Export Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Log Export Update","tags":["account"]}},"/api/v1/workspace/log-export/{export_id}/run":{"post":{"description":"Ship the next batch now (the dashboard's *Export now*) and report rows sent or the error.","operationId":"log_export_run_api_v1_workspace_log_export__export_id__run_post","parameters":[{"in":"path","name":"export_id","required":true,"schema":{"title":"Export Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Log Export Run Api V1 Workspace Log Export  Export Id  Run Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Log Export Run","tags":["account"]}},"/api/v1/workspace/mcp-servers":{"get":{"description":"The workspace's connected MCP servers with their tools, approval mode, health and last sync.","operationId":"mcp_servers_list_api_v1_workspace_mcp_servers_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Servers List Api V1 Workspace Mcp Servers Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Servers List","tags":["account"]},"post":{"description":"Connect a Streamable-HTTP MCP server: ``name`` (the tool id prefix), ``url``, an optional bearer\n``credential``, ``extra_headers`` and the ``approval`` mode (auto / read_only / manual). The server is\ninitialised and its tools listed at once; they join the routing pool as ``name:tool`` targets.","operationId":"mcp_servers_create_api_v1_workspace_mcp_servers_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServerIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Servers Create Api V1 Workspace Mcp Servers Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Servers Create","tags":["account"]}},"/api/v1/workspace/mcp-servers/{server_id}":{"delete":{"operationId":"mcp_servers_delete_api_v1_workspace_mcp_servers__server_id__delete","parameters":[{"in":"path","name":"server_id","required":true,"schema":{"title":"Server Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Servers Delete","tags":["account"]},"get":{"operationId":"mcp_servers_get_api_v1_workspace_mcp_servers__server_id__get","parameters":[{"in":"path","name":"server_id","required":true,"schema":{"title":"Server Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Servers Get Api V1 Workspace Mcp Servers  Server Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Servers Get","tags":["account"]},"patch":{"description":"Re-point, rotate or clear the credential, change the approval mode, disable or enable.","operationId":"mcp_servers_update_api_v1_workspace_mcp_servers__server_id__patch","parameters":[{"in":"path","name":"server_id","required":true,"schema":{"title":"Server Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServerPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Servers Update Api V1 Workspace Mcp Servers  Server Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Servers Update","tags":["account"]}},"/api/v1/workspace/mcp-servers/{server_id}/sync":{"post":{"description":"Ask the server for its tools again (after it gained or changed one) and record its health.","operationId":"mcp_servers_sync_api_v1_workspace_mcp_servers__server_id__sync_post","parameters":[{"in":"path","name":"server_id","required":true,"schema":{"title":"Server Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Servers Sync Api V1 Workspace Mcp Servers  Server Id  Sync Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Servers Sync","tags":["account"]}},"/api/v1/workspace/mcp-servers/{server_id}/tools":{"get":{"description":"The tools as targets for the calling key: id, whether it executes under the approval mode and the\nkey's ``mcp_tools`` limit, description risk.","operationId":"mcp_servers_tools_api_v1_workspace_mcp_servers__server_id__tools_get","parameters":[{"in":"path","name":"server_id","required":true,"schema":{"title":"Server Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Mcp Servers Tools Api V1 Workspace Mcp Servers  Server Id  Tools Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Servers Tools","tags":["account"]}},"/api/v1/workspace/members":{"get":{"description":"The roster: every member with their workspace role and teams; pending invitations for admins.","operationId":"members_api_v1_workspace_members_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/providers":{"get":{"description":"The workspace's providers (keys masked), their target mappings, what the platform executes on for\ncomparison (``platform`` per target, ``platform_providers`` with health), the presets and the targets that\ncan be mapped. ``enabled`` says whether the plan includes the feature; without it the list is read-only\nand empty.","operationId":"list_providers_api_v1_workspace_providers_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Providers Api V1 Workspace Providers Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Providers","tags":["workspace-providers"]},"post":{"description":"Connect an OpenAI-compatible endpoint with the workspace's own credentials (stored encrypted).","operationId":"create_provider_api_v1_workspace_providers_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceProviderIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Provider Api V1 Workspace Providers Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create Provider","tags":["workspace-providers"]}},"/api/v1/workspace/providers/models/{target_id}":{"delete":{"operationId":"unmap_target_api_v1_workspace_providers_models__target_id__delete","parameters":[{"in":"path","name":"target_id","required":true,"schema":{"title":"Target Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Unmap Target","tags":["workspace-providers"]},"put":{"description":"Execute ``target_id`` on the workspace's ``provider_id`` as ``model`` (optional system prompt and\nrequest defaults). Replaces an earlier mapping of the same target. A model or agent the workspace\ninstalled from the marketplace can be mapped like a catalogue target.","operationId":"map_target_api_v1_workspace_providers_models__target_id__put","parameters":[{"in":"path","name":"target_id","required":true,"schema":{"title":"Target Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMappingIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Map Target Api V1 Workspace Providers Models  Target Id  Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Map Target","tags":["workspace-providers"]}},"/api/v1/workspace/providers/{provider_id}":{"delete":{"description":"Remove the provider and every mapping on it; the targets fall back to the platform's providers.","operationId":"delete_provider_api_v1_workspace_providers__provider_id__delete","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Provider","tags":["workspace-providers"]},"get":{"operationId":"get_provider_api_v1_workspace_providers__provider_id__get","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Get Provider Api V1 Workspace Providers  Provider Id  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Get Provider","tags":["workspace-providers"]},"patch":{"description":"Change the endpoint, rotate the key (``api_key``), drop it (``clear_api_key``), disable or rename.","operationId":"patch_provider_api_v1_workspace_providers__provider_id__patch","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceProviderPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Provider Api V1 Workspace Providers  Provider Id  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Patch Provider","tags":["workspace-providers"]}},"/api/v1/workspace/providers/{provider_id}/check":{"post":{"description":"Call the endpoint's ``/models`` with the stored credentials: reachability, latency, upstream model ids.","operationId":"check_provider_api_v1_workspace_providers__provider_id__check_post","parameters":[{"in":"path","name":"provider_id","required":true,"schema":{"title":"Provider Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Check Provider Api V1 Workspace Providers  Provider Id  Check Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Check Provider","tags":["workspace-providers"]}},"/api/v1/workspace/reports":{"get":{"description":"The workspace's usage-digest schedule and a preview of the figures the next one would carry - the\nwindow read on the caller's own wall clock (``timezone`` names it).","operationId":"report_preference_api_v1_workspace_reports_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Report Preference Api V1 Workspace Reports Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Report Preference","tags":["account"]},"put":{"description":"Choose ``daily``, ``weekly`` (default), ``monthly`` or ``off`` for the owners' usage digest (admins\nand owners).","operationId":"set_report_preference_api_v1_workspace_reports_put","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportPreferenceIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Set Report Preference Api V1 Workspace Reports Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Set Report Preference","tags":["account"]}},"/api/v1/workspace/reports/send":{"post":{"description":"Email the digest for the last completed period (in your time zone) to the caller now (a preview; at\nmost once a minute).","operationId":"send_report_now_api_v1_workspace_reports_send_post","parameters":[{"in":"query","name":"period","required":false,"schema":{"default":"weekly","title":"Period","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"202":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Send Report Now Api V1 Workspace Reports Send Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Send Report Now","tags":["account"]}},"/api/v1/workspace/scim":{"get":{"description":"Whether provisioning is on, the live token's age and use, how many people it provisioned, the base URL.","operationId":"scim_status_api_v1_workspace_scim_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Scim Status Api V1 Workspace Scim Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Scim Status","tags":["workspaces"]}},"/api/v1/workspace/scim/token":{"delete":{"description":"Revoke the provisioning token; the identity provider's calls fail with 401 from now on.","operationId":"scim_revoke_api_v1_workspace_scim_token_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Scim Revoke Api V1 Workspace Scim Token Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Scim Revoke","tags":["workspaces"]},"post":{"description":"Mint the provisioning token (owner role; shown once; replaces an earlier one). Paste it, with the base\nURL, into the identity provider's SCIM connector.","operationId":"scim_token_api_v1_workspace_scim_token_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Scim Token Api V1 Workspace Scim Token Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Scim Token","tags":["workspaces"]}},"/api/v1/workspace/sso":{"delete":{"operationId":"sso_delete_api_v1_workspace_sso_delete","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/workspace/teams":{"get":{"description":"Every team of the workspace with its size, its leads, the keys pinned to its tenant and, when bound to a\ntenant, that tenant's usage this month and today. ``mine`` names the caller's own teams.","operationId":"list_teams_api_v1_workspace_teams_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response List Teams Api V1 Workspace Teams Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"List Teams","tags":["workspaces"]},"post":{"description":"Create a team (admin role). ``slug`` defaults to the name; ``tenant`` binds it to one of the workspace's\ntenants; ``members`` seeds the roster with workspace members (``role`` ``member`` or ``lead``).","operationId":"create_team_api_v1_workspace_teams_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Create Team Api V1 Workspace Teams Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Create Team","tags":["workspaces"]}},"/api/v1/workspace/teams/{slug}":{"delete":{"description":"Delete a team (admin role). Its members stay in the workspace; its keys keep working under the tenant\nbut are no longer the team's.","operationId":"delete_team_api_v1_workspace_teams__slug__delete","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Delete Team Api V1 Workspace Teams  Slug  Delete","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Delete Team","tags":["workspaces"]},"get":{"description":"The team with its roster (each person's profile, team role and workspace role) and its keys (prefixes).","operationId":"team_detail_api_v1_workspace_teams__slug__get","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Team Detail Api V1 Workspace Teams  Slug  Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Team Detail","tags":["workspaces"]},"patch":{"description":"Rename, describe or re-bind a team (admin role). ``tenant: \"\"`` unbinds it.","operationId":"patch_team_api_v1_workspace_teams__slug__patch","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamPatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Patch Team Api V1 Workspace Teams  Slug  Patch","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Patch Team","tags":["workspaces"]}},"/api/v1/workspace/teams/{slug}/members":{"post":{"description":"Put a workspace member on the team (admin role, or a lead of the team). Only admins make leads.","operationId":"add_team_member_api_v1_workspace_teams__slug__members_post","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberIn"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Add Team Member Api V1 Workspace Teams  Slug  Members Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Add Team Member","tags":["workspaces"]}},"/api/v1/workspace/teams/{slug}/members/{user_id}":{"delete":{"description":"Take a person off the team (admin role, or a lead of the team; a lead cannot remove another lead).","operationId":"remove_team_member_api_v1_workspace_teams__slug__members__user_id__delete","parameters":[{"in":"path","name":"slug","required":true,"schema":{"title":"Slug","type":"string"}},{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Remove Team Member Api V1 Workspace Teams  Slug  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 Team Member","tags":["workspaces"]}},"/api/v1/workspace/transfer":{"post":{"description":"Hand the organization to another member in one step: they become an owner, the caller keeps the\nrole named by ``keep_role`` (default ``admin``; ``leave`` removes the caller). Owner only, audited\nas ``workspace.transferred``; both people are e-mailed.","operationId":"transfer_ownership_api_v1_workspace_transfer_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Transfer Ownership Api V1 Workspace Transfer Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Transfer Ownership","tags":["workspaces"]}},"/api/v1/workspaces":{"get":{"operationId":"workspaces_api_v1_workspaces_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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":{"delete":{"description":"End the MCP session named by ``Mcp-Session-Id``: later calls with that id answer 404 until the\nclient initializes again (400 without the header).","operationId":"mcp_end_mcp_delete","parameters":[],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp End","tags":["mcp"]},"get":{"description":"What the MCP server offers and how to connect (no key needed) - or, with ``Accept:\ntext/event-stream`` and a credential, the server's notification stream: ``notifications/tools/list_changed``\nand ``resources/list_changed`` when the workspace's catalogue, installed listings or tools change, a\n``: ping`` comment every 15 seconds, closed after ``max_s`` seconds (default and ceiling\n``OSR_PLATFORM_MCP_STREAM_MAX_S``; reconnect with ``Last-Event-ID`` to continue - a resumed stream starts\nwith a ``list_changed`` so nothing is missed).","operationId":"mcp_info_mcp_get","parameters":[{"in":"query","name":"max_s","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max S"}},{"in":"header","name":"last-event-id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last-Event-Id"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Mcp Info Mcp Get"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Mcp Info","tags":["mcp"]},"post":{"description":"JSON-RPC 2.0 messages (single or batch) per the MCP specification, Streamable HTTP transport.\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``. With ``Accept:\ntext/event-stream`` the reply is a stream: ``notifications/progress`` (for a ``_meta.progressToken``)\nand log messages while the call runs, then the result. ``initialize`` answers with an\n``Mcp-Session-Id`` to send back on later calls; a browser ``Origin`` must be one of the deployment's.","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"]}},"/scim/v2/Users":{"get":{"description":"The organization's members as SCIM users (``filter=userName eq \"...\"``, ``startIndex``, ``count``).","operationId":"users_list_scim_v2_Users_get","parameters":[{"in":"query","name":"filter","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter"}},{"in":"query","name":"startIndex","required":false,"schema":{"default":1,"title":"Startindex","type":"integer"}},{"in":"query","name":"count","required":false,"schema":{"default":100,"title":"Count","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Users List","tags":["scim"]},"post":{"description":"Provision a person into the organization (``userName`` = e-mail; ``roles``, ``active``, ``externalId``).","operationId":"users_create_scim_v2_Users_post","responses":{"201":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"summary":"Users Create","tags":["scim"]}},"/scim/v2/Users/{user_id}":{"delete":{"description":"Deprovision: the membership is removed and the sessions on the workspace ended (the user stays).","operationId":"users_delete_scim_v2_Users__user_id__delete","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Users Delete","tags":["scim"]},"get":{"operationId":"users_get_scim_v2_Users__user_id__get","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Users Get","tags":["scim"]},"patch":{"description":"RFC 7644 PatchOp: ``replace`` / ``add`` of ``active``, ``name.*``, ``displayName``, ``roles``,\n``externalId``.","operationId":"users_patch_scim_v2_Users__user_id__patch","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Users Patch","tags":["scim"]},"put":{"description":"Replace the user's attributes (name, roles, active).","operationId":"users_replace_scim_v2_Users__user_id__put","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Users Replace","tags":["scim"]}},"/v1/audio/speech":{"post":{"description":"OpenAI-compatible text to speech: ``model: auto`` picks among the targets tagged ``speech`` (or\n``metadata.speech``); a target id pins one. Returns the audio bytes (``response_format`` mp3 by\ndefault; opus, aac, flac, wav, pcm) with the decision in ``X-OSR-Target`` / ``X-Request-Id``.","operationId":"speech_v1_audio_speech_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeechIn"}}},"required":true},"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":"Speech","tags":["openai"]}},"/v1/audio/transcriptions":{"post":{"description":"OpenAI-compatible speech to text (multipart ``file`` + ``model``): ``model: auto`` picks among the\ntargets tagged ``transcription`` (or ``metadata.transcription``); a target id pins one. The audio\nnever enters the routed text - only the file name and ``prompt`` do. ``response_format`` ``json``\n(default), ``verbose_json`` (language, duration, segments), ``text``, ``srt`` or ``vtt``.","operationId":"transcriptions_v1_audio_transcriptions_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_transcriptions_v1_audio_transcriptions_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Transcriptions V1 Audio Transcriptions Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Transcriptions","tags":["openai"]}},"/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"}},{"in":"header","name":"x-osr-cache","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Cache"}},{"in":"header","name":"x-osr-cache-ttl","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Cache-Ttl"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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/embeddings":{"post":{"description":"OpenAI-compatible embeddings: ``model: auto`` picks among the targets tagged ``embeddings``\n(or ``metadata.embeddings``); a target id pins one. Metered like a chat completion.","operationId":"embeddings_v1_embeddings_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmbeddingsIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Embeddings V1 Embeddings Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Embeddings","tags":["openai"]}},"/v1/feedback":{"post":{"operationId":"v1_feedback_v1_feedback_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response V1 Feedback V1 Feedback Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Alias of /api/v1/feedback","tags":["openai","openai"]}},"/v1/images/generations":{"post":{"description":"OpenAI-compatible image generation: ``model: auto`` picks among the executable image tools\n(``actions: [image]``); a target id pins one. ``data[]`` carries ``url`` or ``b64_json`` as the\nprovider returned it (``response_format`` is honoured when the provider gives that shape).","operationId":"images_v1_images_generations_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImagesIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Images V1 Images Generations Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Images","tags":["openai"]}},"/v1/messages":{"post":{"description":"Anthropic **Messages API** over the chat path (``opensmartroute.anthropic``): ``system``, content\nblocks (``text`` / ``image`` / ``tool_use`` / ``tool_result``), ``tools`` with ``input_schema``,\n``tool_choice``, ``stop_sequences``, streaming events; metered as a chat completion. Errors use the\n``{\"type\": \"error\", \"error\": {...}}`` envelope Anthropic clients expect.","operationId":"messages_v1_messages_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Messages V1 Messages Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Messages","tags":["openai"]}},"/v1/messages/count_tokens":{"post":{"description":"``{\"input_tokens\": n}`` for a Messages request from the router's token estimate; no provider call,\nnothing metered.","operationId":"messages_count_tokens_v1_messages_count_tokens_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Messages Count Tokens V1 Messages Count Tokens Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Messages Count Tokens","tags":["openai"]}},"/v1/models":{"get":{"description":"What this workspace may name as ``model``: ``auto`` and the ``osr/auto:*`` presets, every executable\nhand-written target, the workspace's installed listings, and every catalogue model on offer in\nOpenRouter's shape (``pricing`` in USD per token as strings - the price **this workspace** pays -\n``context_length``, ``architecture``, ``top_provider`` and an ``osr.endpoints`` list naming the providers;\npin one with ``vendor/model@provider``).","operationId":"models_v1_models_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"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"]}},"/v1/moderations":{"post":{"description":"OpenAI-shaped moderation over the router's own guards (``opensmartroute.security.moderate``): prompt\ninjection, router steering, confounder gadgets, PII, oversize and control characters. No provider call,\nnothing metered; the ``route`` scope suffices.","operationId":"moderations_v1_moderations_post","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationsIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Moderations V1 Moderations Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Moderations","tags":["openai"]}},"/v1/rerank":{"post":{"description":"Cohere / Jina-compatible rerank: ``query`` and ``documents`` are embedded by one embeddings-capable\ntarget (``model: auto`` chooses it, a target id pins it) and the documents come back ordered by\n``relevance_score`` with their original ``index``; ``top_n`` trims, ``return_documents`` echoes the text.\nOne metered embeddings call.","operationId":"rerank_v1_rerank_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerankIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Rerank V1 Rerank Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Rerank","tags":["openai"]}},"/v1/responses":{"post":{"description":"OpenAI **Responses API** over the chat path (``opensmartroute.responses``): ``input`` string or\nitems, ``instructions``, flat ``tools``, ``function_call_output`` turns, streaming events; metered\nas a chat completion. ``previous_response_id`` continues a response of this workspace remembered for\n``OSR_PLATFORM_RESPONSES_STORE_TTL_S`` seconds (``store: false`` opts out); built-in tools are\nrefused with 400 rather than dropped.","operationId":"responses_v1_responses_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Responses V1 Responses Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Responses","tags":["openai"]}},"/v1/route":{"post":{"operationId":"v1_route_v1_route_post","parameters":[{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteIn"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response V1 Route V1 Route Post","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Alias of /api/v1/route","tags":["openai","openai"]}},"/v1beta/models":{"get":{"description":"The Gemini-shaped model list: every name the workspace may route to, ``auto`` first.","operationId":"gemini_models_v1beta_models_get","parameters":[{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response Gemini Models V1Beta Models Get","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Gemini Models","tags":["openai"]}},"/v1beta/models/{model}:{action}":{"post":{"description":"Google Gemini API: ``generateContent`` (one ``GenerateContentResponse``), ``streamGenerateContent``\n(``?alt=sse`` frames) and ``countTokens``, over the routed chat path with the same key, policy, budgets,\nredaction and trace as a chat completion. ``model`` is ``auto`` or any target the workspace may use;\nthe ``models/`` prefix the SDKs add is accepted.","operationId":"gemini_action_v1beta_models__model___action__post","parameters":[{"in":"path","name":"model","required":true,"schema":{"title":"Model","type":"string"}},{"in":"path","name":"action","required":true,"schema":{"title":"Action","type":"string"}},{"in":"header","name":"x-osr-tenant","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Osr-Tenant"}},{"in":"header","name":"x-goog-api-key","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Goog-Api-Key"}}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Gemini Action V1Beta Models  Model   Action  Post"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"bearer":[]},{"apiKey":[]}],"summary":"Gemini Action","tags":["openai"]}}},"servers":[{"url":"https://osr-web.kindrock-caaab1a2.centralindia.azurecontainerapps.io","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":"Subscribe to the product newsletter and one-click unsubscribe with the token from any issue; no API key required.","name":"newsletter"},{"description":"The support assistant: answers product questions from the documentation through the platform's own models with cited sources, keeps the conversation and hands over a ticket draft when a person is needed; no API key required.","name":"assistant"},{"description":"The calling workspace: profile, usage, savings, activity log, API keys and tenants.","name":"account"},{"description":"What the routed chat remembers for the caller: conversations the platform keeps for `/v1/chat/completions` (`osr.conversation_id` continues one across desktop, browser and playground; the platform prepends the history and a rolling summary) and the long-term memory - facts the person stated about themselves, listed, edited, disabled or deleted here; `PUT /memory/settings` turns it off.","name":"conversations"},{"description":"The workspace's knowledge graph: typed, sourced facts about the people who ask, the targets, the topics and the sources, learned from the routed chat and added by hand; the engineered context placed before every chat (preview it with `POST /knowledge/context`), suggestions from the workspace's trained link predictor, and exports to JSON-LD, N-Triples, GraphML and Cypher. `PUT /knowledge/settings` turns it off or changes the token budget.","name":"knowledge"},{"description":"Release notes parsed from the changelog: every released version with its sections and highlights, the version this deployment runs, and what a signed-in person has not read yet (What's new).","name":"releases"},{"description":"Content publishing for the workspace's own website: the feeds it follows and the briefs it sends become posts written through the router as its own metered requests; posts are reviewed, published and delivered to its destinations (a signed webhook, WordPress, Ghost) with a retried delivery log, or pulled from `GET /content/posts` and the RSS at `GET /content/feed.xml`. The `content_*` MCP tools do the same for agents.","name":"content"},{"description":"Organization workspaces: members, roles, invitations, teams (rosters, leads, tenant bindings), organization SSO (browser sessions only) and the SCIM provisioning token.","name":"workspaces"},{"description":"SCIM 2.0 (RFC 7643 / 7644) for the organization's identity provider - Entra ID, Okta, OneLogin and the like - authenticated with the provisioning token an owner minted under `/api/v1/workspace/scim`. Users are provisioned into, updated in and removed from the organization; Groups are not provisioned.","name":"scim"},{"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":"Help: support tickets (`/support/tickets` - raise a concern, get a reference such as `OSR-00042`, follow the conversation; every answer and status change is e-mailed to the requester), product feedback (`/product-feedback` - bugs, ideas and improvements sent from the platform's pages with screenshots and browser diagnostics, reference `FB-00012`, every status change e-mailed) and the assistant.","name":"support"},{"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":"The self-hosted model servers (the OpenSmartRoute model server, or Ollama) behind the on-prem and specialist targets, inspected live from the operator console: what each holds in memory and in its store, its memory budget and engine, the mapped models it is missing or has cold; pull (a job followed with progress), load and pin, unload, delete, and the engine log of a loaded model.","name":"model-servers"},{"description":"Models by the token: an offer is one catalogue model served by one provider endpoint (`vendor/model@provider`), synthesised into the routing catalogue and sold at the customer price the pricing engine computes. `GET /offers` is the public storefront (list price next to the price the caller pays, the endpoints with health and traffic); `/admin/offers` and `/admin/providers/{provider_id}/offers` list, pause and remove offers. `POST /v1/chat/completions` accepts `vendor/model` (the router picks the endpoint) and `vendor/model@provider` (one pinned); `GET /v1/models` lists offers in OpenRouter's shape.","name":"offers"},{"description":"Bring your own model providers (feature `byok`, on every plan of the default catalogue): a workspace connects its own Azure OpenAI, Amazon Bedrock, Google Vertex AI / Gemini, OpenAI, Anthropic or any OpenAI-compatible endpoint with its own key (stored encrypted, never returned) and maps catalogue targets to models on it. Its `/route` (`execute=true`), `/v1/chat/completions` and MCP `ask` calls then run on that endpoint; unmapped targets keep the platform's providers. Reading needs membership, writing the `admin` role.","name":"workspace-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"}]}