{"openapi":"3.1.0","info":{"title":"Quadrillion Cloud API","description":"Public cloud API service for cloud-safe backend endpoints","version":"0.1.0"},"paths":{"/responses":{"post":{"summary":"Proxy Response Openai","description":"Proxy OpenAI Responses API requests. Requires valid Quadrillion API key.","operationId":"proxy_response_openai_responses_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/messages":{"post":{"summary":"Proxy Response Anthropic","description":"Proxy Anthropic Messages API requests. Requires valid Quadrillion API key.","operationId":"proxy_response_anthropic_v1_messages_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1beta/models/{model}:streamGenerateContent":{"post":{"summary":"Proxy Response Gemini","description":"Proxy Gemini API requests. Requires valid Quadrillion API key.\n\nThe Gemini SDK puts the model name in the URL path rather than the\nJSON body.  We stash it on ``request.state`` so that\n``proxy_response`` can inject it into the payload for downstream\nURL construction.","operationId":"proxy_response_gemini_v1beta_models__model__streamGenerateContent_post","parameters":[{"name":"model","in":"path","required":true,"schema":{"type":"string","title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/openrouter/chat/completions":{"post":{"summary":"Proxy Response Openrouter","description":"Proxy OpenRouter API requests. Requires valid Quadrillion API key.","operationId":"proxy_response_openrouter_openrouter_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/fireworks/chat/completions":{"post":{"summary":"Proxy Response Fireworks","description":"Proxy Fireworks AI inference requests (BMT-291).\n\nTargets RFT-trained models served on Fireworks via OpenAI-compatible\n/inference/v1/chat/completions. The ``model`` field in the request body\nis a full deployment resource name like\n``accounts/<acct>/deployments/<deployment-id>``.","operationId":"proxy_response_fireworks_fireworks_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/you/v1/search":{"post":{"summary":"Proxy Response You Search","description":"Proxy you.com Search API requests. Requires valid Quadrillion API key.\n\nUnlike the LM provider routes, this one is non-streaming and returns\nthe upstream JSON body as-is.","operationId":"proxy_response_you_search_you_v1_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YouSearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health Check","description":"are we alive?","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/ready":{"get":{"summary":"Readiness Check","description":"Readiness probe: 200 only when critical deps answer, else 503.\n\nDistinct from ``/health`` (liveness): the ALB target group points at\nthis route so a task whose Postgres or Redis is unreachable is pulled\nfrom rotation instead of serving 5xx to clients.","operationId":"readiness_check_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Root","description":"Cloud API service metadata.","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health":{"get":{"tags":["health"],"summary":"Backend Health Alias","description":"Compatibility alias for clients expecting /api/health.","operationId":"backend_health_alias_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/openid-configuration":{"get":{"tags":["oidc"],"summary":"Openid Configuration","description":"Return OpenID Provider metadata pointing at our JWKS.","operationId":"openid_configuration__well_known_openid_configuration_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/jwks.json":{"get":{"tags":["oidc"],"summary":"Jwks","description":"Return the signing key set, public members only.","operationId":"jwks__well_known_jwks_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/me":{"get":{"tags":["auth"],"summary":"Get Current User","description":"Get current authenticated user information.\n\nRequires: Bearer token or session cookie\n\nReturns:\n    {\n        \"id\": 123,\n        \"email\": \"user@example.com\",\n        \"name\": \"John Doe\",\n        \"created_at\": \"2025-01-15T10:30:00Z\",\n        \"last_login\": \"2025-01-16T14:20:00Z\",\n        \"job_type\": \"Data Scientist\",\n        \"company_name\": \"Acme Corp\",\n        \"onboarding_completed\": true,\n        \"organization_role\": \"owner\"\n    }","operationId":"get_current_user_api_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/logout":{"post":{"tags":["auth"],"summary":"Logout","description":"Logout endpoint - clears the session cookie.\n\nReturns:\n    {\"message\": \"Logged out successfully\"}","operationId":"logout_api_auth_logout_post","parameters":[{"name":"frontend_origin","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frontend Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/orgs/invitations/{token}":{"get":{"tags":["auth"],"summary":"Preview Invitation","description":"Preview an invitation by token — no auth required.\n\nReturns org name, role, and invited email so the frontend can show\na confirmation screen before the user accepts.","operationId":"preview_invitation_api_auth_orgs_invitations__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/orgs/invitations/{token}/accept":{"post":{"tags":["auth"],"summary":"Accept Invitation","operationId":"accept_invitation_api_auth_orgs_invitations__token__accept_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/workos/start":{"get":{"tags":["auth","workos"],"summary":"Start","description":"Build the WorkOS authorization URL and redirect.\n\n* ``org_slug`` — when present, the start endpoint looks up the\n  Organization's WorkOS organization id and routes through the\n  tenant SSO connection, ignoring ``provider``. When absent, routes\n  through one of WorkOS's built-in social providers.\n* ``provider`` — one of ``_SOCIAL_PROVIDERS``. Defaults to Google so\n  links minted before this parameter existed keep working.\n* ``frontend_origin`` — explicit browser origin. Required for\n  browser logins and must match ``ALLOWED_FRONTEND_ORIGINS``. Used\n  to pick the callback host for dashboard-vs-cloud logins.\n* ``next`` — post-login redirect target on the frontend. Validated\n  to root-relative paths only.\n* ``callback_port`` — when present, the success path will redirect\n  to ``http://localhost:<port>/callback`` instead of setting a\n  browser cookie. Used by ``qli login`` and the Electron app.","operationId":"start_api_auth_workos_start_get","parameters":[{"name":"org_slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","default":"google","title":"Provider"}},{"name":"frontend_origin","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frontend Origin"}},{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}},{"name":"callback_port","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Callback Port"}},{"name":"login_hint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Hint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/workos/callback":{"get":{"tags":["auth","workos"],"summary":"Callback","description":"Exchange the WorkOS code for a profile and finalise the session.","operationId":"callback_api_auth_workos_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/workos/discover":{"get":{"tags":["auth","workos"],"summary":"Discover","description":"Email-domain SSO routing.\n\nLooks up whether the email's domain belongs to a WorkOS Organization\nthat's wired to one of our ``Organization`` rows. Returns the org\nslug + the ``/start`` URL the caller should redirect to. Returns\n``{org_slug: null, login_url: null}`` when no SSO is configured for\nthe domain — the caller falls back to global Google login.\n\nWhen the caller supplies ``frontend_origin``, it must match\n``ALLOWED_FRONTEND_ORIGINS`` and is round-tripped into ``login_url``\nso hosted browser callers can redirect to ``/start`` without\nrebuilding the query string themselves.\n\nWorkOS is the source of truth for ``OrganizationDomain``; we keep no\nlocal copy. One WorkOS API call per discover, which is acceptable\nsince users only click \"Continue with SSO\" at most once per login.","operationId":"discover_api_auth_workos_discover_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":320,"title":"Email"}},{"name":"frontend_origin","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frontend Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoverResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/workos/webhook":{"post":{"tags":["auth","workos"],"summary":"Webhook","description":"WorkOS event delivery endpoint.\n\nSubscribed events:\n* ``dsync.user.created`` — eager membership provisioning. Customer's\n  IdP pushed a new user via SCIM; create the local User +\n  OrganizationMember rows so the user can sign in directly without\n  an admin invite.\n* ``dsync.user.deleted`` — per-user revocation (offboard)\n* ``dsync.user.updated`` (state=inactive) — per-user revocation\n  (suspend / disable; covers Okta DEPROVISIONED, Azure Disabled, etc.)\n* ``connection.deactivated`` / ``connection.deleted`` /\n  ``dsync.deleted`` — org-wide revocation. Customer's IT admin\n  pulled the SSO plug; force-log-out every member of the affected\n  organization (memberships preserved so a later reconnect lets\n  them log back in).\n\nIdempotent on the WorkOS event id via ``processed_webhook_events``.","operationId":"webhook_api_auth_workos_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/entra/start":{"get":{"tags":["auth","entra"],"summary":"Start","description":"Redirect to Entra's ``/common`` authorize endpoint.\n\nNo ``provider`` or ``org_slug``: a tenant's own SSO connection still goes\nthrough WorkOS.","operationId":"start_api_auth_entra_start_get","parameters":[{"name":"frontend_origin","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frontend Origin"}},{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}},{"name":"callback_port","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Callback Port"}},{"name":"login_hint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Hint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/entra/callback":{"get":{"tags":["auth","entra"],"summary":"Callback","description":"Redeem the authorization code and finalise the session.","operationId":"callback_api_auth_entra_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/session":{"get":{"tags":["runtime-session"],"summary":"Bootstrap Runtime Session","operationId":"bootstrap_runtime_session_api_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/session/csrf":{"get":{"tags":["runtime-session"],"summary":"Refresh Runtime Csrf","operationId":"refresh_runtime_csrf_api_session_csrf_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/keys":{"get":{"tags":["api-keys"],"summary":"List Api Keys","description":"List all API keys for the authenticated user.\n\nRequires: JWT token (session cookie or Authorization header)\n\nReturns:\n    [\n        {\n            \"id\": 123,\n            \"name\": \"Production Key\",\n            \"prefix\": \"qd_live_abc123\",\n            \"created_at\": \"2025-01-15T10:30:00Z\",\n            \"last_used\": \"2025-01-16T14:20:00Z\",\n            \"revoked\": false\n        }\n    ]\n\nNote: Full API keys are not returned for security.","operationId":"list_api_keys_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ListKeyResponse"},"type":"array","title":"Response List Api Keys Api Keys Get"}}}}}},"post":{"tags":["api-keys"],"summary":"Create Api Key","description":"Create a new API key for the authenticated user.\n\nRequires: JWT token (session cookie or Authorization header)\n\nRequest body:\n    {\n        \"name\": \"Production Key\"\n    }\n\nReturns:\n    {\n        \"id\": 123,\n        \"key\": \"qd_live_abc123...\",\n        \"name\": \"Production Key\",\n        \"created_at\": \"2025-01-15T10:30:00Z\",\n        \"warning\": \"Save this key now. You won't be able to see it again!\"\n    }\n\nNote: The full API key is only shown once. Store it securely!","operationId":"create_api_key_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys/validate":{"post":{"tags":["api-keys"],"summary":"Validate Api Key","description":"Validate an API key and check if it belongs to an associated user.\n\nRequest body:\n    {\n        \"key\": \"qd_live_abc123...\"\n    }\n\nReturns:\n    {\n        \"valid\": true\n    }\n\nNote: Returns true if the key is valid and not revoked, false otherwise.","operationId":"validate_api_key_api_keys_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateKeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Delete Api Key","description":"Delete (revoke) an API key.\n\nRequires: JWT token (session cookie or Authorization header)\n\nPath parameters:\n    key_id: The ID of the API key to delete\n\nReturns:\n    204 No Content on success\n\nRaises:\n    404: If key not found or not owned by user","operationId":"delete_api_key_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/provider-keys/mint":{"post":{"tags":["provider-keys"],"summary":"Mint Provider Key","description":"Deliver a provider API key to the caller.\n\nAnthropic keys come from the seeded pool; OpenAI keys are created as\nproject service accounts on the spot. The secret is returned once.","operationId":"mint_provider_key_api_provider_keys_mint_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/provider-keys/{provider}":{"delete":{"tags":["provider-keys"],"summary":"Remove Provider Key","description":"Revoke the caller's key for *provider*, at the provider and here.\n\nReturns a body rather than 204 so the caller learns whether the key was\nactually deactivated at the provider; a silent success would imply it\nalways is.","operationId":"remove_provider_key_api_provider_keys__provider__delete","parameters":[{"name":"provider","in":"path","required":true,"schema":{"$ref":"#/components/schemas/KeyProvider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/provider-keys":{"get":{"tags":["provider-keys"],"summary":"List Provider Keys","description":"List the caller's live keys. Secrets are never returned.","operationId":"list_provider_keys_api_provider_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GrantResponse"},"type":"array","title":"Response List Provider Keys Api Provider Keys Get"}}}}}}},"/api/provider-keys/admin/mint":{"post":{"tags":["provider-keys"],"summary":"Mint For User","description":"Mint a key for a named Quadrillion account.\n\nBacks the internal tools site, which has no login of its own, so the\nholder is named in the request. ``actor`` is the caller, recorded\nseparately so the audit trail shows who handed the key out.","operationId":"mint_for_user_api_provider_keys_admin_mint_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnBehalfMintRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/provider-keys/admin/release":{"post":{"tags":["provider-keys"],"summary":"Release For User","description":"Revoke a named account's key for a provider.","operationId":"release_for_user_api_provider_keys_admin_release_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnBehalfReleaseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/provider-keys/admin/held":{"get":{"tags":["provider-keys"],"summary":"List Held Keys","description":"Every live grant and who holds it. Secrets are never returned.","operationId":"list_held_keys_api_provider_keys_admin_held_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HeldKeyResponse"},"type":"array","title":"Response List Held Keys Api Provider Keys Admin Held Get"}}}}}}},"/api/provider-keys/pool":{"get":{"tags":["provider-keys"],"summary":"Get Pool Stats","description":"Report how many pooled keys remain, so refills happen before empty.","operationId":"get_pool_stats_api_provider_keys_pool_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PoolCountsResponse"},"type":"array","title":"Response Get Pool Stats Api Provider Keys Pool Get"}}}}}},"post":{"tags":["provider-keys"],"summary":"Seed Pool","description":"Load console-created keys into the pool.\n\nReplaying the same batch is safe — entries whose ``provider_key_id`` is\nalready pooled are skipped rather than duplicated.","operationId":"seed_pool_api_provider_keys_pool_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/profile":{"get":{"tags":["user"],"summary":"Get User Profile","description":"Get the authenticated user's profile.\n\nRequires: JWT token (session cookie or Authorization header)\n\nReturns:\n    {\n        \"id\": 123,\n        \"email\": \"user@example.com\",\n        \"name\": \"John Doe\",\n        \"created_at\": \"2025-01-15T10:30:00Z\",\n        \"last_login\": \"2025-01-16T14:20:00Z\"\n    }","operationId":"get_user_profile_api_user_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileResponse"}}}}}}},"/api/onboarding/status":{"get":{"tags":["onboarding"],"summary":"Get Onboarding Status","description":"Get the current user's onboarding status.\n\nReturns:\n    {\n        \"onboarding_completed\": false\n    }","operationId":"get_onboarding_status_api_onboarding_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingStatusResponse"}}}}}}},"/api/onboarding/complete":{"post":{"tags":["onboarding"],"summary":"Complete Onboarding","description":"Complete the onboarding process for a new user.\n\nUpdates user profile with name, job type, and company name.\n\nArgs:\n    request: {name, job_type, company_name}\n\nReturns:\n    {\"success\": true, \"message\": \"Onboarding completed\"}","operationId":"complete_onboarding_api_onboarding_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingCompleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingCompleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/workspaces":{"get":{"tags":["admin"],"summary":"List Workspaces","operationId":"list_workspaces_api_admin_workspaces_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["size_bytes","created_at"],"type":"string","default":"size_bytes","title":"Sort"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkspacesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users":{"get":{"tags":["admin"],"summary":"List Users","description":"List users with offset pagination and optional search (admin only).","operationId":"list_users_api_admin_users_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"description":"Filter by name or email (substring)","title":"Search"},"description":"Filter by name or email (substring)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUsersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/stats":{"get":{"tags":["admin"],"summary":"Get User Stats","description":"Engagement KPIs plus a daily active-user trend series (admin only).\n\nActive = distinct users with at least one model request in the window.\nWAU/MAU are distinct users in the trailing 7/30 days; average DAU is the\nmean of the per-day distinct counts over the trailing ``avg_dau_days``\nwindow (zero-activity days included). Stickiness is always the trailing\n30-day average DAU over MAU, independent of ``avg_dau_days``. The heatmap\nseries is scoped to the selected ``days`` lookback. When ``exclude_admins``\nis set, Quadrillion staff (admin-email users) are dropped from every count.\nAll buckets use ``date_trunc`` over UTC timestamps.","operationId":"get_user_stats_api_admin_users_stats_get","parameters":[{"name":"days","in":"query","required":true,"schema":{"type":"integer","maximum":365,"minimum":7,"title":"Days"}},{"name":"avg_dau_days","in":"query","required":true,"schema":{"type":"integer","maximum":365,"minimum":7,"title":"Avg Dau Days"}},{"name":"exclude_admins","in":"query","required":true,"schema":{"type":"boolean","title":"Exclude Admins"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/stats/timeseries":{"get":{"tags":["admin"],"summary":"Get User Stats Timeseries","description":"Per-day rolling DAU/WAU/MAU/stickiness over the selected lookback (admin).\n\nDistinct (user, day) activity is read once over the lookback plus a 30-day\nseed, then the rolling windows are computed in Python so every output day is\nfully populated. When ``exclude_admins`` is set, Quadrillion staff are left\nout. Buckets use ``date_trunc`` over UTC timestamps.","operationId":"get_user_stats_timeseries_api_admin_users_stats_timeseries_get","parameters":[{"name":"days","in":"query","required":true,"schema":{"type":"integer","maximum":365,"minimum":7,"title":"Days"}},{"name":"exclude_admins","in":"query","required":true,"schema":{"type":"boolean","title":"Exclude Admins"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserTimeseriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/active":{"get":{"tags":["admin"],"summary":"Get Active Users","description":"The exact distinct users with model usage in the trailing ``days`` window.\n\nBacks each metric's \"who counts\" list. ``last_active`` and ``active_days``\ndescribe each user's footprint inside the window. When ``exclude_admins`` is\nset, Quadrillion staff are omitted.","operationId":"get_active_users_api_admin_users_active_get","parameters":[{"name":"days","in":"query","required":true,"schema":{"type":"integer","maximum":365,"minimum":7,"title":"Days"}},{"name":"exclude_admins","in":"query","required":true,"schema":{"type":"boolean","title":"Exclude Admins"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminActiveUsersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{user_id}/subscription":{"put":{"tags":["admin"],"summary":"Update User Subscription","description":"Update a user's subscription plan, usage override, and/or overage settings (admin only).\n\nRejects if the user belongs to an org (plan managed by org).\nOverage fields only valid for Max plan.","operationId":"update_user_subscription_api_admin_users__user_id__subscription_put","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{user_id}/revoke-sessions":{"post":{"tags":["admin"],"summary":"Revoke User Sessions","description":"Bump ``users.session_version`` to invalidate the user's active JWTs.\n\nPlatform-admin only. Used for incident response when WorkOS Directory\nSync can't deliver fast enough — phished credentials, urgent offboard,\ncustomer security request, etc. The next request from any of the user's\nsessions will fail with ``session_revoked``; they can re-authenticate\nimmediately to mint a fresh token.","operationId":"revoke_user_sessions_api_admin_users__user_id__revoke_sessions_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/organizations":{"post":{"tags":["admin"],"summary":"Create Org","description":"Create an enterprise organization (admin only).","operationId":"create_org_api_admin_organizations_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrgRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["admin"],"summary":"List Orgs","description":"List organizations with offset pagination (admin only). Excludes archived by default.","operationId":"list_orgs_api_admin_organizations_get","parameters":[{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrgsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/organizations/{org_id}":{"get":{"tags":["admin"],"summary":"Get Org Admin","description":"Get full org detail (members, invitations, SSO) plus Stripe Dashboard URLs.","operationId":"get_org_admin_api_admin_organizations__org_id__get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrgDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin"],"summary":"Delete Org","description":"Archive (offboard) an organization. Requires ?confirm=true (admin only).","operationId":"delete_org_api_admin_organizations__org_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"confirm","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Confirm"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin"],"summary":"Update Org","description":"Edit an enterprise organization's billing profile (admin only).\n\nCovers seat price, per-user usage cap, overage toggle/ceiling,\nAPI markup, org name, and billing email. Seat-price changes create\na new per-org Stripe Price and swap the subscription item with\nproration. Name/email changes are mirrored to the Stripe Customer\nso invoices stay aligned. An append-only ``billing_events`` row\ncaptures ``{before, after, reason}``.","operationId":"update_org_api_admin_organizations__org_id__patch","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/organizations/{org_id}/workos":{"delete":{"tags":["admin"],"summary":"Unlink Org Workos","description":"Sever the local org's link to its WorkOS Organization.\n\nPlatform-admin-only emergency tool for rolling back accidental\nbootstraps. Best-effort deletes the WorkOS Organization (so we don't\nleak orphans into our WorkOS account) and clears the local pointer.\nA WorkOS deletion failure (e.g. already deleted via the dashboard,\nrate limit, or transient network error) does not block the local\nunlink — staff can always re-run the bootstrap to relink.\n\nLocal memberships are NOT touched: members keep their seats, but\nfurther logins fall back to the personal-Google flow until the org\nis linked again.","operationId":"unlink_org_workos_api_admin_organizations__org_id__workos_delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/feature-overrides/features":{"get":{"tags":["admin"],"summary":"List Feature Keys","description":"List selectable feature keys (admin only).\n\nKnown keys are always included; distinct keys from existing override\nrows are merged in so historical or one-off features stay reachable.","operationId":"list_feature_keys_api_admin_feature_overrides_features_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureKeysResponse"}}}}}}},"/api/admin/feature-overrides":{"get":{"tags":["admin"],"summary":"List Feature Overrides","description":"List all overrides for a feature key (admin only).","operationId":"list_feature_overrides_api_admin_feature_overrides_get","parameters":[{"name":"feature","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":64,"title":"Feature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureOverridesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/feature-overrides/grant":{"post":{"tags":["admin"],"summary":"Grant Feature Override","description":"Grant a feature to a subject (admin only). Upsert with ``enabled=True``.","operationId":"grant_feature_override_api_admin_feature_overrides_grant_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureOverrideMutationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureOverrideResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/feature-overrides/deny":{"post":{"tags":["admin"],"summary":"Deny Feature Override","description":"Explicitly deny a feature to a subject (admin only). Upsert with\n``enabled=False`` — wins over any plan-level grant in the resolver.","operationId":"deny_feature_override_api_admin_feature_overrides_deny_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureOverrideMutationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureOverrideResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/feature-overrides/revoke":{"post":{"tags":["admin"],"summary":"Revoke Feature Override","description":"Delete an override row (admin only). 404 if no matching row exists.","operationId":"revoke_feature_override_api_admin_feature_overrides_revoke_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureOverrideRevokeRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/org/me":{"get":{"tags":["org"],"summary":"Get My Org","description":"Get the current user's org (if they are an admin/owner).","operationId":"get_my_org_api_org_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgDetailResponse"}}}}}}},"/api/org/{org_id}":{"get":{"tags":["org"],"summary":"Get Org","description":"Get organization details with members and subscription.","operationId":"get_org_api_org__org_id__get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/org/{org_id}/members":{"post":{"tags":["org"],"summary":"Add Member","description":"Add a member to an org by email, or create an invitation.","operationId":"add_member_api_org__org_id__members_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddMemberRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/org/{org_id}/members/{user_id}":{"put":{"tags":["org"],"summary":"Update Member","description":"Update member role or cap overrides.\n\nSet overrides to null to revert to org defaults.","operationId":"update_member_api_org__org_id__members__user_id__put","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMemberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["org"],"summary":"Remove Member","description":"Remove a member from an org.","operationId":"remove_member_api_org__org_id__members__user_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/org/{org_id}/invitations/{invitation_id}":{"delete":{"tags":["org"],"summary":"Revoke Invitation","description":"Revoke a pending invitation.","operationId":"revoke_invitation_api_org__org_id__invitations__invitation_id__delete","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"invitation_id","in":"path","required":true,"schema":{"type":"integer","title":"Invitation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/org/{org_id}/invitations/{invitation_id}/resend":{"post":{"tags":["org"],"summary":"Resend Invitation","description":"Re-send the invitation email for an existing pending invitation.","operationId":"resend_invitation_api_org__org_id__invitations__invitation_id__resend_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"invitation_id","in":"path","required":true,"schema":{"type":"integer","title":"Invitation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/org/{org_id}/setup-link":{"post":{"tags":["org"],"summary":"Regenerate Setup Link","description":"Regenerate the Stripe payment setup link for an org.","operationId":"regenerate_setup_link_api_org__org_id__setup_link_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}},{"name":"frontend_origin","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frontend Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/org/{org_id}/workos-portal-link":{"post":{"tags":["org"],"summary":"Get Workos Portal Link","description":"Self-service WorkOS Admin Portal link for the org's owner or admin.\n\nThe ``intent`` selects which Admin Portal section the customer lands on\n(``sso``, ``dsync``, ``domain_verification``, ``audit_logs``). The\nWorkOS portal does not expose cross-intent navigation, so each section\nneeds a separately generated link.\n\nOn first call for an unlinked org, this creates a WorkOS Organization\nnamed after the local org and links it. Subsequent calls just return\nfresh portal links — same shape as ``POST /api/stripe/portal-session``.\nLinks expire in ~5 minutes; the frontend redirects immediately.","operationId":"get_workos_portal_link_api_org__org_id__workos_portal_link_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkosPortalLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkosPortalLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/install":{"post":{"tags":["slack"],"summary":"Start Slack Install","description":"Build the Slack authorize URL for the cloud Events-API app.","operationId":"start_slack_install_api_slack_install_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallResponse"}}}}}}},"/api/slack/oauth-callback":{"get":{"tags":["slack"],"summary":"Slack Oauth Callback","description":"Exchange a Slack authorization code and persist the installation.","operationId":"slack_oauth_callback_api_slack_oauth_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}},{"name":"error","in":"query","required":false,"schema":{"type":"string","default":"","title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["slack"],"summary":"Slack Oauth Proxy Callback","description":"Receive OAuth tokens from the proxy via browser auto-submit form.","operationId":"slack_oauth_proxy_callback_api_slack_oauth_callback_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/slack/oauth-callback/result":{"get":{"tags":["slack"],"summary":"Slack Oauth Result","description":"Render the terminal page the OAuth callback redirects to.","operationId":"slack_oauth_result_api_slack_oauth_callback_result_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/status":{"get":{"tags":["slack"],"summary":"Get Slack Status","description":"Report the user's live Slack installation, if any.","operationId":"get_slack_status_api_slack_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallationStatus"}}}}}}},"/api/slack/execution-mode":{"post":{"tags":["slack"],"summary":"Set Slack Execution Mode","description":"Set where the user's inbound Slack runs (cloud or their own machine).\n\nPer-account: applies to every one of the user's live installs so the\nchoice is consistent across workspaces. Reassigns ``config`` to a new\ndict so SQLAlchemy's JSON column detects the change.","operationId":"set_slack_execution_mode_api_slack_execution_mode_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionModeBody"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/slack/installation":{"delete":{"tags":["slack"],"summary":"Disconnect Slack","description":"Mark all of the user's installations revoked.\n\nTokens stay encrypted at rest until the user reinstalls (which\noverwrites them); Slack-side revocation is the user's uninstall in\nSlack, which the Events API webhook also records.\n\nAny recorded revocation reason goes with them: the user has now asked for\nthis state, so the settings page must stop attributing it to an earlier\ntakeover. Rows are walked rather than bulk-updated because the reason\nlives inside ``config``, and reassigning it is what makes SQLAlchemy\nnotice the JSON column changed.","operationId":"disconnect_slack_api_slack_installation_delete","responses":{"204":{"description":"Successful Response"}}}},"/api/slack/events":{"post":{"tags":["slack-webhooks"],"summary":"Slack Events","description":"Events API request URL: handshake, dedup, ack-fast dispatch.","operationId":"slack_events_api_slack_events_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/slack/interactivity":{"post":{"tags":["slack-webhooks"],"summary":"Slack Interactivity","description":"Interactivity request URL: form-encoded ``payload=<json>``.","operationId":"slack_interactivity_api_slack_interactivity_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/databricks/connection":{"get":{"tags":["databricks"],"summary":"Read Connection","description":"Return the organization's Databricks connection, without secrets.","operationId":"read_connection_api_databricks_connection_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__ConnectionResponse"}}}}}},"put":{"tags":["databricks"],"summary":"Upsert Connection","description":"Create or update the organization's Databricks connection.","operationId":"upsert_connection_api_databricks_connection_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__ConnectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__ConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["databricks"],"summary":"Delete Connection","description":"Delete the connection and every grant issued against it.","operationId":"delete_connection_api_databricks_connection_delete","responses":{"204":{"description":"Successful Response"}}}},"/api/databricks/federation-policy":{"get":{"tags":["databricks"],"summary":"Read Federation Policy","description":"Return the exact values a service principal federation policy must pin.\n\nThe policy is created in the tenant's Databricks account, and it matches on\nissuer, subject, and audience. Echoing the values we will actually sign is\nwhat keeps the admin from having to reverse-engineer them.","operationId":"read_federation_policy_api_databricks_federation_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FederationPolicyResponse"}}}}}}},"/api/databricks/authorize":{"post":{"tags":["databricks"],"summary":"Start Authorization","description":"Begin the U2M authorization code flow for the acting user.","operationId":"start_authorization_api_databricks_authorize_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__AuthorizeResponse"}}}}}}},"/api/databricks/callback":{"get":{"tags":["databricks"],"summary":"Oauth Callback","description":"Complete the authorization code flow and persist the user's grant.\n\nNot authentication-gated — the browser arrives from Databricks with no\nguaranteed cookie, so the acting user comes from the single-use transaction\nhandle, redeemed before any other parameter is trusted. A cookie that does\narrive must agree with it, or one member could start a flow and lure\nanother into completing it onto the starter's grant.","operationId":"oauth_callback_api_databricks_callback_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}},{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"error_description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/databricks/status":{"get":{"tags":["databricks"],"summary":"Read Status","description":"Return the acting user's authorization state.","operationId":"read_status_api_databricks_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__GrantStatusResponse"}}}}}}},"/api/databricks/runtime-status":{"get":{"tags":["databricks"],"summary":"Read Runtime Status","description":"Return the acting user's authorization state to their runtime.\n\nSame answer as ``/status``, on the other side of the auth split this router\nkeeps: a kernel holds an internal principal and no cookie, so the session\ndependency ``/status`` uses rejects it. The skill catalog probes this to\ndecide whether to tell the agent Databricks is unconnected, and reading it\nagainst the wrong route is how that probe silently answered unknown.","operationId":"read_runtime_status_api_databricks_runtime_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__GrantStatusResponse"}}}}}}},"/api/databricks/preflight":{"get":{"tags":["databricks"],"summary":"Run Connection Preflight","description":"Discover warehouses and Genie Spaces, and report every access check.\n\nRuns as the acting user rather than a service principal, because their\npermissions are what Unity Catalog will enforce at query time.","operationId":"run_connection_preflight_api_databricks_preflight_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreflightResponse"}}}}}}},"/api/databricks/connection/targets":{"put":{"tags":["databricks"],"summary":"Set Connection Targets","description":"Select the warehouse and Genie Agent the organization will use.","operationId":"set_connection_targets_api_databricks_connection_targets_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TargetsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__ConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/databricks/claim-provision":{"post":{"tags":["databricks"],"summary":"Claim Partner Connect Provision","description":"Finish a Partner Connect setup started from the Databricks UI.\n\nDatabricks provisions against a workspace and has no idea which Qualia\norganization it belongs to, so the payload waits under a one-time token\nuntil an admin claims it here, where the organization is known.","operationId":"claim_partner_connect_provision_api_databricks_claim_provision_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimProvisionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__ConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/databricks/sql-credentials":{"get":{"tags":["databricks"],"summary":"Read Sql Credentials","description":"Issue a short-lived SQL warehouse credential to the caller's kernel.\n\nA running kernel cannot receive an updated environment, so a token injected\nat kernel start would be pinned to a value that expires within the hour.\nThe kernel calls this per connection instead; nothing durable is written\ninto its environment.\n\nKernel-only, because a kernel holds an internal principal token and no\ncookie. The session and API-key dependency the rest of this router uses\nrejects that token, so this route would answer nothing that ever calls it.\nNo browser surface needs a Databricks token either.","operationId":"read_sql_credentials_api_databricks_sql_credentials_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__databricks__SqlCredentialsResponse"}}}}}}},"/api/databricks/catalogs/{catalog}/schemas":{"get":{"tags":["databricks"],"summary":"List Catalog Schemas","description":"List the schemas of *catalog* the acting user can see.","operationId":"list_catalog_schemas_api_databricks_catalogs__catalog__schemas_get","parameters":[{"name":"catalog","in":"path","required":true,"schema":{"type":"string","title":"Catalog"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SchemaResponse"},"title":"Response List Catalog Schemas Api Databricks Catalogs  Catalog  Schemas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/databricks/genie/tools":{"get":{"tags":["databricks"],"summary":"List Genie Tools","description":"List the tools the selected Genie Agent exposes to the acting user.","operationId":"list_genie_tools_api_databricks_genie_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response List Genie Tools Api Databricks Genie Tools Get"}}}}}}},"/api/databricks/genie/call":{"post":{"tags":["databricks"],"summary":"Call Genie Tool","description":"Invoke a Genie tool as the acting user and return the cited result.","operationId":"call_genie_tool_api_databricks_genie_call_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenieToolCallRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenieToolCallResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/databricks/grant":{"delete":{"tags":["databricks"],"summary":"Revoke Grant","description":"Disconnect the acting user, discarding their stored tokens.","operationId":"revoke_grant_api_databricks_grant_delete","responses":{"204":{"description":"Successful Response"}}}},"/api/databricks/partner-connect/connect":{"post":{"tags":["databricks"],"summary":"Connect","description":"Accept provisioning details for a workspace.\n\nAn unconnected workspace parks its payload under a one-time token, since\nDatabricks does not know which organization to bind it to. A connected one\nis refreshed in place rather than duplicated.","operationId":"connect_api_databricks_partner_connect_connect_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectResponse"}}}}}}},"/api/databricks/partner-connect/test-connection":{"post":{"tags":["databricks"],"summary":"Test Connection","description":"Report whether a workspace is connected and usable.\n\nCertification calls this against a workspace it just provisioned, so a\nworkspace with no bound organization yet is a legitimate \"not ready\"\nrather than an error.","operationId":"test_connection_api_databricks_partner_connect_test_connection_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestConnectionResponse"}}}}}}},"/api/databricks/partner-connect/connectors":{"get":{"tags":["databricks"],"summary":"List Connectors","description":"Describe the data sources this integration reads.\n\nQualia reads from Databricks and writes nowhere, so the source list is a\nsingle read-only entry.","operationId":"list_connectors_api_databricks_partner_connect_connectors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorsResponse"}}}}}}},"/api/databricks/partner-connect/delete-connection":{"post":{"tags":["databricks"],"summary":"Delete Connection","description":"Remove a workspace connection and anything parked for it. Idempotent.\n\nBoth outcomes are a 200: the contract wants ``resource_status``, and a\nretry of an already-applied delete is a success, not a 404.\n\nA workspace with no rows may still be holding the payload ``connect``\nparked, which is what it answered ``configured_resources`` about. Leaving\nthat behind would let an admin redeem a connection Databricks believes is\ngone, so a discarded payload is itself a delete.","operationId":"delete_connection_api_databricks_partner_connect_delete_connection_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteConnectionResponse"}}}}}}},"/api/databricks/partner-connect/delete-account":{"delete":{"tags":["databricks"],"summary":"Delete Account","description":"Remove everything provisioned for a workspace. Idempotent.\n\nSame effect as deleting the connection today, because a Partner Connect\naccount maps to exactly one workspace connection. Kept as a distinct route\nso the contract stays explicit if that ever stops being true, and 204 here\nbecause the contract asks for a body only on ``delete-connection``.","operationId":"delete_account_api_databricks_partner_connect_delete_account_delete","responses":{"204":{"description":"Successful Response"}}}},"/api/databricks/partner-connect/expire-account":{"put":{"tags":["databricks"],"summary":"Expire Account","description":"Disable a workspace whose trial has expired. Idempotent.\n\nDisables rather than deletes: an expired trial that later converts should\nresume without the customer redoing setup. Existing grants are moved to\nreconnect-required and their tokens discarded, so an expired account\ncannot keep querying.","operationId":"expire_account_api_databricks_partner_connect_expire_account_put","responses":{"204":{"description":"Successful Response"}}}},"/api/snowflake/connection":{"get":{"tags":["snowflake"],"summary":"Read Connection","description":"Return the organization's Snowflake connection, without secrets.","operationId":"read_connection_api_snowflake_connection_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__ConnectionResponse"}}}}}},"put":{"tags":["snowflake"],"summary":"Upsert Connection","description":"Create or update the organization's Snowflake connection.","operationId":"upsert_connection_api_snowflake_connection_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__ConnectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__ConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["snowflake"],"summary":"Delete Connection","description":"Delete the connection and every grant issued against it.","operationId":"delete_connection_api_snowflake_connection_delete","responses":{"204":{"description":"Successful Response"}}}},"/api/snowflake/suggested-redirect-uri":{"get":{"tags":["snowflake"],"summary":"Read Suggested Redirect Uri","description":"Return the exact redirect URI to register with Snowflake.\n\nDerived from this environment's API origin, never from the request host: a\nURI an admin pastes into the security integration and Snowflake then\nbyte-matches must not be spoofable from a header.","operationId":"read_suggested_redirect_uri_api_snowflake_suggested_redirect_uri_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestedRedirectUriResponse"}}}}}}},"/api/snowflake/authorize":{"post":{"tags":["snowflake"],"summary":"Start Authorization","description":"Begin the authorization code flow for the acting user.","operationId":"start_authorization_api_snowflake_authorize_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__AuthorizeResponse"}}}}}}},"/api/snowflake/oauth/callback":{"get":{"tags":["snowflake"],"summary":"Oauth Callback","description":"Complete the authorization code flow and persist the user's grant.\n\nNot authentication-gated — the browser arrives from Snowflake cross-site\nand may carry no cookie, so the acting user comes from the single-use\ntransaction handle, redeemed before any other parameter is trusted. A\ncookie that *does* arrive must agree with it, or one member could start a\nflow and lure another into completing it onto the starter's grant, filing\nthe colleague's Snowflake identity under the starter's account.","operationId":"oauth_callback_api_snowflake_oauth_callback_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}},{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"error_description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/snowflake/status":{"get":{"tags":["snowflake"],"summary":"Read Status","description":"Return the acting user's authorization state.","operationId":"read_status_api_snowflake_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__GrantStatusResponse"}}}}}}},"/api/snowflake/runtime-status":{"get":{"tags":["snowflake"],"summary":"Read Runtime Status","description":"Return the acting user's authorization state to their runtime.\n\nSame answer as ``/status``, on the other side of the auth split this router\nkeeps: a kernel holds an internal principal and no cookie, so the session\ndependency ``/status`` uses rejects it. The skill catalog probes this to\ndecide whether to tell the agent Snowflake is unconnected.","operationId":"read_runtime_status_api_snowflake_runtime_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__GrantStatusResponse"}}}}}}},"/api/snowflake/sql-credentials":{"get":{"tags":["snowflake"],"summary":"Read Sql Credentials","description":"Issue a short-lived Snowflake OAuth token to the caller's kernel.\n\nA running kernel cannot receive an updated environment, and Snowflake's\naccess tokens are minutes long, so a token injected at kernel start would\nbe dead before the first query. The kernel calls this per connection\ninstead; nothing durable is written into its environment.\n\nKernel-only, because a kernel holds an internal principal token and no\ncookie. No browser surface needs a Snowflake token either.","operationId":"read_sql_credentials_api_snowflake_sql_credentials_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__snowflake__SqlCredentialsResponse"}}}}}}},"/api/snowflake/grant":{"delete":{"tags":["snowflake"],"summary":"Revoke Grant","description":"Disconnect the acting user, discarding their stored tokens.","operationId":"revoke_grant_api_snowflake_grant_delete","responses":{"204":{"description":"Successful Response"}}}},"/api/postgres/runtime-status":{"get":{"tags":["postgres"],"summary":"Read Runtime Status","description":"Return whether the acting user has connected Postgres, to their runtime.\n\nThe skill catalog probes this to tell the agent when Postgres is unset,\nso it says so instead of failing a query to find out.","operationId":"read_runtime_status_api_postgres_runtime_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}}}}},"/api/postgres/credentials":{"get":{"tags":["postgres"],"summary":"Read Credentials","description":"Hand the caller's kernel the connection URL the user stored.","operationId":"read_credentials_api_postgres_credentials_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsResponse"}}}}}}},"/api/integrations/relay/bootstrap":{"get":{"tags":["integration-relay"],"summary":"Relay Bootstrap","description":"Report whether the desktop should relay, and hand it the bot token.","operationId":"relay_bootstrap_api_integrations_relay_bootstrap_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BootstrapResponse"}}}}}}},"/api/integrations/relay/poll":{"get":{"tags":["integration-relay"],"summary":"Relay Poll","description":"Long-poll for the next resolved event relayed to this user.","operationId":"relay_poll_api_integrations_relay_poll_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/integrations/relay/route":{"post":{"tags":["integration-relay"],"summary":"Relay Route","description":"Record a thread→owner route created by a relay (local) mention.\n\nWhen a mention runs on the desktop, cloud never sees the workspace, so the\ndesktop reports the thread mapping here; without it, later replies in the\nthread have no route and cloud would drop them. First writer wins.\n\nThe caller may only record routes for a workspace it has a live Slack\ninstall in. The route is keyed on Slack coordinates alone, so without this\ncheck any authenticated API key could squat or mis-route another tenant's\nthreads.","operationId":"relay_route_api_integrations_relay_route_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteBody"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/integrations/relay/ack":{"post":{"tags":["integration-relay"],"summary":"Relay Ack","description":"Confirm receipt of a relayed event (resolves the webhook's handoff).","operationId":"relay_ack_api_integrations_relay_ack_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AckBody"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/checkout-session":{"post":{"tags":["stripe"],"summary":"Create Checkout","description":"Create a Stripe Checkout Session for individual subscription.\n\nMonthly billing only. Rejects org members.\nAccepts optional success_url/cancel_url from the frontend and requires an\nexplicit validated frontend origin for default billing redirects.\n\nReturns:\n    Checkout session URL to redirect the user.","operationId":"create_checkout_api_stripe_checkout_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/portal-session":{"post":{"tags":["stripe"],"summary":"Create Portal","description":"Create a Stripe Billing Portal session.\n\nErrors if user is in an org (admin-managed billing).\n\nReturns:\n    Portal session URL to redirect the user.","operationId":"create_portal_api_stripe_portal_session_post","parameters":[{"name":"frontend_origin","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frontend Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/overage":{"post":{"tags":["stripe"],"summary":"Toggle Overage","description":"Toggle overage billing on or off.\n\nOnly available for Max plan. Rejects org members.\n\nArgs:\n    body: Overage toggle request.\n\nReturns:\n    Status message.","operationId":"toggle_overage_api_stripe_overage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Toggle Overage Api Stripe Overage Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/overage/ceiling":{"put":{"tags":["stripe"],"summary":"Update Ceiling","description":"Update the overage spending ceiling.\n\nMust have overage already enabled.\n\nArgs:\n    body: New ceiling value.\n\nReturns:\n    Updated ceiling value.","operationId":"update_ceiling_api_stripe_overage_ceiling_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverageCeilingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Update Ceiling Api Stripe Overage Ceiling Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/webhook":{"post":{"tags":["stripe"],"summary":"Stripe Webhook","description":"Handle incoming Stripe webhook events.\n\nVerifies the Stripe signature, parses the event, and dispatches\nto the appropriate handler. No auth required -- secured by signature.\n\nReturns:\n    Acknowledgment response.","operationId":"stripe_webhook_api_stripe_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Stripe Webhook Api Stripe Webhook Post"}}}}}}},"/api/linear/webhook":{"post":{"tags":["linear"],"summary":"Linear Webhook","description":"Receive a Linear webhook and dispatch the configured triage path.\n\nReturns ``{\"status\": \"ok\"}`` on every successfully verified event,\nincluding ones that don't match the bug-create filter — Linear should\nnot retry those. Signature/format failures return 4xx.","operationId":"linear_webhook_api_linear_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Linear Webhook Api Linear Webhook Post"}}}}}}},"/api/token_usage":{"get":{"summary":"Get Token Usage","description":"Get token usage aggregated into 15-minute buckets by user and model.\n\nReturns usage broken down by:\n- input_tokens: Total input tokens as the provider reported them\n- cached_tokens: Cache read tokens\n- cache_write_tokens: Cache write tokens\n- new_input_tokens: Input tokens billed at the full input rate\n- output_tokens: Total output tokens\n- reasoning_tokens: Reasoning output tokens (subset of output_tokens)\n- billable_tokens: Every charged token, comparable to a provider console\n\nDefaults to the caller's own data. Admin users (with @quadrillion.io email)\nmay opt into cross-user data by passing user_id (specific user) or\nall_users=true (everyone). Non-admin requests for other users' data are\nsilently scoped to the caller.\n\nPassing org_id scopes the response to that organization's members and takes\nprecedence over user_id/all_users. It requires platform admin or org\nadmin/owner access (403 otherwise) and includes member identity in buckets.","operationId":"get_token_usage_api_token_usage_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by user ID (admin only)","title":"User Id"},"description":"Filter by user ID (admin only)"},{"name":"all_users","in":"query","required":false,"schema":{"type":"boolean","description":"Return data for all users (admin only opt-in)","default":false,"title":"All Users"},"description":"Return data for all users (admin only opt-in)"},{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Scope to an organization's members (org admin only)","title":"Org Id"},"description":"Scope to an organization's members (org admin only)"},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by model name","title":"Model"},"description":"Filter by model name"},{"name":"attribution","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by opt-in attribution tag","title":"Attribution"},"description":"Filter by opt-in attribution tag"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start date (ISO 8601)","title":"Start Date"},"description":"Start date (ISO 8601)"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End date (ISO 8601)","title":"End Date"},"description":"End date (ISO 8601)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AggregatedUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/latency_distribution":{"get":{"summary":"Get Latency Distribution","description":"Get latency distribution with percentiles (p1, p5, p10, p25, p50, p75, p90, p95, p99)\naggregated by day and model.\n\nReturns latency percentiles for:\n- proxy_latency: Time from request received to upstream call initiated\n- ttft_latency: Time from upstream call to first byte received (Time To First Token)\n\nDefaults to the caller's own data. Admin users (with @quadrillion.io email)\nmay opt into cross-user data by passing user_id (specific user) or\nall_users=true (everyone). Non-admin requests for other users' data are\nsilently scoped to the caller.","operationId":"get_latency_distribution_api_latency_distribution_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Filter by user ID (admin only)","title":"User Id"},"description":"Filter by user ID (admin only)"},{"name":"all_users","in":"query","required":false,"schema":{"type":"boolean","description":"Return data for all users (admin only opt-in)","default":false,"title":"All Users"},"description":"Return data for all users (admin only opt-in)"},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by model name","title":"Model"},"description":"Filter by model name"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start date (ISO 8601)","title":"Start Date"},"description":"Start date (ISO 8601)"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End date (ISO 8601)","title":"End Date"},"description":"End date (ISO 8601)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatencyDistributionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/account/features":{"get":{"tags":["account"],"summary":"Get Account Features","description":"Get feature eligibility flags for the authenticated account.\n\nAuthenticates via session token (JWT/cookie) or API key.  The resolution\nlives in ``services.account_features`` because the hosted backend resolves\nthe same flags in-process for its own ambient user; see that module.\n\nThe resolution's ``degraded`` marker is for callers that cache; a per-request\nresponse is replaced by the next call either way.","operationId":"get_account_features_api_account_features_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountFeaturesResponse"}}}}}}},"/api/account/models":{"get":{"tags":["account"],"summary":"Get Model Catalog","description":"Return the authoritative model catalog with an ETag for conditional GETs.\n\nThis is the source of truth the desktop backend fetches at startup and\nafter every ``QUADRILLION_API_KEY`` change, so new models ship via a cloud\nredeploy without requiring a desktop release.  Availability filtering by\nthe user's own credentials happens on the desktop, with one exception:\n``eap: true`` models are omitted server-side for accounts without the\n``eap_access`` entitlement, because shipped desktop builds cannot be\ntrusted to hide them.  The ETag is therefore stable per entitlement\nvariant rather than across all accounts.\n\nAlias entries are gated the same way, on the capabilities the client\ndeclares rather than on an entitlement: a build that predates alias support\nwould show the entry in its picker and fail to resolve it.\n\nServer-only data is stripped first: ``listed: false`` billing-only models\nand the inline ``pricing`` block never leave the server.\n\nThe ETag is derived from the stripped catalog content; an unchanged catalog\nreturns ``304 Not Modified`` so the desktop leaves its local store\nuntouched.","operationId":"get_model_catalog_api_account_models_get","parameters":[{"name":"if-none-match","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"If-None-Match"}},{"name":"x-quadrillion-client-capabilities","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Quadrillion-Client-Capabilities"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/account/subscription":{"get":{"tags":["account"],"summary":"Get Subscription","description":"Get subscription, usage, and overage info for the authenticated user.\n\n``is_admin_managed=True`` when user is an org member (billed by org admin)\nor has no stripe_data on their subscription (manually provisioned).","operationId":"get_subscription_api_account_subscription_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}}}}},"/api/filesystems":{"get":{"tags":["filesystems"],"summary":"List Filesystems","description":"List all filesystems for the authenticated user.","operationId":"list_filesystems_api_filesystems_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["filesystems"],"summary":"Create Filesystem","description":"Create the default filesystem for the authenticated user.","operationId":"create_filesystem_api_filesystems_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/filesystems/default":{"get":{"tags":["filesystems"],"summary":"Get Default","description":"Get the authenticated user's default filesystem, creating if needed.","operationId":"get_default_api_filesystems_default_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/filesystems/{fs_id}":{"delete":{"tags":["filesystems"],"summary":"Delete Filesystem","description":"Delete a filesystem by ID. Only the owning user can delete it.","operationId":"delete_filesystem_api_filesystems__fs_id__delete","parameters":[{"name":"fs_id","in":"path","required":true,"schema":{"type":"integer","title":"Fs Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/credentials":{"post":{"tags":["workspace-credentials"],"summary":"Vend Credentials","description":"Vend scoped credentials for the authenticated user's workspace.","operationId":"vend_credentials_api_workspace_credentials_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CredentialRequestBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/credentials/mount":{"get":{"tags":["workspace-credentials"],"summary":"Vend Mount Container Credentials","description":"Mount vend in the ECS container-credentials wire shape.\n\nThe COS host's FUSE client points ``AWS_CONTAINER_CREDENTIALS_FULL_URI``\nat this route (HTTPS, with ``AWS_CONTAINER_AUTHORIZATION_TOKEN`` carrying\n``Bearer <box store token>``), and the AWS SDK re-fetches as each\n15-minute STS session expires. This is a GET returning the ECS credential\nJSON contract because that is the one rotating-credential protocol every\nAWS SDK speaks over plain HTTP -- ``credential_process`` was tried first\nand lost: older vendored SDKs cap process output at 1 KiB, which an STS\nsession token alone overflows.","operationId":"vend_mount_container_credentials_api_workspace_credentials_mount_get","parameters":[{"name":"mount_uri","in":"query","required":true,"schema":{"type":"string","title":"Mount Uri"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces":{"get":{"tags":["workspaces"],"summary":"List Workspaces","operationId":"list_workspaces_api_workspaces_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__workspaces__WorkspaceResponse"},"type":"array","title":"Response List Workspaces Api Workspaces Get"}}}}}},"post":{"tags":["workspaces"],"summary":"Create Workspace","operationId":"create_workspace_api_workspaces_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkspaceRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__workspaces__WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/select":{"post":{"tags":["workspaces"],"summary":"Select Workspace","operationId":"select_workspace_api_workspaces_select_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectWorkspaceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__cloud_api__routers__workspaces__WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/releases/supported-platforms":{"get":{"tags":["releases"],"summary":"Get Supported Platforms","description":"Get list of currently supported platform IDs.\n\nThis endpoint returns which platforms have releases available for download.\nThe frontend uses this to gray out unsupported platforms in the download UI.\n\nThis is public data for the marketing download page, so no authentication\nis required. CDN-friendly caching is enabled to reduce backend load.\n\nReturns:\n    SupportedPlatformsResponse with list of supported platform IDs\n\nExample:\n    GET /v1/releases/supported-platforms\n\n    Response:\n    {\n        \"supported\": [\n            \"macos-intel\",\n            \"macos-apple-silicon\",\n            \"windows-x64\",\n            \"linux-x64\"\n        ]\n    }","operationId":"get_supported_platforms_v1_releases_supported_platforms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportedPlatformsResponse"}}}}}}},"/v1/releases/{filename}":{"get":{"tags":["releases"],"summary":"Download Release","description":"Get a presigned S3 URL and redirect the user's browser to download directly from S3.\n\nThis endpoint validates the file exists, generates a short-lived presigned\nURL (1 minute), and redirects the browser to download directly from S3\n(avoiding bandwidth costs on backend and Vercel).\n\nFiles are stored gzipped on S3 with Content-Encoding metadata (no extra .gz\nsuffix on the S3 key). Browsers and HTTP clients automatically decompress\nduring download, saving 30-60% bandwidth.\n\nArgs:\n    filename: Name of the release file to download\n    request: FastAPI request object (to access app state)\n\nReturns:\n    RedirectResponse to presigned S3 URL (browser downloads directly)\n\nExamples:\n    GET /v1/releases/qualia-v1.2.3-macos-apple-silicon.app\n\n    Response: 307 Redirect to https://bucket.s3.amazonaws.com/qualia-v1.2.3-macos-apple-silicon.app?X-Amz-...","operationId":"download_release_v1_releases__filename__get","parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions":{"get":{"tags":["store"],"summary":"List Chat Sessions","operationId":"list_chat_sessions_v1_store_chat_sessions_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"cursor_updated_at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Cursor Updated At"}},{"name":"cursor_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["store"],"summary":"Create Chat Session","operationId":"create_chat_session_v1_store_chat_sessions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateChatSessionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/search":{"post":{"tags":["store"],"summary":"Search Chat Sessions","operationId":"search_chat_sessions_v1_store_chat_sessions_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchChatSessionsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/by-notebook/{notebook_id}":{"get":{"tags":["store"],"summary":"Get Chat Session By Notebook","operationId":"get_chat_session_by_notebook_v1_store_chat_sessions_by_notebook__notebook_id__get","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/execution-statuses/{execution_id}":{"get":{"tags":["store"],"summary":"Get Execution Status","operationId":"get_execution_status_v1_store_execution_statuses__execution_id__get","parameters":[{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/execution-statuses":{"post":{"tags":["store"],"summary":"Upsert Execution Status","operationId":"upsert_execution_status_v1_store_execution_statuses_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertExecutionStatusRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}":{"get":{"tags":["store"],"summary":"Get Chat Session","operationId":"get_chat_session_v1_store_chat_sessions__chat_session_id__get","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["store"],"summary":"Update Chat Session","operationId":"update_chat_session_v1_store_chat_sessions__chat_session_id__patch","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChatSessionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/followup":{"post":{"tags":["store"],"summary":"Submit Session Followup","description":"HTTP twin of the ``session_followup`` socket handler, for detached runs.\n\nQueues a user turn and wakes the drain loop without a socket. The\nsynchronous 202 replaces the socket ack, so a detached client cannot lose\nan ack under burst the way a socket emit can. Dedupe lives inside\n``persist_and_announce_queued_followup``; a replayed ``call_id`` returns\nthe original id without a second row.","operationId":"submit_session_followup_v1_store_chat_sessions__chat_session_id__followup_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionFollowupRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/confirmation":{"post":{"tags":["store"],"summary":"Submit Session Confirmation","description":"HTTP twin of the confirmation socket handlers, for detached runs.\n\nA detached client observes ``status == \"pending_confirmation\"`` on its\npoll, reads the confirmation id and options from the durable actions log,\nand answers here. Command approvals resolve an in-memory future on this\nreplica and fan out to peers via the socket-event bus, with a persisted\nfallback by ``call_id``.","operationId":"submit_session_confirmation_v1_store_chat_sessions__chat_session_id__confirmation_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionConfirmationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/notebooks/{notebook_id}/kernel-config":{"get":{"tags":["store"],"summary":"Get Notebook Kernel Config","operationId":"get_notebook_kernel_config_v1_store_notebooks__notebook_id__kernel_config_get","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/attach-notebook":{"post":{"tags":["store"],"summary":"Attach Notebook To Session","operationId":"attach_notebook_to_session_v1_store_chat_sessions__chat_session_id__attach_notebook_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachNotebookRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/detach-notebook":{"post":{"tags":["store"],"summary":"Detach Notebook From Session","operationId":"detach_notebook_from_session_v1_store_chat_sessions__chat_session_id__detach_notebook_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages":{"post":{"tags":["store"],"summary":"Enqueue Pending Message","description":"Append a queued pending message at the tail of the session's queue.","operationId":"enqueue_pending_message_v1_store_chat_sessions__chat_session_id__pending_messages_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnqueuePendingMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["store"],"summary":"List Pending Messages","description":"List queued pending-message rows for a chat session in queue order.","operationId":"list_pending_messages_v1_store_chat_sessions__chat_session_id__pending_messages_get","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}},{"name":"kinds","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kinds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages/oldest-drainable":{"get":{"tags":["store"],"summary":"Get Oldest Drainable Pending Message","description":"Return the oldest queued row of *kind* eligible to drain, or null.","operationId":"get_oldest_drainable_pending_message_v1_store_chat_sessions__chat_session_id__pending_messages_oldest_drainable_get","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","default":"regular","title":"Kind"}},{"name":"honor_hold","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Honor Hold"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages/claim-oldest-drainable":{"post":{"tags":["store"],"summary":"Claim Oldest Drainable Pending Message","description":"Atomically lease and return the oldest drainable row of *kind*, or null.\n\nThe row is leased, not removed: the caller promotes it into history and then\ndeletes it, so a crash mid-promotion leaves it recoverable.","operationId":"claim_oldest_drainable_pending_message_v1_store_chat_sessions__chat_session_id__pending_messages_claim_oldest_drainable_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimOldestDrainablePendingMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages/release-lease":{"post":{"tags":["store"],"summary":"Release Pending Message Lease","description":"Clear a drain lease so a row whose promotion failed is drainable again.","operationId":"release_pending_message_lease_v1_store_chat_sessions__chat_session_id__pending_messages_release_lease_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleasePendingMessageLeaseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages/update-payload":{"post":{"tags":["store"],"summary":"Update Pending Message Payload","description":"Rewrite a queued row's payload in place.","operationId":"update_pending_message_payload_v1_store_chat_sessions__chat_session_id__pending_messages_update_payload_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePendingMessagePayloadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages/set-hold":{"post":{"tags":["store"],"summary":"Set Pending Message Hold","description":"Set or clear the durable editing hold on a queued row.","operationId":"set_pending_message_hold_v1_store_chat_sessions__chat_session_id__pending_messages_set_hold_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPendingMessageHoldRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages/reorder":{"post":{"tags":["store"],"summary":"Reorder Pending Messages","description":"Rewrite queue positions for *kind* rows to match the given order.","operationId":"reorder_pending_messages_v1_store_chat_sessions__chat_session_id__pending_messages_reorder_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReorderPendingMessagesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/chat-sessions/{chat_session_id}/pending-messages/{pending_id}":{"delete":{"tags":["store"],"summary":"Delete Pending Message","description":"Delete a single queued pending-message row. No-op when already gone.","operationId":"delete_pending_message_v1_store_chat_sessions__chat_session_id__pending_messages__pending_id__delete","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}},{"name":"pending_id","in":"path","required":true,"schema":{"type":"string","title":"Pending Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/notebooks/{notebook_id}/owner":{"get":{"tags":["store"],"summary":"Get Notebook Owner","operationId":"get_notebook_owner_v1_store_notebooks__notebook_id__owner_get","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/notebooks/{notebook_id}/session-scope":{"get":{"tags":["store"],"summary":"Get Notebook Session Scope","operationId":"get_notebook_session_scope_v1_store_notebooks__notebook_id__session_scope_get","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}":{"get":{"tags":["store"],"summary":"Get Workspace","operationId":"get_workspace_v1_store_workspaces__workspace_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/export-rows":{"get":{"tags":["store"],"summary":"Export Workspace Rows","description":"Return every DB-backed row of an owned workspace for a .qualia export.\n\n``chat_session_id`` narrows the session-keyed payloads to one session of\nthe workspace. It can only ever shrink the result set, so it needs no\nauthorization of its own beyond the workspace ownership check below.","operationId":"export_workspace_rows_v1_store_workspaces__workspace_id__export_rows_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"chat_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/ingest-rows":{"post":{"tags":["store"],"summary":"Ingest Workspace Rows","description":"Insert the remapped rows of an imported .qualia archive.\n\nThe imported workspace sessions are re-homed to the authenticated\nuser regardless of the identity recorded in the archive.","operationId":"ingest_workspace_rows_v1_store_workspaces_ingest_rows_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestWorkspaceRowsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/tasks":{"get":{"tags":["store"],"summary":"Get Workspace Tasks","description":"Task rows of an owned workspace.\n\n``run_scope`` narrows to tasks created or assigned by one isolated run's\nsessions. It can only ever shrink the result set, so it needs no\nauthorization of its own beyond the workspace ownership check below.","operationId":"get_workspace_tasks_v1_store_workspaces__workspace_id__tasks_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"include_variables","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Variables"}},{"name":"run_scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Scope"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/knowledge-summary":{"get":{"tags":["store"],"summary":"Get Workspace Knowledge Summary","operationId":"get_workspace_knowledge_summary_v1_store_workspaces__workspace_id__knowledge_summary_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"recent_limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":0,"default":30,"title":"Recent Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/preloaded-context-claims":{"get":{"tags":["store"],"summary":"Get Preloaded Context Claims","description":"Knowledge injected into agent context for this workspace.\n\nThe workspace is resolved server-side from the workspace the caller already\nproved they own, so a client cannot widen its own read by asking for\nanother workspace's global knowledge.\n\n``run_scope`` narrows the read to claims filed inside one isolated-run\nnamespace. It can only ever shrink the result set, so it needs no\nauthorization of its own beyond the workspace ownership check above.","operationId":"get_preloaded_context_claims_v1_store_workspaces__workspace_id__preloaded_context_claims_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"run_scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Scope"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/sessions":{"get":{"tags":["store"],"summary":"Get Workspace Sessions","description":"Session listing of an owned workspace.\n\n``run_scope`` narrows to one isolated run's sessions. It can only ever\nshrink the result set, so it needs no authorization of its own beyond\nthe workspace ownership check below.","operationId":"get_workspace_sessions_v1_store_workspaces__workspace_id__sessions_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"include_user_input","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include User Input"}},{"name":"run_scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Scope"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/activity-summary":{"get":{"tags":["store"],"summary":"Get Workspace Activity Summary","operationId":"get_workspace_activity_summary_v1_store_workspaces__workspace_id__activity_summary_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/pipeline-runs/{rule_id}":{"get":{"tags":["store"],"summary":"Get Pipeline Run Sessions","operationId":"get_pipeline_run_sessions_v1_store_workspaces__workspace_id__pipeline_runs__rule_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/task-statuses":{"get":{"tags":["store"],"summary":"Get Workspace Task Statuses","operationId":"get_workspace_task_statuses_v1_store_workspaces__workspace_id__task_statuses_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspaces/{workspace_id}/sessions/{session_id}/tasks":{"get":{"tags":["store"],"summary":"Get Workspace Session Tasks","operationId":"get_workspace_session_tasks_v1_store_workspaces__workspace_id__sessions__session_id__tasks_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"include_variables","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Variables"}},{"name":"include_planned_created_by_session","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Planned Created By Session"}},{"name":"guidance_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Guidance Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/sessions/{session_id}/workspace":{"get":{"tags":["store"],"summary":"Get Session Workspace","operationId":"get_session_workspace_v1_store_sessions__session_id__workspace_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/sessions/{session_id}/state":{"get":{"tags":["store"],"summary":"Get Session State","operationId":"get_session_state_v1_store_sessions__session_id__state_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspace_artifacts":{"post":{"tags":["store"],"summary":"Save Workspace Artifact Route","operationId":"save_workspace_artifact_route_v1_store_workspace_artifacts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveWorkspaceArtifactRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspace_artifacts/by_call/{call_id}":{"get":{"tags":["store"],"summary":"Get Workspace Artifact By Call Route","operationId":"get_workspace_artifact_by_call_route_v1_store_workspace_artifacts_by_call__call_id__get","parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","title":"Call Id"}},{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/workspace_artifacts/metadata":{"post":{"tags":["store"],"summary":"Get Workspace Artifact Metadata Route","operationId":"get_workspace_artifact_metadata_route_v1_store_workspace_artifacts_metadata_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceArtifactMetadataRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/start":{"post":{"tags":["kernel"],"summary":"Start Kernel","description":"Accept a start_kernel request and return an operation_id immediately.\n\nThe get_user_filesystem dependency chains: OAuth session/internal JWT → user → filesystem.\nThe user's filesystem path is injected into the body before forwarding\nto the upstream gateway, which bind-mounts it into the Singularity container.\n\nIf the kernel is already running, emits ``kernel_alive`` and returns\nimmediately — mirroring the local backend's behaviour and avoiding a\nmisleading \"Kernel starting…\" / \"Kernel started ✓\" toast cycle.\n\nPoll GET /operations/{operation_id} for the result.","operationId":"start_kernel_v1_kernel_kernels_start_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/operations/{operation_id}":{"get":{"tags":["kernel"],"summary":"Poll Operation","description":"Poll the status of a long-running operation (e.g. start_kernel).","operationId":"poll_operation_v1_kernel_operations__operation_id__get","parameters":[{"name":"operation_id","in":"path","required":true,"schema":{"type":"string","title":"Operation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/{notebook_id}/stop":{"post":{"tags":["kernel"],"summary":"Stop Kernel","operationId":"stop_kernel_v1_kernel_kernels__notebook_id__stop_post","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/{notebook_id}/flush":{"post":{"tags":["kernel"],"summary":"Flush Kernel Workspace","description":"Flush a live kernel box's files to the run store without stopping it.\n\nThe artifact pull calls this before enumerating its sources so the\nstore leg holds everything the box does — otherwise files the periodic\nsync hasn't shipped only reach S3 at teardown, after the pull already\nran. The run scope resolves from the notebook's own kernel config first\n(the box's identity — a caller-named session must never retarget another\nrun's box), falling back to the caller's owned chat-session row for the\ndetach case, and failing closed when neither answers: an unscoped flush\nof an isolated box would land its files on the shared base.","operationId":"flush_kernel_workspace_v1_kernel_kernels__notebook_id__flush_post","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/{notebook_id}/interrupt":{"post":{"tags":["kernel"],"summary":"Interrupt Kernel","operationId":"interrupt_kernel_v1_kernel_kernels__notebook_id__interrupt_post","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/{notebook_id}/restart":{"post":{"tags":["kernel"],"summary":"Restart Kernel","operationId":"restart_kernel_v1_kernel_kernels__notebook_id__restart_post","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/{notebook_id}/status":{"get":{"tags":["kernel"],"summary":"Kernel Status","operationId":"kernel_status_v1_kernel_kernels__notebook_id__status_get","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels":{"get":{"tags":["kernel"],"summary":"List Kernels","operationId":"list_kernels_v1_kernel_kernels_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/compute/gpu-availability":{"get":{"tags":["kernel"],"summary":"Gpu Availability","description":"Proxy the gateway's per-GPU-type availability report.","operationId":"gpu_availability_v1_kernel_compute_gpu_availability_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/kernels/{notebook_id}/execute":{"post":{"tags":["kernel"],"summary":"Execute Code","description":"Proxy an execute request, streaming the login node's SSE response directly.","operationId":"execute_code_v1_kernel_kernels__notebook_id__execute_post","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/{notebook_id}/execute_silent":{"post":{"tags":["kernel"],"summary":"Execute Silent","operationId":"execute_silent_v1_kernel_kernels__notebook_id__execute_silent_post","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernels/{notebook_id}/complete":{"post":{"tags":["kernel"],"summary":"Complete Code","operationId":"complete_code_v1_kernel_kernels__notebook_id__complete_post","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/bash":{"post":{"tags":["kernel"],"summary":"Execute Bash","operationId":"execute_bash_v1_kernel_bash_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/workspace-bash":{"post":{"tags":["kernel"],"summary":"Execute Workspace Bash","description":"Run a bash command on the box that serves the session's agent bash.\n\n``/bash`` above proxies to *kernel* sandbox sessions and fails closed when\nthe kernel is gone — but on Modal the agent's own bash tool runs on the\n**workspace sandbox** (see ``ModalKernelContext``), whose ``/local`` is a\nsandbox-private rootfs no kernel session can see. A client that needs to\nread what the agent's bash wrote (``--artifacts``) must therefore exec on\nthat box, through the same ``route_bash`` path the agent's tool uses, so\nthe two can never resolve to different filesystems.\n\n``chat_session_id`` is required: it drives the same workspace-identity\nresolution as the agent's bash (including isolated-run identity), and it\nis validated against the caller so bash on another user's sandbox is\nunreachable.\n\nThe session's stored sandbox-environment spec is installed as the ambient\nscope for the call, exactly as ``generation_turn_runtime_scope`` does for\nthe agent's own bash. The workspace-sandbox *alias* is derived from that\nspec (``ModalAgentBridge._workspace_alias``), so without it an isolated\nrun's command would land on the default box — a different filesystem from\nthe one the run wrote.","operationId":"execute_workspace_bash_v1_kernel_workspace_bash_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/live-kernel-notebooks":{"get":{"tags":["kernel"],"summary":"Live Kernel Notebooks","description":"Notebook ids with a live kernel session, from the gateway's own store.\n\nExists for the artifact pull: the chat-session row's ``notebook_id`` is\ncleared when the agent detaches its notebook, but the kernel session (and\nits box, holding kernel-written artifacts) can outlive the detach. The\ngateway session store is the authority on which kernels are actually\nalive. Only notebooks the caller owns are returned.","operationId":"live_kernel_notebooks_v1_kernel_live_kernel_notebooks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/envs":{"get":{"tags":["kernel"],"summary":"List Environments","operationId":"list_environments_v1_kernel_envs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["kernel"],"summary":"Create Environment","operationId":"create_environment_v1_kernel_envs_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/envs/{name}":{"delete":{"tags":["kernel"],"summary":"Delete Environment","operationId":"delete_environment_v1_kernel_envs__name__delete","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/kernelspecs":{"get":{"tags":["kernel"],"summary":"List Kernel Specs","operationId":"list_kernel_specs_v1_kernel_kernelspecs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/health":{"get":{"tags":["kernel"],"summary":"Kernel Health","operationId":"kernel_health_v1_kernel_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/test/runtime-state/{notebook_id}":{"get":{"tags":["kernel"],"summary":"Kernel Test Runtime State","operationId":"kernel_test_runtime_state_v1_kernel_test_runtime_state__notebook_id__get","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kernel/gpu-runtimes":{"get":{"tags":["kernel"],"summary":"List Gpu Runtimes","description":"List the caller's GPU execution environments and attached notebooks.","operationId":"list_gpu_runtimes_v1_kernel_gpu_runtimes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/list":{"post":{"tags":["files"],"summary":"List Files","description":"List directory contents on the user's NFS filesystem.","operationId":"list_files_v1_kernel_files_list_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/read":{"post":{"tags":["files"],"summary":"Read File","description":"Read a file from the user's NFS filesystem.","operationId":"read_file_v1_kernel_files_read_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/write":{"post":{"tags":["files"],"summary":"Write File","description":"Write/save a file on the user's NFS filesystem.","operationId":"write_file_v1_kernel_files_write_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/mkdir":{"post":{"tags":["files"],"summary":"Create Folder","description":"Create a folder on the user's NFS filesystem.","operationId":"create_folder_v1_kernel_files_mkdir_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/delete":{"post":{"tags":["files"],"summary":"Delete Path","description":"Delete a file or folder on the user's NFS filesystem.","operationId":"delete_path_v1_kernel_files_delete_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/rename":{"post":{"tags":["files"],"summary":"Rename Path","description":"Rename/move a file or folder on the user's NFS filesystem.","operationId":"rename_path_v1_kernel_files_rename_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/duplicate":{"post":{"tags":["files"],"summary":"Duplicate Path","description":"Duplicate a file or folder on the user's NFS filesystem.","operationId":"duplicate_path_v1_kernel_files_duplicate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/kernel/files/check":{"post":{"tags":["files"],"summary":"Check Path","description":"Check if a path exists on the user's NFS filesystem.","operationId":"check_path_v1_kernel_files_check_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/workspaces/{workspace_id}":{"get":{"tags":["task_dag_reads"],"summary":"Get Workspace Endpoint","operationId":"get_workspace_endpoint_api_workspaces__workspace_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__api_services__task_dag_read_schemas__WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/tasks":{"get":{"tags":["task_dag_reads"],"summary":"Get Workspace Tasks","operationId":"get_workspace_tasks_api_workspaces__workspace_id__tasks_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"include_variables","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Variables"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DagResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/sessions":{"get":{"tags":["task_dag_reads"],"summary":"Get Workspace Sessions","operationId":"get_workspace_sessions_api_workspaces__workspace_id__sessions_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"include_user_input","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include User Input"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Workspace Sessions Api Workspaces  Workspace Id  Sessions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/knowledge-summary":{"get":{"tags":["runtime_mutations","ckg"],"summary":"Get Workspace Knowledge Summary","operationId":"get_workspace_knowledge_summary_api_workspaces__workspace_id__knowledge_summary_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"recent_limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":0,"default":30,"title":"Recent Limit"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sessions/{session_id}/workspace":{"get":{"tags":["task_dag_reads"],"summary":"Get Session Workspace","operationId":"get_session_workspace_api_sessions__session_id__workspace_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":"Response Get Session Workspace Api Sessions  Session Id  Workspace Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sessions/{session_id}/tasks":{"get":{"tags":["task_dag_reads"],"summary":"Get Session Tasks","operationId":"get_session_tasks_api_sessions__session_id__tasks_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionTasksResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tasks/{task_id}":{"get":{"tags":["task_dag_reads"],"summary":"Get Task Endpoint","operationId":"get_task_endpoint_api_tasks__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task_variables/normalized":{"get":{"tags":["task_dag_reads"],"summary":"Get Task Variables Normalized","operationId":"get_task_variables_normalized_api_task_variables_normalized_get","parameters":[{"name":"notebook_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id"}},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},{"name":"variable_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Variable Names"}},{"name":"tables","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Tables"}},{"name":"table_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Table Ids"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NormalizedTaskVariablesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task_variables/tracked":{"get":{"tags":["task_dag_reads"],"summary":"Get Tracked Variables","description":"A kernel sends ``notebook_id``; a script has none and sends ``session_id``.","operationId":"get_tracked_variables_api_task_variables_tracked_get","parameters":[{"name":"notebook_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id"}},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackedVariablesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/tasks/{task_id}/reassign":{"post":{"tags":["task_dag_mutations"],"summary":"Reassign Task Endpoint","operationId":"reassign_task_endpoint_api_workspaces__workspace_id__tasks__task_id__reassign_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReassignTaskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Reassign Task Endpoint Api Workspaces  Workspace Id  Tasks  Task Id  Reassign Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/tasks/{task_id}":{"patch":{"tags":["task_dag_mutations"],"summary":"Update Task Endpoint","operationId":"update_task_endpoint_api_workspaces__workspace_id__tasks__task_id__patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTaskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonObject"},"title":"Response Update Task Endpoint Api Workspaces  Workspace Id  Tasks  Task Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["task_dag_mutations"],"summary":"Delete Task Endpoint","operationId":"delete_task_endpoint_api_workspaces__workspace_id__tasks__task_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"chat_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Chat session ID of the caller (must be assignee or creator)","title":"Chat Session Id"},"description":"Chat session ID of the caller (must be assignee or creator)"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DeleteTaskRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonObject"},"title":"Response Delete Task Endpoint Api Workspaces  Workspace Id  Tasks  Task Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/task_variables/serialize_and_submit":{"post":{"tags":["task_dag_mutations"],"summary":"Serialize And Submit Task Variables Endpoint","description":"Persist variable values captured by a runtime after it produced them.\n\nInternal-principal only: the value must originate from a runtime, never\nan agent/session (see ``quadrillion.services.VARIABLE_EVIDENCE_INVARIANT``).","operationId":"serialize_and_submit_task_variables_endpoint_api_task_variables_serialize_and_submit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerializeAndSubmitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerializeAndSubmitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/kernel/post_run":{"post":{"tags":["task_dag_mutations"],"summary":"Kernel Post Run Endpoint","description":"Accept a full post-run snapshot: evidence values + namespace inventory.\n\nDEPRECATED: only legacy injected ``Q_VARS`` clients post here (qualia\nuses ``/serialize_and_submit`` + the inventory Comm). Remove with the\nlocal handler and ``KernelPostRunRequest`` once the\n``kernel_post_run.start`` log goes quiet; the drain window is bounded\nby app-update uptake, not kernel churn.\n\nInternal-principal only: evidence values must originate from the\nkernel runtime (see ``VARIABLE_EVIDENCE_INVARIANT``).","operationId":"kernel_post_run_endpoint_api_kernel_post_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KernelPostRunRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerializeAndSubmitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"deprecated":true}},"/api/evidence":{"post":{"tags":["runtime_mutations","ckg"],"summary":"Add Evidence Endpoint","description":"Add a runtime-captured evidence claim for an untracked variable.\n\nRuntime-only on both mounts: this local route requires a runtime caller\n(the kernel API bearer token, or an execution-scoped token issued to a\nscript process); the cloud mirror requires an internal principal.\n\nRejections (unsupported value type, no workspace for the runtime, bad\nvariable name) come back in ``rejected_reason`` rather than via HTTP\nerror so the client can surface them in-cell without raising.","operationId":"add_evidence_endpoint_api_evidence_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddEvidenceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddEvidenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/models":{"get":{"tags":["runtime_mutations"],"summary":"Get Available Models","operationId":"get_available_models_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sessions":{"get":{"tags":["runtime_mutations"],"summary":"List Sessions","operationId":"list_sessions_sessions_get","parameters":[{"name":"project_path","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions/{chat_session_id}":{"patch":{"tags":["runtime_mutations"],"summary":"Update Session","operationId":"update_session_sessions__chat_session_id__patch","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/{chat_session_id}/stop":{"post":{"tags":["runtime_mutations"],"summary":"Stop Chat Session","operationId":"stop_chat_session_chat__chat_session_id__stop_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/{chat_session_id}/resume":{"post":{"tags":["runtime_mutations"],"summary":"Resume Chat Session","operationId":"resume_chat_session_chat__chat_session_id__resume_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/pause-all":{"post":{"tags":["runtime_mutations"],"summary":"Pause All Chat Sessions","operationId":"pause_all_chat_sessions_chat_pause_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/chat/resume-all":{"post":{"tags":["runtime_mutations"],"summary":"Resume All Chat Sessions","operationId":"resume_all_chat_sessions_chat_resume_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/chat-sessions/{chat_session_id}/info":{"post":{"tags":["runtime_mutations"],"summary":"Get Chat Session Info","operationId":"get_chat_session_info_chat_sessions__chat_session_id__info_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat-sessions/{chat_session_id}/replay":{"post":{"tags":["runtime_mutations"],"summary":"Replay Chat History","operationId":"replay_chat_history_chat_sessions__chat_session_id__replay_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat-sessions/{chat_session_id}/pending-user-inputs":{"post":{"tags":["runtime_mutations"],"summary":"List Pending User Inputs For Session","operationId":"list_pending_user_inputs_for_session_chat_sessions__chat_session_id__pending_user_inputs_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat-sessions/delete":{"post":{"tags":["runtime_mutations"],"summary":"Delete Chat Sessions","operationId":"delete_chat_sessions_chat_sessions_delete_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/chat/{chat_session_id}/attach":{"post":{"tags":["runtime_mutations"],"summary":"Attach Notebook To Chat","operationId":"attach_notebook_to_chat_chat__chat_session_id__attach_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/{chat_session_id}/detach":{"post":{"tags":["runtime_mutations"],"summary":"Detach Notebook From Chat","operationId":"detach_notebook_from_chat_chat__chat_session_id__detach_post","parameters":[{"name":"chat_session_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebooks/{notebook_id}/active-session-id":{"get":{"tags":["runtime_mutations"],"summary":"Get Active Session Id","operationId":"get_active_session_id_notebooks__notebook_id__active_session_id_get","parameters":[{"name":"notebook_id","in":"path","required":true,"schema":{"type":"string","title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Read Notebook","description":"Load a file by path, checking for a session draft first.\n\nIf a session draft exists for this notebook:\n- Returns the draft state instead of the canonical file.\n- If the draft's canonical base revision has drifted, includes a\n  ``draft_conflict`` field so the frontend can prompt the user.\n\nNon-notebook files bypass draft logic entirely.\n\nReturns:\n- .ipynb  -> JSON: { path, cells, metadata, draft_revision?, draft_conflict? }\n- text    -> raw UTF-8 text (text/plain or application/json)\n- binary  -> raw bytes (image/*, application/pdf, etc.)","operationId":"read_notebook_notebook_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_NotebookReadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["runtime_mutations","notebook"],"summary":"Read Notebook Get","description":"GET version of /notebook endpoint for serving files in markdown img tags.","operationId":"read_notebook_get_notebook_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/beta/draft/manifest":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Get Draft Manifest","operationId":"get_draft_manifest_notebook_beta_draft_manifest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftManifestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/draft/manifest":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Get Draft Manifest","operationId":"get_draft_manifest_notebook_draft_manifest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftManifestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/draft/source-manifest":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Get Draft Source Manifest","operationId":"get_draft_source_manifest_notebook_draft_source_manifest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftManifestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/beta/draft/cells":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Get Draft Cells","operationId":"get_draft_cells_notebook_beta_draft_cells_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftCellsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/draft/cells":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Get Draft Cells","operationId":"get_draft_cells_notebook_draft_cells_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftCellsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/beta/draft/operations":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Submit Draft Operations","operationId":"submit_draft_operations_notebook_beta_draft_operations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftOperationsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/draft/operations":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Submit Draft Operations","operationId":"submit_draft_operations_notebook_draft_operations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftOperationsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/cell":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Patch Notebook Cell","description":"Apply a user cell-content edit to draft + live notebook state.\n\nSynchronous HTTP equivalent of the ``notebook_cell_user_edit``\nsocket event. Used by the frontend to flush a pending edit before\ninvoking ``/execute`` so cell-id execution sees the user's latest\ncontent. A missed patch is a failed precondition for execution because\ncontinuing would run stale backend state.","operationId":"patch_notebook_cell_notebook_cell_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_CellPatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/cell/add":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Add Notebook Cell","description":"Insert a new user-authored cell into the draft + live notebook state.\n\nUsed by the frontend so that subsequent same-session HTTP writes\n(``/notebook/cell``, ``/execute``) are guaranteed to see the cell.\n\nIdempotent: re-adding an existing ``cell_id`` returns success\nwithout mutating the draft.","operationId":"add_notebook_cell_notebook_cell_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_CellAddRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/draft":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Save Draft","description":"Create or update a session draft (debounced autosave path).\n\nNo-ops when a generation is active: the agent's turn notebook is\nthe sole draft writer, and user edits flow over the\n``notebook_cell_user_*`` socket events.","operationId":"save_draft_notebook_draft_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftSaveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/draft/reset-to-canonical":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Reset Draft To Canonical","description":"Reset a live session draft to canonical file state without deleting it.","operationId":"reset_draft_to_canonical_notebook_draft_reset_to_canonical_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftResetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/draft/save-to-canonical":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Save Draft To Canonical","description":"Promote a session draft to canonical.\n\nOutside generation: CAS conflict detection (or ``force=True``). During\ngeneration, ``save_to_canonical`` force-writes the live draft because the\ndraft store is the notebook source of truth for user and agent edits. Either\nway the draft is preserved on success with a refreshed\n``canonical_base_revision``.\n\nAny ``pending_user_edits`` are applied first via the same per-cell write\npath the ``notebook_cell_user_edit`` socket handler uses, so an explicit\nsave inside the user edit debounce window is atomic with respect to the\nuser's latest typing.\n\nAutosave requests (``autosave=True``) no-op during generation instead of\ninheriting the force-write semantics above, mirroring what ``save_draft``\ndoes for draft saves. An autosave flag wins over ``force`` — a background\nsave must never bypass CAS.","operationId":"save_draft_to_canonical_notebook_draft_save_to_canonical_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DraftSaveToCanonicalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/save":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Save Or Export Notebook Route","description":"Save handler for notebooks and text files.\n\nFor notebooks, this now saves to the session draft store first, then\npromotes to canonical with CAS conflict detection.","operationId":"save_or_export_notebook_route_notebook_save_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_FileSaveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/create":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Create File Route","description":"Create a new notebook or text file, failing if the path already exists.\n\nUnlike ``/notebook/save`` (an upsert), this endpoint refuses to overwrite\nan existing file and returns ``409 Conflict`` when ``path`` is taken.\n\nFor ``.ipynb`` files this writes a starter notebook containing one empty\ncode cell whose ``cell_id`` is minted on the backend. That avoids the\nfrontend (``useNotebookLoader.makeEmptyCell``) fabricating a phantom cell\nwith a client-side id when it loads a zero-cell notebook.","operationId":"create_file_route_notebook_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_FileCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/delete":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Delete Path Route","description":"Delete a file or folder under NOTEBOOK_BASE_PATH.","operationId":"delete_path_route_notebook_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_FileDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebooks":{"get":{"tags":["runtime_mutations","notebook"],"summary":"List Notebooks","description":"Lists all files in a given path relative to BASE_PATH.","operationId":"list_notebooks_notebooks_get","parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string","default":"","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["runtime_mutations","notebook"],"summary":"Create Folder","description":"Create a folder under the given relative 'path' within BASE_PATH.","operationId":"create_folder_notebooks_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_FolderCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebooks/recent":{"get":{"tags":["runtime_mutations","notebook"],"summary":"List Recent Notebooks","description":"Lists the most recently modified notebooks.","operationId":"list_recent_notebooks_notebooks_recent_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/check-path":{"get":{"tags":["runtime_mutations","notebook"],"summary":"Check Path Exists","description":"Check if a file path exists.\n\n``session_id`` scopes the check to an isolated run's own prefix (the\n``--cloud`` copy-back); absent, it checks the shared workspace.","operationId":"check_path_exists_notebook_check_path_get","parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string","default":"","title":"Path"}},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/list-files":{"get":{"tags":["runtime_mutations","notebook"],"summary":"List Files","description":"Unified endpoint for listing files and folders in a directory.\n\n``session_id`` scopes the listing to an isolated run's own prefix (the\n``--cloud`` copy-back); absent, it lists the shared workspace.\n\nThe reply always carries ``run_scoped``, saying which of those two\nhappened. It exists for the copy-back: a deployment predating this\nparameter ignores the unknown query arg and answers with the SHARED\nlisting, which is indistinguishable from a correctly-scoped empty run\nunless the answer says so. An isolated run treats a reply without the\nfield as \"this server cannot scope me\" and drops the store leg rather\nthan exporting another run's files. Never remove it, and never report\nTrue on a path that did not resolve through the run-scoped service.","operationId":"list_files_list_files_get","parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string","default":"","title":"Path"}},{"name":"include_file_metadata","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include File Metadata"}},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/list-all-files":{"get":{"tags":["runtime_mutations","notebook"],"summary":"List All Files","description":"Return a flat, sorted list of workspace-relative file paths.\n\nUsed by the chat composer's ``@path:`` autocomplete. Local mode only\nfor now; remote/cloud flavors return an empty list until they grow a\nproper implementation.","operationId":"list_all_files_list_all_files_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/fs/rename":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Rename Path Route","description":"Rename/move a file or folder.","operationId":"rename_path_route_fs_rename_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_FileRenameRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notebook/id":{"get":{"tags":["runtime_mutations","notebook"],"summary":"Get Notebook Id","description":"GET /notebook/id?path=<relative_path_to_ipynb>","operationId":"get_notebook_id_notebook_id_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fs/duplicate":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Duplicate Path Route","description":"Duplicate a file or folder.","operationId":"duplicate_path_route_fs_duplicate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DuplicatePathRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fs/reveal":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Reveal Path Route","description":"Reveal a file or folder in the system file manager (Finder/Explorer).","operationId":"reveal_path_route_fs_reveal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_RevealPathRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fs/open-with-default":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Open With Default Route","description":"Open a file with the system's default application.","operationId":"open_with_default_route_fs_open_with_default_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_OpenWithDefaultRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/session/{session_id}/required_variables":{"get":{"tags":["runtime_mutations","notebook"],"summary":"Get Session Required Variables Endpoint","description":"Get required variables for a session from Task DAG state.","operationId":"get_session_required_variables_endpoint_api_session__session_id__required_variables_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notebook/export_standalone":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Export Notebook Standalone Endpoint","description":"Export a notebook with qualia.get(...) calls inlined for standalone use.\n\nTODO: Because notebooks can be attached/detached across sessions,\na notebook may reference variables from arbitrary workspace tasks.\nRight now we call ``query_all_task_variables()`` which fetches\n*every* variable in the database rather than scoping to the\nvariables relevant to this notebook.  Revisit once we can\nefficiently resolve notebook_id -> relevant task variable set.","operationId":"export_notebook_standalone_endpoint_api_notebook_export_standalone_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ExportStandaloneRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notebook/export_content":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Export Notebook Content Endpoint","description":"Export notebook content with qualia.get(...) calls inlined for standalone use.","operationId":"export_notebook_content_endpoint_api_notebook_export_content_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ExportNotebookContentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notebook/export_folder":{"post":{"tags":["runtime_mutations","notebook"],"summary":"Export Folder Notebooks Endpoint","description":"Export all notebooks in a folder with qualia.get(...) calls inlined.","operationId":"export_folder_notebooks_endpoint_api_notebook_export_folder_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ExportFolderRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/files/upload":{"post":{"tags":["runtime_mutations","files"],"summary":"Upload File","description":"Upload a file into the workspace at ``dest_dir/<filename>``.\n\nName conflicts are auto-renamed (``name (1).ext``) unless\n``overwrite`` is set; the final path is returned either way.","operationId":"upload_file_files_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_files_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/files/download-url":{"post":{"tags":["runtime_mutations","files"],"summary":"Create Download Url","operationId":"create_download_url_api_workspace_files_download_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadUrlRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/files/download":{"get":{"tags":["runtime_mutations","files"],"summary":"Download File","description":"Download a single workspace file as an attachment.\n\n``session_id`` selects an isolated run's own prefix when given (used by the\n``--cloud`` copy-back); absent, the download serves the shared workspace.\nAn absolute ``path`` under one of the session's declared data mounts is\nserved from the mount's dataset prefix instead (pre-attach reads).","operationId":"download_file_files_download_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}},{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/files/pdf-text":{"get":{"tags":["runtime_mutations","files"],"summary":"Read Pdf Text","description":"Extracted text of a workspace PDF, page by page.\n\nThis is what the PDF text view renders, and it is deliberately the *same*\n``pypdf`` extraction that knowledge evidence is verified against — a reader\nwho selects a line here is selecting text the backend can find again. A\nviewer's own text layer would extract different characters and every\ncapture from it would fail verification.\n\nPages come back whole, up to a character budget; ``next_page`` names where\nto resume so a long document loads in bounded chunks.","operationId":"read_pdf_text_files_pdf_text_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}},{"name":"start_page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Start Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/uploads":{"post":{"tags":["runtime_mutations","workspace-uploads"],"summary":"Create Upload Targets","description":"Presign direct-to-store PUT URLs for a batch of workspace files.","operationId":"create_upload_targets_api_workspace_uploads_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignUploadsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignUploadsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/uploads/multipart":{"post":{"tags":["runtime_mutations","workspace-uploads"],"summary":"Create Multipart Upload Targets","description":"Open an S3 multipart upload per file, for files past the single-PUT cap.","operationId":"create_multipart_upload_targets_api_workspace_uploads_multipart_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipartCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipartCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/uploads/multipart/parts":{"post":{"tags":["runtime_mutations","workspace-uploads"],"summary":"Presign Upload Parts","description":"Sign a further batch of part URLs for an upload already in flight.\n\nSeparate from create because part URLs expire with the STS session that\nsigned them -- an hour -- while an upload at the ceiling can run for several\non a home connection. Signing all 240 parts up front would hand out URLs\nthat are dead long before the client reaches them.","operationId":"presign_upload_parts_api_workspace_uploads_multipart_parts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipartPartsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipartPartsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/uploads/multipart/complete":{"post":{"tags":["runtime_mutations","workspace-uploads"],"summary":"Complete Multipart Upload Target","description":"Assemble an upload's parts into the object.\n\nAnswers with the assembled object's ETag, which the client then sends on\n``/uploads/complete`` like any other upload's. That is the whole reason this\nroute stops at \"the object exists\": verification and delivery stay in one\nplace for both transports.","operationId":"complete_multipart_upload_target_api_workspace_uploads_multipart_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipartCompleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipartCompleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/uploads/multipart/abort":{"post":{"tags":["runtime_mutations","workspace-uploads"],"summary":"Abort Multipart Upload Target","description":"Discard an abandoned upload's parts.\n\nAlways answers 204. The bucket's ``abort_incomplete_multipart_upload``\nlifecycle rule is the correctness backstop, so a failed abort costs a day of\nstorage rather than anything a client could act on -- and this is called\nfrom a client that is already cancelling, where an error would only produce\na toast about work nobody is waiting for.","operationId":"abort_multipart_upload_target_api_workspace_uploads_multipart_abort_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultipartAbortRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/uploads/complete":{"post":{"tags":["runtime_mutations","workspace-uploads"],"summary":"Complete Uploads","description":"Verify the uploaded keys, then get them in front of the workspace.\n\nWhat \"in front of\" means is the difference between the two planes. On the\ncanonical plane the bytes are already where the browser reads them, so this\nonly nudges running boxes to refresh. On the transfer plane they are in a\nstaging bucket the browser cannot see, so the box has to fetch them before\nthe upload exists as far as the user is concerned.","operationId":"complete_uploads_api_workspace_uploads_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteUploadsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteUploadsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/settings":{"patch":{"tags":["runtime_mutations","workspace"],"summary":"Update Workspace Settings Endpoint","operationId":"update_workspace_settings_endpoint_api_workspaces__workspace_id__settings_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_UpdateWorkspaceSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__api_services__task_dag_read_schemas__WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/activity-summary":{"get":{"tags":["runtime_mutations","workspace"],"summary":"Workspace Activity Summary Endpoint","operationId":"workspace_activity_summary_endpoint_api_workspaces__workspace_id__activity_summary_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceActivitySummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/export":{"get":{"tags":["runtime_mutations","workspace"],"summary":"Export Workspace Endpoint","description":"Export a workspace as a .qualia archive (ZIP), streamed to the client.\n\nCarries workspace data only. Workspace files are available exclusively\nthrough ``export-to-path``: an archive with a workspace in it runs to\ngigabytes, and every route that moves those bytes through the\nrenderer has crashed it, taking the app's socket down with it.\n\nWhen some notebooks or images cannot be read the archive is still\nproduced. ``X-Export-Incomplete`` carries the total skip count and\nthe ``X-Export-Skipped-*`` headers break it down, with the skipped\nnotebook paths and blob IDs recorded in ``workspace.json``.","operationId":"export_workspace_endpoint_api_workspaces__workspace_id__export_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/export-to-path":{"post":{"tags":["runtime_mutations","workspace"],"summary":"Export Workspace To Path Endpoint","description":"Write a workspace's ``.qualia`` archive into a local directory.\n\nThe download endpoint hands the archive to the browser, which cannot\nsurvive a multi-gigabyte workspace export: buffering it crashes the\nrenderer and takes the app's socket connection with it. Here the\nbackend writes the file itself, so the bytes never leave this\nprocess. Only available when the workspace is on this machine —\nanywhere else the path would name a directory the user cannot see.","operationId":"export_workspace_to_path_endpoint_api_workspaces__workspace_id__export_to_path_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ExportToPathRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Export Workspace To Path Endpoint Api Workspaces  Workspace Id  Export To Path Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/import":{"post":{"tags":["runtime_mutations","workspace"],"summary":"Import Workspace Endpoint","description":"Import a .qualia archive into the active workspace.\n\nThe upload is spooled to a temp file rather than read into memory:\nan archive carrying a whole workspace can be arbitrarily large.\n\nKernel-state restore and agent resume are local-only: cloud kernels\nrun in remote sandboxes, so cloud imports land with every session\nidle and no restored kernel state.","operationId":"import_workspace_endpoint_api_workspaces_import_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_workspace_endpoint_api_workspaces_import_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Import Workspace Endpoint Api Workspaces Import Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspace/git/clone":{"post":{"tags":["runtime_mutations","git"],"summary":"Clone Repository","description":"Clone a repository into the workspace, streaming progress as NDJSON.\n\nEvery failure the user can act on is reported as a terminal ``error`` event\ncarrying a stable ``code``, so the UI can offer the matching affordance --\nmost importantly ``github_auth_required``, which becomes a Connect GitHub\nbutton rather than an opaque \"not found\".","operationId":"clone_repository_api_workspace_git_clone_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/execute/{execution_id}/replay":{"get":{"tags":["runtime_mutations","execution"],"summary":"Replay Execution Output","description":"Return buffered ``execution_output`` chunks for a live cell run.\n\nUsed by the frontend on reconnect/reload to recover any chunks it\nmissed while disconnected from the notebook socket room. Authorized\nby the same notebook-lock check as ``/execute``: the caller must\nown the lock on the handle's notebook.\n\n``after_seq`` lets clients page incrementally — pass the highest\n``seq`` they've already rendered (live or replayed) and only newer\nchunks are returned. Returns ``404`` when the per-cell replay record\nhas been pruned; the cell's final ``cell.outputs`` is then the source\nof truth.","operationId":"replay_execution_output_execute__execution_id__replay_get","parameters":[{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}},{"name":"after_seq","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"After Seq"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/execute":{"post":{"tags":["runtime_mutations","execution"],"summary":"Execute","operationId":"execute_execute_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ExecuteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/create":{"post":{"tags":["runtime_mutations","terminal"],"summary":"Create Terminal","description":"Create a new terminal.","operationId":"create_terminal_api_terminal_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/{terminal_id}/write":{"post":{"tags":["runtime_mutations","terminal"],"summary":"Write Terminal","description":"Write data to terminal stdin.","operationId":"write_terminal_api_terminal__terminal_id__write_post","parameters":[{"name":"terminal_id","in":"path","required":true,"schema":{"type":"string","title":"Terminal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalWriteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/{terminal_id}/read":{"get":{"tags":["runtime_mutations","terminal"],"summary":"Read Terminal","description":"Read data from terminal stdout (polling fallback).","operationId":"read_terminal_api_terminal__terminal_id__read_get","parameters":[{"name":"terminal_id","in":"path","required":true,"schema":{"type":"string","title":"Terminal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/{terminal_id}/resize":{"post":{"tags":["runtime_mutations","terminal"],"summary":"Resize Terminal","description":"Resize terminal.","operationId":"resize_terminal_api_terminal__terminal_id__resize_post","parameters":[{"name":"terminal_id","in":"path","required":true,"schema":{"type":"string","title":"Terminal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalResizeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/{terminal_id}":{"delete":{"tags":["runtime_mutations","terminal"],"summary":"Delete Terminal","description":"Kill terminal process.","operationId":"delete_terminal_api_terminal__terminal_id__delete","parameters":[{"name":"terminal_id","in":"path","required":true,"schema":{"type":"string","title":"Terminal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/python-env":{"get":{"tags":["runtime_mutations","terminal"],"summary":"Get Python Env","description":"Get Python environment info for terminal.","operationId":"get_python_env_api_terminal_python_env_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/terminal/{terminal_id}/qualia":{"post":{"tags":["runtime_mutations","terminal"],"summary":"Qualia Command","description":"Handle qualia command to open a file in Qualia.","operationId":"qualia_command_api_terminal__terminal_id__qualia_post","parameters":[{"name":"terminal_id","in":"path","required":true,"schema":{"type":"string","title":"Terminal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QualiaCommandRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/update":{"post":{"tags":["runtime_mutations","settings"],"summary":"Update Single Setting Handler","description":"Update a single setting.","operationId":"update_single_setting_handler_api_settings_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_SettingUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/apply-model-family":{"post":{"tags":["runtime_mutations","settings"],"summary":"Apply Model Family Handler","description":"Apply a model family by fanning it out into the per-role model settings.\n\nPersists concrete flagship values for the agent roles, so each role holds a\nconcrete model after onboarding. The family itself is not persisted — it is\nonly a transient way to propagate these per-role defaults. Users can still\nchange any role afterward.","operationId":"apply_model_family_handler_api_settings_apply_model_family_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ApplyModelFamilyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/values":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get All Settings Handler","description":"Get all setting values.","operationId":"get_all_settings_handler_api_settings_values_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/base-path":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Base Path Handler","description":"Get the current base path for notebooks.","operationId":"get_base_path_handler_api_settings_base_path_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/workspace/switch":{"post":{"tags":["runtime_mutations","settings"],"summary":"Switch Workspace Handler","operationId":"switch_workspace_handler_api_workspace_switch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_WorkspaceSwitchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/environment/status":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Environment Status Handler","description":"Return current environment profile metadata for stale-runtime UI.","operationId":"get_environment_status_handler_api_settings_environment_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/environment/preparation-status":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Environment Preparation Status Handler","operationId":"get_environment_preparation_status_handler_api_settings_environment_preparation_status_get","parameters":[{"name":"profile_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Name"}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"enum":["python","julia","r"],"type":"string"},{"type":"null"}],"title":"Language"}},{"name":"advanced","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Advanced"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/environment/prepare":{"post":{"tags":["runtime_mutations","settings"],"summary":"Prepare Environment Handler","operationId":"prepare_environment_handler_api_settings_environment_prepare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_EnvironmentPrepareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/environment/cancel-prepare":{"post":{"tags":["runtime_mutations","settings"],"summary":"Cancel Prepare Environment Handler","operationId":"cancel_prepare_environment_handler_api_settings_environment_cancel_prepare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_EnvironmentPrepareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/environment/cleanup-prepared":{"post":{"tags":["runtime_mutations","settings"],"summary":"Cleanup Prepared Environment Handler","operationId":"cleanup_prepared_environment_handler_api_settings_environment_cleanup_prepared_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/environment/config":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Environment Config Handler","operationId":"get_environment_config_handler_api_settings_environment_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["runtime_mutations","settings"],"summary":"Update Environment Config Handler","operationId":"update_environment_config_handler_api_settings_environment_config_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_EnvironmentConfigUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/environment/private-values":{"put":{"tags":["runtime_mutations","settings"],"summary":"Update Environment Private Values Handler","operationId":"update_environment_private_values_handler_api_settings_environment_private_values_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_EnvironmentPrivateValuesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/python-environments/check-venv":{"get":{"tags":["runtime_mutations","settings"],"summary":"Check Venv Handler","description":"Check if .venv exists in the provided directory.","operationId":"check_venv_handler_api_python_environments_check_venv_get","parameters":[{"name":"location","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/python-environments/create-location":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Create Environment Location Handler","description":"Get the default location where .venv will be created.","operationId":"get_create_environment_location_handler_api_python_environments_create_location_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/slack/configured":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Slack Configured Handler","description":"Check whether Slack settings are configured.","operationId":"get_slack_configured_handler_api_settings_slack_configured_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/slack/install":{"post":{"tags":["runtime_mutations","settings"],"summary":"Slack Oauth Init Handler","description":"Proxy POST request to Slack OAuth initiation endpoint.","operationId":"slack_oauth_init_handler_api_settings_slack_install_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_SlackOAuthInitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/slack/oauth-callback":{"post":{"tags":["runtime_mutations","settings"],"summary":"Slack Oauth Callback Handler","description":"Receive OAuth tokens from the website via browser auto-submit form.\n\nThe website returns an HTML form that auto-POSTs tokens to this endpoint\nthrough the user's browser.  On success the tokens are persisted to\nsettings and the browser is redirected to the success page on the website.","operationId":"slack_oauth_callback_handler_api_settings_slack_oauth_callback_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/github/configured":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Github Configured Handler","description":"Return whether a GitHub OAuth token is stored and the flow is enabled.","operationId":"get_github_configured_handler_api_settings_github_configured_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/github/install":{"post":{"tags":["runtime_mutations","settings"],"summary":"Github Oauth Init Handler","description":"Proxy POST request to GitHub OAuth initiation endpoint.","operationId":"github_oauth_init_handler_api_settings_github_install_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_GithubOAuthInitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/github/oauth-callback":{"post":{"tags":["runtime_mutations","settings"],"summary":"Github Oauth Callback Handler","description":"Receive OAuth token from the website via browser auto-submit form.","operationId":"github_oauth_callback_handler_api_settings_github_oauth_callback_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/validate-kernel":{"get":{"tags":["runtime_mutations","settings"],"summary":"Validate Kernel Setting Handler","description":"Validate that DEFAULT_KERNEL setting is valid.","operationId":"validate_kernel_setting_handler_api_settings_validate_kernel_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/kernel-discovery/paths":{"get":{"tags":["runtime_mutations","settings"],"summary":"List Kernel Discovery Paths Handler","operationId":"list_kernel_discovery_paths_handler_api_kernel_discovery_paths_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["runtime_mutations","settings"],"summary":"Add Kernel Discovery Path Handler","operationId":"add_kernel_discovery_path_handler_api_kernel_discovery_paths_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_KernelDiscoveryPathRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/kernel-discovery/paths/preview":{"post":{"tags":["runtime_mutations","settings"],"summary":"Preview Kernel Discovery Path Handler","operationId":"preview_kernel_discovery_path_handler_api_kernel_discovery_paths_preview_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_KernelDiscoveryPathRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/kernel-discovery/paths/{path_id}/enabled":{"post":{"tags":["runtime_mutations","settings"],"summary":"Set Kernel Discovery Path Enabled Handler","operationId":"set_kernel_discovery_path_enabled_handler_api_kernel_discovery_paths__path_id__enabled_post","parameters":[{"name":"path_id","in":"path","required":true,"schema":{"type":"string","title":"Path Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_KernelDiscoveryPathEnabledRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/kernel-discovery/paths/{path_id}":{"delete":{"tags":["runtime_mutations","settings"],"summary":"Remove Kernel Discovery Path Handler","operationId":"remove_kernel_discovery_path_handler_api_kernel_discovery_paths__path_id__delete","parameters":[{"name":"path_id","in":"path","required":true,"schema":{"type":"string","title":"Path Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/python-environments/select":{"post":{"tags":["runtime_mutations","settings"],"summary":"Select Python Environment Handler","description":"Select a Python environment and create kernel spec for it.","operationId":"select_python_environment_handler_api_python_environments_select_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_SelectPythonEnvironmentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/julia-environments/select":{"post":{"tags":["runtime_mutations","settings"],"summary":"Select Julia Environment Handler","description":"Select a Julia installation and create kernel spec for it.","operationId":"select_julia_environment_handler_api_julia_environments_select_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_SelectJuliaEnvironmentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/r-environments/select":{"post":{"tags":["runtime_mutations","settings"],"summary":"Select R Environment Handler","description":"Select an R installation and create kernel spec for it.","operationId":"select_r_environment_handler_api_r_environments_select_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_SelectREnvironmentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/python-environments/create-status":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Create Environment Status","description":"Get status for an environment creation job.","operationId":"get_create_environment_status_api_python_environments_create_status_get","parameters":[{"name":"job_id","in":"query","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/python-environments/create":{"post":{"tags":["runtime_mutations","settings"],"summary":"Create Python Environment Handler","description":"Create a new .venv virtual environment using stdlib venv.","operationId":"create_python_environment_handler_api_python_environments_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_CreatePythonEnvironmentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/python-environments/workspace-venv":{"delete":{"tags":["runtime_mutations","settings"],"summary":"Delete Python Environment Handler","operationId":"delete_python_environment_handler_api_python_environments_workspace_venv_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_DeletePythonEnvironmentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/matplotlibrc":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Matplotlibrc Handler","description":"Get current matplotlibrc settings.","operationId":"get_matplotlibrc_handler_api_settings_matplotlibrc_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["runtime_mutations","settings"],"summary":"Update Matplotlibrc Handler","description":"Update matplotlibrc settings.","operationId":"update_matplotlibrc_handler_api_settings_matplotlibrc_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_MatplotlibrcUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/matplotlibrc/path":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Matplotlibrc Path Handler","description":"Get the path to the matplotlibrc file.","operationId":"get_matplotlibrc_path_handler_api_settings_matplotlibrc_path_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/matplotlibrc/color-cycles":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Color Cycle Schemes Handler","description":"Get available color cycle schemes.","operationId":"get_color_cycle_schemes_handler_api_settings_matplotlibrc_color_cycles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/matplotlibrc/color-cycles/custom":{"post":{"tags":["runtime_mutations","settings"],"summary":"Save Custom Color Scheme Handler","description":"Save a custom color scheme.","operationId":"save_custom_color_scheme_handler_api_settings_matplotlibrc_color_cycles_custom_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_SaveCustomColorSchemeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/matplotlibrc/color-cycles/custom/{scheme_id}":{"delete":{"tags":["runtime_mutations","settings"],"summary":"Delete Custom Color Scheme Handler","description":"Delete a custom color scheme.","operationId":"delete_custom_color_scheme_handler_api_settings_matplotlibrc_color_cycles_custom__scheme_id__delete","parameters":[{"name":"scheme_id","in":"path","required":true,"schema":{"type":"string","title":"Scheme Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/matplotlibrc/colormaps":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Colormap Preview Handler","description":"Get colormap preview data for all available colormaps.","operationId":"get_colormap_preview_handler_api_settings_matplotlibrc_colormaps_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/bash-allowlist":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Bash Allowlist Handler","description":"Return the user-managed bash command allowlist.","operationId":"get_bash_allowlist_handler_api_settings_bash_allowlist_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["runtime_mutations","settings"],"summary":"Add Bash Allowlist Handler","description":"Add a command to the user bash allowlist.\n\nIf the command has known dangerous flags (e.g. ``rm``), denied-flag\ndefaults are auto-applied so that dangerous variants still require\nconfirmation.","operationId":"add_bash_allowlist_handler_api_settings_bash_allowlist_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_BashAllowlistAddRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["runtime_mutations","settings"],"summary":"Clear Bash Allowlist Handler","description":"Remove all user-added bash command allowlist entries.","operationId":"clear_bash_allowlist_handler_api_settings_bash_allowlist_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/settings/bash-allowlist/{command}":{"delete":{"tags":["runtime_mutations","settings"],"summary":"Remove Bash Allowlist Handler","description":"Remove a single command token from the user bash allowlist.","operationId":"remove_bash_allowlist_handler_api_settings_bash_allowlist__command__delete","parameters":[{"name":"command","in":"path","required":true,"schema":{"type":"string","title":"Command"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/sandbox":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Sandbox Settings Handler","description":"Return the current sandbox configuration.","operationId":"get_sandbox_settings_handler_api_settings_sandbox_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["runtime_mutations","settings"],"summary":"Update Sandbox Settings Handler","description":"Update sandbox settings (partial update). Returns the full new settings payload.","operationId":"update_sandbox_settings_handler_api_settings_sandbox_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_SandboxSettingsUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/settings/sandbox/status":{"get":{"tags":["runtime_mutations","settings"],"summary":"Get Sandbox Status Handler","description":"Return platform sandbox availability details.","operationId":"get_sandbox_status_handler_api_settings_sandbox_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/credentials/status":{"get":{"tags":["runtime_mutations","credentials"],"summary":"Get Credentials Status","description":"Return ``{key: {set: bool, hint: str | null}}`` for every credential.\n\nReports the active user's visible credential state for each known key.","operationId":"get_credentials_status_api_credentials_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/credentials/{key}":{"put":{"tags":["runtime_mutations","credentials"],"summary":"Store Credential Handler","description":"Store a credential in ``settings.json``.","operationId":"store_credential_handler_api_credentials__key__put","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_CredentialStoreRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["runtime_mutations","credentials"],"summary":"Delete Credential Handler","description":"Remove a credential from ``settings.json``.","operationId":"delete_credential_handler_api_credentials__key__delete","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tags":{"get":{"tags":["runtime_mutations","tags"],"summary":"Get Available Tags Handler","description":"Return list of available cell tags with their descriptions.","operationId":"get_available_tags_handler_tags_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tags/create":{"post":{"tags":["runtime_mutations","tags"],"summary":"Create Tag Handler","description":"Create a new tag.","operationId":"create_tag_handler_tags_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_TagCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tags/update":{"post":{"tags":["runtime_mutations","tags"],"summary":"Update Tag Handler","description":"Update an existing tag.","operationId":"update_tag_handler_tags_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_TagUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tags/delete":{"post":{"tags":["runtime_mutations","tags"],"summary":"Delete Tag Handler","description":"Delete a tag.","operationId":"delete_tag_handler_tags_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_TagDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rules":{"get":{"tags":["runtime_mutations","rules"],"summary":"Get Rules Handler","operationId":"get_rules_handler_api_rules_get","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["runtime_mutations","rules"],"summary":"Create Rule Handler","operationId":"create_rule_handler_api_rules_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_CreateRuleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rules/{rule_id}":{"put":{"tags":["runtime_mutations","rules"],"summary":"Update Rule Handler","operationId":"update_rule_handler_api_rules__rule_id__put","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_UpdateRuleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["runtime_mutations","rules"],"summary":"Delete Rule Handler","operationId":"delete_rule_handler_api_rules__rule_id__delete","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rules/reveal-folder":{"post":{"tags":["runtime_mutations","rules"],"summary":"Reveal Rules Folder Handler","operationId":"reveal_rules_folder_handler_api_rules_reveal_folder_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/rules/import/cursor":{"post":{"tags":["runtime_mutations","rules"],"summary":"Import Cursor Rules Handler","operationId":"import_cursor_rules_handler_api_rules_import_cursor_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/rules/import/claude-code":{"post":{"tags":["runtime_mutations","rules"],"summary":"Import Claude Code Rules Handler","operationId":"import_claude_code_rules_handler_api_rules_import_claude_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__handlers__skills___ImportClaudeCodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rules/import/file":{"post":{"tags":["runtime_mutations","rules"],"summary":"Import Rules From File Handler","description":"Import a rule from an arbitrary file on the backend host.\n\nThe file's full contents become the rule body. Reading an arbitrary\npath is only safe on a single-user local backend, so it is refused in\nmulti-tenant cloud mode where the filesystem is shared across clients.","operationId":"import_rules_from_file_handler_api_rules_import_file_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ImportFileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rules/personas":{"get":{"tags":["runtime_mutations","rules"],"summary":"List Personas Handler","operationId":"list_personas_handler_api_rules_personas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/rules/personas/activate":{"post":{"tags":["runtime_mutations","rules"],"summary":"Activate Persona Handler","operationId":"activate_persona_handler_api_rules_personas_activate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ActivatePersonaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/skills":{"get":{"tags":["runtime_mutations","skills"],"summary":"Get Skills Handler","description":"Get all custom skills.","operationId":"get_skills_handler_api_skills_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["runtime_mutations","skills"],"summary":"Create Skill Handler","description":"Create a new custom skill.","operationId":"create_skill_handler_api_skills_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_CreateSkillRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/skills/external-roots":{"get":{"tags":["runtime_mutations","skills"],"summary":"Get External Skill Roots Handler","description":"List registered live external skill roots with validity indicators.","operationId":"get_external_skill_roots_handler_api_skills_external_roots_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["runtime_mutations","skills"],"summary":"Add External Skill Root Handler","description":"Register a folder as a live, read-only external skill source.","operationId":"add_external_skill_root_handler_api_skills_external_roots_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ExternalRootRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/skills/external-roots/remove":{"post":{"tags":["runtime_mutations","skills"],"summary":"Remove External Skill Root Handler","description":"Unregister an external skill root by its stored path.","operationId":"remove_external_skill_root_handler_api_skills_external_roots_remove_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ExternalRootRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/skills/{skill_id}":{"put":{"tags":["runtime_mutations","skills"],"summary":"Update Skill Handler","description":"Update an existing custom skill.","operationId":"update_skill_handler_api_skills__skill_id__put","parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","title":"Skill Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_UpdateSkillRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["runtime_mutations","skills"],"summary":"Delete Skill Handler","description":"Delete a custom skill.","operationId":"delete_skill_handler_api_skills__skill_id__delete","parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","title":"Skill Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/skills/reveal-folder":{"post":{"tags":["runtime_mutations","skills"],"summary":"Reveal Skills Folder Handler","description":"Reveal the skills folder in the system file manager (Finder/Explorer).","operationId":"reveal_skills_folder_handler_api_skills_reveal_folder_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/skills/import/cursor":{"post":{"tags":["runtime_mutations","skills"],"summary":"Import Cursor Skills Handler","description":"Import skills from Cursor (~/.cursor/skills/).","operationId":"import_cursor_skills_handler_api_skills_import_cursor_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/skills/import/claude-code":{"post":{"tags":["runtime_mutations","skills"],"summary":"Import Claude Code Skills Handler","description":"Import skills from Claude Code (.claude/skills/ and .claude/commands/).","operationId":"import_claude_code_skills_handler_api_skills_import_claude_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/quadrillion__handlers__skills___ImportClaudeCodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/writeup/load":{"get":{"tags":["runtime_mutations","writeup"],"summary":"Load Writeup","description":"Load a writeup file (.qua).","operationId":"load_writeup_writeup_load_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}},{"name":"writeup_id","in":"query","required":true,"schema":{"type":"string","title":"Writeup Id"}},{"name":"kernel_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kernel Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/writeup/save":{"post":{"tags":["runtime_mutations","writeup"],"summary":"Save Writeup","description":"Save a writeup file (.qua).","operationId":"save_writeup_writeup_save_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_WriteupSaveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/writeup/export":{"get":{"tags":["runtime_mutations","writeup"],"summary":"Export Writeup","description":"Export a writeup to Markdown (.zip), PDF, LaTeX (.zip), or Word (.docx).","operationId":"export_writeup_writeup_export_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}},{"name":"format","in":"query","required":true,"schema":{"type":"string","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/claims":{"get":{"tags":["runtime_mutations","ckg"],"summary":"List Workspace Claims","description":"List claims for a workspace with optional filters and DAG expansion.\n\nHTTP callers receive every matching claim — the per-call recency cap\nthat ``get_claims`` applies to the LLM tool path is intentionally not\npropagated here, since UI surfaces (CKG sidebar, task-DAG coloring,\nwriteup tables) need the full set. ``claim_ids`` is repeatable\n(``?claim_ids=C-1&claim_ids=C-2``) for bulk lookup of a known set\nwithout re-scanning the workspace.","operationId":"list_workspace_claims_api_workspaces__workspace_id__claims_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"claim_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Type"}},{"name":"minimum_recall_priority","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/RecallPriority"},{"type":"null"}],"title":"Minimum Recall Priority"}},{"name":"created_by_task_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Task Id"}},{"name":"degree","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Degree"}},{"name":"claim_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Claim Ids"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/claims/{claim_id}":{"get":{"tags":["runtime_mutations","ckg"],"summary":"Get Claim Endpoint","description":"Get a single claim with its sources.\n\n``workspace_id`` is optional when the caller only has ``claim_id`` (for example\nwriteup previews); the store resolves by claim id alone.","operationId":"get_claim_endpoint_api_claims__claim_id__get","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"string","title":"Claim Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["runtime_mutations","ckg"],"summary":"Delete Claim Endpoint","description":"Soft delete a finding.","operationId":"delete_claim_endpoint_api_claims__claim_id__delete","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"string","title":"Claim Id"}},{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Delete Claim Endpoint Api Claims  Claim Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/claims/{claim_id}/execution-command":{"get":{"tags":["runtime_mutations","ckg"],"summary":"Get Claim Execution Command Endpoint","description":"The unredacted command a runtime claim came from, for the reveal control.\n\nSplit from the claim payload so secret-shaped values are sent only when a\nreader asks, not to every surface that renders the claim.","operationId":"get_claim_execution_command_endpoint_api_claims__claim_id__execution_command_get","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"string","title":"Claim Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimExecutionCommandResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/claims/{claim_id}/dag":{"get":{"tags":["runtime_mutations","ckg"],"summary":"Get Claim Dag Endpoint","description":"Get a claim with its DAG neighborhood.","operationId":"get_claim_dag_endpoint_api_claims__claim_id__dag_get","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"string","title":"Claim Id"}},{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"degree","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Degree"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/claims/{claim_id}/tabular-sort":{"patch":{"tags":["runtime_mutations","ckg"],"summary":"Update Tabular Sort Endpoint","description":"Update the persisted row sort for a tabular claim.","operationId":"update_tabular_sort_endpoint_api_workspaces__workspace_id__claims__claim_id__tabular_sort_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"claim_id","in":"path","required":true,"schema":{"type":"string","title":"Claim Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TabularSortRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/claims/{claim_id}/review":{"post":{"tags":["runtime_mutations","ckg"],"summary":"Review Claim Endpoint","description":"Record a user's accept/reject decision on a finding from the knowledge panel.\n\nThe decision lives on the claim's ``review_status`` column. ``accepted`` keeps\nthe finding and clears its affordances; ``rejected`` reuses the existing\nsoft-delete; ``pending`` is the undo state. A soft-deleted finding can only\nre-enter review via ``pending`` (undo); accepting one directly is rejected so\nthe row can never end up accepted while still soft-deleted.","operationId":"review_claim_endpoint_api_claims__claim_id__review_post","parameters":[{"name":"claim_id","in":"path","required":true,"schema":{"type":"string","title":"Claim Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewClaimRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Review Claim Endpoint Api Claims  Claim Id  Review Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/claims/review_bulk":{"post":{"tags":["runtime_mutations","ckg"],"summary":"Review Claims Bulk Endpoint","description":"Apply one decision to many findings — Accept all / Reject all and undo.\n\nActs only on the explicit ``claim_ids`` the client passes (the rows the user\nis looking at), skipping non-findings and any ``accepted`` that can't apply\nbecause the finding is already soft-deleted. Returns the claim ids actually\naffected so the client can offer a precise batch undo.","operationId":"review_claims_bulk_endpoint_api_claims_review_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewClaimsBulkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewClaimsBulkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_id}/human-evidence":{"post":{"tags":["runtime_mutations","ckg"],"summary":"Create Human Evidence Endpoint","description":"Record a reader-selected span as file-captured evidence.\n\nA user action, so it authenticates like the other reader-facing routes\nrather than with ``require_runtime_caller`` — and unlike ``/api/evidence``\nit cannot create runtime-*captured* variable evidence, whose value must\nstill come from a runtime read.\n\nThe claim's ``content`` is the verified quote; a reader's note becomes the\ntitle, so an agent reading this back never sees an unverified sentence\npresented as a quotation from the file.\n\nThere is a window between the verifying read and the insert in which the\nfile can change. It is deliberately not locked: the quote is re-verified on\nevery read, so a span invalidated in that window simply shows as\n``diverged`` the first time the claim is displayed.","operationId":"create_human_evidence_endpoint_api_workspaces__workspace_id__human_evidence_post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateHumanEvidenceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateHumanEvidenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blobs/upload":{"post":{"tags":["runtime_mutations","blobs"],"summary":"Upload Blob","description":"Upload a file as a blob with streaming status updates.\n\nArgs:\n    file: The file to upload\n\nReturns:\n    Server-Sent Events stream with upload progress and final UUID","operationId":"upload_blob_blobs_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_blob_blobs_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blobs/{uuid_str}":{"get":{"tags":["runtime_mutations","blobs"],"summary":"Serve Blob","description":"Serve a blob (image) by UUID from the database.\n\nRequires an authenticated session. In cloud mode the caller's user_id is\nderived from the request principal so the store scopes the lookup by owner\nand cross-tenant access is impossible even with a leaked blob UUID.","operationId":"serve_blob_blobs__uuid_str__get","parameters":[{"name":"uuid_str","in":"path","required":true,"schema":{"type":"string","title":"Uuid Str"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blobs/{uuid_str}/download":{"get":{"tags":["runtime_mutations","blobs"],"summary":"Download Blob","description":"Download a blob by UUID with proper filename.\n\nRequires an authenticated session; in cloud mode the lookup is scoped to\nthe caller's user_id.","operationId":"download_blob_blobs__uuid_str__download_get","parameters":[{"name":"uuid_str","in":"path","required":true,"schema":{"type":"string","title":"Uuid Str"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blobs/{uuid_str}/save-as-file":{"post":{"tags":["runtime_mutations","blobs"],"summary":"Save Blob As File","description":"Save a blob from storage as a file in the workspace.","operationId":"save_blob_as_file_blobs__uuid_str__save_as_file_post","parameters":[{"name":"uuid_str","in":"path","required":true,"schema":{"type":"string","title":"Uuid Str"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveBlobAsFileRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/autocomplete":{"post":{"tags":["runtime_mutations","autocomplete"],"summary":"Autocomplete","operationId":"autocomplete_api_autocomplete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutocompleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AutocompleteResponse"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Response Autocomplete Api Autocomplete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/open":{"post":{"tags":["runtime_mutations","csv"],"summary":"Open Csv","operationId":"open_csv_csv_open_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Open Csv Csv Open Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/status":{"get":{"tags":["runtime_mutations","csv"],"summary":"Csv Status","operationId":"csv_status_csv_status_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Csv Status Csv Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/blocks":{"get":{"tags":["runtime_mutations","csv"],"summary":"Csv Blocks","operationId":"csv_blocks_csv_blocks_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"start_row","in":"query","required":true,"schema":{"type":"integer","title":"Start Row"}},{"name":"count","in":"query","required":true,"schema":{"type":"integer","title":"Count"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Csv Blocks Csv Blocks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/raw-head":{"get":{"tags":["runtime_mutations","csv"],"summary":"Csv Raw Head","operationId":"csv_raw_head_csv_raw_head_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Csv Raw Head Csv Raw Head Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/save":{"post":{"tags":["runtime_mutations","csv"],"summary":"Csv Save","operationId":"csv_save_csv_save_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Csv Save Csv Save Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/search":{"post":{"tags":["runtime_mutations","csv"],"summary":"Csv Search","operationId":"csv_search_csv_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Csv Search Csv Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/profile":{"post":{"tags":["runtime_mutations","csv"],"summary":"Csv Profile","operationId":"csv_profile_csv_profile_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Csv Profile Csv Profile Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/csv/close":{"post":{"tags":["runtime_mutations","csv"],"summary":"Csv Close","operationId":"csv_close_csv_close_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Csv Close Csv Close Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tool_results":{"get":{"tags":["tool_results"],"summary":"List Tool Results","operationId":"list_tool_results_api_tool_results_get","parameters":[{"name":"chat_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session Id"}},{"name":"notebook_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolResultsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tool_results/{call_id}/payload":{"get":{"tags":["tool_results"],"summary":"Get Tool Result Payload","operationId":"get_tool_result_payload_api_tool_results__call_id__payload_get","parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","title":"Call Id"}},{"name":"chat_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session Id"}},{"name":"notebook_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/modal/files/list":{"post":{"tags":["modal-files"],"summary":"List Files","description":"List directory contents from the workspace sandbox file service.","operationId":"list_files_v1_modal_files_list_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/modal/files/read":{"post":{"tags":["modal-files"],"summary":"Read File","description":"Read a file from the workspace sandbox file service.","operationId":"read_file_v1_modal_files_read_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/modal/files/write":{"post":{"tags":["modal-files"],"summary":"Write File","description":"Write/save a file on the workspace sandbox.","operationId":"write_file_v1_modal_files_write_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/modal/files/mkdir":{"post":{"tags":["modal-files"],"summary":"Create Folder","description":"Create a folder on the workspace sandbox.","operationId":"create_folder_v1_modal_files_mkdir_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/modal/files/delete":{"post":{"tags":["modal-files"],"summary":"Delete Path","description":"Delete a file or folder on the workspace sandbox.","operationId":"delete_path_v1_modal_files_delete_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/modal/files/rename":{"post":{"tags":["modal-files"],"summary":"Rename Path","description":"Rename/move a file or folder on the workspace sandbox.","operationId":"rename_path_v1_modal_files_rename_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/modal/files/duplicate":{"post":{"tags":["modal-files"],"summary":"Duplicate Path","description":"Duplicate a file or folder on the workspace sandbox.","operationId":"duplicate_path_v1_modal_files_duplicate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/modal/files/check":{"post":{"tags":["modal-files"],"summary":"Check Path","description":"Check if a path exists on the workspace sandbox.","operationId":"check_path_v1_modal_files_check_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/internal/fs-events":{"post":{"tags":["modal-filewatcher"],"summary":"Ingest Fs Events","description":"Ingest filesystem events from the proxy and emit to Socket.IO.","operationId":"ingest_fs_events_internal_fs_events_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSystemEventsRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/fs-stale":{"post":{"tags":["modal-filewatcher"],"summary":"Emit Fs Stale","description":"Emit ``fs_stale`` Socket.IO event on proxy reconnection.","operationId":"emit_fs_stale_internal_fs_stale_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FSStalePayload"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/terminal-activity":{"post":{"tags":["modal-terminal"],"summary":"Record Terminal Activity","description":"Refresh workspace-environment activity from coalesced terminal I/O.","operationId":"record_terminal_activity_internal_terminal_activity_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalActivityRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/session":{"post":{"tags":["modal-terminal","modal-terminal"],"summary":"Create Terminal Session","description":"Create a new terminal session backed by a workspace sandbox.","operationId":"create_terminal_session_api_terminal_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/session/{session_id}/reconnect":{"post":{"tags":["modal-terminal","modal-terminal"],"summary":"Reconnect Terminal Session","description":"Reconnect to an existing terminal session.","operationId":"reconnect_terminal_session_api_terminal_session__session_id__reconnect_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalReconnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/terminal/session/{session_id}/disconnect":{"post":{"tags":["modal-terminal","modal-terminal"],"summary":"Disconnect Terminal Session","description":"Disconnect and remove a terminal session.","operationId":"disconnect_terminal_session_api_terminal_session__session_id__disconnect_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccountFeaturesResponse":{"properties":{"is_admin":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Admin"},"ollama":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ollama"},"max_parallel_agents":{"type":"integer","title":"Max Parallel Agents","default":2},"gpu_access":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gpu Access"},"gpu_h100_x8":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gpu H100 X8"},"blind_testing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blind Testing"},"autonomous_runs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Autonomous Runs"},"slack_integration":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Slack Integration"},"overage_eligible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overage Eligible"},"byok":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Byok"},"github_oauth":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Github Oauth"},"eap_access":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Eap Access"},"openai_compatible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Openai Compatible"},"dev_diagnostics":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dev Diagnostics"}},"type":"object","title":"AccountFeaturesResponse","description":"Response model for account feature flags.\n\nOnly includes feature keys the user is eligible for.\nOmitted keys mean the feature is not available (except max_parallel_agents\nwhich always has a value).","examples":[{"is_admin":true,"max_parallel_agents":8},{"max_parallel_agents":2}]},"AckBody":{"properties":{"relay_id":{"type":"string","title":"Relay Id"}},"type":"object","required":["relay_id"],"title":"AckBody"},"ActiveUserRow":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"last_active":{"type":"string","format":"date-time","title":"Last Active"},"active_days":{"type":"integer","title":"Active Days"}},"type":"object","required":["id","name","email","last_active","active_days"],"title":"ActiveUserRow","description":"A single distinct user counted as active within a metric's window."},"AddEvidenceRequest":{"properties":{"notebook_id":{"anyOf":[{"$ref":"#/components/schemas/_RuntimeId"},{"type":"null"}],"description":"Notebook the value was produced in, for kernel runtimes."},"session_id":{"anyOf":[{"$ref":"#/components/schemas/_RuntimeId"},{"type":"null"}],"description":"Chat session that launched this runtime. How a script process identifies itself, having no notebook."},"description":{"type":"string","maxLength":500,"title":"Description","description":"Brief narrative of what the value shows."},"variable_name":{"type":"string","maxLength":200,"minLength":1,"title":"Variable Name","description":"Runtime variable name."},"value":{"title":"Value","description":"The value to record. Same shape as qualia.submit_variable."},"cell_id":{"anyOf":[{"$ref":"#/components/schemas/_RuntimeId"},{"type":"null"}],"description":"Producing cell id when known; cited as the source."},"source_file_path":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Source File Path","description":"Absolute path of the source file the call was made from, when the runtime can introspect its caller. Verified against the workspace."},"source_line":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Line","description":"1-indexed line of ``source_file_path`` holding the call."},"task_id":{"anyOf":[{"$ref":"#/components/schemas/_RuntimeId"},{"type":"null"}],"description":"Optional task to associate the evidence claim with."},"recall_priority":{"$ref":"#/components/schemas/RecallPriority","description":"How readily future agents should see this evidence: 'low', 'medium', or 'high'.","default":"low"}},"type":"object","required":["description","variable_name","value"],"title":"AddEvidenceRequest","description":"Payload for ``POST /api/evidence`` (records an untracked runtime\nvariable as a runtime-captured claim)."},"AddEvidenceResponse":{"properties":{"claim_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Claim Id","description":"Created claim id, or null when the request was rejected."},"rejected_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rejected Reason","description":"Why the request was rejected, when ``claim_id`` is null."}},"type":"object","title":"AddEvidenceResponse","description":"Response for ``POST /api/evidence``."},"AddMemberRequest":{"properties":{"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role","default":"member"}},"type":"object","required":["email"],"title":"AddMemberRequest"},"AddRequiredVariableRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Variable name"},"type":{"type":"string","title":"Type","description":"Expected type: float, int, str, bool, list[float], list[int], list[str], or any","default":"any"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Optional human-readable description of the variable"}},"type":"object","required":["name"],"title":"AddRequiredVariableRequest"},"AdminActiveUsersResponse":{"properties":{"days":{"type":"integer","title":"Days"},"exclude_admins":{"type":"boolean","title":"Exclude Admins"},"total":{"type":"integer","title":"Total"},"users":{"items":{"$ref":"#/components/schemas/ActiveUserRow"},"type":"array","title":"Users"}},"type":"object","required":["days","exclude_admins","total","users"],"title":"AdminActiveUsersResponse","description":"The exact distinct users active in the trailing ``days`` window."},"AdminOrgDetailResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"billing_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Email"},"api_markup_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Api Markup Rate"},"archived_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archived At"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"payment_method_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Method Status"},"billing_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Mode"},"subscription":{"anyOf":[{"$ref":"#/components/schemas/OrgSubscriptionResponse"},{"type":"null"}]},"next_steps":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Steps"},"members":{"items":{"$ref":"#/components/schemas/OrgMemberResponse"},"type":"array","title":"Members"},"invitations":{"items":{"$ref":"#/components/schemas/OrgInvitationResponse"},"type":"array","title":"Invitations","default":[]},"sso_configured":{"type":"boolean","title":"Sso Configured","default":false},"stripe_customer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Url"},"stripe_subscription_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Subscription Url"},"workos_organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workos Organization Id"},"workos_dashboard_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workos Dashboard Url"}},"type":"object","required":["id","name","slug","stripe_customer_id","billing_email","api_markup_rate","archived_at","created_at","updated_at","subscription","members"],"title":"AdminOrgDetailResponse","description":"Platform-admin org detail: ``OrgDetailResponse`` + Stripe Dashboard URLs.\n\nSubclassing keeps the full ``members``/``invitations``/``subscription``\nshape in OpenAPI, which generated clients rely on."},"AdminOrgResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"billing_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Email"},"api_markup_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Api Markup Rate"},"archived_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archived At"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"payment_method_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Method Status"},"billing_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Mode"},"subscription":{"anyOf":[{"$ref":"#/components/schemas/OrgSubscriptionInfo"},{"type":"null"}]},"next_steps":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Steps"},"stripe_customer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Url"},"stripe_subscription_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Subscription Url"},"workos_organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workos Organization Id"}},"type":"object","required":["id","name","slug","stripe_customer_id","billing_email","api_markup_rate","archived_at","created_at","updated_at"],"title":"AdminOrgResponse","description":"Platform-admin org response: adds Stripe Dashboard deep links.\n\nThese URLs are intentionally absent from ``OrgResponse`` so customer\norg admins (who read ``/api/org/...`` endpoints) never see them."},"AdminOrgsListResponse":{"properties":{"organizations":{"items":{"$ref":"#/components/schemas/AdminOrgResponse"},"type":"array","title":"Organizations"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["organizations","total_count"],"title":"AdminOrgsListResponse"},"AdminUserResponse":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_login":{"type":"string","format":"date-time","title":"Last Login"},"job_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Job Types"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"onboarding_completed":{"type":"boolean","title":"Onboarding Completed","default":false},"organization_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Role"},"plan":{"type":"string","title":"Plan","default":"free"},"usage_limit_override_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usage Limit Override Usd"},"organization_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Name"},"plan_default_limit_usd":{"type":"number","title":"Plan Default Limit Usd","default":0}},"type":"object","required":["id","email","name","created_at","last_login"],"title":"AdminUserResponse"},"AdminUserStatsResponse":{"properties":{"total_users":{"type":"integer","title":"Total Users"},"range_days":{"type":"integer","title":"Range Days"},"daily_active_users":{"items":{"$ref":"#/components/schemas/DailyActiveUsers"},"type":"array","title":"Daily Active Users"},"average_dau":{"type":"number","title":"Average Dau"},"average_dau_days":{"type":"integer","title":"Average Dau Days"},"wau":{"type":"integer","title":"Wau"},"mau":{"type":"integer","title":"Mau"},"stickiness":{"type":"number","title":"Stickiness"}},"type":"object","required":["total_users","range_days","daily_active_users","average_dau","average_dau_days","wau","mau","stickiness"],"title":"AdminUserStatsResponse","description":"Platform user-activity rollup for the admin dashboard.\n\n\"Active\" is keyed on model usage (a ``token_usage`` row), not logins: a\nsession-bearing user who never runs the agent isn't active in any sense\nthat matters for this product.\n\nTwo families of numbers ship together:\n\n* Engagement KPIs (``average_dau``/``wau``/``mau``/``stickiness``). ``wau``\n  and ``mau`` are distinct active users in the trailing 7/30 days (the\n  standard Amplitude/Mixpanel definitions). ``average_dau`` is the mean\n  daily active users over the trailing ``average_dau_days`` window (a single\n  day is too noisy to headline). ``stickiness`` is always the trailing\n  30-day average DAU over ``mau``, regardless of ``average_dau_days``.\n* Trend data (``daily_active_users``) is the per-day distinct-user series\n  scoped to the caller-selected ``range_days`` lookback; it drives the\n  activity heatmap. The series is sparse (zero-activity days omitted), so\n  callers averaging it must divide by ``range_days``, not by its length."},"AdminUserTimeseriesResponse":{"properties":{"range_days":{"type":"integer","title":"Range Days"},"points":{"items":{"$ref":"#/components/schemas/UserStatsTimeseriesPoint"},"type":"array","title":"Points"}},"type":"object","required":["range_days","points"],"title":"AdminUserTimeseriesResponse","description":"Daily rolling engagement series over the selected ``range_days`` lookback.\n\nRolling windows are seeded with up to 29 days of history before the lookback\nso the earliest points are fully populated rather than ramping up from zero."},"AdminUsersListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/AdminUserResponse"},"type":"array","title":"Users"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["users","total_count"],"title":"AdminUsersListResponse"},"AdminWorkspaceResponse":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size Bytes"},"size_file_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size File Count"},"size_measured_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Size Measured At"}},"type":"object","required":["workspace_id","org_id","user_id","name","size_bytes","size_file_count","size_measured_at"],"title":"AdminWorkspaceResponse"},"AdminWorkspacesListResponse":{"properties":{"workspaces":{"items":{"$ref":"#/components/schemas/AdminWorkspaceResponse"},"type":"array","title":"Workspaces"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["workspaces","total_count"],"title":"AdminWorkspacesListResponse"},"AggregatedUsageBucket":{"properties":{"time_bucket":{"type":"string","format":"date-time","title":"Time Bucket","description":"Start of the 15-minute interval"},"user_id":{"type":"integer","title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribution","description":"Opt-in caller-supplied tag; None means untagged"},"request_count":{"type":"integer","title":"Request Count","description":"Number of requests in this bucket"},"input_tokens":{"type":"integer","title":"Input Tokens","description":"Total input tokens"},"cached_tokens":{"type":"integer","title":"Cached Tokens","description":"Cache read tokens (reduced rate)"},"cache_write_tokens":{"type":"integer","title":"Cache Write Tokens","description":"Cache write tokens (Anthropic only, 1.25x input rate)","default":0},"new_input_tokens":{"type":"integer","title":"New Input Tokens","description":"Input tokens billed at the full input rate"},"output_tokens":{"type":"integer","title":"Output Tokens","description":"Total output tokens"},"reasoning_tokens":{"type":"integer","title":"Reasoning Tokens","description":"Reasoning tokens (subset of output_tokens)"},"billable_tokens":{"type":"integer","title":"Billable Tokens","description":"Every charged token: new input + cache read + cache write + output. Comparable to a provider console's token totals.","default":0},"cost_usd":{"type":"number","title":"Cost Usd","description":"Provider cost in USD (summed request_cost_usd)","default":0.0}},"type":"object","required":["time_bucket","user_id","request_count","input_tokens","cached_tokens","new_input_tokens","output_tokens","reasoning_tokens"],"title":"AggregatedUsageBucket","description":"Token usage aggregated into 15-minute time buckets by user and model."},"AggregatedUsageResponse":{"properties":{"buckets":{"items":{"$ref":"#/components/schemas/AggregatedUsageBucket"},"type":"array","title":"Buckets","description":"Usage in 15-minute buckets"},"total_input_tokens":{"type":"integer","title":"Total Input Tokens"},"total_cached_tokens":{"type":"integer","title":"Total Cached Tokens"},"total_cache_write_tokens":{"type":"integer","title":"Total Cache Write Tokens"},"total_new_input_tokens":{"type":"integer","title":"Total New Input Tokens"},"total_output_tokens":{"type":"integer","title":"Total Output Tokens"},"total_reasoning_tokens":{"type":"integer","title":"Total Reasoning Tokens"},"total_billable_tokens":{"type":"integer","title":"Total Billable Tokens","default":0},"total_cost_usd":{"type":"number","title":"Total Cost Usd","default":0.0}},"type":"object","required":["buckets","total_input_tokens","total_cached_tokens","total_cache_write_tokens","total_new_input_tokens","total_output_tokens","total_reasoning_tokens"],"title":"AggregatedUsageResponse","description":"Response model for time-bucketed aggregated token usage."},"AssociatedNotebookResponse":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path"}},"type":"object","required":["notebook_id"],"title":"AssociatedNotebookResponse"},"AssociatedTaskResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"title":{"type":"string","title":"Title"},"status":{"type":"string","title":"Status"},"assigned_to_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To Session Id"}},"type":"object","required":["task_id","title","status"],"title":"AssociatedTaskResponse"},"AttachNotebookRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"notebook_path":{"type":"string","title":"Notebook Path"}},"type":"object","required":["notebook_id","notebook_path"],"title":"AttachNotebookRequest"},"AutocompleteRequest":{"properties":{"notebook_id":{"type":"string","minLength":1,"title":"Notebook Id"},"notebook_path":{"type":"string","minLength":1,"title":"Notebook Path"},"cell_id":{"type":"string","minLength":1,"title":"Cell Id"},"language":{"type":"string","minLength":1,"title":"Language"},"prefix":{"type":"string","title":"Prefix"},"suffix":{"type":"string","title":"Suffix"}},"type":"object","required":["notebook_id","notebook_path","cell_id","language","prefix","suffix"],"title":"AutocompleteRequest"},"AutocompleteResponse":{"properties":{"completion":{"type":"string","title":"Completion"}},"type":"object","required":["completion"],"title":"AutocompleteResponse"},"BillingMode":{"type":"string","enum":["free_pilot"],"title":"BillingMode","description":"Why an organization is in the billing state it is in.\n\nRecorded on ``organizations.settings[\"billing_mode\"]``. Absence means\n\"ordinary paid org\" — the overwhelming majority — so only deliberate\nexceptions carry a value.\n\n``FREE_PILOT`` records *intent*. The gating itself comes from the\nabsence of ``payment_method_status``: every reader compares it to\n``\"pending\"`` exactly, so an absent key passes both usage gates while\nleaving the setup-link path open (``regenerate_enterprise_setup_session``\nrefuses only on ``\"active\"``). Absence alone cannot distinguish a\ndeliberate free pilot from an org whose payment state was never\nstamped, which is what this key is for."},"Body_import_workspace_endpoint_api_workspaces_import_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_import_workspace_endpoint_api_workspaces_import_post"},"Body_upload_blob_blobs_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_blob_blobs_upload_post"},"Body_upload_file_files_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"dest_dir":{"type":"string","title":"Dest Dir","default":""},"overwrite":{"type":"boolean","title":"Overwrite","default":false}},"type":"object","required":["file"],"title":"Body_upload_file_files_upload_post"},"BootstrapResponse":{"properties":{"active":{"type":"boolean","title":"Active"},"bot_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bot Token"},"bot_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bot User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},"type":"object","required":["active"],"title":"BootstrapResponse"},"CapturedBy":{"type":"string","enum":["human"],"title":"CapturedBy","description":"Who performed a capture, when it was not an agent.\n\nRecorded on the source entry rather than as a column on ``claims``,\nfollowing ``import_source_id``: the source already describes the capture\n(path, quote, line range, output index) and this is one more fact about it.\nAgent captures omit the key entirely, so the overwhelming majority of rows\nare unchanged.\n\nDeliberately not derived from a null ``created_by_session_id``: that column\nis ``ON DELETE SET NULL``, so deleting a chat session would silently\nreclassify its agent claims as human-authored."},"Cell":{"properties":{"type":{"$ref":"#/components/schemas/CellType","default":"code"},"content":{"type":"string","title":"Content","default":""},"outputs":{"items":{"$ref":"#/components/schemas/SerializedOutput"},"type":"array","title":"Outputs"},"cellId":{"type":"string","title":"Cellid"},"executionCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Executioncount"},"executionTimeMs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Executiontimems"},"executedAtMs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Executedatms"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","title":"Cell","description":"Strongly typed representation of a notebook cell."},"CellEditPayload":{"properties":{"row":{"type":"integer","title":"Row"},"col":{"type":"integer","title":"Col"},"value":{"type":"string","title":"Value"}},"type":"object","required":["row","col","value"],"title":"CellEditPayload"},"CellPart":{"type":"string","enum":["source","output"],"title":"CellPart","description":"Which half of a notebook cell a quoted span was taken from."},"CellType":{"type":"string","enum":["code","markdown","raw"],"title":"CellType"},"CheckResponse":{"properties":{"name":{"type":"string","title":"Name"},"status":{"$ref":"#/components/schemas/CheckStatus"},"detail":{"type":"string","title":"Detail"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remediation"}},"type":"object","required":["name","status","detail"],"title":"CheckResponse","description":"One preflight check result."},"CheckStatus":{"type":"string","enum":["passed","failed","unknown"],"title":"CheckStatus","description":"Outcome of one preflight check.\n\n``UNKNOWN`` is for checks needing rights the caller may lack; folding those\ninto ``PASSED`` renders a green tick beside text saying the opposite."},"CheckoutSessionRequest":{"properties":{"plan":{"type":"string","title":"Plan"},"frontend_origin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frontend Origin"},"success_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Success Url"},"cancel_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel Url"}},"type":"object","required":["plan"],"title":"CheckoutSessionRequest","description":"Request body for creating a checkout session."},"CheckoutSessionResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"CheckoutSessionResponse","description":"Response with checkout session URL."},"ClaimExecutionCommandResponse":{"properties":{"command":{"type":"string","title":"Command"}},"type":"object","required":["command"],"title":"ClaimExecutionCommandResponse"},"ClaimOldestDrainablePendingMessageRequest":{"properties":{"kind":{"type":"string","title":"Kind","default":"regular"},"kinds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Kinds"},"honor_hold":{"type":"boolean","title":"Honor Hold","default":true}},"type":"object","title":"ClaimOldestDrainablePendingMessageRequest"},"ClaimProvisionRequest":{"properties":{"token":{"type":"string","maxLength":256,"minLength":1,"title":"Token"}},"type":"object","required":["token"],"title":"ClaimProvisionRequest","description":"Bind a parked Partner Connect provisioning payload to an organization."},"ClaimResponse":{"properties":{"claim_id":{"type":"string","title":"Claim Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"claim_type":{"type":"string","title":"Claim Type"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"type":"string","title":"Content"},"status":{"type":"string","title":"Status"},"review_status":{"type":"string","title":"Review Status","default":"accepted"},"recall_priority":{"type":"string","title":"Recall Priority","default":"low"},"created_by_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Session Id"},"created_by_task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Task Id"},"updated_by_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By Session Id"},"linked_variable":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Linked Variable"},"tabular_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tabular Data"},"figure_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Figure Metadata"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"sources":{"items":{"$ref":"#/components/schemas/ClaimSourceResponse"},"type":"array","title":"Sources"},"related_claim_ids":{"items":{"type":"string"},"type":"array","title":"Related Claim Ids"},"associated_tasks":{"items":{"$ref":"#/components/schemas/AssociatedTaskResponse"},"type":"array","title":"Associated Tasks"},"associated_notebooks":{"items":{"$ref":"#/components/schemas/AssociatedNotebookResponse"},"type":"array","title":"Associated Notebooks"}},"type":"object","required":["claim_id","workspace_id","claim_type","content","status","created_at","updated_at"],"title":"ClaimResponse"},"ClaimSourceResponse":{"properties":{"id":{"type":"integer","title":"Id"},"claim_id":{"type":"string","title":"Claim Id"},"source_type":{"type":"string","title":"Source Type"},"source_claim_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Claim Id"},"source_notebook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Notebook Id"},"source_notebook_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Notebook Path"},"source_cell_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Cell Id"},"source_file_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source File Path"},"source_section_heading":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Section Heading"},"source_line_start":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Line Start"},"source_line_end":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Line End"},"source_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Page"},"source_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Text"},"source_status":{"anyOf":[{"$ref":"#/components/schemas/FileEvidenceStatus"},{"type":"null"}]},"source_cell_part":{"anyOf":[{"$ref":"#/components/schemas/CellPart"},{"type":"null"}]},"source_output_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Output Index"},"captured_by":{"anyOf":[{"$ref":"#/components/schemas/CapturedBy"},{"type":"null"}]}},"type":"object","required":["id","claim_id","source_type"],"title":"ClaimSourceResponse"},"ClaimType":{"type":"string","enum":["runtime-captured","synthesized","tabular","figure","file-captured"],"title":"ClaimType","description":"Claim type constants.\n\nRuntime-captured evidence is a variable value read out of a live runtime —\na notebook kernel (autocapture on cell run, or a cell-side ``qualia`` call)\nor a script process running under ``bash_command``. The value must come from\nthe runtime; it can never be supplied as an agent tool argument. These are\nthe primary source of evidence in the knowledge graph. A notebook is one\nruntime among several, which is why this type is not named for it.\n\nFindings (claim_type='synthesized' internally) combine 2+ existing claims into higher-order conclusions that\ninterpret what the evidence means—not only restate source values.\n\nTabular claims store structured data matrices with per-cell source references.\n\nFigure claims link to chart/visualization outputs captured from notebook cells.\n\nFile-captured claims record a text span read by the backend from a workspace\nfile (script, results file, log, etc.); like figures, the value is read from\nthe source, never supplied by an agent tool argument. Claims from the retired\nknowledge-import pipeline were backfilled into this type."},"ClaimsListResponse":{"properties":{"claims":{"items":{"$ref":"#/components/schemas/ClaimResponse"},"type":"array","title":"Claims"},"related":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Related"}},"type":"object","required":["claims"],"title":"ClaimsListResponse"},"CloseRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"}},"type":"object","required":["session_id"],"title":"CloseRequest"},"ColumnLayoutPayload":{"properties":{"order":{"items":{"type":"integer"},"type":"array","title":"Order"},"base_column_count":{"type":"integer","title":"Base Column Count"}},"type":"object","required":["order","base_column_count"],"title":"ColumnLayoutPayload"},"CompleteUploadsRequest":{"properties":{"files":{"items":{"$ref":"#/components/schemas/CompletedUploadClaim"},"type":"array","maxItems":500,"minItems":1,"title":"Files"}},"type":"object","required":["files"],"title":"CompleteUploadsRequest"},"CompleteUploadsResponse":{"properties":{"files":{"items":{"$ref":"#/components/schemas/CompletedUpload"},"type":"array","title":"Files"},"boxes_pulled":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Boxes Pulled"},"scheduled":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Scheduled"}},"type":"object","required":["files"],"title":"CompleteUploadsResponse"},"CompletedPart":{"properties":{"part_number":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Part Number"},"etag":{"type":"string","title":"Etag"}},"type":"object","required":["part_number","etag"],"title":"CompletedPart"},"CompletedUpload":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"verified":{"type":"boolean","title":"Verified"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"reason":{"$ref":"#/components/schemas/CompletedUploadReason","default":"ok"},"pull_requested":{"type":"boolean","title":"Pull Requested","default":false},"final_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Final Path"}},"type":"object","required":["relative_path","verified"],"title":"CompletedUpload"},"CompletedUploadClaim":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"etag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Etag"},"size":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Size"},"mtime_ns":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Mtime Ns"}},"type":"object","required":["relative_path"],"title":"CompletedUploadClaim"},"CompletedUploadReason":{"type":"string","enum":["ok","invalid_path","store_error","absent","mismatch"],"title":"CompletedUploadReason","description":"Why a claim verified or not.\n\n``verified: bool`` alone collapses outcomes the client must tell apart:\nan absent key means the bytes are not durable (\"failed\"), an ETag or\ncorroboration mismatch means the object at the key is not the claimant's,\nwhile a transient store error leaves durable bytes merely unconfirmed\n(\"still syncing\"). Kept alongside ``verified`` rather than replacing it so\nolder clients keep working."},"ComputeAssertion":{"properties":{"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"compute_traits":{"anyOf":[{"$ref":"#/components/schemas/ComputeTraits"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"ComputeAssertion","description":"What a headless run demanded of its kernel, recorded for verification.\n\nDeliberately separate from the session's ``compute_traits`` rather than\nfolded into it. Agent tools (``attach_notebook``,\n``switch_notebook_kernel``) write ``compute_traits``, so a run that\nverified against that field would be checking whatever the agent last\nasked for instead of what the caller demanded. Nothing but the caller\nwrites this, so it stays a faithful record of the original request.\n\nIts presence is what opts a session into enforcement; absent, kernel\nstarts behave exactly as they always have."},"ComputeTraits":{"properties":{"gpu_type":{"anyOf":[{"$ref":"#/components/schemas/GpuType"},{"type":"null"}]},"gpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gpu Count"},"cpu_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cpu Count"},"memory_gb":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Memory Gb"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},"additionalProperties":false,"type":"object","title":"ComputeTraits","description":"Abstract resource requirements for a task.\n\nAll fields are optional; omitted fields impose no constraint."},"ConnectResponse":{"properties":{"redirect_uri":{"type":"string","title":"Redirect Uri"},"redirect_value":{"$ref":"#/components/schemas/PartnerConnectRedirectValue"},"user_status":{"$ref":"#/components/schemas/PartnerConnectUserStatus"},"account_status":{"$ref":"#/components/schemas/PartnerConnectAccountStatus"},"configured_resources":{"type":"boolean","title":"Configured Resources","default":false},"connection_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Connection Id"},"already_connected":{"type":"boolean","title":"Already Connected","default":false}},"type":"object","required":["redirect_uri","redirect_value","user_status","account_status"],"title":"ConnectResponse","description":"The contract's ``Connection`` schema.\n\n``redirect_uri`` is the URL Databricks opens; ``redirect_value`` names the\nscenario that URL serves, which is a fixed enum rather than the URL again.\n``already_connected`` is ours, not the contract's, and the settings page\nreads it.\n\n``configured_resources`` is a boolean in the contract, not an inventory:\nit answers whether we kept the resources Databricks provisioned. Answering\n``False`` for a workspace whose payload we are still holding would have\nDatabricks delete that warehouse before the admin ever redeems it, so both\npaths answer ``True`` and name what they kept in ``connection_id``, which\nthe contract requires whenever the flag is set."},"ConnectorsResponse":{"properties":{"integration_type":{"type":"string","title":"Integration Type"},"connectors":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Connectors"}},"type":"object","required":["integration_type"],"title":"ConnectorsResponse","description":"Data sources this integration supports."},"CreateChatSessionRequest":{"properties":{"chat_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session Id"},"notebook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id"},"notebook_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Path"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"session_args":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Session Args"},"ephemeral":{"type":"boolean","title":"Ephemeral","default":false},"sandbox_environment":{"anyOf":[{"$ref":"#/components/schemas/SandboxEnvironmentSpec"},{"type":"null"}]},"isolated_run":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isolated Run"}},"type":"object","title":"CreateChatSessionRequest"},"CreateHumanEvidenceRequest":{"properties":{"source":{"$ref":"#/components/schemas/HumanEvidenceSource"},"note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Note","description":"Optional reader caption; becomes the claim's title."},"recall_priority":{"$ref":"#/components/schemas/RecallPriority","default":"medium"}},"type":"object","required":["source"],"title":"CreateHumanEvidenceRequest"},"CreateHumanEvidenceResponse":{"properties":{"claim_id":{"type":"string","title":"Claim Id"}},"type":"object","required":["claim_id"],"title":"CreateHumanEvidenceResponse"},"CreateKeyRequest":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"CreateKeyRequest","description":"Request model for creating an API key."},"CreateKeyResponse":{"properties":{"id":{"type":"integer","title":"Id"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","title":"Created At"},"warning":{"type":"string","title":"Warning","default":"Save this key now. You won't be able to see it again!"}},"type":"object","required":["id","key","name","created_at"],"title":"CreateKeyResponse","description":"Response model for created API key."},"CreateOrgRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"slug":{"type":"string","maxLength":64,"pattern":"^[a-z0-9]+(-[a-z0-9]+)*$","title":"Slug"},"billing_email":{"type":"string","maxLength":255,"minLength":1,"title":"Billing Email"},"seat_price_cents":{"type":"integer","minimum":0.0,"title":"Seat Price Cents"},"billing_interval":{"type":"string","title":"Billing Interval","default":"month"},"usage_limit_per_user_usd":{"type":"number","exclusiveMinimum":0.0,"title":"Usage Limit Per User Usd"},"overage_enabled":{"type":"boolean","title":"Overage Enabled","default":false},"overage_limit_per_user_usd":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Overage Limit Per User Usd"},"api_markup_rate":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Api Markup Rate"},"admin_user_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Admin User Email"},"seat_price_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seat Price Id"}},"additionalProperties":false,"type":"object","required":["name","slug","billing_email","seat_price_cents","usage_limit_per_user_usd"],"title":"CreateOrgRequest"},"CreateWorkspaceRequest":{"properties":{"name":{"$ref":"#/components/schemas/WorkspaceName"}},"type":"object","required":["name"],"title":"CreateWorkspaceRequest"},"CredentialRequestBody":{"properties":{"dataset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Id"},"base":{"type":"boolean","title":"Base","default":false},"chat_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session Id"},"mount_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mount Uri"}},"type":"object","title":"CredentialRequestBody","description":"Optional dataset target; absent means the caller's own workspace (RW)."},"CredentialsResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"CredentialsResponse","description":"The acting user's connection URL, for their kernel only."},"DagResponse":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"tasks":{"items":{"$ref":"#/components/schemas/TaskResponse"},"type":"array","title":"Tasks"}},"type":"object","required":["workspace_id","tasks"],"title":"DagResponse"},"DailyActiveUsers":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"active_users":{"type":"integer","title":"Active Users"}},"type":"object","required":["date","active_users"],"title":"DailyActiveUsers","description":"Distinct model-active users on a single calendar day (UTC)."},"DatabricksCloud":{"type":"string","enum":["aws","azure","gcp"],"title":"DatabricksCloud","description":"Cloud a Databricks workspace is hosted on.\n\nDetermines the account console host used for account-level OIDC, so it is\npersisted rather than inferred from the workspace hostname."},"DeleteConnectionResponse":{"properties":{"resource_status":{"type":"string","title":"Resource Status"}},"type":"object","required":["resource_status"],"title":"DeleteConnectionResponse","description":"The contract wants a 200 naming what happened, not a bare 204."},"DeleteTaskRequest":{"properties":{"chat_session_id":{"type":"string","title":"Chat Session Id","description":"Chat session ID of the caller (must be assignee or creator)"}},"type":"object","required":["chat_session_id"],"title":"DeleteTaskRequest"},"DiscoverResponse":{"properties":{"org_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Slug"},"login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Url"}},"type":"object","required":["org_slug","login_url"],"title":"DiscoverResponse"},"DownloadUrlRequest":{"properties":{"path":{"type":"string","title":"Path"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"purpose":{"type":"string","enum":["download","open"],"title":"Purpose","default":"download"},"kind":{"type":"string","enum":["file","folder"],"title":"Kind","default":"file"},"expected_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expected Size"},"expected_modified":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Expected Modified"}},"type":"object","required":["path"],"title":"DownloadUrlRequest"},"EnqueuePendingMessageRequest":{"properties":{"pending_id":{"type":"string","title":"Pending Id"},"kind":{"type":"string","title":"Kind"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"}},"type":"object","required":["pending_id","kind","payload"],"title":"EnqueuePendingMessageRequest"},"ExecutionModeBody":{"properties":{"mode":{"type":"string","enum":["cloud","local"],"title":"Mode"}},"type":"object","required":["mode"],"title":"ExecutionModeBody"},"FSStalePayload":{"properties":{"reason":{"type":"string","title":"Reason"},"sandbox_id":{"type":"string","title":"Sandbox Id"},"sandbox_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sandbox Alias"},"workspace_id":{"type":"string","title":"Workspace Id"}},"additionalProperties":false,"type":"object","required":["reason","sandbox_id","workspace_id"],"title":"FSStalePayload","description":"Payload emitted on the ``fs_stale`` Socket.IO event."},"FeatureEntitlementSubjectType":{"type":"string","enum":["email","email_domain","organization_slug"],"title":"FeatureEntitlementSubjectType"},"FeatureKeysResponse":{"properties":{"features":{"items":{"type":"string"},"type":"array","title":"Features"}},"type":"object","required":["features"],"title":"FeatureKeysResponse"},"FeatureOverrideMutationRequest":{"properties":{"feature":{"type":"string","maxLength":64,"minLength":1,"title":"Feature"},"subject_type":{"$ref":"#/components/schemas/FeatureEntitlementSubjectType"},"subject":{"type":"string","maxLength":255,"minLength":1,"title":"Subject"},"note":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Note"}},"additionalProperties":false,"type":"object","required":["feature","subject_type","subject"],"title":"FeatureOverrideMutationRequest"},"FeatureOverrideResponse":{"properties":{"feature_key":{"type":"string","title":"Feature Key"},"subject_type":{"$ref":"#/components/schemas/FeatureEntitlementSubjectType"},"subject":{"type":"string","title":"Subject"},"enabled":{"type":"boolean","title":"Enabled"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["feature_key","subject_type","subject","enabled","note","created_at","updated_at"],"title":"FeatureOverrideResponse"},"FeatureOverrideRevokeRequest":{"properties":{"feature":{"type":"string","maxLength":64,"minLength":1,"title":"Feature"},"subject_type":{"$ref":"#/components/schemas/FeatureEntitlementSubjectType"},"subject":{"type":"string","maxLength":255,"minLength":1,"title":"Subject"}},"additionalProperties":false,"type":"object","required":["feature","subject_type","subject"],"title":"FeatureOverrideRevokeRequest"},"FeatureOverridesListResponse":{"properties":{"overrides":{"items":{"$ref":"#/components/schemas/FeatureOverrideResponse"},"type":"array","title":"Overrides"}},"type":"object","required":["overrides"],"title":"FeatureOverridesListResponse"},"FederationPolicyResponse":{"properties":{"issuer":{"type":"string","title":"Issuer"},"subject":{"type":"string","title":"Subject"},"audience":{"type":"string","title":"Audience"},"service_principal_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Principal Client Id"},"ready":{"type":"boolean","title":"Ready","default":false}},"type":"object","required":["issuer","subject","audience"],"title":"FederationPolicyResponse","description":"What the tenant must pin on their service principal federation policy."},"FileEvidenceStatus":{"type":"string","enum":["ok","diverged","missing"],"title":"FileEvidenceStatus","description":"Whether a recorded file-evidence quote still holds against the file."},"FileSystemEventsRequest":{"properties":{"sandbox_id":{"type":"string","title":"Sandbox Id"},"sandbox_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sandbox Alias"},"workspace_id":{"type":"string","title":"Workspace Id"},"api_version":{"type":"string","title":"Api Version","default":"v1"},"stale":{"type":"boolean","title":"Stale","default":false},"events":{"items":{"$ref":"#/components/schemas/RawFileEvent"},"type":"array","title":"Events"}},"additionalProperties":false,"type":"object","required":["sandbox_id","workspace_id","events"],"title":"FileSystemEventsRequest","description":"Batch of filesystem events from the proxy to FastAPI."},"GenieAgentResponse":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["agent_id","title"],"title":"GenieAgentResponse","description":"A selectable Genie Space."},"GenieSourceResponse":{"properties":{"workspace_host":{"type":"string","title":"Workspace Host"},"genie_agent_id":{"type":"string","title":"Genie Agent Id"},"space_url":{"type":"string","title":"Space Url"},"powered_by":{"type":"string","title":"Powered By","default":"Genie"}},"type":"object","required":["workspace_host","genie_agent_id","space_url"],"title":"GenieSourceResponse","description":"Provenance for a Genie result, required for attribution."},"GenieToolCallRequest":{"properties":{"tool_name":{"type":"string","maxLength":255,"minLength":1,"title":"Tool Name"},"arguments":{"additionalProperties":true,"type":"object","title":"Arguments"}},"type":"object","required":["tool_name"],"title":"GenieToolCallRequest","description":"Invoke one Genie MCP tool."},"GenieToolCallResponse":{"properties":{"result":{"additionalProperties":true,"type":"object","title":"Result"},"source":{"$ref":"#/components/schemas/GenieSourceResponse"}},"type":"object","required":["result","source"],"title":"GenieToolCallResponse","description":"A Genie tool result plus the citation needed to display it."},"GpuType":{"type":"string","enum":["a10g","l4","a100","h100"],"title":"GpuType","description":"Supported GPU families for compute requests."},"GrantResponse":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"key_hint":{"type":"string","title":"Key Hint"},"source":{"type":"string","title":"Source"},"issued_at":{"type":"string","title":"Issued At"}},"type":"object","required":["provider","key_hint","source","issued_at"],"title":"GrantResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeldKeyResponse":{"properties":{"email":{"type":"string","title":"Email"},"provider":{"$ref":"#/components/schemas/KeyProvider"},"key_hint":{"type":"string","title":"Key Hint"},"source":{"type":"string","title":"Source"},"issued_at":{"type":"string","title":"Issued At"}},"type":"object","required":["email","provider","key_hint","source","issued_at"],"title":"HeldKeyResponse"},"HumanEvidenceSource":{"properties":{"source_type":{"type":"string","enum":["file_section","cell"],"title":"Source Type"},"content":{"type":"string","maxLength":4000,"minLength":1,"title":"Content","description":"The exact text the reader selected."},"file_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Path","description":"Workspace file, for 'file_section' sources."},"notebook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id","description":"Notebook id, for 'cell' sources."},"cell_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cell Id","description":"Cell id, for 'cell' sources."},"cell_part":{"$ref":"#/components/schemas/CellPart","description":"Whether the quote came from the cell's source or an output.","default":"source"},"output_index":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Output Index","description":"Which output the quote came from, when cell_part is 'output'."}},"type":"object","required":["source_type","content"],"title":"HumanEvidenceSource","description":"Where a reader took a quote from, and the quote itself."},"IngestWorkspaceRowsRequest":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data"},"mapping":{"additionalProperties":{"type":"string"},"type":"object","title":"Mapping"}},"type":"object","required":["data","mapping"],"title":"IngestWorkspaceRowsRequest"},"InsertedRowsPayload":{"properties":{"before_row":{"type":"integer","title":"Before Row"},"rows":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","title":"Rows"}},"type":"object","required":["before_row","rows"],"title":"InsertedRowsPayload"},"InstallResponse":{"properties":{"oauth_url":{"type":"string","title":"Oauth Url"},"request_id":{"type":"string","title":"Request Id"}},"type":"object","required":["oauth_url","request_id"],"title":"InstallResponse"},"InstallationStatus":{"properties":{"connected":{"type":"boolean","title":"Connected"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"slack_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slack User Id"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"installed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Installed At"},"execution_mode":{"type":"string","enum":["cloud","local"],"title":"Execution Mode","default":"cloud"},"revoked_reason":{"anyOf":[{"type":"string","const":"identity_reassigned"},{"type":"null"}],"title":"Revoked Reason"}},"type":"object","required":["connected"],"title":"InstallationStatus"},"JsonObject":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},"JsonValue":{},"KernelDiscoveryPathKind":{"type":"string","enum":["kernelspec_root","scan_root"],"title":"KernelDiscoveryPathKind"},"KernelPostRunRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"variables":{"additionalProperties":true,"type":"object","title":"Variables"},"namespace":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Namespace"},"cell_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cell Id"}},"type":"object","required":["notebook_id"],"title":"KernelPostRunRequest","description":"Full post-run snapshot pushed from a kernel: evidence values plus the\nnamespace inventory rendered for the frontend variables panel.\n\nMirrors ``handlers.task_dag.KernelPostRunRequest`` so the local and cloud\n``/api/kernel/post_run`` adapters accept an identical JSON shape."},"KeyProvider":{"type":"string","enum":["anthropic","openai"],"title":"KeyProvider","description":"Model providers ``qkey`` can hand out keys for."},"KnowledgeSummaryClaimResponse":{"properties":{"claim_id":{"type":"string","title":"Claim Id"},"claim_type":{"$ref":"#/components/schemas/ClaimType"},"label":{"type":"string","title":"Label"},"review_status":{"$ref":"#/components/schemas/KnowledgeSummaryClaimReviewStatus","default":"accepted"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["claim_id","claim_type","label","created_at"],"title":"KnowledgeSummaryClaimResponse"},"KnowledgeSummaryClaimReviewStatus":{"type":"string","enum":["pending","accepted"],"title":"KnowledgeSummaryClaimReviewStatus"},"KnowledgeSummaryResponse":{"properties":{"counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts"},"recent":{"items":{"$ref":"#/components/schemas/KnowledgeSummaryClaimResponse"},"type":"array","title":"Recent"}},"type":"object","required":["counts"],"title":"KnowledgeSummaryResponse"},"LatencyDistributionBucket":{"properties":{"date":{"type":"string","format":"date","title":"Date","description":"The date for this bucket"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Model name"},"proxy_latency":{"$ref":"#/components/schemas/LatencyPercentiles","description":"Proxy latency percentiles (request to upstream)"},"ttft_latency":{"$ref":"#/components/schemas/LatencyPercentiles","description":"TTFT latency percentiles (upstream to first byte)"}},"type":"object","required":["date","proxy_latency","ttft_latency"],"title":"LatencyDistributionBucket","description":"Latency distribution for a model on a specific day."},"LatencyDistributionResponse":{"properties":{"buckets":{"items":{"$ref":"#/components/schemas/LatencyDistributionBucket"},"type":"array","title":"Buckets","description":"Latency distributions by day and model"}},"type":"object","required":["buckets"],"title":"LatencyDistributionResponse","description":"Response model for latency distribution query."},"LatencyPercentiles":{"properties":{"p1":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P1","description":"1st percentile"},"p5":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P5","description":"5th percentile"},"p10":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P10","description":"10th percentile"},"p25":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P25","description":"25th percentile"},"p50":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P50","description":"50th percentile (median)"},"p75":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P75","description":"75th percentile"},"p90":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P90","description":"90th percentile"},"p95":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P95","description":"95th percentile"},"p99":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P99","description":"99th percentile"},"count":{"type":"integer","title":"Count","description":"Number of samples"}},"type":"object","required":["count"],"title":"LatencyPercentiles","description":"Percentile values for a latency metric (in milliseconds)."},"ListKeyResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"created_at":{"type":"string","title":"Created At"},"last_used":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Used"},"revoked":{"type":"boolean","title":"Revoked"}},"type":"object","required":["id","name","prefix","created_at","last_used","revoked"],"title":"ListKeyResponse","description":"Response model for listing API keys."},"MintRequest":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"rotate":{"type":"boolean","title":"Rotate","default":false}},"type":"object","required":["provider"],"title":"MintRequest"},"MintResponse":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"key":{"type":"string","title":"Key"},"key_hint":{"type":"string","title":"Key Hint"},"source":{"type":"string","title":"Source"},"env_var":{"type":"string","title":"Env Var"},"pool_remaining":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pool Remaining"},"pool_low":{"type":"boolean","title":"Pool Low","default":false},"warning":{"type":"string","title":"Warning","default":"Save this key now. It cannot be shown again."}},"type":"object","required":["provider","key","key_hint","source","env_var"],"title":"MintResponse"},"MultipartAbortRequest":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"s3_upload_id":{"type":"string","title":"S3 Upload Id"}},"type":"object","required":["relative_path","s3_upload_id"],"title":"MultipartAbortRequest"},"MultipartCompleteRequest":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"s3_upload_id":{"type":"string","title":"S3 Upload Id"},"parts":{"items":{"$ref":"#/components/schemas/CompletedPart"},"type":"array","maxItems":10000,"minItems":1,"title":"Parts"}},"type":"object","required":["relative_path","s3_upload_id","parts"],"title":"MultipartCompleteRequest"},"MultipartCompleteResponse":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"etag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Etag"}},"type":"object","required":["relative_path","etag"],"title":"MultipartCompleteResponse"},"MultipartCreateFile":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"size":{"type":"integer","minimum":0.0,"title":"Size"},"content_type":{"type":"string","title":"Content Type","default":"application/octet-stream"},"mtime_ns":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Mtime Ns"}},"type":"object","required":["relative_path","size"],"title":"MultipartCreateFile","description":"One file the client wants to upload in parts."},"MultipartCreateRequest":{"properties":{"files":{"items":{"$ref":"#/components/schemas/MultipartCreateFile"},"type":"array","maxItems":16,"minItems":1,"title":"Files"}},"type":"object","required":["files"],"title":"MultipartCreateRequest"},"MultipartCreateResponse":{"properties":{"files":{"items":{"$ref":"#/components/schemas/MultipartUploadTarget"},"type":"array","title":"Files"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds"},"max_upload_bytes":{"type":"integer","title":"Max Upload Bytes"}},"type":"object","required":["files","expires_in_seconds","max_upload_bytes"],"title":"MultipartCreateResponse"},"MultipartPartsRequest":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"s3_upload_id":{"type":"string","title":"S3 Upload Id"},"part_numbers":{"items":{"type":"integer"},"type":"array","maxItems":100,"minItems":1,"title":"Part Numbers"}},"type":"object","required":["relative_path","s3_upload_id","part_numbers"],"title":"MultipartPartsRequest"},"MultipartPartsResponse":{"properties":{"parts":{"items":{"$ref":"#/components/schemas/PresignedPart"},"type":"array","title":"Parts"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds"}},"type":"object","required":["parts","expires_in_seconds"],"title":"MultipartPartsResponse"},"MultipartUploadTarget":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"s3_upload_id":{"type":"string","title":"S3 Upload Id"},"part_size":{"type":"integer","title":"Part Size"},"part_count":{"type":"integer","title":"Part Count"},"parts":{"items":{"$ref":"#/components/schemas/PresignedPart"},"type":"array","title":"Parts"}},"type":"object","required":["relative_path","upload_id","s3_upload_id","part_size","part_count","parts"],"title":"MultipartUploadTarget","description":"An open multipart upload, plus the first batch of its part URLs."},"NormalizedTaskVariablesResponse":{"properties":{"kind":{"type":"string","title":"Kind"},"columns":{"items":{"type":"string"},"type":"array","title":"Columns"},"rows":{"items":{"$ref":"#/components/schemas/JsonObject"},"type":"array","title":"Rows"}},"type":"object","required":["kind","columns","rows"],"title":"NormalizedTaskVariablesResponse","description":"Envelope returned by ``GET /api/task_variables/normalized``.\n\n``kind`` distinguishes the variable shape (``\"variables\"``) from the\ntabular finding shape (``\"tables\"``). ``columns`` is the canonical\ncolumn order for the requested kind. Every row is guaranteed to\ncontain every column key (filled with ``None`` where the source row\nomitted it) so kernel-side clients can build their native table\ntype without each language re-encoding the empty-schema fallback."},"ObjectStoreMount":{"properties":{"uri":{"type":"string","title":"Uri"},"mount_path":{"type":"string","title":"Mount Path"},"read_only":{"type":"boolean","title":"Read Only","default":true}},"additionalProperties":false,"type":"object","required":["uri","mount_path"],"title":"ObjectStoreMount","description":"One object-store prefix exposed inside the sandbox at a fixed path."},"OnBehalfMintRequest":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"email":{"type":"string","minLength":3,"title":"Email"},"rotate":{"type":"boolean","title":"Rotate","default":false}},"type":"object","required":["provider","email"],"title":"OnBehalfMintRequest"},"OnBehalfReleaseRequest":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"email":{"type":"string","minLength":3,"title":"Email"}},"type":"object","required":["provider","email"],"title":"OnBehalfReleaseRequest"},"OnboardingCompleteRequest":{"properties":{"name":{"type":"string","title":"Name"},"job_types":{"items":{"type":"string"},"type":"array","title":"Job Types"},"company_name":{"type":"string","title":"Company Name"}},"type":"object","required":["name","job_types","company_name"],"title":"OnboardingCompleteRequest","description":"Request body for completing onboarding."},"OnboardingCompleteResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"OnboardingCompleteResponse","description":"Response after completing onboarding."},"OnboardingStatusResponse":{"properties":{"onboarding_completed":{"type":"boolean","title":"Onboarding Completed"}},"type":"object","required":["onboarding_completed"],"title":"OnboardingStatusResponse","description":"Response for onboarding status check."},"OpenRequest":{"properties":{"path":{"type":"string","title":"Path"},"worksheet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worksheet"}},"type":"object","required":["path"],"title":"OpenRequest"},"OrgDetailResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"billing_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Email"},"api_markup_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Api Markup Rate"},"archived_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archived At"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"payment_method_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Method Status"},"billing_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Mode"},"subscription":{"anyOf":[{"$ref":"#/components/schemas/OrgSubscriptionResponse"},{"type":"null"}]},"next_steps":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Steps"},"members":{"items":{"$ref":"#/components/schemas/OrgMemberResponse"},"type":"array","title":"Members"},"invitations":{"items":{"$ref":"#/components/schemas/OrgInvitationResponse"},"type":"array","title":"Invitations","default":[]},"sso_configured":{"type":"boolean","title":"Sso Configured","default":false}},"type":"object","required":["id","name","slug","stripe_customer_id","billing_email","api_markup_rate","archived_at","created_at","updated_at","subscription","members"],"title":"OrgDetailResponse"},"OrgInfoResponse":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"role":{"type":"string","title":"Role"}},"type":"object","required":["name","slug","role"],"title":"OrgInfoResponse","description":"Organization context returned in the subscription response."},"OrgInvitationResponse":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role"},"token":{"type":"string","title":"Token"},"expires_at":{"type":"string","title":"Expires At"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","email","role","token","expires_at","created_at"],"title":"OrgInvitationResponse"},"OrgMemberResponse":{"properties":{"user_id":{"type":"integer","title":"User Id"},"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"role":{"type":"string","title":"Role"},"usage_limit_override_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usage Limit Override Usd"},"overage_limit_override_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overage Limit Override Usd"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["user_id","email","name","role","usage_limit_override_usd","overage_limit_override_usd","created_at"],"title":"OrgMemberResponse"},"OrgSubscriptionInfo":{"properties":{"plan":{"type":"string","title":"Plan"},"status":{"type":"string","title":"Status"},"overage_enabled":{"type":"boolean","title":"Overage Enabled","default":false},"overage_limit_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overage Limit Usd"},"usage_limit_per_user_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usage Limit Per User Usd"},"seat_price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Price Cents"}},"type":"object","required":["plan","status"],"title":"OrgSubscriptionInfo","description":"Subscription details surfaced in org responses."},"OrgSubscriptionResponse":{"properties":{"plan":{"type":"string","title":"Plan"},"status":{"type":"string","title":"Status"},"usage_limit_override_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usage Limit Override Usd"},"overage_enabled":{"type":"boolean","title":"Overage Enabled"},"overage_limit_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overage Limit Usd"},"seat_price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seat Price Cents"},"billing_interval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Interval"}},"type":"object","required":["plan","status","usage_limit_override_usd","overage_enabled","overage_limit_usd"],"title":"OrgSubscriptionResponse"},"OverageCeilingRequest":{"properties":{"overage_limit_usd":{"type":"integer","title":"Overage Limit Usd"}},"type":"object","required":["overage_limit_usd"],"title":"OverageCeilingRequest","description":"Request body for updating overage ceiling."},"OverageRequest":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"overage_limit_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Overage Limit Usd"}},"type":"object","required":["enabled"],"title":"OverageRequest","description":"Request body for toggling overage."},"OverlayPayload":{"properties":{"cell_edits":{"items":{"$ref":"#/components/schemas/CellEditPayload"},"type":"array","title":"Cell Edits"},"deleted_rows":{"items":{"type":"integer"},"type":"array","title":"Deleted Rows"},"inserted_rows":{"items":{"$ref":"#/components/schemas/InsertedRowsPayload"},"type":"array","title":"Inserted Rows"},"columns":{"anyOf":[{"$ref":"#/components/schemas/ColumnLayoutPayload"},{"type":"null"}]}},"type":"object","required":["cell_edits","deleted_rows","inserted_rows","columns"],"title":"OverlayPayload"},"PartnerConnectAccountStatus":{"type":"string","enum":["new","active","expired","not_applicable"],"title":"PartnerConnectAccountStatus","description":"Whether we have seen this account before, and whether it still runs."},"PartnerConnectRedirectValue":{"type":"string","enum":["create_trial","purchase_product","sign_in","contact_admin","not_applicable"],"title":"PartnerConnectRedirectValue","description":"Which scenario ``redirect_uri`` opens.\n\nNot a second spelling of the URL: Databricks reads this to check that the\ntile sent the customer somewhere appropriate, and its certification suite\nasserts against the enum."},"PartnerConnectUserStatus":{"type":"string","enum":["new","existing","not_applicable"],"title":"PartnerConnectUserStatus","description":"Whether we have seen this user before, per the contract's vocabulary."},"PoolCountsResponse":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"available":{"type":"integer","title":"Available"},"assigned":{"type":"integer","title":"Assigned"},"retired":{"type":"integer","title":"Retired"},"low":{"type":"boolean","title":"Low"}},"type":"object","required":["provider","available","assigned","retired","low"],"title":"PoolCountsResponse"},"PortalSessionResponse":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"PortalSessionResponse","description":"Response with portal session URL."},"PreflightResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"checks":{"items":{"$ref":"#/components/schemas/CheckResponse"},"type":"array","title":"Checks"},"warehouses":{"items":{"$ref":"#/components/schemas/WarehouseResponse"},"type":"array","title":"Warehouses"},"genie_agents":{"items":{"$ref":"#/components/schemas/GenieAgentResponse"},"type":"array","title":"Genie Agents"},"catalogs":{"items":{"type":"string"},"type":"array","title":"Catalogs"}},"type":"object","required":["ok"],"title":"PreflightResponse","description":"Discovery results and check outcomes for the connection."},"PresignUploadFile":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"size":{"type":"integer","minimum":0.0,"title":"Size"},"content_type":{"type":"string","title":"Content Type","default":"application/octet-stream"},"mtime_ns":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Mtime Ns"}},"type":"object","required":["relative_path","size"],"title":"PresignUploadFile","description":"One file the client wants to upload directly to the store."},"PresignUploadsRequest":{"properties":{"files":{"items":{"$ref":"#/components/schemas/PresignUploadFile"},"type":"array","maxItems":500,"minItems":1,"title":"Files"},"overwrite":{"type":"boolean","title":"Overwrite","default":false}},"type":"object","required":["files"],"title":"PresignUploadsRequest"},"PresignUploadsResponse":{"properties":{"files":{"items":{"$ref":"#/components/schemas/PresignedUpload"},"type":"array","title":"Files"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds","default":3600},"max_upload_bytes":{"type":"integer","title":"Max Upload Bytes"},"max_single_put_bytes":{"type":"integer","title":"Max Single Put Bytes"},"multipart_available":{"type":"boolean","title":"Multipart Available"}},"type":"object","required":["files","max_upload_bytes","max_single_put_bytes","multipart_available"],"title":"PresignUploadsResponse"},"PresignedPart":{"properties":{"part_number":{"type":"integer","title":"Part Number"},"url":{"type":"string","title":"Url"}},"type":"object","required":["part_number","url"],"title":"PresignedPart","description":"A presigned ``UploadPart`` target. The PUT body is the file slice\n``[(part_number - 1) * part_size, part_number * part_size)``; the response's\n``ETag`` header must be kept and sent back on complete."},"PresignedUpload":{"properties":{"relative_path":{"type":"string","title":"Relative Path"},"url":{"type":"string","title":"Url"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"}},"type":"object","required":["relative_path","url","headers"],"title":"PresignedUpload","description":"A presigned PUT target; ``headers`` must be echoed exactly on the PUT."},"ProfileRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"overlay":{"$ref":"#/components/schemas/OverlayPayload"},"overlay_version":{"type":"integer","title":"Overlay Version"},"first_data_view_row":{"type":"integer","title":"First Data View Row"},"col":{"type":"integer","title":"Col"}},"type":"object","required":["session_id","overlay","overlay_version","first_data_view_row","col"],"title":"ProfileRequest"},"QualiaCommandRequest":{"properties":{"file_path":{"type":"string","title":"File Path"}},"type":"object","required":["file_path"],"title":"QualiaCommandRequest"},"RawFileEvent":{"properties":{"path":{"type":"string","title":"Path"},"old_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Old Path"},"event_type":{"type":"string","enum":["CREATED","MODIFIED","DELETED","MOVED"],"title":"Event Type"},"entity_type":{"type":"string","enum":["FILE","FOLDER"],"title":"Entity Type","default":"FILE"},"timestamp_ns":{"type":"integer","minimum":0.0,"title":"Timestamp Ns"}},"additionalProperties":false,"type":"object","required":["path","event_type","timestamp_ns"],"title":"RawFileEvent","description":"A single filesystem event forwarded by the proxy."},"ReassignTaskRequest":{"properties":{"session_id":{"type":"string","title":"Session Id","description":"Chat session ID of the agent to assign to"},"chat_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session Id","description":"Optional. Caller's active chat session; used to route task_dag_updated to the client performing the drag."}},"type":"object","required":["session_id"],"title":"ReassignTaskRequest"},"RecallPriority":{"type":"string","enum":["high","medium","low"],"title":"RecallPriority","description":"How readily a claim should enter an agent's context.\n\nThis is a query-*independent* prior authored by the agent that files the\nclaim. It is not relevance, confidence, or truth: a Low claim that is\nhighly relevant to the current work must still be able to outrank an\nirrelevant High one once the recall system ranks candidates."},"ReleasePendingMessageLeaseRequest":{"properties":{"pending_id":{"type":"string","title":"Pending Id"}},"type":"object","required":["pending_id"],"title":"ReleasePendingMessageLeaseRequest"},"RemoveResponse":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"key_hint":{"type":"string","title":"Key Hint"},"deactivated_at_provider":{"type":"boolean","title":"Deactivated At Provider"}},"type":"object","required":["provider","key_hint","deactivated_at_provider"],"title":"RemoveResponse"},"ReorderPendingMessagesRequest":{"properties":{"ordered_pending_ids":{"items":{"type":"string"},"type":"array","title":"Ordered Pending Ids"},"kind":{"type":"string","title":"Kind","default":"regular"}},"type":"object","required":["ordered_pending_ids"],"title":"ReorderPendingMessagesRequest"},"ReviewClaimRequest":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"decision":{"$ref":"#/components/schemas/ReviewDecision"}},"type":"object","required":["workspace_id","decision"],"title":"ReviewClaimRequest"},"ReviewClaimsBulkRequest":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"claim_ids":{"items":{"type":"string"},"type":"array","title":"Claim Ids"},"decision":{"$ref":"#/components/schemas/ReviewDecision"}},"type":"object","required":["workspace_id","claim_ids","decision"],"title":"ReviewClaimsBulkRequest"},"ReviewClaimsBulkResponse":{"properties":{"affected":{"items":{"type":"string"},"type":"array","title":"Affected"},"decision":{"$ref":"#/components/schemas/ReviewDecision"}},"type":"object","required":["affected","decision"],"title":"ReviewClaimsBulkResponse"},"ReviewDecision":{"type":"string","enum":["pending","accepted","rejected"]},"RouteBody":{"properties":{"team_id":{"type":"string","title":"Team Id"},"channel_id":{"type":"string","title":"Channel Id"},"thread_ts":{"type":"string","title":"Thread Ts"},"chat_session_id":{"type":"string","title":"Chat Session Id"}},"type":"object","required":["team_id","channel_id","thread_ts","chat_session_id"],"title":"RouteBody"},"RuleKind":{"type":"string","enum":["rule","file-path"],"title":"RuleKind","description":"Discriminator for which UI/dialog should render a rule.\n\n``rule`` (default) is a free-form natural-language rule. ``file_path``\nis a structured rule whose body is generated from its path. The\ninjected prompt content is the same for both — kind only affects the\neditor that opens for the rule."},"RuleType":{"type":"string","enum":["always","manual","pipeline"],"title":"RuleType"},"SandboxEnvironmentSpec":{"properties":{"image_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Ref"},"mounts":{"items":{"$ref":"#/components/schemas/ObjectStoreMount"},"type":"array","title":"Mounts","default":[]},"run_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Scope"}},"additionalProperties":false,"type":"object","title":"SandboxEnvironmentSpec","description":"Per-request container image and data mounts for a sandbox."},"SaveBlobAsFileRequest":{"properties":{"filename":{"type":"string","title":"Filename"}},"type":"object","required":["filename"],"title":"SaveBlobAsFileRequest"},"SaveRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"overlay":{"$ref":"#/components/schemas/OverlayPayload"}},"type":"object","required":["session_id","overlay"],"title":"SaveRequest"},"SaveWorkspaceArtifactRequest":{"properties":{"artifact_id":{"type":"string","title":"Artifact Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"source_chat_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Chat Session Id"},"source_call_id":{"type":"string","title":"Source Call Id"},"tool_name":{"type":"string","title":"Tool Name"},"mime_type":{"type":"string","title":"Mime Type"},"data_b64":{"type":"string","title":"Data B64"}},"type":"object","required":["artifact_id","workspace_id","source_call_id","tool_name","mime_type","data_b64"],"title":"SaveWorkspaceArtifactRequest"},"SchemaResponse":{"properties":{"name":{"type":"string","title":"Name"},"full_name":{"type":"string","title":"Full Name"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["name","full_name"],"title":"SchemaResponse","description":"One Unity Catalog schema."},"SearchChatSessionsRequest":{"properties":{"query":{"type":"string","title":"Query"},"case_sensitive":{"type":"boolean","title":"Case Sensitive"},"whole_word":{"type":"boolean","title":"Whole Word"},"use_regex":{"type":"boolean","title":"Use Regex"},"titles_only":{"type":"boolean","title":"Titles Only","default":false}},"type":"object","required":["query","case_sensitive","whole_word","use_regex"],"title":"SearchChatSessionsRequest"},"SearchQueryPayload":{"properties":{"text":{"type":"string","title":"Text"},"case_sensitive":{"type":"boolean","title":"Case Sensitive"},"whole_word":{"type":"boolean","title":"Whole Word"},"regex":{"type":"boolean","title":"Regex"}},"type":"object","required":["text","case_sensitive","whole_word","regex"],"title":"SearchQueryPayload"},"SearchRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"overlay":{"$ref":"#/components/schemas/OverlayPayload"},"query":{"$ref":"#/components/schemas/SearchQueryPayload"},"replacement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Replacement"},"start_view_row":{"type":"integer","title":"Start View Row"},"max_matches":{"type":"integer","title":"Max Matches"}},"type":"object","required":["session_id","overlay","query","replacement","start_view_row","max_matches"],"title":"SearchRequest"},"SeedKeyRequest":{"properties":{"secret":{"type":"string","minLength":1,"title":"Secret"},"provider_key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Key Id"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"}},"type":"object","required":["secret"],"title":"SeedKeyRequest"},"SeedRequest":{"properties":{"provider":{"$ref":"#/components/schemas/KeyProvider"},"keys":{"items":{"$ref":"#/components/schemas/SeedKeyRequest"},"type":"array","maxItems":500,"minItems":1,"title":"Keys"}},"type":"object","required":["provider","keys"],"title":"SeedRequest"},"SeedResponse":{"properties":{"added":{"type":"integer","title":"Added"},"skipped":{"type":"integer","title":"Skipped"},"available":{"type":"integer","title":"Available"}},"type":"object","required":["added","skipped","available"],"title":"SeedResponse"},"SelectWorkspaceRequest":{"properties":{"workspace_id":{"$ref":"#/components/schemas/WorkspaceId"}},"type":"object","required":["workspace_id"],"title":"SelectWorkspaceRequest"},"SerializeAndSubmitRequest":{"properties":{"notebook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id","description":"Notebook the values were produced in, for kernels."},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"Chat session that launched this runtime, for script processes."},"variables":{"additionalProperties":true,"type":"object","title":"Variables"},"cell_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cell Id"}},"type":"object","required":["variables"],"title":"SerializeAndSubmitRequest","description":"Raw values pushed from a runtime — a kernel post-run hook, an explicit\n``submit_variable`` call, or a script process.\n\nClients send the JSON-decoded value as-is; the server is the source\nof truth for type classification (see\n``quadrillion.services.value_classifier``). This keeps Python, R,\nand Julia qualia clients in lockstep regardless of how each language\nnatively represents numeric literals.\n\nA runtime identifies itself with ``notebook_id`` (kernels) or\n``session_id`` (scripts, which have no notebook). At least one is\nrequired; when both arrive the notebook wins, as the more specific claim\nabout where the value came from."},"SerializeAndSubmitResponse":{"properties":{"accepted":{"items":{"type":"string"},"type":"array","title":"Accepted"},"rejected":{"additionalProperties":{"type":"string"},"type":"object","title":"Rejected"},"tracked":{"items":{"$ref":"#/components/schemas/TrackedVariable"},"type":"array","title":"Tracked"}},"type":"object","title":"SerializeAndSubmitResponse"},"SerializedOutput":{"properties":{"type":{"type":"string","title":"Type"},"content":{"title":"Content"},"execution_time_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Execution Time Ms"}},"type":"object","required":["type","content"],"title":"SerializedOutput"},"SessionConfirmationRequest":{"properties":{"confirmation_id":{"type":"string","title":"Confirmation Id"},"kind":{"type":"string","enum":["command_approval","question"],"title":"Kind"},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"},"call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Call Id"},"question_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Question Index"},"response":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response"}},"type":"object","required":["confirmation_id","kind"],"title":"SessionConfirmationRequest"},"SessionFollowupRequest":{"properties":{"message":{"type":"string","title":"Message"},"display_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Message"},"call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Call Id"},"gen_args":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Gen Args"}},"type":"object","required":["message"],"title":"SessionFollowupRequest"},"SessionTasksResponse":{"properties":{"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"tasks":{"items":{"$ref":"#/components/schemas/JsonObject"},"type":"array","title":"Tasks"}},"type":"object","required":["workspace_id","tasks"],"title":"SessionTasksResponse"},"SetPendingMessageHoldRequest":{"properties":{"pending_id":{"type":"string","title":"Pending Id"},"held":{"type":"boolean","title":"Held"},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"require_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Require Kind"}},"type":"object","required":["pending_id","held"],"title":"SetPendingMessageHoldRequest"},"SetupLinkResponse":{"properties":{"setup_url":{"type":"string","title":"Setup Url"}},"type":"object","required":["setup_url"],"title":"SetupLinkResponse"},"StatusResponse":{"properties":{"connected":{"type":"boolean","title":"Connected"}},"type":"object","required":["connected"],"title":"StatusResponse","description":"Whether the acting user has a connection URL stored."},"SubscriptionResponse":{"properties":{"plan_tier":{"type":"string","title":"Plan Tier"},"status":{"type":"string","title":"Status"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End","default":false},"current_period_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Period Start"},"current_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Period End"},"usage_percentage":{"type":"number","title":"Usage Percentage"},"is_limited":{"type":"boolean","title":"Is Limited"},"overage_eligible":{"type":"boolean","title":"Overage Eligible","default":false},"overage_enabled":{"type":"boolean","title":"Overage Enabled"},"overage_limit_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overage Limit Usd"},"overage_spend_usd":{"type":"number","title":"Overage Spend Usd"},"overage_percentage":{"type":"number","title":"Overage Percentage"},"is_in_overage":{"type":"boolean","title":"Is In Overage"},"is_org_member":{"type":"boolean","title":"Is Org Member"},"is_admin_managed":{"type":"boolean","title":"Is Admin Managed"},"organization":{"anyOf":[{"$ref":"#/components/schemas/OrgInfoResponse"},{"type":"null"}]},"storage_used_bytes":{"type":"integer","title":"Storage Used Bytes"},"storage_limit_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Storage Limit Bytes"}},"type":"object","required":["plan_tier","status","usage_percentage","is_limited","overage_enabled","overage_limit_usd","overage_spend_usd","overage_percentage","is_in_overage","is_org_member","is_admin_managed","storage_used_bytes"],"title":"SubscriptionResponse","description":"Response model for subscription info.\n\nBase usage is percentage-only — internal compute credit limits are not\nexposed as USD to avoid revealing plan economics.  Overage amounts are\nin USD because users are directly billed for them."},"SuggestedRedirectUriResponse":{"properties":{"redirect_uri":{"type":"string","title":"Redirect Uri"}},"type":"object","required":["redirect_uri"],"title":"SuggestedRedirectUriResponse","description":"The callback URI an admin must register in their security integration.\n\nServed rather than derived in the browser: the SPA knows its own origin,\nnot the API's, and Snowflake matches this byte for byte."},"SupportedPlatformsResponse":{"properties":{"supported":{"items":{"type":"string","enum":["macos-intel","macos-apple-silicon","windows-x64","windows-arm64","linux-x64","linux-arm64"]},"type":"array","title":"Supported"}},"type":"object","required":["supported"],"title":"SupportedPlatformsResponse","description":"Response model for supported platforms endpoint."},"TabularSortRequest":{"properties":{"sort":{"additionalProperties":true,"type":"object","title":"Sort"}},"type":"object","required":["sort"],"title":"TabularSortRequest"},"TargetsRequest":{"properties":{"warehouse_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Warehouse Id"},"genie_agent_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Genie Agent Id"},"default_catalog":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Default Catalog"},"default_schema":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Default Schema"}},"type":"object","title":"TargetsRequest","description":"Org-admin selection of the warehouse and Genie Agent to use."},"TaskResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"title":{"type":"string","title":"Title"},"short_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Short Description"},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"status":{"type":"string","title":"Status"},"is_blocked":{"type":"boolean","title":"Is Blocked","default":false},"blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blocked Reason"},"created_by_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Session Id"},"assigned_to_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To Session Id"},"estimated_time_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Time Seconds"},"result_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result Summary"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"},"blocked_by":{"items":{"type":"string"},"type":"array","title":"Blocked By"},"blocks":{"items":{"type":"string"},"type":"array","title":"Blocks"},"required_variables":{"items":{"$ref":"#/components/schemas/JsonObject"},"type":"array","title":"Required Variables"},"notes":{"items":{"$ref":"#/components/schemas/JsonObject"},"type":"array","title":"Notes"},"attached_code_cells":{"items":{"$ref":"#/components/schemas/JsonObject"},"type":"array","title":"Attached Code Cells"}},"type":"object","required":["task_id","workspace_id","title","status","created_at","updated_at"],"title":"TaskResponse"},"TerminalActivityRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"sandbox_alias":{"type":"string","title":"Sandbox Alias"},"proxy_node":{"type":"string","title":"Proxy Node"},"connection_id":{"type":"string","title":"Connection Id","default":""},"frames":{"type":"integer","minimum":1.0,"title":"Frames","default":1}},"additionalProperties":false,"type":"object","required":["session_id","sandbox_alias","proxy_node"],"title":"TerminalActivityRequest","description":"Proxy callback reporting coalesced terminal input or output activity."},"TerminalCreateRequest":{"properties":{"shell":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shell"},"cols":{"type":"integer","title":"Cols","default":80},"rows":{"type":"integer","title":"Rows","default":24},"cwd":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cwd"}},"type":"object","title":"TerminalCreateRequest"},"TerminalReconnectResponse":{"properties":{"token":{"type":"string","title":"Token"}},"additionalProperties":false,"type":"object","required":["token"],"title":"TerminalReconnectResponse","description":"Response containing a fresh session token for reconnection."},"TerminalResizeRequest":{"properties":{"cols":{"type":"integer","title":"Cols"},"rows":{"type":"integer","title":"Rows"}},"type":"object","required":["cols","rows"],"title":"TerminalResizeRequest"},"TerminalSessionRequest":{"properties":{},"additionalProperties":false,"type":"object","title":"TerminalSessionRequest","description":"Request to create a new terminal session."},"TerminalSessionResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"token":{"type":"string","title":"Token"},"ws_url":{"type":"string","title":"Ws Url"}},"additionalProperties":false,"type":"object","required":["session_id","token","ws_url"],"title":"TerminalSessionResponse","description":"Response containing the session credentials and WebSocket URL."},"TerminalWriteRequest":{"properties":{"data":{"type":"string","title":"Data"}},"type":"object","required":["data"],"title":"TerminalWriteRequest"},"TestConnectionResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"detail":{"type":"string","title":"Detail"}},"type":"object","required":["ok","detail"],"title":"TestConnectionResponse","description":"Result of a Partner Connect connectivity probe."},"ToolResultEntry":{"properties":{"call_id":{"type":"string","title":"Call Id"},"tool_name":{"type":"string","title":"Tool Name"},"inputs_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inputs Summary"},"artifact_id":{"type":"string","title":"Artifact Id"},"content_type":{"type":"string","title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes"},"ok":{"type":"boolean","title":"Ok"},"truncated":{"type":"boolean","title":"Truncated"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"assistant_turn_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assistant Turn Id"},"parallel_group_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parallel Group Id"}},"type":"object","required":["call_id","tool_name","artifact_id","content_type","size_bytes","ok","truncated"],"title":"ToolResultEntry"},"ToolResultsListResponse":{"properties":{"chat_session_id":{"type":"string","title":"Chat Session Id"},"entries":{"items":{"$ref":"#/components/schemas/ToolResultEntry"},"type":"array","title":"Entries"}},"type":"object","required":["chat_session_id","entries"],"title":"ToolResultsListResponse"},"TrackedVariable":{"properties":{"name":{"type":"string","title":"Name"},"expected_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Type"},"task_id":{"type":"string","title":"Task Id"}},"type":"object","required":["name","expected_type","task_id"],"title":"TrackedVariable"},"TrackedVariablesResponse":{"properties":{"variables":{"items":{"$ref":"#/components/schemas/TrackedVariable"},"type":"array","title":"Variables"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},"type":"object","title":"TrackedVariablesResponse"},"UpdateChatSessionRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"auto_suffix_title":{"type":"boolean","title":"Auto Suffix Title","default":false},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"status_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Message"},"project_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Path"},"slack_updates_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Slack Updates Enabled"},"partition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partition"},"compute_traits":{"anyOf":[{"$ref":"#/components/schemas/ComputeTraits"},{"type":"null"}]},"compute_assertion":{"anyOf":[{"$ref":"#/components/schemas/ComputeAssertion"},{"type":"null"}]},"sandbox_environment":{"anyOf":[{"$ref":"#/components/schemas/SandboxEnvironmentSpec"},{"type":"null"}]},"isolated_run":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isolated Run"},"rft_mode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rft Mode"},"rft_deployment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rft Deployment"},"total_tokens":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Total Tokens"},"last_seq_at_api_call":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Last Seq At Api Call"}},"type":"object","title":"UpdateChatSessionRequest"},"UpdateMemberRequest":{"properties":{"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"usage_limit_override_usd":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Usage Limit Override Usd"},"overage_limit_override_usd":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Overage Limit Override Usd"}},"type":"object","title":"UpdateMemberRequest"},"UpdateOrgRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"billing_email":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Billing Email"},"seat_price_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Seat Price Cents"},"usage_limit_per_user_usd":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Usage Limit Per User Usd"},"overage_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overage Enabled"},"overage_limit_per_user_usd":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Overage Limit Per User Usd"},"api_markup_rate":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Api Markup Rate"},"billing_mode":{"anyOf":[{"$ref":"#/components/schemas/BillingMode"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Reason"}},"additionalProperties":false,"type":"object","title":"UpdateOrgRequest"},"UpdatePendingMessagePayloadRequest":{"properties":{"pending_id":{"type":"string","title":"Pending Id"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"require_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Require Kind"},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},"type":"object","required":["pending_id","payload"],"title":"UpdatePendingMessagePayloadRequest"},"UpdateSubscriptionRequest":{"properties":{"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"usage_limit_override_usd":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Usage Limit Override Usd"},"overage_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overage Enabled"},"overage_limit_usd":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Overage Limit Usd"}},"additionalProperties":false,"type":"object","title":"UpdateSubscriptionRequest"},"UpdateSubscriptionResponse":{"properties":{"user_id":{"type":"integer","title":"User Id"},"plan":{"type":"string","title":"Plan"},"usage_limit_override_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usage Limit Override Usd"},"overage_enabled":{"type":"boolean","title":"Overage Enabled"},"overage_limit_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Overage Limit Usd"}},"type":"object","required":["user_id","plan","usage_limit_override_usd","overage_enabled","overage_limit_usd"],"title":"UpdateSubscriptionResponse"},"UpdateTaskRequest":{"properties":{"chat_session_id":{"type":"string","title":"Chat Session Id","description":"Chat session ID of the caller (must be assignee or creator)"},"new_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Status","description":"New status: in_progress, completed, failed, or cancelled. Omit to update fields only."},"new_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Title","description":"Update the task title (planned tasks only)"},"new_objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Objective","description":"Update the task objective (planned tasks only)"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"Append a note to the task"},"add_blocked_by":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Add Blocked By","description":"Add upstream dependencies (task IDs)"},"remove_blocked_by":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Remove Blocked By","description":"Remove upstream dependencies (planned tasks only)"},"add_blocking":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Add Blocking","description":"Add downstream dependencies (task IDs)"},"remove_blocking":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Remove Blocking","description":"Remove downstream dependencies (planned tasks only)"},"add_required_variables":{"anyOf":[{"items":{"$ref":"#/components/schemas/AddRequiredVariableRequest"},"type":"array"},{"type":"null"}],"title":"Add Required Variables","description":"Add required variables (planned tasks only)"},"remove_required_variables":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Remove Required Variables","description":"Remove required variables by name (planned tasks only)"},"remove_starter_cells":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Remove Starter Cells","description":"Remove starter cells by cell ID (planned tasks only)"}},"type":"object","required":["chat_session_id"],"title":"UpdateTaskRequest"},"UpsertExecutionStatusRequest":{"properties":{"execution_id":{"type":"string","title":"Execution Id"},"execution_type":{"type":"string","title":"Execution Type"},"status":{"type":"string","title":"Status","default":"running"},"chat_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session Id"},"notebook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Id"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"last_output_tail":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Last Output Tail"},"execution_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Execution Metadata"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["execution_id","execution_type"],"title":"UpsertExecutionStatusRequest"},"UserProfileResponse":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","title":"Created At"},"last_login":{"type":"string","title":"Last Login"}},"type":"object","required":["id","email","name","created_at","last_login"],"title":"UserProfileResponse","description":"Response model for user profile."},"UserStatsTimeseriesPoint":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"dau":{"type":"integer","title":"Dau"},"wau":{"type":"integer","title":"Wau"},"mau":{"type":"integer","title":"Mau"},"stickiness":{"type":"number","title":"Stickiness"}},"type":"object","required":["date","dau","wau","mau","stickiness"],"title":"UserStatsTimeseriesPoint","description":"One UTC calendar day of rolling engagement metrics.\n\n``dau`` is that day's distinct active users; ``wau``/``mau`` are distinct\nactive users across the trailing 7/30 days ending on that day; ``stickiness``\nis the trailing-30-day average DAU over that day's MAU."},"ValidateKeyRequest":{"properties":{"key":{"type":"string","title":"Key"}},"type":"object","required":["key"],"title":"ValidateKeyRequest","description":"Request model for validating an API key."},"ValidateKeyResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"}},"type":"object","required":["valid"],"title":"ValidateKeyResponse","description":"Response model for API key validation."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WarehouseResponse":{"properties":{"warehouse_id":{"type":"string","title":"Warehouse Id"},"name":{"type":"string","title":"Name"},"http_path":{"type":"string","title":"Http Path"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"serverless":{"type":"boolean","title":"Serverless","default":false}},"type":"object","required":["warehouse_id","name","http_path"],"title":"WarehouseResponse","description":"A selectable SQL warehouse."},"WorkosPortalLinkRequest":{"properties":{"intent":{"type":"string","title":"Intent","default":"sso"}},"type":"object","title":"WorkosPortalLinkRequest"},"WorkosPortalLinkResponse":{"properties":{"portal_link":{"type":"string","title":"Portal Link"},"workos_organization_id":{"type":"string","title":"Workos Organization Id"}},"type":"object","required":["portal_link","workos_organization_id"],"title":"WorkosPortalLinkResponse"},"WorkspaceActivitySummary":{"properties":{"has_generating_sessions":{"type":"boolean","title":"Has Generating Sessions"}},"type":"object","required":["has_generating_sessions"],"title":"WorkspaceActivitySummary"},"WorkspaceArtifactMetadataRequest":{"properties":{"call_ids":{"items":{"type":"string"},"type":"array","title":"Call Ids"},"workspace_id":{"type":"string","title":"Workspace Id"}},"type":"object","required":["call_ids","workspace_id"],"title":"WorkspaceArtifactMetadataRequest"},"WorkspaceId":{"type":"string","maxLength":255,"minLength":1},"WorkspaceName":{"type":"string","maxLength":100,"minLength":1},"WriteupKind":{"type":"string","enum":["writeup","dashboard","presentation"],"title":"WriteupKind","description":"What a writeup is for, which decides how its sections are laid out.\n\nOne format, one set of blocks, one set of tools — only the height policy on\ntop-level sections differs. A WRITEUP flows and the page scrolls; a\nDASHBOARD and a PRESENTATION lay each section out to fill the viewport.\n\nChosen once, when the document is created. Changing it under existing\ncontent rescrambles the layout, so that stays the user's decision."},"YouSearchRequest":{"properties":{"query":{"type":"string","maxLength":1000,"minLength":1,"title":"Query"},"count":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":1.0},{"type":"null"}],"title":"Count"},"freshness":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Freshness"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"safesearch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safesearch"}},"type":"object","required":["query"],"title":"YouSearchRequest"},"_ActivatePersonaRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","title":"_ActivatePersonaRequest"},"_ApplyModelFamilyRequest":{"properties":{"family":{"type":"string","title":"Family"}},"type":"object","required":["family"],"title":"_ApplyModelFamilyRequest"},"_BashAllowlistAddRequest":{"properties":{"command":{"type":"string","title":"Command"},"approved_tokens":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Approved Tokens"}},"type":"object","required":["command"],"title":"_BashAllowlistAddRequest"},"_CellAddRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"notebook_path":{"type":"string","title":"Notebook Path"},"cell_id":{"type":"string","title":"Cell Id"},"cell_type":{"type":"string","title":"Cell Type","default":"code"},"content":{"type":"string","title":"Content","default":""},"after_cell_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After Cell Id"}},"type":"object","required":["notebook_id","notebook_path","cell_id"],"title":"_CellAddRequest"},"_CellPatchRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"notebook_path":{"type":"string","title":"Notebook Path"},"cell_id":{"type":"string","title":"Cell Id"},"content":{"type":"string","title":"Content"}},"type":"object","required":["notebook_id","notebook_path","cell_id","content"],"title":"_CellPatchRequest"},"_CreatePythonEnvironmentRequest":{"properties":{"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"}},"type":"object","title":"_CreatePythonEnvironmentRequest"},"_CreateRuleRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description","default":""},"content":{"type":"string","title":"Content","default":""},"rule_type":{"$ref":"#/components/schemas/RuleType","default":"manual"},"globs":{"items":{"type":"string"},"type":"array","title":"Globs","default":[]},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"kind":{"$ref":"#/components/schemas/RuleKind","default":"rule"},"file_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Path"},"pipeline":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Pipeline"}},"type":"object","required":["name"],"title":"_CreateRuleRequest"},"_CreateSkillRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description","default":""},"content":{"type":"string","title":"Content"},"auto_invoke":{"type":"boolean","title":"Auto Invoke","default":true}},"type":"object","required":["name","content"],"title":"_CreateSkillRequest"},"_CredentialStoreRequest":{"properties":{"value":{"type":"string","title":"Value"}},"type":"object","required":["value"],"title":"_CredentialStoreRequest"},"_DeletePythonEnvironmentRequest":{"properties":{"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"}},"type":"object","title":"_DeletePythonEnvironmentRequest"},"_DraftCellsRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"cell_ids":{"items":{"type":"string"},"type":"array","title":"Cell Ids"}},"type":"object","required":["notebook_id"],"title":"_DraftCellsRequest"},"_DraftManifestRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"}},"type":"object","required":["notebook_id"],"title":"_DraftManifestRequest"},"_DraftOperation":{"properties":{"base_backend_checkpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Backend Checkpoint"},"base_cell_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Cell Token"},"base_structure_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Structure Token"},"operation_id":{"type":"string","title":"Operation Id"},"kind":{"type":"string","title":"Kind"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"scope":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Scope"}},"type":"object","required":["operation_id","kind"],"title":"_DraftOperation"},"_DraftOperationsRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"notebook_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Path"},"operations":{"items":{"$ref":"#/components/schemas/_DraftOperation"},"type":"array","title":"Operations"}},"type":"object","required":["notebook_id"],"title":"_DraftOperationsRequest"},"_DraftResetRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"notebook_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notebook Path"}},"type":"object","required":["notebook_id"],"title":"_DraftResetRequest"},"_DraftSaveRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"cells":{"items":{"$ref":"#/components/schemas/Cell"},"type":"array","title":"Cells"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"path":{"type":"string","title":"Path"}},"type":"object","required":["notebook_id","path"],"title":"_DraftSaveRequest"},"_DraftSaveToCanonicalRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"force":{"type":"boolean","title":"Force","default":false},"autosave":{"type":"boolean","title":"Autosave","default":false},"pending_user_edits":{"items":{"$ref":"#/components/schemas/_PendingUserEdit"},"type":"array","title":"Pending User Edits"}},"type":"object","required":["notebook_id"],"title":"_DraftSaveToCanonicalRequest"},"_DuplicatePathRequest":{"properties":{"path":{"type":"string","title":"Path"}},"type":"object","required":["path"],"title":"_DuplicatePathRequest"},"_EnvironmentConfigUpdateRequest":{"properties":{"config":{"additionalProperties":true,"type":"object","title":"Config"}},"type":"object","required":["config"],"title":"_EnvironmentConfigUpdateRequest"},"_EnvironmentPrepareRequest":{"properties":{"profile_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Name"},"language":{"type":"string","enum":["python","julia","r"],"title":"Language","default":"python"}},"type":"object","title":"_EnvironmentPrepareRequest"},"_EnvironmentPrivateValuesRequest":{"properties":{"values":{"additionalProperties":{"type":"string"},"type":"object","title":"Values"}},"type":"object","required":["values"],"title":"_EnvironmentPrivateValuesRequest"},"_ExecuteRequest":{"properties":{"notebook_id":{"type":"string","title":"Notebook Id"},"notebook_path":{"type":"string","title":"Notebook Path"},"execution_id":{"type":"string","title":"Execution Id","default":"default"},"cell_id":{"type":"string","title":"Cell Id"}},"type":"object","required":["notebook_id","notebook_path","cell_id"],"title":"_ExecuteRequest"},"_ExportFolderRequest":{"properties":{"path":{"type":"string","title":"Path","description":"Path to the folder containing notebooks to export"}},"type":"object","required":["path"],"title":"_ExportFolderRequest"},"_ExportNotebookContentRequest":{"properties":{"notebook":{"additionalProperties":true,"type":"object","title":"Notebook","description":"The notebook JSON content to export"}},"type":"object","required":["notebook"],"title":"_ExportNotebookContentRequest"},"_ExportStandaloneRequest":{"properties":{"path":{"type":"string","title":"Path","description":"Path to the notebook to export"}},"type":"object","required":["path"],"title":"_ExportStandaloneRequest"},"_ExportToPathRequest":{"properties":{"directory":{"type":"string","title":"Directory"},"include_workspace_files":{"type":"boolean","title":"Include Workspace Files","default":false}},"type":"object","required":["directory"],"title":"_ExportToPathRequest","description":"Save an export into a directory the user picked on this machine."},"_ExternalRootRequest":{"properties":{"path":{"type":"string","title":"Path"}},"type":"object","required":["path"],"title":"_ExternalRootRequest"},"_FileCreateRequest":{"properties":{"path":{"type":"string","title":"Path"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"cells":{"items":{"$ref":"#/components/schemas/Cell"},"type":"array","title":"Cells"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["path"],"title":"_FileCreateRequest"},"_FileDeleteRequest":{"properties":{"path":{"type":"string","title":"Path"},"recursive":{"type":"boolean","title":"Recursive","default":true}},"type":"object","required":["path"],"title":"_FileDeleteRequest"},"_FileRenameRequest":{"properties":{"old_path":{"type":"string","title":"Old Path"},"new_path":{"type":"string","title":"New Path"}},"type":"object","required":["old_path","new_path"],"title":"_FileRenameRequest"},"_FileSaveRequest":{"properties":{"cells":{"items":{"$ref":"#/components/schemas/Cell"},"type":"array","title":"Cells"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"path":{"type":"string","title":"Path"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"}},"type":"object","required":["path"],"title":"_FileSaveRequest"},"_FolderCreateRequest":{"properties":{"path":{"type":"string","title":"Path"},"name":{"type":"string","title":"Name"}},"type":"object","required":["path","name"],"title":"_FolderCreateRequest"},"_GithubOAuthInitRequest":{"properties":{"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"}},"type":"object","title":"_GithubOAuthInitRequest"},"_ImportFileRequest":{"properties":{"path":{"type":"string","title":"Path"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","required":["path"],"title":"_ImportFileRequest"},"_KernelDiscoveryPathEnabledRequest":{"properties":{"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["enabled"],"title":"_KernelDiscoveryPathEnabledRequest"},"_KernelDiscoveryPathRequest":{"properties":{"kind":{"$ref":"#/components/schemas/KernelDiscoveryPathKind"},"path":{"type":"string","title":"Path"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","required":["kind","path"],"title":"_KernelDiscoveryPathRequest"},"_MatplotlibrcUpdateRequest":{"properties":{"dpi":{"type":"string","title":"Dpi"},"figsize":{"type":"string","title":"Figsize"},"colormap":{"type":"string","title":"Colormap"},"color_cycle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color Cycle"},"custom_colors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Custom Colors"},"font_size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Font Size"},"font_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Font Family"},"linewidth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linewidth"},"grid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grid"},"savefig_dpi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Savefig Dpi"},"savefig_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Savefig Format"}},"type":"object","required":["dpi","figsize","colormap"],"title":"_MatplotlibrcUpdateRequest"},"_NotebookReadRequest":{"properties":{"path":{"type":"string","title":"Path"}},"type":"object","required":["path"],"title":"_NotebookReadRequest"},"_OpenWithDefaultRequest":{"properties":{"path":{"type":"string","title":"Path"}},"type":"object","required":["path"],"title":"_OpenWithDefaultRequest"},"_PendingUserEdit":{"properties":{"cell_id":{"type":"string","title":"Cell Id"},"content":{"type":"string","title":"Content"}},"type":"object","required":["cell_id","content"],"title":"_PendingUserEdit","description":"A debounced user content edit not yet emitted via socket."},"_RevealPathRequest":{"properties":{"path":{"type":"string","title":"Path"}},"type":"object","required":["path"],"title":"_RevealPathRequest"},"_RuntimeId":{"type":"string","maxLength":200},"_SandboxSettingsUpdateRequest":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"auto_approve":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Approve"},"extra_writable_paths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Extra Writable Paths"},"excluded_commands":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Excluded Commands"},"extra_deny_write":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Extra Deny Write"}},"type":"object","title":"_SandboxSettingsUpdateRequest"},"_SaveCustomColorSchemeRequest":{"properties":{"scheme_id":{"type":"string","title":"Scheme Id"},"name":{"type":"string","title":"Name"},"colors":{"items":{"type":"string"},"type":"array","title":"Colors"}},"type":"object","required":["scheme_id","name","colors"],"title":"_SaveCustomColorSchemeRequest"},"_SelectJuliaEnvironmentRequest":{"properties":{"julia_path":{"type":"string","title":"Julia Path"}},"type":"object","required":["julia_path"],"title":"_SelectJuliaEnvironmentRequest"},"_SelectPythonEnvironmentRequest":{"properties":{"python_path":{"type":"string","title":"Python Path"}},"type":"object","required":["python_path"],"title":"_SelectPythonEnvironmentRequest"},"_SelectREnvironmentRequest":{"properties":{"r_path":{"type":"string","title":"R Path"}},"type":"object","required":["r_path"],"title":"_SelectREnvironmentRequest"},"_SettingUpdateRequest":{"properties":{"settings_key":{"type":"string","title":"Settings Key"},"value":{"type":"string","title":"Value"}},"type":"object","required":["settings_key","value"],"title":"_SettingUpdateRequest"},"_SlackOAuthInitRequest":{"properties":{"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"}},"type":"object","title":"_SlackOAuthInitRequest"},"_TagCreateRequest":{"properties":{"display_name":{"type":"string","title":"Display Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["display_name","description"],"title":"_TagCreateRequest"},"_TagDeleteRequest":{"properties":{"display_name":{"type":"string","title":"Display Name"}},"type":"object","required":["display_name"],"title":"_TagDeleteRequest"},"_TagUpdateRequest":{"properties":{"display_name":{"type":"string","title":"Display Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["display_name","description"],"title":"_TagUpdateRequest"},"_UpdateRuleRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"rule_type":{"anyOf":[{"$ref":"#/components/schemas/RuleType"},{"type":"null"}]},"globs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Globs"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"file_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Path"},"pipeline":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Pipeline"}},"type":"object","title":"_UpdateRuleRequest"},"_UpdateSkillRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"auto_invoke":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Invoke"}},"type":"object","title":"_UpdateSkillRequest"},"_UpdateWorkspaceSettingsRequest":{"properties":{"settings":{"additionalProperties":true,"type":"object","title":"Settings"}},"type":"object","required":["settings"],"title":"_UpdateWorkspaceSettingsRequest"},"_WorkspaceSwitchRequest":{"properties":{"path":{"type":"string","minLength":1,"title":"Path"},"initiator_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Initiator Id"}},"type":"object","required":["path"],"title":"_WorkspaceSwitchRequest"},"_WriteupSaveRequest":{"properties":{"writeup_id":{"type":"string","title":"Writeup Id"},"path":{"type":"string","title":"Path"},"title":{"type":"string","title":"Title"},"content":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Content"},"kind":{"anyOf":[{"$ref":"#/components/schemas/WriteupKind"},{"type":"null"}]}},"type":"object","required":["writeup_id","path","title","content"],"title":"_WriteupSaveRequest"},"quadrillion__api_services__task_dag_read_schemas__WorkspaceResponse":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"nfs_name":{"type":"string","title":"Nfs Name"},"default_environment_profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Environment Profile"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["workspace_id","org_id","user_id","name","nfs_name","created_at","updated_at"],"title":"WorkspaceResponse"},"quadrillion__cloud_api__routers__databricks__ConnectionRequest":{"properties":{"workspace_host":{"type":"string","maxLength":255,"minLength":1,"title":"Workspace Host"},"cloud":{"$ref":"#/components/schemas/DatabricksCloud"},"oauth_client_id":{"type":"string","maxLength":255,"minLength":1,"title":"Oauth Client Id"},"oauth_client_secret":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Oauth Client Secret"},"oauth_redirect_uri":{"type":"string","maxLength":1024,"minLength":1,"title":"Oauth Redirect Uri"},"enabled_auth_modes":{"items":{"type":"string"},"type":"array","title":"Enabled Auth Modes"},"service_principal_client_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Service Principal Client Id"},"federation_audience":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Federation Audience"}},"type":"object","required":["workspace_host","cloud","oauth_client_id","oauth_redirect_uri"],"title":"ConnectionRequest","description":"Org-admin configuration for the tenant's Databricks workspace."},"quadrillion__cloud_api__routers__databricks__ConnectionResponse":{"properties":{"configured":{"type":"boolean","title":"Configured"},"workspace_host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Host"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"cloud":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cloud"},"oauth_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Client Id"},"oauth_redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Redirect Uri"},"has_client_secret":{"type":"boolean","title":"Has Client Secret","default":false},"enabled_auth_modes":{"items":{"type":"string"},"type":"array","title":"Enabled Auth Modes"},"service_principal_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Principal Client Id"},"federation_audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Federation Audience"},"federation_ready":{"type":"boolean","title":"Federation Ready","default":false},"warehouse_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warehouse Id"},"genie_agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genie Agent Id"},"default_catalog":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Catalog"},"default_schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Schema"},"disabled":{"type":"boolean","title":"Disabled","default":false}},"type":"object","required":["configured"],"title":"ConnectionResponse","description":"Non-secret view of a Databricks connection."},"quadrillion__cloud_api__routers__databricks__GrantStatusResponse":{"properties":{"connected":{"type":"boolean","title":"Connected"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"state_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Reason"},"databricks_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Databricks Username"},"workspace_host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Host"},"genie_agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genie Agent Id"},"reconnect_required":{"type":"boolean","title":"Reconnect Required","default":false}},"type":"object","required":["connected"],"title":"GrantStatusResponse","description":"The acting user's authorization state."},"quadrillion__cloud_api__routers__databricks__SqlCredentialsResponse":{"properties":{"workspace_host":{"type":"string","title":"Workspace Host"},"http_path":{"type":"string","title":"Http Path"},"warehouse_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warehouse Id"},"access_token":{"type":"string","title":"Access Token"},"expires_at":{"type":"string","title":"Expires At"},"user_agent":{"type":"string","title":"User Agent"},"catalog":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Catalog"},"schema_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schema Name"}},"type":"object","required":["workspace_host","http_path","access_token","expires_at","user_agent"],"title":"SqlCredentialsResponse","description":"Everything a kernel needs to open one Databricks SQL connection."},"quadrillion__cloud_api__routers__snowflake__AuthorizeResponse":{"properties":{"oauth_url":{"type":"string","title":"Oauth Url"}},"type":"object","required":["oauth_url"],"title":"AuthorizeResponse","description":"Where to send the browser to begin authorization."},"quadrillion__cloud_api__routers__snowflake__ConnectionRequest":{"properties":{"account_identifier":{"type":"string","maxLength":255,"minLength":1,"title":"Account Identifier"},"oauth_client_id":{"type":"string","maxLength":255,"minLength":1,"title":"Oauth Client Id"},"oauth_client_secret":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Oauth Client Secret"},"oauth_redirect_uri":{"type":"string","maxLength":1024,"minLength":1,"title":"Oauth Redirect Uri"},"role":{"type":"string","maxLength":255,"minLength":1,"title":"Role"},"warehouse":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Warehouse"},"default_database":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Default Database"},"default_schema":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Default Schema"}},"type":"object","required":["account_identifier","oauth_client_id","oauth_redirect_uri","role"],"title":"ConnectionRequest","description":"Org-admin configuration for the tenant's Snowflake account."},"quadrillion__cloud_api__routers__snowflake__ConnectionResponse":{"properties":{"configured":{"type":"boolean","title":"Configured"},"account_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Identifier"},"account_host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Host"},"oauth_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Client Id"},"oauth_redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Redirect Uri"},"has_client_secret":{"type":"boolean","title":"Has Client Secret","default":false},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"warehouse":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warehouse"},"default_database":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Database"},"default_schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Schema"},"disabled":{"type":"boolean","title":"Disabled","default":false}},"type":"object","required":["configured"],"title":"ConnectionResponse","description":"Non-secret view of a Snowflake connection."},"quadrillion__cloud_api__routers__snowflake__GrantStatusResponse":{"properties":{"connected":{"type":"boolean","title":"Connected"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"state_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Reason"},"snowflake_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snowflake Username"},"account_identifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Identifier"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"reconnect_required":{"type":"boolean","title":"Reconnect Required","default":false}},"type":"object","required":["connected"],"title":"GrantStatusResponse","description":"The acting user's authorization state."},"quadrillion__cloud_api__routers__snowflake__SqlCredentialsResponse":{"properties":{"account":{"type":"string","title":"Account"},"auth_mode":{"type":"string","title":"Auth Mode","default":"token"},"access_token":{"type":"string","title":"Access Token"},"expires_at":{"type":"string","title":"Expires At"},"expires_in":{"type":"integer","title":"Expires In"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"warehouse":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warehouse"},"database":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Database"},"schema_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schema Name"}},"type":"object","required":["account","access_token","expires_at","expires_in"],"title":"SqlCredentialsResponse","description":"Everything a kernel needs to open one Snowflake connection."},"quadrillion__cloud_api__routers__workspaces__WorkspaceResponse":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"created_at":{"type":"string","title":"Created At"},"size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size Bytes"},"size_file_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size File Count"},"size_measured_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size Measured At"}},"type":"object","required":["workspace_id","name","created_at","size_bytes","size_file_count","size_measured_at"],"title":"WorkspaceResponse"},"quadrillion__handlers__skills___ImportClaudeCodeRequest":{"properties":{"project_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Path"}},"type":"object","title":"_ImportClaudeCodeRequest"}}}}