{"openapi":"3.1.0","info":{"title":"Veklom Sovereign AI Hub","summary":"API-native governed AI execution layer for humans, developers, enterprises, and autonomous agents.","description":"\n## Veklom Sovereign AI Hub\n\nVeklom is an **API-native governed execution layer** for humans, developers, enterprises, and autonomous agents.\n\n### Four-tier access model\n| Tier | Interface | Auth |\n|------|-----------|------|\n| **Humans** | Workspace UI at /workspace/ | Browser session |\n| **Developers** | REST API | Bearer JWT |\n| **Agents** | Paid routes | x402 (USDC on Base), no sign-up |\n| **Enterprises** | Governance + evidence layer | Bearer JWT + SLA |\n\n### Machine discovery\n- OpenAPI schema: `https://api.veklom.com/openapi.json`\n- Agent manifest: `https://api.veklom.com/.well-known/agent.json`\n- x402 config: `https://api.veklom.com/.well-known/x402.json`\n- MCP SSE: `https://api.veklom.com/mcp/sse`\n- llms.txt: `https://api.veklom.com/llms.txt`\n- Pricing: `https://api.veklom.com/api/v1/pricing`\n\n### Agent controls on every paid route\nEvery paid execution returns a machine-readable receipt with `request_id`, `cost_usdc`,\n`policy_result`, `evidence_id`, and `receipt_url`. Budget caps, kill switches, and wallet\nisolation are enforced before execution.\n\n### x402 micropayments\nUnauthenticated agents receive HTTP 402 with payment requirements. Pay per call in USDC on Base.\nFree tier: 5 calls/day per IP on inference and GPC compile.\n\n### OpenAI-compatible endpoint\nDrop-in replacement: `base_url=https://api.veklom.com/v1`\n","contact":{"name":"Veklom API","url":"https://veklom.com/","email":"api@veklom.com"},"license":{"name":"Proprietary","url":"https://veklom.com/legal/terms"},"version":"1.0.0"},"servers":[{"url":"https://api.veklom.com","description":"Production (machine-facing API surface)"},{"url":"https://veklom.com","description":"Production (main site)"}],"paths":{"/.well-known/ai-plugin.json":{"get":{"tags":["discovery"],"summary":"Ai Plugin Json","operationId":"ai_plugin_json__well_known_ai_plugin_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent.json":{"get":{"tags":["discovery"],"summary":"Agent Json","operationId":"agent_json__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/x402.json":{"get":{"tags":["discovery"],"summary":"X402 Json","operationId":"x402_json__well_known_x402_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"tags":["discovery"],"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/robots.txt":{"get":{"tags":["discovery"],"summary":"Robots Txt","operationId":"robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp/sse":{"get":{"tags":["discovery"],"summary":"Mcp Sse","description":"MCP SSE endpoint — streams available tools for agent discovery.","operationId":"mcp_sse_mcp_sse_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/pricing":{"get":{"tags":["discovery"],"summary":"Machine Pricing","description":"Machine-readable pricing for every governed operation.","operationId":"machine_pricing_api_v1_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pricing":{"get":{"tags":["discovery"],"summary":"Machine Pricing","description":"Machine-readable pricing for every governed operation.","operationId":"machine_pricing_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/agent-use-cases":{"get":{"tags":["discovery"],"summary":"Agent Use Cases","description":"Structured list of what Veklom can do for agents.\nAgents read this to understand affordances before planning workflows.","operationId":"agent_use_cases_api_v1_agent_use_cases_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/agent-use-cases":{"get":{"tags":["discovery"],"summary":"Agent Use Cases","description":"Structured list of what Veklom can do for agents.\nAgents read this to understand affordances before planning workflows.","operationId":"agent_use_cases_agent_use_cases_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sdk/examples":{"get":{"tags":["discovery"],"summary":"Sdk Examples","description":"Copy-paste SDK examples for agents, developers, and agent frameworks.\nShows how to call Veklom from Python, JavaScript, curl, and as an OpenAI drop-in.","operationId":"sdk_examples_api_v1_sdk_examples_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"tags":["Health"],"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/health":{"get":{"tags":["Health"],"summary":"Health Check V1","description":"Alias for /health — keeps API consistency for clients that call /api/v1/health.","operationId":"health_check_v1_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/health":{"get":{"tags":["Health"],"summary":"Health Check Api","description":"Alias for /health — explicitly requested by observability script.","operationId":"health_check_api_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/detailed":{"get":{"tags":["Health"],"summary":"Detailed Health","operationId":"detailed_health_health_detailed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api-status":{"get":{"tags":["Health"],"summary":"Platform Status","operationId":"platform_status_api_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/test-post":{"post":{"tags":["Health"],"summary":"Test Post","operationId":"test_post_test_post_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/eval-session":{"post":{"tags":["Authentication"],"summary":"Create Eval Session","description":"Create or resume a free evaluation session.\n\nUnauthenticated visitors get a limited free-tier account so the workspace\nis functional without requiring sign-up. Limited to 10 AI runs per day.","operationId":"create_eval_session_api_v1_auth_eval_session_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["Authentication"],"summary":"Register","operationId":"register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["Authentication"],"summary":"Login","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/signin":{"post":{"tags":["Authentication"],"summary":"Signin","description":"Alias for /login — frontend compatibility.","operationId":"signin_api_v1_auth_signin_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/signup":{"post":{"tags":["Authentication"],"summary":"Signup","description":"Alias for /register — frontend compatibility.","operationId":"signup_api_v1_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["Authentication"],"summary":"Logout","operationId":"logout_api_v1_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/refresh":{"post":{"tags":["Authentication"],"summary":"Refresh","operationId":"refresh_api_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["Authentication"],"summary":"Me","description":"Return the authenticated user's profile with workspace summary and capability flags.\n\nPlan is read from the active Subscription row for the user's workspace.\nFalls back to workspace.license_tier, then to the role-based default (free\nfor OWNER/ADMIN, sovereign for SUPER_ADMIN). The role-based fallback means\na self-registered OWNER always sees plan=free until a real Stripe subscription\nis activated.","operationId":"me_api_v1_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Authentication"],"summary":"Update Me","operationId":"update_me_api_v1_auth_me_patch","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/mfa/enable":{"post":{"tags":["Authentication"],"summary":"Mfa Setup","operationId":"mfa_setup_api_v1_auth_mfa_enable_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/mfa/verify":{"post":{"tags":["Authentication"],"summary":"Mfa Verify","operationId":"mfa_verify_api_v1_auth_mfa_verify_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/mfa/disable":{"post":{"tags":["Authentication"],"summary":"Mfa Disable","operationId":"mfa_disable_api_v1_auth_mfa_disable_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Authentication"],"summary":"Mfa Disable","operationId":"mfa_disable_api_v1_auth_mfa_disable_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/api-keys":{"get":{"tags":["Authentication"],"summary":"List Api Keys","operationId":"list_api_keys_api_v1_auth_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Authentication"],"summary":"Create Api Key","operationId":"create_api_key_api_v1_auth_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/api-keys/{key_id}":{"delete":{"tags":["Authentication"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_v1_auth_api_keys__key_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/providers":{"get":{"tags":["Authentication"],"summary":"List Auth Providers","description":"Public - returns available authentication providers for the login UI.","operationId":"list_auth_providers_api_v1_auth_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/github/status":{"get":{"tags":["Authentication"],"summary":"Github Status","operationId":"github_status_api_v1_auth_github_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/github/config-status":{"get":{"tags":["Authentication"],"summary":"Github Config Status","operationId":"github_config_status_api_v1_auth_github_config_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/github/login":{"get":{"tags":["Authentication"],"summary":"Github Login","operationId":"github_login_api_v1_auth_github_login_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/github/callback":{"get":{"tags":["Authentication"],"summary":"Github Callback","operationId":"github_callback_api_v1_auth_github_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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Authentication"],"summary":"Github Callback","operationId":"github_callback_api_v1_auth_github_callback_post","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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/github/repos":{"get":{"tags":["Authentication"],"summary":"Github Repos","operationId":"github_repos_api_v1_auth_github_repos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/github/repos/select":{"post":{"tags":["Authentication"],"summary":"Select Github Repo","description":"Record the user's selection of a GitHub repository and create an audit log entry.\n\nParameters:\n    body (RepoSelectRequest): Request body containing `repo_full_name` of the repository to select.\n    request (Request): HTTP request used to extract client IP and user-agent for the audit entry.\n\nRaises:\n    HTTPException: If the current user has no GitHub access token (status 400).\n\nReturns:\n    dict: {\"message\": \"Repository selected and authorized\", \"repo\": <repo_full_name>} indicating the selected repository.\n\nSide effects:\n    Persists an audit event in the database tying the authenticated user's workspace to the selected GitHub repository.","operationId":"select_github_repo_api_v1_auth_github_repos_select_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepoSelectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/connected-accounts":{"get":{"tags":["Authentication"],"summary":"Connected Accounts","operationId":"connected_accounts_api_v1_auth_connected_accounts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/connected-accounts/github":{"delete":{"tags":["Authentication"],"summary":"Unlink Github Account","operationId":"unlink_github_account_api_v1_auth_connected_accounts_github_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/sessions/revoke":{"delete":{"tags":["Authentication"],"summary":"Revoke Sessions","operationId":"revoke_sessions_api_v1_auth_sessions_revoke_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/evaluations/start":{"post":{"tags":["Evaluations"],"summary":"Start Evaluation","description":"Compatibility alias for evaluation bootstrap used by smoke/user onboarding flows.","operationId":"start_evaluation_api_v1_evaluations_start_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/smoke/eval-token":{"post":{"tags":["Smoke"],"summary":"Smoke Eval Token","operationId":"smoke_eval_token_api_v1_smoke_eval_token_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sys/health":{"get":{"tags":["System"],"summary":"Sys Health","operationId":"sys_health_api_v1_sys_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sys/gpu":{"get":{"tags":["System"],"summary":"Sys Gpu","operationId":"sys_gpu_api_v1_sys_gpu_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sys/version":{"get":{"tags":["System"],"summary":"Sys Version","operationId":"sys_version_api_v1_sys_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sys/control-plane-map":{"get":{"tags":["System"],"summary":"Control Plane Map","description":"Returns a full listing of all mounted Veklom control-plane modules.","operationId":"control_plane_map_api_v1_sys_control_plane_map_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/runs/":{"post":{"summary":"Create Run","description":"Step 1: Capture intent and create the atomic VeklomRun.","operationId":"create_run_api_v1_runs__post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Intent"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/runs/{run_id}":{"get":{"summary":"Get Run","description":"Inspect a VeklomRun.","operationId":"get_run_api_v1_runs__run_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/compile":{"post":{"summary":"Compile Run","description":"Triggers the UACP v2 Compiler to bound the intent into a structured plan.\nMarketplace-facing compile service.","operationId":"compile_run_api_v1_runs__run_id__compile_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompileRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/contextualize":{"post":{"summary":"Contextualize Run","description":"Triggers the UACP v3 Contextual Brain to enrich the plan with workspace memory and RAG embeddings.","operationId":"contextualize_run_api_v1_runs__run_id__contextualize_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContextualizeRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/govern":{"post":{"summary":"Govern Run","description":"Triggers the UACP v4 Decision Kernel to evaluate the contextualized plan.\nWill transition the run to APPROVED, HELD, or DENIED based on policy evaluation.","operationId":"govern_run_api_v1_runs__run_id__govern_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GovernRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/approve":{"post":{"summary":"Approve Run","description":"Approve a HELD run.","operationId":"approve_run_api_v1_runs__run_id__approve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runs/{run_id}/rollback":{"post":{"summary":"Rollback Run","description":"Rollback a run, creating a lineage edge in PGL.","operationId":"rollback_run_api_v1_runs__run_id__rollback_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollbackRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/copilot/registry":{"get":{"tags":["Copilot"],"summary":"Copilot Registry","operationId":"copilot_registry_api_v1_copilot_registry_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/copilot/recent-decisions":{"get":{"tags":["Copilot"],"summary":"Copilot Recent Decisions","operationId":"copilot_recent_decisions_api_v1_copilot_recent_decisions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/copilot/registry/{copilot_id}":{"get":{"tags":["Copilot"],"summary":"Get Copilot","operationId":"get_copilot_api_v1_copilot_registry__copilot_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"copilot_id","in":"path","required":true,"schema":{"type":"string","title":"Copilot Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/copilot/suggestions":{"post":{"tags":["Copilot"],"summary":"Proactive Suggestions","description":"Proactive suggestions using Ollama for RAG-based guidance.\n\nContext-aware suggestions based on:\n- Current page/route\n- User activity\n- Workspace state\n- Money-saving opportunities","operationId":"proactive_suggestions_api_v1_copilot_suggestions_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/copilot/money-saving-tips":{"get":{"tags":["Copilot"],"summary":"Money Saving Tips","description":"Static money-saving tips that are always available.","operationId":"money_saving_tips_api_v1_copilot_money_saving_tips_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/status/data":{"get":{"tags":["Workspace"],"summary":"Workspace Status Data","operationId":"workspace_status_data_api_v1_workspace_status_data_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/search":{"get":{"tags":["Workspace"],"summary":"Workspace Search","description":"Search across models, deployments, pipelines, audit logs, and docs.","operationId":"workspace_search_api_v1_workspace_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/monitoring/health":{"get":{"tags":["Workspace"],"summary":"Monitoring Health","description":"Health status of the workspace infrastructure.","operationId":"monitoring_health_api_v1_workspace_monitoring_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/monitoring/metrics":{"get":{"tags":["Workspace"],"summary":"Monitoring Metrics","description":"Metrics data for the workspace.","operationId":"monitoring_metrics_api_v1_workspace_monitoring_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/audit/logs":{"get":{"tags":["Workspace"],"summary":"Audit Logs","description":"Paginated audit logs for the workspace.","operationId":"audit_logs_api_v1_workspace_audit_logs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/autonomous/decisions":{"get":{"tags":["Workspace"],"summary":"Autonomous Decisions","description":"Recent autonomous decisions made by the system.","operationId":"autonomous_decisions_api_v1_workspace_autonomous_decisions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/billing/breakdown":{"get":{"tags":["Workspace"],"summary":"Billing Breakdown","description":"Billing breakdown for the current period.","operationId":"billing_breakdown_api_v1_workspace_billing_breakdown_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/wallet/stats/usage":{"get":{"tags":["Workspace"],"summary":"Wallet Stats Usage","description":"Wallet usage statistics.","operationId":"wallet_stats_usage_api_v1_workspace_wallet_stats_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/security/alerts":{"get":{"tags":["Workspace"],"summary":"Security Alerts","description":"Security alerts for the workspace.","operationId":"security_alerts_api_v1_workspace_security_alerts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/audit-export":{"get":{"tags":["Workspace"],"summary":"Export Audit Log","operationId":"export_audit_log_api_v1_workspace_audit_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace":{"get":{"tags":["Workspace"],"summary":"Get Workspace","operationId":"get_workspace_api_v1_workspace_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/overview":{"get":{"tags":["Workspace"],"summary":"Workspace Overview","operationId":"workspace_overview_api_v1_workspace_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/overview/live":{"get":{"tags":["Workspace"],"summary":"Workspace Overview Live","operationId":"workspace_overview_live_api_v1_workspace_overview_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/workspace/observability":{"get":{"tags":["Workspace"],"summary":"Workspace Observability","operationId":"workspace_observability_api_v1_workspace_observability_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Workspace"],"summary":"Update Observability","operationId":"update_observability_api_v1_workspace_observability_patch","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/settings":{"get":{"tags":["Workspace"],"summary":"Get Workspace Settings","operationId":"get_workspace_settings_api_v1_workspace_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Workspace"],"summary":"Update Workspace Settings","operationId":"update_workspace_settings_api_v1_workspace_settings_patch","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/integrations":{"get":{"tags":["Workspace"],"summary":"Get Integrations","operationId":"get_integrations_api_v1_workspace_integrations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/integrations/{integration_name}":{"patch":{"tags":["Workspace"],"summary":"Update Integration","operationId":"update_integration_api_v1_workspace_integrations__integration_name__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"integration_name","in":"path","required":true,"schema":{"type":"string","title":"Integration Name"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/integrations/{provider}/test":{"post":{"tags":["Workspace"],"summary":"Test Integration","operationId":"test_integration_api_v1_workspace_integrations__provider__test_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/routing":{"get":{"tags":["Workspace"],"summary":"Get Routing","operationId":"get_routing_api_v1_workspace_routing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["Workspace"],"summary":"Update Routing","operationId":"update_routing_api_v1_workspace_routing_patch","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/models":{"get":{"tags":["Workspace"],"summary":"List Models","description":"List models with optional provider filtering.","operationId":"list_models_api_v1_workspace_models_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/models/{model_id}/deploy":{"post":{"tags":["Workspace"],"summary":"Deploy Model","description":"Create a deployment from a selected model.","operationId":"deploy_model_api_v1_workspace_models__model_id__deploy_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/models/{model_id}/versions":{"get":{"tags":["Workspace"],"summary":"Model Versions","description":"Rich version history for a model including rollback window and audit lineage.","operationId":"model_versions_api_v1_workspace_models__model_id__versions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/models/{model_id}/rollback":{"post":{"tags":["Workspace"],"summary":"Rollback Model Version","description":"Roll back a model to a specific version within the 30-day window.","operationId":"rollback_model_version_api_v1_workspace_models__model_id__rollback_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/models/ab-split":{"get":{"tags":["Workspace"],"summary":"Get Ab Splits","description":"Get current A/B traffic split configuration for this workspace.","operationId":"get_ab_splits_api_v1_workspace_models_ab_split_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Workspace"],"summary":"Save Ab Splits","description":"Save A/B traffic split configuration. splits must be a list of {tag, traffic_pct, label}.","operationId":"save_ab_splits_api_v1_workspace_models_ab_split_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/models/upload":{"post":{"tags":["Workspace"],"summary":"Upload Model","description":"Upload/register a custom model (placeholder for now).","operationId":"upload_model_api_v1_workspace_models_upload_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/providers":{"get":{"tags":["Workspace"],"summary":"List Providers","description":"List available providers based on user role and plan.","operationId":"list_providers_api_v1_workspace_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Workspace"],"summary":"Add Provider","description":"Add a custom provider (BYOK) for the workspace.","operationId":"add_provider_api_v1_workspace_providers_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/models/{model_id}":{"patch":{"tags":["Workspace"],"summary":"Toggle Model","operationId":"toggle_model_api_v1_workspace_models__model_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/api-keys":{"get":{"tags":["Workspace"],"summary":"Ws Api Keys","operationId":"ws_api_keys_api_v1_workspace_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Workspace"],"summary":"Create Ws Key","operationId":"create_ws_key_api_v1_workspace_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/api-keys/{key_id}":{"delete":{"tags":["Workspace"],"summary":"Delete Ws Key","operationId":"delete_ws_key_api_v1_workspace_api_keys__key_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/members":{"get":{"tags":["Workspace"],"summary":"List Members","operationId":"list_members_api_v1_workspace_members_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/members/invite":{"post":{"tags":["Workspace"],"summary":"Invite Member","operationId":"invite_member_api_v1_workspace_members_invite_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/budget":{"get":{"tags":["Workspace"],"summary":"Workspace Budget","operationId":"workspace_budget_api_v1_workspace_budget_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Workspace"],"summary":"Set Workspace Budget","operationId":"set_workspace_budget_api_v1_workspace_budget_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/cost-budget":{"get":{"tags":["Workspace"],"summary":"Cost Budget","operationId":"cost_budget_api_v1_workspace_cost_budget_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/deployments/pause-all":{"post":{"tags":["Workspace"],"summary":"Pause All Deployments","operationId":"pause_all_deployments_api_v1_workspace_deployments_pause_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/secrets/rotate":{"post":{"tags":["Workspace"],"summary":"Rotate Workspace Secrets","operationId":"rotate_workspace_secrets_api_v1_workspace_secrets_rotate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/workspace":{"delete":{"tags":["Workspace"],"summary":"Delete Workspace","description":"Danger zone: Delete the entire workspace and all its data.","operationId":"delete_workspace_api_v1_workspace_workspace_delete","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/cost-budget.csv":{"get":{"tags":["Workspace"],"summary":"Cost Budget Csv","operationId":"cost_budget_csv_api_v1_workspace_cost_budget_csv_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/workspace/onboarding/vertical":{"get":{"tags":["Workspace"],"summary":"Get Onboarding Vertical","description":"Return current vertical and available options.","operationId":"get_onboarding_vertical_api_v1_workspace_onboarding_vertical_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Workspace"],"summary":"Set Onboarding Vertical","description":"Select the industry vertical during onboarding.","operationId":"set_onboarding_vertical_api_v1_workspace_onboarding_vertical_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/complete":{"post":{"tags":["AI"],"summary":"Ai Complete","description":"Handle an AI completion request, persist an execution log, and return the generated text with usage and billing metadata.\n\nParameters:\n    body (dict): Completion request payload forwarded to the completion service; expected to include at least the model and messages/prompts.\n\nReturns:\n    dict: Response containing:\n        - id (str): Run identifier derived from the persisted ExecLog.\n        - response_text (str): Generated completion text.\n        - input_tokens (int): Number of prompt/input tokens used.\n        - output_tokens (int): Number of completion/output tokens produced.\n        - tokens_deducted (int): Total tokens charged (input + output).\n        - provider (str): Provider that produced the result.\n        - model (str): Model identifier used for the completion.\n        - route (str): Routing label used for the request.\n        - policy (dict): Policy evaluation summary for the request.\n        - audit_id (int): Database ExecLog primary key for this run.\n        - latency_ms (int): Round-trip latency in milliseconds measured for the completion call.\n        - cost_usd (float): Computed cost for the run in USD.\n        - content_safety_score (float): Safety score assigned to the response.","operationId":"ai_complete_api_v1_ai_complete_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/models":{"get":{"tags":["AI"],"summary":"List Models","description":"Return available AI model metadata.\n\nReturns:\n    list[dict]: A list of model descriptors. Each dictionary contains:\n        - `id` (str): Model identifier.\n        - `provider` (str): Provider name.\n        - `name` (str): Human-readable model name.\n        - `context_window` (int): Maximum context length in tokens.\n        - `cost_per_1k_input` (float): Cost in USD per 1,000 input tokens.","operationId":"list_models_api_v1_ai_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/providers":{"get":{"tags":["AI"],"summary":"List Providers","description":"Provides available AI providers and the default provider ordering.\n\nReturns:\n    dict: Mapping with keys:\n        - \"default_order\": dict mapping provider ID to numeric priority.\n        - \"providers\": list of provider IDs in the default sequence (e.g., [\"ollama\", \"groq\", \"huggingface\", \"gemini\", \"openai\"]).","operationId":"list_providers_api_v1_ai_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/predict-cost":{"post":{"tags":["AI"],"summary":"Predict Cost","description":"Estimate API usage cost for a given model and token counts.\n\nParameters:\n    body (dict): Request payload. Recognized keys:\n        - model (str): Model identifier to base pricing on; defaults to \"gpt-4o\".\n        - input_tokens (int): Number of input tokens to price. If absent, `estimated_tokens` is used; defaults to 1000.\n        - estimated_tokens (int): Fallback for input token estimate.\n        - output_tokens (int): Number of output tokens to price; defaults to 0.\n\nReturns:\n    dict: Cost estimate containing:\n        - model (str): The model id used for pricing.\n        - input_tokens (int): Input token count used.\n        - output_tokens (int): Output token count used.\n        - total_tokens (int): Sum of input and output tokens.\n        - cost_per_1k_input (float): Input cost per 1k tokens (USD).\n        - cost_per_1k_output (float): Output cost per 1k tokens (USD).\n        - estimated_cost_usd (float): Rounded total estimated cost in USD.\n        - currency (str): Currency code, always \"USD\".","operationId":"predict_cost_api_v1_ai_predict_cost_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/transcribe":{"post":{"tags":["AI"],"summary":"Transcribe","description":"Return a placeholder transcription payload instructing the caller to upload audio for processing.\n\nReturns:\n    dict: A payload with:\n        - `text` (str): Placeholder transcription message.\n        - `language` (str): Language code, default `\"en\"`.\n        - `duration_seconds` (int): Audio duration in seconds; `0` for the placeholder.","operationId":"transcribe_api_v1_ai_transcribe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/inference":{"post":{"tags":["AI"],"summary":"Ai Inference","description":"Perform policy-guided AI inference with hot/warm caching and tenant-aware provider selection.\n\nReturns:\n    A mapping with inference results and metadata. Common keys:\n        id (str): Unique inference identifier.\n        response_text (str): Generated text from the model.\n        provider (str): Provider name that produced or would produce the response.\n        model (str): Model identifier used or returned by the provider.\n        tier (str): Selected task tier used for provider routing.\n        cache_hit (str|None): `\"hot\"` or `\"warm\"` when served from cache, `None` when freshly computed.\n        policy (dict): Policy evaluation summary (e.g., `{\"status\": \"passed\", ...}`).\n        latency_ms (int): Round-trip latency in milliseconds.\n        cost_usd (float): Estimated cost for the response (0.0 for cache hits).\n\n    Additional keys present for cache misses:\n        escalation_reason (str|None): Reason for escalation when provider routing changed.\n        key_source (str|None): Source of the API key used for the outbound call.\n        audit_id (int): ID of the persisted execution log record.\n        input_tokens (int): Count of prompt/input tokens billed.\n        output_tokens (int): Count of completion/output tokens billed.","operationId":"ai_inference_api_v1_ai_inference_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/chat":{"post":{"tags":["Playground"],"summary":"Run Inference","description":"Execute inference using the session configuration.","operationId":"run_inference_api_v1_ai_chat_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/chat/memory":{"get":{"tags":["AI"],"summary":"Get Chat Memory","description":"Fetches conversation memory and its statistics for the given session.\n\nParameters:\n    session_id (str): The workspace-scoped conversation session identifier.\n\nReturns:\n    dict: Combined memory metadata and messages. The returned mapping includes memory statistics (e.g., count, max, ttl_hours) and a \"messages\" key with the list of stored message objects for the session.","operationId":"get_chat_memory_api_v1_ai_chat_memory_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"query","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"}}}}}},"delete":{"tags":["AI"],"summary":"Clear Chat Memory","description":"Clear stored conversation memory for the given session.\n\nParameters:\n    session_id (str): Identifier of the conversation session to clear. The workspace is taken from the authenticated user's `workspace_id` or `\"default\"` if unset.\n\nReturns:\n    dict: {\"cleared\": True, \"session_id\": session_id}","operationId":"clear_chat_memory_api_v1_ai_chat_memory_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"query","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/v1/ai/routing/tier":{"get":{"tags":["AI"],"summary":"Explain Tier","description":"Determine the routing tier and recommended providers for a given request body.\n\nParameters:\n    body (dict): Optional request payload whose fields are used to compute the task tier (e.g., stream, agent_type, context size).\n\nReturns:\n    result (dict): Mapping with the following keys:\n        - tier: Selected tier label (str).\n        - providers: List of provider IDs recommended for the selected tier.\n        - tiers: Full mapping of tiers to providers.\n        - rules: Human-readable descriptions of each tier's intended use.\n        - escalation_signals: Signals that map conditions to preferred tiers.","operationId":"explain_tier_api_v1_ai_routing_tier_get","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/exec":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Prompt","operationId":"exec_prompt_api_v1_exec_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/ai/exec":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Stream","operationId":"exec_stream_api_ai_exec_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/chat/completions":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Stream","operationId":"exec_stream_api_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/exec":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Prompt","operationId":"exec_prompt_v1_exec_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ai/exec":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Stream","operationId":"exec_stream_ai_exec_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/completions":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Stream","operationId":"exec_stream_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/playground/sessions":{"get":{"tags":["Playground"],"summary":"List Sessions","operationId":"list_sessions_api_v1_playground_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Playground"],"summary":"Create Session","operationId":"create_session_api_v1_playground_sessions_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/playground/sessions/{session_id}":{"get":{"tags":["Playground"],"summary":"Get Session","operationId":"get_session_api_v1_playground_sessions__session_id__get","security":[{"HTTPBearer":[]}],"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"}}}}}},"patch":{"tags":["Playground"],"summary":"Update Session","operationId":"update_session_api_v1_playground_sessions__session_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Playground"],"summary":"Delete Session","operationId":"delete_session_api_v1_playground_sessions__session_id__delete","security":[{"HTTPBearer":[]}],"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/v1/playground/sessions/{session_id}/branch":{"post":{"tags":["Playground"],"summary":"Branch Session","operationId":"branch_session_api_v1_playground_sessions__session_id__branch_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playground/sessions/{session_id}/tools":{"patch":{"tags":["Playground"],"summary":"Update Session Tools","operationId":"update_session_tools_api_v1_playground_sessions__session_id__tools_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playground/sessions/{session_id}/response-format":{"patch":{"tags":["Playground"],"summary":"Update Response Format","operationId":"update_response_format_api_v1_playground_sessions__session_id__response_format_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playground/prompts":{"get":{"tags":["Playground"],"summary":"List Prompts","operationId":"list_prompts_api_v1_playground_prompts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Playground"],"summary":"Create Prompt","operationId":"create_prompt_api_v1_playground_prompts_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/playground/prompts/{prompt_id}":{"get":{"tags":["Playground"],"summary":"Get Prompt","operationId":"get_prompt_api_v1_playground_prompts__prompt_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Playground"],"summary":"Update Prompt","operationId":"update_prompt_api_v1_playground_prompts__prompt_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Playground"],"summary":"Delete Prompt","operationId":"delete_prompt_api_v1_playground_prompts__prompt_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playground/tools":{"get":{"tags":["Playground"],"summary":"List Tools","operationId":"list_tools_api_v1_playground_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/chat/completions":{"post":{"tags":["Playground"],"summary":"Run Inference","description":"Execute inference using the session configuration.","operationId":"run_inference_api_v1_chat_completions_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/playground/inference":{"post":{"tags":["Playground"],"summary":"Run Inference","description":"Execute inference using the session configuration.","operationId":"run_inference_api_v1_playground_inference_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/runtime/jobs/{transaction_id}/status":{"get":{"tags":["Runtime Jobs"],"summary":"Get Job Status","description":"Polls the runtime job status from Redis for idempotency and tracking.","operationId":"get_job_status_api_v1_runtime_jobs__transaction_id__status_get","parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/wallet/balance":{"get":{"tags":["Billing"],"summary":"Wallet Balance","description":"Return the real wallet balance computed from WalletTransaction rows.","operationId":"wallet_balance_api_v1_wallet_balance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/wallet/transactions":{"get":{"tags":["Billing"],"summary":"Wallet Transactions","operationId":"wallet_transactions_api_v1_wallet_transactions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/wallet/topup/options":{"get":{"tags":["Billing"],"summary":"Topup Options","operationId":"topup_options_api_v1_wallet_topup_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/wallet/topup/checkout":{"post":{"tags":["Billing"],"summary":"Topup Checkout","operationId":"topup_checkout_api_v1_wallet_topup_checkout_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/wallet/stats/usage":{"get":{"tags":["Billing"],"summary":"Wallet Usage Stats","operationId":"wallet_usage_stats_api_v1_wallet_stats_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/subscriptions/plans":{"get":{"tags":["Billing"],"summary":"Subscription Plans","description":"Return plan catalog matching veklom.com landing page pricing (source of truth).\n\nPlan IDs map to the frontend tier constants:\n  free → Free, starter → Starter, pro → Pro,\n  sovereign → Sovereign, enterprise → Enterprise.\n\nPricing model: one-time activation + minimum operating reserve.\nPer-call costs deducted from reserve (Playground $0.25, Compare $0.75, etc.).","operationId":"subscription_plans_api_v1_subscriptions_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/subscriptions/current":{"get":{"tags":["Billing"],"summary":"Current Subscription","description":"Return the real active subscription from the DB, or an honest empty state.\nBypasses 401 to prevent frontend SWR infinite retry loops on unauthenticated/loading state.","operationId":"current_subscription_api_v1_subscriptions_current_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/subscriptions/checkout":{"post":{"tags":["Billing"],"summary":"Subscription Checkout","operationId":"subscription_checkout_api_v1_subscriptions_checkout_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/subscriptions/portal":{"get":{"tags":["Billing"],"summary":"Subscription Portal","operationId":"subscription_portal_api_v1_subscriptions_portal_get","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Billing"],"summary":"Subscription Portal","operationId":"subscription_portal_api_v1_subscriptions_portal_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/usage":{"get":{"tags":["Billing"],"summary":"Billing Usage","operationId":"billing_usage_api_v1_billing_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/invoices":{"get":{"tags":["Billing"],"summary":"List Invoices","operationId":"list_invoices_api_v1_billing_invoices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/breakdown":{"get":{"tags":["Billing"],"summary":"Billing Breakdown","operationId":"billing_breakdown_api_v1_billing_breakdown_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/report":{"get":{"tags":["Billing"],"summary":"Billing Report","operationId":"billing_report_api_v1_billing_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/allocate":{"post":{"tags":["Billing"],"summary":"Billing Allocate","operationId":"billing_allocate_api_v1_billing_allocate_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/budget":{"get":{"tags":["Billing"],"summary":"List Budget Rules","operationId":"list_budget_rules_api_v1_budget_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"budget_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"monthly","title":"Budget Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Billing"],"summary":"Create Budget Rule","operationId":"create_budget_rule_api_v1_budget_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/budget/{rule_id}":{"delete":{"tags":["Billing"],"summary":"Delete Budget Rule","operationId":"delete_budget_rule_api_v1_budget__rule_id__delete","security":[{"HTTPBearer":[]}],"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/v1/budget/forecast":{"get":{"tags":["Billing"],"summary":"Budget Forecast","operationId":"budget_forecast_api_v1_budget_forecast_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cost/predict":{"get":{"tags":["Billing"],"summary":"Cost Predict","operationId":"cost_predict_api_v1_cost_predict_get","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Billing"],"summary":"Cost Predict","operationId":"cost_predict_api_v1_cost_predict_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cost/history":{"get":{"tags":["Billing"],"summary":"Cost History","operationId":"cost_history_api_v1_cost_history_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cost/kill-switch/status":{"get":{"tags":["Billing"],"summary":"Cost Kill Switch Status","description":"Return real kill-switch state and current spend from DB.","operationId":"cost_kill_switch_status_api_v1_cost_kill_switch_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cost/kill-switch":{"post":{"tags":["Billing"],"summary":"Cost Kill Switch Toggle","operationId":"cost_kill_switch_toggle_api_v1_cost_kill_switch_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Billing"],"summary":"Cost Kill Switch Disable","operationId":"cost_kill_switch_disable_api_v1_cost_kill_switch_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/payments/create-checkout":{"post":{"tags":["Billing"],"summary":"Create Checkout","operationId":"create_checkout_api_v1_payments_create_checkout_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/payments/create-intent":{"post":{"tags":["Billing"],"summary":"Create Payment Intent","operationId":"create_payment_intent_api_v1_payments_create_intent_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/subscriptions/webhook":{"post":{"tags":["Billing"],"summary":"Stripe Webhook","operationId":"stripe_webhook_api_v1_subscriptions_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/stripe":{"post":{"tags":["Billing"],"summary":"Stripe Webhook","operationId":"stripe_webhook_api_v1_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/resend":{"post":{"tags":["Webhooks"],"summary":"Resend Webhook","description":"Handle Resend email delivery webhooks.\n\nThis endpoint receives webhook events from Resend such as:\n- Email delivery status\n- Bounces\n- Complaints\n- Opens/Clicks\n\nReference: https://resend.com/docs/api-reference/webhooks","operationId":"resend_webhook_api_v1_webhooks_resend_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/payouts/create":{"post":{"tags":["Billing"],"summary":"Create Payout","operationId":"create_payout_api_v1_payouts_create_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/payouts/vendor/{vendor_id}":{"get":{"tags":["Billing"],"summary":"Vendor Payouts","operationId":"vendor_payouts_api_v1_payouts_vendor__vendor_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"vendor_id","in":"path","required":true,"schema":{"type":"string","title":"Vendor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orders/create":{"post":{"tags":["Billing"],"summary":"Create Order","operationId":"create_order_api_v1_orders_create_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/config/status":{"get":{"tags":["Billing"],"summary":"Billing Config Status","description":"Check if billing/payment configuration is properly set up.","operationId":"billing_config_status_api_v1_billing_config_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/payments/initiate":{"post":{"tags":["Payments"],"summary":"Initiate Payment","description":"Initiate a payment and create a pending payment record.\n\nReturns an order_id that the client will use to submit the transaction hash.","operationId":"initiate_payment_api_v1_payments_initiate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiatePaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/payments/submit":{"post":{"tags":["Payments"],"summary":"Submit Payment","description":"Submit a transaction hash for payment confirmation.\n\nThe server will watch the chain for transaction confirmation asynchronously.\nThis endpoint returns immediately to avoid blocking the client.","operationId":"submit_payment_api_v1_payments_submit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitPaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/payments/status/{order_id}":{"get":{"tags":["Payments"],"summary":"Get Payment Status","description":"Get the current status of a payment.","operationId":"get_payment_status_api_v1_payments_status__order_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/events":{"post":{"tags":["Security"],"summary":"Create Security Event","operationId":"create_security_event_api_v1_security_events_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Security"],"summary":"List Security Events","operationId":"list_security_events_api_v1_security_events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"threat_type","in":"query","required":false,"schema":{"type":"string","title":"Threat Type"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"open","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/events/{event_id}/resolve":{"post":{"tags":["Security"],"summary":"Resolve Event","operationId":"resolve_event_api_v1_security_events__event_id__resolve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Security"],"summary":"Resolve Event","operationId":"resolve_event_api_v1_security_events__event_id__resolve_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/dashboard":{"get":{"tags":["Security"],"summary":"Security Dashboard","operationId":"security_dashboard_api_v1_security_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/stats":{"get":{"tags":["Security"],"summary":"Security Stats","operationId":"security_stats_api_v1_security_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/alerts":{"get":{"tags":["Security"],"summary":"Security Alerts","operationId":"security_alerts_api_v1_security_alerts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/alerts/{alert_id}/acknowledge":{"post":{"tags":["Security"],"summary":"Acknowledge Alert","operationId":"acknowledge_alert_api_v1_security_alerts__alert_id__acknowledge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Security"],"summary":"Acknowledge Alert","operationId":"acknowledge_alert_api_v1_security_alerts__alert_id__acknowledge_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/alerts/{alert_id}":{"patch":{"tags":["Security"],"summary":"Update Alert","operationId":"update_alert_api_v1_security_alerts__alert_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/events/{event_id}":{"get":{"tags":["Security"],"summary":"Get Security Event","operationId":"get_security_event_api_v1_security_events__event_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/events/{event_id}/acknowledge":{"post":{"tags":["Security"],"summary":"Acknowledge Event","operationId":"acknowledge_event_api_v1_security_events__event_id__acknowledge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/events/{event_id}/assign":{"put":{"tags":["Security"],"summary":"Assign Event","operationId":"assign_event_api_v1_security_events__event_id__assign_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Security"],"summary":"Assign Event","operationId":"assign_event_api_v1_security_events__event_id__assign_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/kill-switch/activate":{"post":{"tags":["Security"],"summary":"Activate Kill Switch","operationId":"activate_kill_switch_api_v1_kill_switch_activate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/kill-switch/deactivate":{"post":{"tags":["Security"],"summary":"Deactivate Kill Switch","operationId":"deactivate_kill_switch_api_v1_kill_switch_deactivate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/kill-switch/status":{"get":{"tags":["Security"],"summary":"Kill Switch Status","operationId":"kill_switch_status_api_v1_kill_switch_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/users":{"get":{"tags":["Security"],"summary":"Locker Users","operationId":"locker_users_api_v1_locker_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Security"],"summary":"Create Locker User","operationId":"create_locker_user_api_v1_locker_users_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/users/{user_id}":{"get":{"tags":["Security"],"summary":"Get Locker User","operationId":"get_locker_user_api_v1_locker_users__user_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Security"],"summary":"Update Locker User","operationId":"update_locker_user_api_v1_locker_users__user_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Security"],"summary":"Delete Locker User","operationId":"delete_locker_user_api_v1_locker_users__user_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/locker/users/{user_id}/activity":{"get":{"tags":["Security"],"summary":"Get User Activity","operationId":"get_user_activity_api_v1_locker_users__user_id__activity_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/locker/users/":{"post":{"tags":["Security"],"summary":"Create Locker User","operationId":"create_locker_user_api_v1_locker_users__post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/users/{user_id}/sessions/revoke":{"post":{"tags":["Security"],"summary":"Revoke User Sessions","operationId":"revoke_user_sessions_api_v1_locker_users__user_id__sessions_revoke_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/locker/security":{"get":{"tags":["Security"],"summary":"Locker Security","operationId":"locker_security_api_v1_locker_security_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/security/controls":{"get":{"tags":["Security"],"summary":"Locker Security Controls","operationId":"locker_security_controls_api_v1_locker_security_controls_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/security/controls/{control_id}":{"post":{"tags":["Security"],"summary":"Update Security Control","operationId":"update_security_control_api_v1_locker_security_controls__control_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"control_id","in":"path","required":true,"schema":{"type":"string","title":"Control Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Security"],"summary":"Update Security Control","operationId":"update_security_control_api_v1_locker_security_controls__control_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"control_id","in":"path","required":true,"schema":{"type":"string","title":"Control Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/locker/security/controls/{control_id}/enable":{"post":{"tags":["Security"],"summary":"Enable Control","operationId":"enable_control_api_v1_locker_security_controls__control_id__enable_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"control_id","in":"path","required":true,"schema":{"type":"string","title":"Control Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/locker/security/controls/{control_id}/disable":{"post":{"tags":["Security"],"summary":"Disable Control","operationId":"disable_control_api_v1_locker_security_controls__control_id__disable_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"control_id","in":"path","required":true,"schema":{"type":"string","title":"Control Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/locker/security/dashboard":{"get":{"tags":["Security"],"summary":"Locker Security Dashboard","operationId":"locker_security_dashboard_api_v1_locker_security_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/security/events":{"get":{"tags":["Security"],"summary":"Locker Security Events","operationId":"locker_security_events_api_v1_locker_security_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/security/threats/stats":{"get":{"tags":["Security"],"summary":"Locker Threat Stats","operationId":"locker_threat_stats_api_v1_locker_security_threats_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/monitoring":{"get":{"tags":["Security"],"summary":"Locker Monitoring","operationId":"locker_monitoring_api_v1_locker_monitoring_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/monitoring/status":{"get":{"tags":["Security"],"summary":"Locker Monitoring Status","operationId":"locker_monitoring_status_api_v1_locker_monitoring_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/monitoring/health/detailed":{"get":{"tags":["Security"],"summary":"Locker Health Detailed","operationId":"locker_health_detailed_api_v1_locker_monitoring_health_detailed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/monitoring/metrics/performance":{"get":{"tags":["Security"],"summary":"Locker Perf Metrics","operationId":"locker_perf_metrics_api_v1_locker_monitoring_metrics_performance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/monitoring/alerts":{"get":{"tags":["Security"],"summary":"Locker Alerts","operationId":"locker_alerts_api_v1_locker_monitoring_alerts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/monitoring/alerts/summary":{"get":{"tags":["Security"],"summary":"Locker Alerts Summary","operationId":"locker_alerts_summary_api_v1_locker_monitoring_alerts_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locker/monitoring/alerts/{alert_id}/resolve":{"post":{"tags":["Security"],"summary":"Resolve Locker Alert","operationId":"resolve_locker_alert_api_v1_locker_monitoring_alerts__alert_id__resolve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/vault":{"get":{"tags":["Security"],"summary":"Vault List","operationId":"vault_list_api_v1_security_vault_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Security"],"summary":"Vault Add","operationId":"vault_add_api_v1_security_vault_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/vault/{secret_id}/reveal":{"get":{"tags":["Security"],"summary":"Vault Reveal","operationId":"vault_reveal_api_v1_security_vault__secret_id__reveal_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/vault/{secret_id}/rotate":{"post":{"tags":["Security"],"summary":"Vault Rotate One","operationId":"vault_rotate_one_api_v1_security_vault__secret_id__rotate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/security/vault/rotate-all":{"post":{"tags":["Security"],"summary":"Vault Rotate All","operationId":"vault_rotate_all_api_v1_security_vault_rotate_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/vault/{secret_id}":{"delete":{"tags":["Security"],"summary":"Vault Delete","operationId":"vault_delete_api_v1_security_vault__secret_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/threats/stats":{"get":{"tags":["Security"],"summary":"Threat Stats","operationId":"threat_stats_api_v1_threats_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/governance/dsid":{"post":{"tags":["Security"],"summary":"Generate Governed Identity","description":"Generate and cryptographically sign a DSID-P agent identity & action receipt.","operationId":"generate_governed_identity_api_v1_security_governance_dsid_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/governance/rara":{"post":{"tags":["Security"],"summary":"Evaluate Rara Invariants","description":"Evaluate a proposed state mutation against structural, semantic, and temporal RARA invariants.","operationId":"evaluate_rara_invariants_api_v1_security_governance_rara_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/governance/memory/rank":{"post":{"tags":["Security"],"summary":"Rank Memory Sphere","description":"Evaluate Hash Sphere coordinate resonance and execute the 7-weight Hybrid Memory Ranker.","operationId":"rank_memory_sphere_api_v1_security_governance_memory_rank_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/security/governance/ats":{"get":{"tags":["Security"],"summary":"Fetch Agent Trust Scores","description":"Fetch structured Agent Trust Scores (ATS) mapped to tiers (T1 -> T5).","operationId":"fetch_agent_trust_scores_api_v1_security_governance_ats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/freeze":{"post":{"tags":["Security"],"summary":"Zeno Freeze","description":"Freeze an agent under Zeno observation. All state mutations are blocked while frozen.","operationId":"zeno_freeze_api_v1_governance_zeno_freeze_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/unfreeze":{"post":{"tags":["Security"],"summary":"Zeno Unfreeze","description":"Unfreeze an agent — requires explicit approval.","operationId":"zeno_unfreeze_api_v1_governance_zeno_unfreeze_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/status/{agent_id}":{"get":{"tags":["Security"],"summary":"Zeno Status","description":"Check whether an agent is currently frozen under Zeno observation.","operationId":"zeno_status_api_v1_governance_zeno_status__agent_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/governance/zeno/pin-state":{"post":{"tags":["Security"],"summary":"Zeno Pin State","description":"Pin a known-good state for an agent. Future coherence checks compare against this.","operationId":"zeno_pin_state_api_v1_governance_zeno_pin_state_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/coherence":{"post":{"tags":["Security"],"summary":"Zeno Coherence Check","description":"Compare observed_state for an agent against its pinned baseline.\nIf coherence falls below threshold the agent is auto-frozen.","operationId":"zeno_coherence_check_api_v1_governance_zeno_coherence_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/mutation-gate":{"post":{"tags":["Security"],"summary":"Zeno Mutation Gate","description":"Gate for any write operation on a governed agent.\nReturns allowed=True or allowed=False with a signed evidence bundle.\nWire this before every state-mutating operation.","operationId":"zeno_mutation_gate_api_v1_governance_zeno_mutation_gate_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/cascade":{"post":{"tags":["Security"],"summary":"Zeno Register Cascade","description":"Register cascade dependencies: when parent_id is frozen, dependent_ids are also frozen.","operationId":"zeno_register_cascade_api_v1_governance_zeno_cascade_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/observe":{"post":{"tags":["Security"],"summary":"Zeno Observation Cycle","description":"Run a full Zeno observation cycle across the specified agent_ids.\nChecks coherence for each, freezes on failure, returns summary report.","operationId":"zeno_observation_cycle_api_v1_governance_zeno_observe_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/zeno/evidence/{agent_id}":{"get":{"tags":["Security"],"summary":"Zeno Evidence","description":"Retrieve all signed evidence bundles for an agent's Zeno interventions.","operationId":"zeno_evidence_api_v1_governance_zeno_evidence__agent_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/governance/gladiator/routes":{"get":{"tags":["Security"],"summary":"Gladiator Routes","description":"List all registered execution routes with their current Gladiator scores.","operationId":"gladiator_routes_api_v1_governance_gladiator_routes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/circuit-breaker":{"get":{"tags":["Security"],"summary":"Gladiator Circuit Breaker","description":"Return the circuit-breaker (valve) status for all routes — health at a glance.","operationId":"gladiator_circuit_breaker_api_v1_governance_gladiator_circuit_breaker_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/select":{"post":{"tags":["Security"],"summary":"Gladiator Select Route","description":"Contest all active routes and return the winner for a given task type.","operationId":"gladiator_select_route_api_v1_governance_gladiator_select_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/benchmark":{"post":{"tags":["Security"],"summary":"Gladiator Benchmark","description":"Benchmark a specific route and update its Gladiator score. May trigger demotion.","operationId":"gladiator_benchmark_api_v1_governance_gladiator_benchmark_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/optimize":{"post":{"tags":["Security"],"summary":"Gladiator Optimize","description":"Run the full Gladiator optimization cycle:\nbenchmarks all routes, demotes underperformers, recovers healed routes,\nand returns a comprehensive before/after evidence report.","operationId":"gladiator_optimize_api_v1_governance_gladiator_optimize_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/assign-load":{"post":{"tags":["Security"],"summary":"Gladiator Assign Load","description":"Distribute N agents across active routes using Gladiator score weighting.\nReturns allocation map {route_id: agent_count}.","operationId":"gladiator_assign_load_api_v1_governance_gladiator_assign_load_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/routes/restore":{"post":{"tags":["Security"],"summary":"Gladiator Restore Route","description":"Manually restore a demoted route back into the active arena.","operationId":"gladiator_restore_route_api_v1_governance_gladiator_routes_restore_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/routes/forge":{"post":{"tags":["Security"],"summary":"Gladiator Forge Route","description":"Register a new candidate route into the Gladiator arena.\nThe route will be benchmarked on the next optimization cycle.","operationId":"gladiator_forge_route_api_v1_governance_gladiator_routes_forge_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/governance/gladiator/benchmarks":{"get":{"tags":["Security"],"summary":"Gladiator Benchmarks","description":"Retrieve recent benchmark history for all routes.","operationId":"gladiator_benchmarks_api_v1_governance_gladiator_benchmarks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/governance/gladiator/optimizations":{"get":{"tags":["Security"],"summary":"Gladiator Optimizations","description":"Retrieve recent optimization cycle reports.","operationId":"gladiator_optimizations_api_v1_governance_gladiator_optimizations_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/governance/health":{"get":{"tags":["Security"],"summary":"Governance Health","description":"Unified governance health snapshot:\n  - Zeno freeze count\n  - Gladiator circuit-breaker status\n  - RARA / ATS summary","operationId":"governance_health_api_v1_governance_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/report":{"get":{"tags":["Compliance"],"summary":"Compliance Report","description":"Generate compliance report for a specific regulation and date range.\n\nAccepts:\n- regulation: \"gdpr\", \"ccpa\", \"soc2\", \"hipaa\"\n- start_date: \"YYYY-MM-DD\"\n- end_date: \"YYYY-MM-DD\"\n\nReturns:\n- regulation: The regulation name\n- period: Date range\n- compliance_score: Overall score (0-100)\n- findings: List of compliance findings\n- recommendations: List of recommendations\n- generated_at: ISO timestamp","operationId":"compliance_report_api_v1_compliance_report_get","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Compliance"],"summary":"Compliance Report","description":"Generate compliance report for a specific regulation and date range.\n\nAccepts:\n- regulation: \"gdpr\", \"ccpa\", \"soc2\", \"hipaa\"\n- start_date: \"YYYY-MM-DD\"\n- end_date: \"YYYY-MM-DD\"\n\nReturns:\n- regulation: The regulation name\n- period: Date range\n- compliance_score: Overall score (0-100)\n- findings: List of compliance findings\n- recommendations: List of recommendations\n- generated_at: ISO timestamp","operationId":"compliance_report_api_v1_compliance_report_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/frameworks":{"get":{"tags":["Compliance"],"summary":"List Frameworks","description":"All 6 compliance frameworks with live scores and evidence counts.","operationId":"list_frameworks_api_v1_compliance_frameworks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/frameworks/{framework_id}":{"get":{"tags":["Compliance"],"summary":"Get Framework","operationId":"get_framework_api_v1_compliance_frameworks__framework_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"framework_id","in":"path","required":true,"schema":{"type":"string","title":"Framework Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/evidence/{framework_id}/export":{"post":{"tags":["Compliance"],"summary":"Export Framework Evidence","description":"Download a complete audit evidence package for a single framework.","operationId":"export_framework_evidence_api_v1_compliance_evidence__framework_id__export_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"framework_id","in":"path","required":true,"schema":{"type":"string","title":"Framework Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Compliance"],"summary":"Export Framework Evidence","description":"Download a complete audit evidence package for a single framework.","operationId":"export_framework_evidence_api_v1_compliance_evidence__framework_id__export_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"framework_id","in":"path","required":true,"schema":{"type":"string","title":"Framework Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/evidence/export-all":{"get":{"tags":["Compliance"],"summary":"Export All Evidence","description":"Download a combined audit package for ALL frameworks.","operationId":"export_all_evidence_api_v1_compliance_evidence_export_all_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Compliance"],"summary":"Export All Evidence","description":"Download a combined audit package for ALL frameworks.","operationId":"export_all_evidence_api_v1_compliance_evidence_export_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/schedule":{"get":{"tags":["Compliance"],"summary":"List Schedules","operationId":"list_schedules_api_v1_compliance_schedule_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Compliance"],"summary":"Schedule Report","description":"Schedule automated compliance report delivery.","operationId":"schedule_report_api_v1_compliance_schedule_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/schedule/{schedule_id}":{"delete":{"tags":["Compliance"],"summary":"Delete Schedule","operationId":"delete_schedule_api_v1_compliance_schedule__schedule_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/regulations":{"get":{"tags":["Compliance"],"summary":"List Regulations","operationId":"list_regulations_api_v1_compliance_regulations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/checks":{"get":{"tags":["Compliance"],"summary":"List Compliance Checks","operationId":"list_compliance_checks_api_v1_compliance_checks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/check":{"post":{"tags":["Compliance"],"summary":"Compliance Check","operationId":"compliance_check_api_v1_compliance_check_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/privacy/detect-pii":{"post":{"tags":["Compliance"],"summary":"Detect Pii","operationId":"detect_pii_api_v1_privacy_detect_pii_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/privacy/mask-pii":{"post":{"tags":["Compliance"],"summary":"Mask Pii","operationId":"mask_pii_api_v1_privacy_mask_pii_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/privacy/export":{"get":{"tags":["Compliance"],"summary":"Privacy Export","operationId":"privacy_export_api_v1_privacy_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/privacy/delete-account":{"delete":{"tags":["Compliance"],"summary":"Privacy Delete Account","operationId":"privacy_delete_account_api_v1_privacy_delete_account_delete","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/privacy/retention-policy":{"post":{"tags":["Compliance"],"summary":"Privacy Retention Policy","operationId":"privacy_retention_policy_api_v1_privacy_retention_policy_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/content-safety/scan":{"post":{"tags":["Compliance"],"summary":"Content Safety Scan","operationId":"content_safety_scan_api_v1_content_safety_scan_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/content-safety/age-verify":{"post":{"tags":["Compliance"],"summary":"Content Safety Age Verify","operationId":"content_safety_age_verify_api_v1_content_safety_age_verify_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/content-safety/age-verify/status":{"get":{"tags":["Compliance"],"summary":"Content Safety Age Verify Status","operationId":"content_safety_age_verify_status_api_v1_content_safety_age_verify_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/audit":{"get":{"tags":["Compliance"],"summary":"List Audit Logs","operationId":"list_audit_logs_api_v1_audit_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/{log_id}/quality":{"get":{"tags":["Compliance"],"summary":"Audit Log Quality","operationId":"audit_log_quality_api_v1_audit__log_id__quality_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"string","title":"Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/logs/{log_id}":{"get":{"tags":["Compliance"],"summary":"Get Audit Log","operationId":"get_audit_log_api_v1_audit_logs__log_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"string","title":"Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/verify/{log_id}":{"get":{"tags":["Compliance"],"summary":"Verify Audit","operationId":"verify_audit_api_v1_audit_verify__log_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"string","title":"Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/compliance-report":{"get":{"tags":["Compliance"],"summary":"Audit Compliance Report","operationId":"audit_compliance_report_api_v1_audit_compliance_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Compliance"],"summary":"Audit Compliance Report","operationId":"audit_compliance_report_api_v1_audit_compliance_report_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/explain/routing/{decision_id}":{"get":{"tags":["Compliance"],"summary":"Explain Routing Decision","operationId":"explain_routing_decision_api_v1_explain_routing__decision_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/explain/cost/{prediction_id}":{"get":{"tags":["Compliance"],"summary":"Explain Cost Prediction","operationId":"explain_cost_prediction_api_v1_explain_cost__prediction_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"prediction_id","in":"path","required":true,"schema":{"type":"string","title":"Prediction Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/complaints":{"post":{"tags":["Compliance"],"summary":"Submit Complaint","description":"DSA Article 16 / 20: Notice and Action mechanism & Internal Complaint Handling.\nAccepts reports of illegal content and logs them for review.","operationId":"submit_complaint_api_v1_complaints_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/receipts/{receipt_id}":{"get":{"tags":["Compliance"],"summary":"Get Receipt","description":"Retrieve machine-readable transaction receipt containing policy results, evidence linkage, and payment reference.","operationId":"get_receipt_api_v1_receipts__receipt_id__get","parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","title":"Receipt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/evidence/verify":{"post":{"tags":["Compliance"],"summary":"Verify Evidence","description":"Verify the signature/hash of a cryptographically sealed evidence block.","operationId":"verify_evidence_api_v1_evidence_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__apps__api__routers__compliance__EvidenceVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__apps__api__routers__compliance__EvidenceVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/autonomous/cost/predict":{"post":{"tags":["Autonomous Intelligence (ML)"],"summary":"Autonomous Cost Predict","operationId":"autonomous_cost_predict_api_v1_autonomous_cost_predict_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/autonomous/train":{"post":{"tags":["Autonomous Intelligence (ML)"],"summary":"Autonomous Train","operationId":"autonomous_train_api_v1_autonomous_train_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/autonomous/quality/optimize":{"post":{"tags":["Autonomous Intelligence (ML)"],"summary":"Autonomous Quality Optimize","operationId":"autonomous_quality_optimize_api_v1_autonomous_quality_optimize_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/autonomous/feature-flags":{"get":{"tags":["Autonomous Intelligence (ML)"],"summary":"Get Feature Flags","operationId":"get_feature_flags_api_v1_autonomous_feature_flags_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Autonomous Intelligence (ML)"],"summary":"Update Feature Flags","operationId":"update_feature_flags_api_v1_autonomous_feature_flags_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/monitoring/health":{"get":{"tags":["Monitoring"],"summary":"Monitoring Health","operationId":"monitoring_health_api_v1_monitoring_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/monitoring/metrics":{"get":{"tags":["Monitoring"],"summary":"Monitoring Metrics","operationId":"monitoring_metrics_api_v1_monitoring_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/monitoring/metrics/history":{"get":{"tags":["Monitoring"],"summary":"Monitoring Metrics History","operationId":"monitoring_metrics_history_api_v1_monitoring_metrics_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"range","in":"query","required":false,"schema":{"type":"string","default":"24h","title":"Range"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/monitoring/metrics/record":{"post":{"tags":["Monitoring"],"summary":"Record Metric","operationId":"record_metric_api_v1_monitoring_metrics_record_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/monitoring/dashboard":{"get":{"tags":["Monitoring"],"summary":"Monitoring Dashboard","operationId":"monitoring_dashboard_api_v1_monitoring_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/monitoring/events":{"get":{"tags":["Monitoring"],"summary":"Monitoring Events","operationId":"monitoring_events_api_v1_monitoring_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/monitoring/alerts":{"get":{"tags":["Monitoring"],"summary":"List Alerts","operationId":"list_alerts_api_v1_monitoring_alerts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Monitoring"],"summary":"Create Alert","operationId":"create_alert_api_v1_monitoring_alerts_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/monitoring/alerts/{alert_id}":{"patch":{"tags":["Monitoring"],"summary":"Update Alert","operationId":"update_alert_api_v1_monitoring_alerts__alert_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Monitoring"],"summary":"Delete Alert","operationId":"delete_alert_api_v1_monitoring_alerts__alert_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/monitoring/alerts/{alert_id}/acknowledge":{"post":{"tags":["Monitoring"],"summary":"Acknowledge Alert Monitoring","operationId":"acknowledge_alert_monitoring_api_v1_monitoring_alerts__alert_id__acknowledge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/monitoring/alerts/{alert_id}/test":{"post":{"tags":["Monitoring"],"summary":"Test Alert","operationId":"test_alert_api_v1_monitoring_alerts__alert_id__test_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/monitoring/logs":{"get":{"tags":["Monitoring"],"summary":"Structured Logs","description":"Live structured logs from workspace AI activity and audit trail.","operationId":"structured_logs_api_v1_monitoring_logs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","default":"","title":"Search"}},{"name":"level","in":"query","required":false,"schema":{"type":"string","default":"","title":"Level"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/monitoring/audit-export":{"get":{"tags":["Monitoring"],"summary":"Monitoring Audit Export","description":"Download tamper-evident audit export with SHA-256 hash chain.","operationId":"monitoring_audit_export_api_v1_monitoring_audit_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Monitoring"],"summary":"Monitoring Audit Export","description":"Download tamper-evident audit export with SHA-256 hash chain.","operationId":"monitoring_audit_export_api_v1_monitoring_audit_export_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/platform/pulse":{"get":{"tags":["Monitoring"],"summary":"Platform Pulse","operationId":"platform_pulse_api_v1_platform_pulse_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/platform/uptime":{"get":{"tags":["Monitoring"],"summary":"Platform Uptime","operationId":"platform_uptime_api_v1_platform_uptime_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/platform/status-updates":{"post":{"tags":["Monitoring"],"summary":"Subscribe Status Updates","operationId":"subscribe_status_updates_api_v1_platform_status_updates_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/platform/pulse/stream":{"get":{"tags":["Monitoring"],"summary":"Pulse Stream","operationId":"pulse_stream_api_v1_platform_pulse_stream_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/insights/summary":{"get":{"tags":["Monitoring"],"summary":"Insights Summary","operationId":"insights_summary_api_v1_insights_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/insights":{"get":{"tags":["Monitoring"],"summary":"Request Insights","operationId":"request_insights_api_v1_insights_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/insights/savings":{"get":{"tags":["Monitoring"],"summary":"Insights Savings","operationId":"insights_savings_api_v1_insights_savings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/insights/savings/projected":{"get":{"tags":["Monitoring"],"summary":"Insights Savings Projected","operationId":"insights_savings_projected_api_v1_insights_savings_projected_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/metrics":{"get":{"tags":["Monitoring"],"summary":"Prometheus Metrics","operationId":"prometheus_metrics_api_v1_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/metrics/performance":{"get":{"tags":["Monitoring"],"summary":"Performance Metrics","operationId":"performance_metrics_api_v1_metrics_performance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/telemetry":{"post":{"tags":["Monitoring"],"summary":"Ingest Telemetry","operationId":"ingest_telemetry_api_v1_telemetry_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/explain/cost":{"get":{"tags":["Monitoring"],"summary":"Explain Cost","operationId":"explain_cost_api_v1_explain_cost_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Monitoring"],"summary":"Explain Cost","operationId":"explain_cost_api_v1_explain_cost_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/explain/routing":{"get":{"tags":["Monitoring"],"summary":"Explain Routing","operationId":"explain_routing_api_v1_explain_routing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Monitoring"],"summary":"Explain Routing","operationId":"explain_routing_api_v1_explain_routing_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/status":{"get":{"tags":["Monitoring"],"summary":"Platform Status","operationId":"platform_status_api_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/suggestions":{"get":{"tags":["Monitoring"],"summary":"List Suggestions","operationId":"list_suggestions_api_v1_suggestions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/suggestions/summary":{"get":{"tags":["Monitoring"],"summary":"Suggestions Summary","operationId":"suggestions_summary_api_v1_suggestions_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketplace/listings":{"get":{"tags":["Marketplace"],"summary":"List Marketplace","operationId":"list_marketplace_api_v1_marketplace_listings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Marketplace"],"summary":"Create Listing","operationId":"create_listing_api_v1_marketplace_listings_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketplace/tools":{"get":{"tags":["Marketplace"],"summary":"List Marketplace Tools","description":"Public-demo-safe MCP tool registry backed by the Veklom BYOS route surface.","operationId":"list_marketplace_tools_api_v1_marketplace_tools_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/listings":{"get":{"tags":["Marketplace"],"summary":"List Listings","operationId":"list_listings_api_v1_listings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listings/{listing_id}":{"get":{"tags":["Marketplace"],"summary":"Get Listing Short","operationId":"get_listing_short_api_v1_listings__listing_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Marketplace"],"summary":"Update Listing Short","operationId":"update_listing_short_api_v1_listings__listing_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/listings/{listing_id}":{"get":{"tags":["Marketplace"],"summary":"Get Listing","operationId":"get_listing_api_v1_marketplace_listings__listing_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Marketplace"],"summary":"Update Listing","operationId":"update_listing_api_v1_marketplace_listings__listing_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Marketplace"],"summary":"Delete Listing","operationId":"delete_listing_api_v1_marketplace_listings__listing_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/listings/create":{"post":{"tags":["Marketplace"],"summary":"Create Listing Alt","operationId":"create_listing_alt_api_v1_listings_create_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listings/submit":{"post":{"tags":["Marketplace"],"summary":"Submit Listing","operationId":"submit_listing_api_v1_listings_submit_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listings/review":{"post":{"tags":["Marketplace"],"summary":"Review Listing","operationId":"review_listing_api_v1_listings_review_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listings/{listing_id}/install":{"post":{"tags":["Marketplace"],"summary":"Install Listing","description":"Install a marketplace listing into the authenticated user's workspace.\n\nCreates an InstalledAsset record for the listing (if not already installed) and increments the listing's download count. Installation always targets the authenticated user's workspace (user.workspace_id or \"default\"); any workspace identifier in the request body is ignored.\n\nParameters:\n    body (dict, optional): Optional request payload; any workspace selection in this payload is ignored.\n\nReturns:\n    dict: Installed asset metadata with keys:\n        - `id`: installed asset id\n        - `listing_id`: marketplace listing id\n        - `workspace_id`: workspace where the asset was installed\n        - `asset_type`: asset category/type\n        - `name`: asset display name\n        - `status`: installation status (e.g., \"active\")\n        - `installed_at`: ISO 8601 timestamp of installation or `None`\n        - `message`: human-readable installation message\n\nRaises:\n    HTTPException: 404 if the specified listing does not exist.","operationId":"install_listing_api_v1_listings__listing_id__install_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/listings/{listing_id}/install":{"post":{"tags":["Marketplace"],"summary":"Install Listing","description":"Install a marketplace listing into the authenticated user's workspace.\n\nCreates an InstalledAsset record for the listing (if not already installed) and increments the listing's download count. Installation always targets the authenticated user's workspace (user.workspace_id or \"default\"); any workspace identifier in the request body is ignored.\n\nParameters:\n    body (dict, optional): Optional request payload; any workspace selection in this payload is ignored.\n\nReturns:\n    dict: Installed asset metadata with keys:\n        - `id`: installed asset id\n        - `listing_id`: marketplace listing id\n        - `workspace_id`: workspace where the asset was installed\n        - `asset_type`: asset category/type\n        - `name`: asset display name\n        - `status`: installation status (e.g., \"active\")\n        - `installed_at`: ISO 8601 timestamp of installation or `None`\n        - `message`: human-readable installation message\n\nRaises:\n    HTTPException: 404 if the specified listing does not exist.","operationId":"install_listing_api_v1_marketplace_listings__listing_id__install_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/installed":{"get":{"tags":["Marketplace"],"summary":"List Installed","description":"List all installed assets for the current workspace.","operationId":"list_installed_api_v1_installed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketplace/installed":{"get":{"tags":["Marketplace"],"summary":"List Installed","description":"List all installed assets for the current workspace.","operationId":"list_installed_api_v1_marketplace_installed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listings/{listing_id}/datasheet":{"get":{"tags":["Marketplace"],"summary":"Listing Datasheet","operationId":"listing_datasheet_api_v1_listings__listing_id__datasheet_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/listings/{listing_id}/datasheet":{"get":{"tags":["Marketplace"],"summary":"Listing Datasheet","operationId":"listing_datasheet_api_v1_marketplace_listings__listing_id__datasheet_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/providers/{provider_slug}":{"get":{"tags":["Marketplace"],"summary":"Get Provider Profile","description":"Provider/vendor profile page data.","operationId":"get_provider_profile_api_v1_marketplace_providers__provider_slug__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"provider_slug","in":"path","required":true,"schema":{"type":"string","title":"Provider Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/categories":{"get":{"tags":["Marketplace"],"summary":"List Categories","description":"Static category taxonomy used by the marketplace UI.\n\nCategories are not stored in the DB (every listing carries its own\ncategory string) so the canonical list lives here.  When a listing\npersists with a new category not in this taxonomy it is still surfaced\nby /listings; this endpoint just gives the UI the navigation tree.","operationId":"list_categories_api_v1_marketplace_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketplace/automation":{"get":{"tags":["Marketplace"],"summary":"List Automations","operationId":"list_automations_api_v1_marketplace_automation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Marketplace"],"summary":"Create Automation","operationId":"create_automation_api_v1_marketplace_automation_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vendors/create":{"post":{"tags":["Marketplace"],"summary":"Create Vendor","operationId":"create_vendor_api_v1_vendors_create_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vendors/onboard":{"post":{"tags":["Marketplace"],"summary":"Onboard Vendor","operationId":"onboard_vendor_api_v1_vendors_onboard_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vendors/me/listings":{"get":{"tags":["Marketplace"],"summary":"My Listings","operationId":"my_listings_api_v1_vendors_me_listings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vendors/{vendor_id}":{"get":{"tags":["Marketplace"],"summary":"Get Vendor","operationId":"get_vendor_api_v1_vendors__vendor_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"vendor_id","in":"path","required":true,"schema":{"type":"string","title":"Vendor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/orders/{order_id}":{"get":{"tags":["Marketplace"],"summary":"Get Order","operationId":"get_order_api_v1_orders__order_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/plugins":{"get":{"tags":["Plugins"],"summary":"List Plugins","description":"List all available plugins and their enablement state for the current workspace.","operationId":"list_plugins_api_v1_plugins_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PluginResponse"},"type":"array","title":"Response List Plugins Api V1 Plugins Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/plugins/{plugin_id}/enable":{"post":{"tags":["Plugins"],"summary":"Enable Plugin","description":"Enable a specific plugin for the workspace.","operationId":"enable_plugin_api_v1_plugins__plugin_id__enable_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/plugins/{plugin_id}/disable":{"post":{"tags":["Plugins"],"summary":"Disable Plugin","description":"Disable a specific plugin for the workspace.","operationId":"disable_plugin_api_v1_plugins__plugin_id__disable_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/plugins/{plugin_id}/docs":{"get":{"tags":["Marketplace"],"summary":"Plugin Docs","operationId":"plugin_docs_api_v1_plugins__plugin_id__docs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/webhook":{"post":{"tags":["Marketplace"],"summary":"Marketplace Webhook","operationId":"marketplace_webhook_api_v1_marketplace_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/pipelines/nodes":{"get":{"tags":["Pipelines"],"summary":"List Pipeline Nodes","operationId":"list_pipeline_nodes_api_v1_pipelines_nodes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/pipelines/templates":{"get":{"tags":["Pipelines"],"summary":"List Pipeline Templates","operationId":"list_pipeline_templates_api_v1_pipelines_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/pipelines":{"get":{"tags":["Pipelines"],"summary":"List Pipelines","operationId":"list_pipelines_api_v1_pipelines_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Create Pipeline","operationId":"create_pipeline_api_v1_pipelines_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/pipelines/{pipeline_id}":{"get":{"tags":["Pipelines"],"summary":"Get Pipeline","operationId":"get_pipeline_api_v1_pipelines__pipeline_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Pipelines"],"summary":"Update Pipeline","operationId":"update_pipeline_api_v1_pipelines__pipeline_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Pipelines"],"summary":"Delete Pipeline","operationId":"delete_pipeline_api_v1_pipelines__pipeline_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pipelines/{pipeline_id}/graph":{"get":{"tags":["Pipelines"],"summary":"Get Pipeline Graph","description":"Get the saved graph state (nodes, edges, viewport) for a pipeline.","operationId":"get_pipeline_graph_api_v1_pipelines__pipeline_id__graph_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Pipelines"],"summary":"Save Pipeline Graph","description":"Save graph state (nodes, edges, viewport, node_configs) for a pipeline.","operationId":"save_pipeline_graph_api_v1_pipelines__pipeline_id__graph_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Pipelines"],"summary":"Save Pipeline Graph","description":"Save graph state (nodes, edges, viewport, node_configs) for a pipeline.","operationId":"save_pipeline_graph_api_v1_pipelines__pipeline_id__graph_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pipelines/{pipeline_id}/run":{"post":{"tags":["Pipelines"],"summary":"Run Pipeline","description":"Queue a pipeline run for execution with workspace isolation and persistent tracking.\n\nCreates a `PipelineRun` record in a queued state, schedules background execution, and returns identifiers and initial status.\n\nReturns:\n    dict: Response containing:\n        - `run_id` (str): Generated run identifier.\n        - `pipeline_id` (str): The pipeline identifier.\n        - `status` (str): Initial run status, `\"queued\"`.\n        - `progress` (int): Initial progress value, `0`.\n        - `message` (str): Human-readable status message.","operationId":"run_pipeline_api_v1_pipelines__pipeline_id__run_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pipelines/{pipeline_id}/runs":{"get":{"tags":["Pipelines"],"summary":"List Pipeline Runs","description":"Return the recent run history for the specified pipeline, scoped to the caller's workspace.\n\nReturns:\n    dict: {\n        \"pipeline_id\": str,\n        \"runs\": [\n            {\n                \"id\": str,\n                \"status\": str,\n                \"created_at\": str | None,  # ISO 8601 timestamp or None\n                \"updated_at\": str | None,  # ISO 8601 timestamp or None\n            },\n            ...\n        ]\n    }\n\nRaises:\n    HTTPException: 404 if the pipeline does not exist or is not accessible in the caller's workspace.","operationId":"list_pipeline_runs_api_v1_pipelines__pipeline_id__runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pipelines/{pipeline_id}/runs/{run_id}":{"get":{"tags":["Pipelines"],"summary":"Get Pipeline Run","description":"Return detailed information for a pipeline run that belongs to the caller's workspace.\n\nReturns:\n    dict: Run details containing keys:\n      - `id`: run identifier\n      - `pipeline_id`: associated pipeline identifier\n      - `status`: run status\n      - `steps`: saved steps payload for the run\n      - `result`: run result payload (if any)\n      - `created_at`: ISO 8601 timestamp string or `None`\n      - `updated_at`: ISO 8601 timestamp string or `None`\n\nRaises:\n    HTTPException: 404 if the pipeline or the run is not found or access is denied.","operationId":"get_pipeline_run_api_v1_pipelines__pipeline_id__runs__run_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}},{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pipelines/{pipeline_id}/runs/{run_id}/stream":{"get":{"tags":["Pipelines"],"summary":"Stream Pipeline Run","description":"Stream server-sent events for a pipeline run's lifecycle and step progress.\n\nStreams JSON-formatted SSE messages that report run-level states and per-stage progress until a terminal state is emitted. Event payloads are JSON objects containing at minimum a `type` (e.g., `run.queued`, `run.running`, `step.running`, `step.completed`, `run.completed`), `run_id`, and `status`; completed events may include `progress`, `output`, `evidence_id`, and `proof_hash`.\n\nReturns:\n    StreamingResponse: An HTTP streaming response that yields server-sent event data strings containing the JSON payloads described above.\n\nRaises:\n    HTTPException: If the pipeline or the specified run does not exist in the caller's workspace or access is denied.","operationId":"stream_pipeline_run_api_v1_pipelines__pipeline_id__runs__run_id__stream_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}},{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pipeline/interactive/session":{"get":{"tags":["Pipelines"],"summary":"Interactive Session","operationId":"interactive_session_api_v1_pipeline_interactive_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/demo/pipeline/health":{"get":{"tags":["Pipelines"],"summary":"Demo Pipeline Health","operationId":"demo_pipeline_health_api_v1_demo_pipeline_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/demo/pipeline/run":{"post":{"tags":["Pipelines"],"summary":"Demo Pipeline Run","operationId":"demo_pipeline_run_api_v1_demo_pipeline_run_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/demo/pipeline/stream":{"get":{"tags":["Pipelines"],"summary":"Demo Pipeline Stream","operationId":"demo_pipeline_stream_api_v1_demo_pipeline_stream_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/deployments":{"get":{"tags":["Pipelines"],"summary":"List Deployments","description":"List all deployments for the workspace.","operationId":"list_deployments_api_v1_deployments_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Create Deployment","operationId":"create_deployment_api_v1_deployments_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/deployments/{deployment_id}":{"patch":{"tags":["Pipelines"],"summary":"Update Deployment","operationId":"update_deployment_api_v1_deployments__deployment_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Pipelines"],"summary":"Delete Deployment","operationId":"delete_deployment_api_v1_deployments__deployment_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deployments/{deployment_id}/pause":{"post":{"tags":["Pipelines"],"summary":"Pause Deployment","description":"Pause a deployment.","operationId":"pause_deployment_api_v1_deployments__deployment_id__pause_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deployments/{deployment_id}/resume":{"post":{"tags":["Pipelines"],"summary":"Resume Deployment","description":"Resume a paused deployment.","operationId":"resume_deployment_api_v1_deployments__deployment_id__resume_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deployments/{deployment_id}/webhooks":{"get":{"tags":["Pipelines"],"summary":"List Deployment Webhooks","description":"List webhooks for a deployment (not configured yet).","operationId":"list_deployment_webhooks_api_v1_deployments__deployment_id__webhooks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Pipelines"],"summary":"Create Deployment Webhook","description":"Create a webhook for a deployment (not configured yet).","operationId":"create_deployment_webhook_api_v1_deployments__deployment_id__webhooks_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deployments/{deployment_id}/code":{"get":{"tags":["Pipelines"],"summary":"Get Deployment Code","description":"Get code snippets for a deployment.","operationId":"get_deployment_code_api_v1_deployments__deployment_id__code_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/edge/canary/status":{"get":{"tags":["Pipelines"],"summary":"Canary Status","operationId":"canary_status_api_v1_edge_canary_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/edge/canary/promote":{"post":{"tags":["Pipelines"],"summary":"Canary Promote","operationId":"canary_promote_api_v1_edge_canary_promote_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/routing":{"get":{"tags":["Routing"],"summary":"Routing Contract","description":"Return the deterministic infrastructure contract exposed by this backend.","operationId":"routing_contract_api_v1_routing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Create Routing Rule","operationId":"create_routing_rule_api_v1_routing_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/routing/{rule_id}":{"patch":{"tags":["Pipelines"],"summary":"Update Routing Rule","operationId":"update_routing_rule_api_v1_routing__rule_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/routing/policy":{"get":{"tags":["Pipelines"],"summary":"Routing Policy","operationId":"routing_policy_api_v1_routing_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Set Routing Policy","operationId":"set_routing_policy_api_v1_routing_policy_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/routing/test":{"post":{"tags":["Routing"],"summary":"Routing Test","operationId":"routing_test_api_v1_routing_test_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/autonomous/decisions":{"get":{"tags":["Pipelines"],"summary":"Autonomous Decisions","operationId":"autonomous_decisions_api_v1_autonomous_decisions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/autonomous/override":{"post":{"tags":["Pipelines"],"summary":"Autonomous Override","operationId":"autonomous_override_api_v1_autonomous_override_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/deployments/from-github":{"post":{"tags":["Pipelines"],"summary":"Trigger Github Deployment","description":"Manually trigger a redeployment from GitHub, calling the Coolify build API if configured,\nand creating a Deployment record tracking the run.","operationId":"trigger_github_deployment_api_v1_deployments_from_github_post","security":[{"HTTPBearer":[]}],"parameters":[{"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"}}}}}}},"/pipelines/nodes":{"get":{"tags":["Pipelines"],"summary":"List Pipeline Nodes","operationId":"list_pipeline_nodes_pipelines_nodes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pipelines/templates":{"get":{"tags":["Pipelines"],"summary":"List Pipeline Templates","operationId":"list_pipeline_templates_pipelines_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pipelines":{"get":{"tags":["Pipelines"],"summary":"List Pipelines","operationId":"list_pipelines_pipelines_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Create Pipeline","operationId":"create_pipeline_pipelines_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/pipelines/{pipeline_id}":{"get":{"tags":["Pipelines"],"summary":"Get Pipeline","operationId":"get_pipeline_pipelines__pipeline_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Pipelines"],"summary":"Update Pipeline","operationId":"update_pipeline_pipelines__pipeline_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Pipelines"],"summary":"Delete Pipeline","operationId":"delete_pipeline_pipelines__pipeline_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipelines/{pipeline_id}/graph":{"get":{"tags":["Pipelines"],"summary":"Get Pipeline Graph","description":"Get the saved graph state (nodes, edges, viewport) for a pipeline.","operationId":"get_pipeline_graph_pipelines__pipeline_id__graph_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Pipelines"],"summary":"Save Pipeline Graph","description":"Save graph state (nodes, edges, viewport, node_configs) for a pipeline.","operationId":"save_pipeline_graph_pipelines__pipeline_id__graph_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Pipelines"],"summary":"Save Pipeline Graph","description":"Save graph state (nodes, edges, viewport, node_configs) for a pipeline.","operationId":"save_pipeline_graph_pipelines__pipeline_id__graph_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipelines/{pipeline_id}/run":{"post":{"tags":["Pipelines"],"summary":"Run Pipeline","description":"Queue a pipeline run for execution with workspace isolation and persistent tracking.\n\nCreates a `PipelineRun` record in a queued state, schedules background execution, and returns identifiers and initial status.\n\nReturns:\n    dict: Response containing:\n        - `run_id` (str): Generated run identifier.\n        - `pipeline_id` (str): The pipeline identifier.\n        - `status` (str): Initial run status, `\"queued\"`.\n        - `progress` (int): Initial progress value, `0`.\n        - `message` (str): Human-readable status message.","operationId":"run_pipeline_pipelines__pipeline_id__run_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipelines/{pipeline_id}/runs":{"get":{"tags":["Pipelines"],"summary":"List Pipeline Runs","description":"Return the recent run history for the specified pipeline, scoped to the caller's workspace.\n\nReturns:\n    dict: {\n        \"pipeline_id\": str,\n        \"runs\": [\n            {\n                \"id\": str,\n                \"status\": str,\n                \"created_at\": str | None,  # ISO 8601 timestamp or None\n                \"updated_at\": str | None,  # ISO 8601 timestamp or None\n            },\n            ...\n        ]\n    }\n\nRaises:\n    HTTPException: 404 if the pipeline does not exist or is not accessible in the caller's workspace.","operationId":"list_pipeline_runs_pipelines__pipeline_id__runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipelines/{pipeline_id}/runs/{run_id}":{"get":{"tags":["Pipelines"],"summary":"Get Pipeline Run","description":"Return detailed information for a pipeline run that belongs to the caller's workspace.\n\nReturns:\n    dict: Run details containing keys:\n      - `id`: run identifier\n      - `pipeline_id`: associated pipeline identifier\n      - `status`: run status\n      - `steps`: saved steps payload for the run\n      - `result`: run result payload (if any)\n      - `created_at`: ISO 8601 timestamp string or `None`\n      - `updated_at`: ISO 8601 timestamp string or `None`\n\nRaises:\n    HTTPException: 404 if the pipeline or the run is not found or access is denied.","operationId":"get_pipeline_run_pipelines__pipeline_id__runs__run_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}},{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipelines/{pipeline_id}/runs/{run_id}/stream":{"get":{"tags":["Pipelines"],"summary":"Stream Pipeline Run","description":"Stream server-sent events for a pipeline run's lifecycle and step progress.\n\nStreams JSON-formatted SSE messages that report run-level states and per-stage progress until a terminal state is emitted. Event payloads are JSON objects containing at minimum a `type` (e.g., `run.queued`, `run.running`, `step.running`, `step.completed`, `run.completed`), `run_id`, and `status`; completed events may include `progress`, `output`, `evidence_id`, and `proof_hash`.\n\nReturns:\n    StreamingResponse: An HTTP streaming response that yields server-sent event data strings containing the JSON payloads described above.\n\nRaises:\n    HTTPException: If the pipeline or the specified run does not exist in the caller's workspace or access is denied.","operationId":"stream_pipeline_run_pipelines__pipeline_id__runs__run_id__stream_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}},{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipeline/interactive/session":{"get":{"tags":["Pipelines"],"summary":"Interactive Session","operationId":"interactive_session_pipeline_interactive_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/demo/pipeline/health":{"get":{"tags":["Pipelines"],"summary":"Demo Pipeline Health","operationId":"demo_pipeline_health_demo_pipeline_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/demo/pipeline/run":{"post":{"tags":["Pipelines"],"summary":"Demo Pipeline Run","operationId":"demo_pipeline_run_demo_pipeline_run_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/demo/pipeline/stream":{"get":{"tags":["Pipelines"],"summary":"Demo Pipeline Stream","operationId":"demo_pipeline_stream_demo_pipeline_stream_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/deployments":{"get":{"tags":["Pipelines"],"summary":"List Deployments","description":"List all deployments for the workspace.","operationId":"list_deployments_deployments_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Create Deployment","operationId":"create_deployment_deployments_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/deployments/{deployment_id}":{"patch":{"tags":["Pipelines"],"summary":"Update Deployment","operationId":"update_deployment_deployments__deployment_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Pipelines"],"summary":"Delete Deployment","operationId":"delete_deployment_deployments__deployment_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/deployments/{deployment_id}/pause":{"post":{"tags":["Pipelines"],"summary":"Pause Deployment","description":"Pause a deployment.","operationId":"pause_deployment_deployments__deployment_id__pause_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/deployments/{deployment_id}/resume":{"post":{"tags":["Pipelines"],"summary":"Resume Deployment","description":"Resume a paused deployment.","operationId":"resume_deployment_deployments__deployment_id__resume_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/deployments/{deployment_id}/webhooks":{"get":{"tags":["Pipelines"],"summary":"List Deployment Webhooks","description":"List webhooks for a deployment (not configured yet).","operationId":"list_deployment_webhooks_deployments__deployment_id__webhooks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Pipelines"],"summary":"Create Deployment Webhook","description":"Create a webhook for a deployment (not configured yet).","operationId":"create_deployment_webhook_deployments__deployment_id__webhooks_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/deployments/{deployment_id}/code":{"get":{"tags":["Pipelines"],"summary":"Get Deployment Code","description":"Get code snippets for a deployment.","operationId":"get_deployment_code_deployments__deployment_id__code_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/edge/canary/status":{"get":{"tags":["Pipelines"],"summary":"Canary Status","operationId":"canary_status_edge_canary_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/edge/canary/promote":{"post":{"tags":["Pipelines"],"summary":"Canary Promote","operationId":"canary_promote_edge_canary_promote_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/routing":{"get":{"tags":["Pipelines"],"summary":"List Routing Rules","operationId":"list_routing_rules_routing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Create Routing Rule","operationId":"create_routing_rule_routing_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/routing/{rule_id}":{"patch":{"tags":["Pipelines"],"summary":"Update Routing Rule","operationId":"update_routing_rule_routing__rule_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/routing/policy":{"get":{"tags":["Pipelines"],"summary":"Routing Policy","operationId":"routing_policy_routing_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pipelines"],"summary":"Set Routing Policy","operationId":"set_routing_policy_routing_policy_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/routing/test":{"post":{"tags":["Pipelines"],"summary":"Test Routing","operationId":"test_routing_routing_test_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/autonomous/decisions":{"get":{"tags":["Pipelines"],"summary":"Autonomous Decisions","operationId":"autonomous_decisions_autonomous_decisions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/autonomous/override":{"post":{"tags":["Pipelines"],"summary":"Autonomous Override","operationId":"autonomous_override_autonomous_override_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/deployments/from-github":{"post":{"tags":["Pipelines"],"summary":"Trigger Github Deployment","description":"Manually trigger a redeployment from GitHub, calling the Coolify build API if configured,\nand creating a Deployment record tracking the run.","operationId":"trigger_github_deployment_deployments_from_github_post","security":[{"HTTPBearer":[]}],"parameters":[{"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"}}}}}}},"/api/v1/routing/topology":{"get":{"tags":["Routing"],"summary":"Routing Topology","description":"Return route classes, required inputs, and the py03-irongrid substrate contract.","operationId":"routing_topology_api_v1_routing_topology_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/routing/economics":{"get":{"tags":["Routing"],"summary":"Routing Economics","description":"Return the infrastructure economics model behind deterministic routing.","operationId":"routing_economics_api_v1_routing_economics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/routing/operational-runtime":{"get":{"tags":["Routing"],"summary":"Operational Runtime","description":"Return the governed operational runtime substrate contract.","operationId":"operational_runtime_api_v1_routing_operational_runtime_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/routing/stack":{"get":{"tags":["Routing"],"summary":"Stack Contract","description":"Return repo responsibility boundaries for Veklom, UACP, GPC, and py03-irongrid.","operationId":"stack_contract_api_v1_routing_stack_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/routing/decision":{"post":{"tags":["Routing"],"summary":"Routing Decision","description":"Classify a workload into a deterministic execution route.","operationId":"routing_decision_api_v1_routing_decision_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingDecisionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/webhooks/test":{"post":{"tags":["Webhooks"],"summary":"Test Webhook Ack","operationId":"test_webhook_ack_api_v1_webhooks_test_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/github":{"post":{"tags":["Webhooks"],"summary":"Github Webhook","description":"Receive incoming GitHub push webhook events.\nIf the push event is on the main/configured branch of a repository\nthat matches a workspace's `selected_repo`, trigger a Coolify build redeployment.","operationId":"github_webhook_api_v1_webhooks_github_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhook/payment":{"post":{"tags":["Webhook"],"summary":"Payment Webhook","description":"Handle payment confirmation webhook from relayer.\n\nVerifies HMAC signature, enforces idempotency with X-Idempotency-Key,\nand updates ledger atomically.","operationId":"payment_webhook_api_v1_webhook_payment_post","parameters":[{"name":"X-Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Idempotency-Key"}},{"name":"X-Signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhook/health":{"get":{"tags":["Webhook"],"summary":"Webhook Health","description":"Health check for webhook endpoint.","operationId":"webhook_health_api_v1_webhook_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/edge/input/webhook":{"post":{"tags":["Edge Ingestion"],"summary":"Ingest Webhook Event","description":"Unified ingestion endpoint accepting webhook signals from legacy systems.\nValidates, normalizes, logs to audit/security DB and routes critical alarms to Veklom run queue.","operationId":"ingest_webhook_event_api_v1_edge_input_webhook_post","parameters":[{"name":"X-Edge-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Edge-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyWebhookPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanonicalEdgeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/edge/connectors/status":{"get":{"tags":["Edge Ingestion"],"summary":"Get Connectors Status","description":"Inquires the operational status of all legacy industrial protocols.","operationId":"get_connectors_status_api_v1_edge_connectors_status_get","parameters":[{"name":"X-Edge-Api-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Edge-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/x402/config":{"get":{"tags":["x402 Payment"],"summary":"Get X402 Config","description":"Returns deterministic configuration discovery for x402.","operationId":"get_x402_config_api_v1_x402_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402ConfigResponse"}}}}}}},"/api/v1/x402/verify":{"post":{"tags":["x402 Payment"],"summary":"Verify X402 Evidence","description":"Verifies a client-submitted receipt_id, proof_hash, and evidence_hash.\nPerforms real comparison against persisted database receipt logs.","operationId":"verify_x402_evidence_api_v1_x402_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__apps__api__routers__x402__EvidenceVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__apps__api__routers__x402__EvidenceVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/x402/protected-test":{"post":{"tags":["x402 Payment"],"summary":"X402 Protected Test","description":"A reference route protected by the X402 payment gateway middleware.\nRequires paying exactly 0.025 USDC (Base network) to the configured treasury.","operationId":"x402_protected_test_api_v1_x402_protected_test_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402ProtectedTestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402ProtectedTestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/uacp/v1/decide":{"post":{"tags":["UACP"],"summary":"Decide","description":"UACP decision endpoint with auth guards and replay protection.\n\nAuth: Bearer <JWT with sub, jti, aud=veklom.uacp>\nBody: { \"input\": {...}, \"trace_id\": \"...\", \"workspace_id\": \"...\" }\nResp: { \"decision\": {...}, \"latency_ms\": n, \"quota\": {...}, \"observability\": {...} }","operationId":"decide_api_v1_uacp_v1_decide_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecideRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/uacp/health":{"get":{"tags":["UACP"],"summary":"Health","description":"Health check endpoint.","operationId":"health_api_v1_uacp_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/integrations/pagerduty/oauth":{"get":{"tags":["Integrations"],"summary":"Pagerduty Oauth Init","description":"Initialize PagerDuty OAuth flow.\nGenerates authorization redirect URL with workspace_id in the state.","operationId":"pagerduty_oauth_init_api_v1_integrations_pagerduty_oauth_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/pagerduty/oauth/callback":{"get":{"tags":["Integrations"],"summary":"Pagerduty Oauth Callback","description":"PagerDuty OAuth callback handler.\nExchanges code for access token and updates WorkspaceIntegration.","operationId":"pagerduty_oauth_callback_api_v1_integrations_pagerduty_oauth_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/pagerduty/events/callback/":{"post":{"tags":["Integrations"],"summary":"Pagerduty Events Callback","description":"Handle incoming PagerDuty Events install and status callbacks.\nLogs trigger, acknowledge, and resolve events for audit and lineage telemetry.","operationId":"pagerduty_events_callback_api_v1_integrations_pagerduty_events_callback__post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/integrations/pagerduty/events/callback":{"post":{"tags":["Integrations"],"summary":"Pagerduty Events Callback","description":"Handle incoming PagerDuty Events install and status callbacks.\nLogs trigger, acknowledge, and resolve events for audit and lineage telemetry.","operationId":"pagerduty_events_callback_api_v1_integrations_pagerduty_events_callback_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/integrations/pagerduty/trigger":{"post":{"tags":["Integrations"],"summary":"Trigger Pagerduty Incident","description":"Trigger a real PagerDuty incident using Events API v2 for the workspace.\nRequires PagerDuty integration to be installed and configured.","operationId":"trigger_pagerduty_incident_api_v1_integrations_pagerduty_trigger_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerIncidentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/connectors/fax/inbound":{"post":{"tags":["Fax Connector"],"summary":"Inbound Fax Webhook","description":"Webhook target for eFax / FoIP gateways.\nPerforms secure PDF/TIFF ingestion, OCR extraction, document classification,\nand seals the execution in the audit evidence ledger.","operationId":"inbound_fax_webhook_api_v1_connectors_fax_inbound_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundFaxWebhook"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/fax/send":{"post":{"tags":["Fax Connector"],"summary":"Send Outbound Fax","description":"Initiates outbound fax delivery to legacy endpoints.\nEnforces Veklom's zero-trust governance: if `require_approval` is active,\nthe fax goes into a `pending_approval` state until a supervisor reviews.","operationId":"send_outbound_fax_api_v1_connectors_fax_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutboundFaxRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/connectors/fax/inbox":{"get":{"tags":["Fax Connector"],"summary":"Get Fax Inbox","description":"Retrieves the governed fax transmission ledger (inbox & queue).\nUsed directly by the control plane's workspace human review UI.","operationId":"get_fax_inbox_api_v1_connectors_fax_inbox_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FaxResponse"},"type":"array","title":"Response Get Fax Inbox Api V1 Connectors Fax Inbox Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/connectors/fax/approve/{fax_id}":{"post":{"tags":["Fax Connector"],"summary":"Approve Fax Workflow","description":"Enforces compliance sign-off on inbound/outbound queued faxes.\nIf approved, transitions fax status and releases it to downstream systems.","operationId":"approve_fax_workflow_api_v1_connectors_fax_approve__fax_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"fax_id","in":"path","required":true,"schema":{"type":"string","title":"Fax Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaxApprovalRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/connectors/fax/{fax_id}":{"get":{"tags":["Fax Connector"],"summary":"Get Fax Details","description":"Fetches comprehensive details of a specific fax.","operationId":"get_fax_details_api_v1_connectors_fax__fax_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"fax_id","in":"path","required":true,"schema":{"type":"string","title":"Fax Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces":{"get":{"tags":["Admin & Internal"],"summary":"List Admin Workspaces","operationId":"list_admin_workspaces_api_v1_admin_workspaces_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/workspaces/{id}":{"get":{"tags":["Admin & Internal"],"summary":"Get Admin Workspace","operationId":"get_admin_workspace_api_v1_admin_workspaces__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin & Internal"],"summary":"Delete Admin Workspace","operationId":"delete_admin_workspace_api_v1_admin_workspaces__id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/workspaces/{id}/suspend":{"post":{"tags":["Admin & Internal"],"summary":"Suspend Admin Workspace","operationId":"suspend_admin_workspace_api_v1_admin_workspaces__id__suspend_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users":{"get":{"tags":["Admin & Internal"],"summary":"List Admin Users","operationId":"list_admin_users_api_v1_admin_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/users/{id}/role":{"put":{"tags":["Admin & Internal"],"summary":"Update Admin User Role","operationId":"update_admin_user_role_api_v1_admin_users__id__role_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{id}/deactivate":{"post":{"tags":["Admin & Internal"],"summary":"Deactivate Admin User","operationId":"deactivate_admin_user_api_v1_admin_users__id__deactivate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/audit":{"get":{"tags":["Admin & Internal"],"summary":"Get Admin Audit Logs","operationId":"get_admin_audit_logs_api_v1_admin_audit_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"type":"string","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/recon_findings":{"get":{"tags":["Admin & Internal"],"summary":"List Recon Findings","operationId":"list_recon_findings_api_v1_admin_recon_findings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/webhook_dead_letter":{"get":{"tags":["Admin & Internal"],"summary":"List Webhook Dead Letter","operationId":"list_webhook_dead_letter_api_v1_admin_webhook_dead_letter_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/status":{"get":{"tags":["Admin & Internal"],"summary":"Uacp Status","operationId":"uacp_status_api_v1_internal_uacp_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/command":{"post":{"tags":["Admin & Internal"],"summary":"Uacp Command","operationId":"uacp_command_api_v1_internal_uacp_command_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators":{"get":{"tags":["Admin & Internal"],"summary":"List Operators","operationId":"list_operators_api_v1_internal_operators_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Admin & Internal"],"summary":"Register Operator","operationId":"register_operator_api_v1_internal_operators_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/source-of-truth/snapshot":{"get":{"tags":["Admin & Internal"],"summary":"Sot Snapshot","operationId":"sot_snapshot_api_v1_source_of_truth_snapshot_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/source-of-truth/sync":{"post":{"tags":["Admin & Internal"],"summary":"Sot Sync","operationId":"sot_sync_api_v1_source_of_truth_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/search":{"get":{"tags":["Admin & Internal"],"summary":"Search","operationId":"search_api_v1_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/upload":{"post":{"tags":["Upload"],"summary":"Upload File","description":"Upload a file to S3/MinIO and record it as an Asset.","operationId":"upload_file_api_v1_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_api_v1_upload_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/files/upload-url":{"get":{"tags":["Admin & Internal"],"summary":"Get Upload Url","operationId":"get_upload_url_api_v1_files_upload_url_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/files/confirm":{"post":{"tags":["Admin & Internal"],"summary":"Confirm Upload","operationId":"confirm_upload_api_v1_files_confirm_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding":{"get":{"tags":["Admin & Internal"],"summary":"Onboarding Status","operationId":"onboarding_status_api_v1_onboarding_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/complete":{"post":{"tags":["Admin & Internal"],"summary":"Complete Onboarding","operationId":"complete_onboarding_api_v1_onboarding_complete_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/referrals":{"get":{"tags":["Admin & Internal"],"summary":"Referrals","operationId":"referrals_api_v1_referrals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/referrals/invite":{"post":{"tags":["Admin & Internal"],"summary":"Invite Referral","operationId":"invite_referral_api_v1_referrals_invite_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/support":{"post":{"tags":["Admin & Internal"],"summary":"Support Message","operationId":"support_message_api_v1_support_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/stripe/connect/onboard":{"get":{"tags":["Admin & Internal"],"summary":"Stripe Onboard","operationId":"stripe_onboard_api_v1_stripe_connect_onboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/stripe/connect/status":{"get":{"tags":["Admin & Internal"],"summary":"Stripe Status","operationId":"stripe_status_api_v1_stripe_connect_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/export":{"get":{"tags":["Admin & Internal"],"summary":"Export Data","operationId":"export_data_api_v1_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/extract":{"post":{"tags":["Admin & Internal"],"summary":"Extract Data","operationId":"extract_data_api_v1_extract_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/billing/recon-findings":{"get":{"tags":["admin-billing"],"summary":"List Recon Findings","description":"List reconciliation findings for drift detection.","operationId":"list_recon_findings_api_v1_admin_billing_recon_findings_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/webhook-dead-letter":{"get":{"tags":["admin-billing"],"summary":"List Webhook Dead Letter","description":"List failed webhook processing entries from dead-letter queue.","operationId":"list_webhook_dead_letter_api_v1_admin_billing_webhook_dead_letter_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status: pending, retrying, failed, resolved","title":"Status"},"description":"Filter by status: pending, retrying, failed, resolved"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"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":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/webhook-dead-letter/{entry_id}/retry":{"post":{"tags":["admin-billing"],"summary":"Retry Dead Letter Entry","description":"Retry a failed webhook entry from dead-letter queue.","operationId":"retry_dead_letter_entry_api_v1_admin_billing_webhook_dead_letter__entry_id__retry_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/webhook-dead-letter/{entry_id}":{"delete":{"tags":["admin-billing"],"summary":"Delete Dead Letter Entry","description":"Delete a dead-letter entry (use with caution).","operationId":"delete_dead_letter_entry_api_v1_admin_billing_webhook_dead_letter__entry_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/recon-summary":{"get":{"tags":["admin-billing"],"summary":"Get Reconciliation Summary","description":"Get summary statistics for reconciliation findings.","operationId":"get_reconciliation_summary_api_v1_admin_billing_recon_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/upload/transcribe":{"post":{"tags":["Upload"],"summary":"Transcribe Audio","operationId":"transcribe_audio_api_v1_upload_transcribe_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/upload/jobs/{job_id}":{"get":{"tags":["Upload"],"summary":"Get Job Status","operationId":"get_job_status_api_v1_upload_jobs__job_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","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/v1/upload/parse":{"post":{"tags":["Upload"],"summary":"Parse Content","operationId":"parse_content_api_v1_upload_parse_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/upload/extract":{"post":{"tags":["Upload"],"summary":"Extract Structured Data","operationId":"extract_structured_data_api_v1_upload_extract_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/upload/classify":{"post":{"tags":["Upload"],"summary":"Classify Content","operationId":"classify_content_api_v1_upload_classify_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/plans":{"get":{"tags":["GPC"],"summary":"List Plans","description":"Return an empty list of plans.\n\nReturns:\n    list: An empty list.","operationId":"list_plans_api_v1_gpc_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["GPC"],"summary":"Save Plan","operationId":"save_plan_api_v1_gpc_plans_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/compile":{"post":{"tags":["GPC"],"summary":"Gpc Compile","description":"Compile an agent intent into a governed plan and attempt to emit a Decision Frame.","operationId":"gpc_compile_api_v1_gpc_compile_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GpcCompileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/intent-to-plan":{"post":{"tags":["GPC"],"summary":"Intent To Plan","description":"Convert a high-level intent into a governed execution plan.","operationId":"intent_to_plan_api_v1_gpc_intent_to_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GpcCompileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GpcCompileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/runs":{"get":{"tags":["GPC"],"summary":"List Runs","operationId":"list_runs_api_v1_gpc_runs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["GPC"],"summary":"Start Run","description":"Start a background governed-plan run and return its initial run metadata.\n\nParameters:\n    body (dict): Request payload. Supported keys:\n        - graph (dict, optional): Execution graph for the run; a default mock graph is used if absent.\n        - provider (str, optional): Model provider, e.g. \"openai\"; defaults to \"openai\".\n        - model (str, optional): Model name, e.g. \"gpt-4o-mini\"; defaults to \"gpt-4o-mini\".\n        - planId (str, optional): Associated plan identifier.\n\nReturns:\n    dict: Run metadata with keys:\n        - id (str): UUID for the started run.\n        - planId (str): Value from `body[\"planId\"]` or empty string.\n        - status (str): Initial status, `\"PENDING\"`.\n        - progress (int): Initial progress percentage (0).\n        - currentStep (str): Initial step label, `\"Initializing\"`.\n        - startTime (str): ISO 8601 UTC timestamp when the run was started.\n\nRaises:\n    HTTPException: With status code 403 if the requesting user is not entitled to use GPC.","operationId":"start_run_api_v1_gpc_runs_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/events":{"get":{"tags":["GPC"],"summary":"List Events","operationId":"list_events_api_v1_gpc_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/ssrn-signals":{"get":{"tags":["GPC"],"summary":"Ssrn Signals","operationId":"ssrn_signals_api_v1_gpc_ssrn_signals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/bootstrap":{"get":{"tags":["GPC"],"summary":"Bootstrap","operationId":"bootstrap_api_v1_gpc_bootstrap_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/observability/signals":{"get":{"tags":["GPC"],"summary":"Observability Signals","operationId":"observability_signals_api_v1_gpc_observability_signals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gpc/stats":{"get":{"tags":["GPC"],"summary":"Gpc Stats","description":"Aggregate stats for the GPC page.\n\nUntil persistent plan/run counters land in the DB, this endpoint reports\nzero-state counts and clearly marks itself as derived.  No fabricated\ndecisions are returned.","operationId":"gpc_stats_api_v1_gpc_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/decision-frames":{"get":{"tags":["GPC"],"summary":"List Frames","description":"List Decision Frames for this workspace, newest first.","operationId":"list_frames_api_v1_decision_frames_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"policy_result","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Result"}},{"name":"final_action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Final Action"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/decision-frames/stats":{"get":{"tags":["GPC"],"summary":"Frame Stats","description":"Aggregate stats for the 30-day proof dashboard.","operationId":"frame_stats_api_v1_decision_frames_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/decision-frames/{frame_id}":{"get":{"tags":["GPC"],"summary":"Get Frame","description":"Retrieve a single Decision Frame by ID.","operationId":"get_frame_api_v1_decision_frames__frame_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"frame_id","in":"path","required":true,"schema":{"type":"string","title":"Frame Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/decision-frames/{frame_id}/approve":{"post":{"tags":["GPC"],"summary":"Approve Frame","description":"Approve a pending Decision Frame — required before high-risk execution.","operationId":"approve_frame_api_v1_decision_frames__frame_id__approve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"frame_id","in":"path","required":true,"schema":{"type":"string","title":"Frame Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/decision-frames/{frame_id}/replay":{"get":{"tags":["GPC"],"summary":"Replay Frame","description":"Return the full replay package for a Decision Frame:\nall inputs needed to reconstruct what the model saw and decided.","operationId":"replay_frame_api_v1_decision_frames__frame_id__replay_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"frame_id","in":"path","required":true,"schema":{"type":"string","title":"Frame Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gfr/telemetry":{"post":{"tags":["GFR — Gradient Field Router"],"summary":"Ingest scientist agent telemetry","description":"Called by Scientist agents 063-067 after each measurement cycle.\nUpdates the gradient field and records to the oprun evidence trail.","operationId":"ingest_telemetry_api_v1_gfr_telemetry_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gfr/telemetry/batch":{"post":{"tags":["GFR — Gradient Field Router"],"summary":"Batch-ingest telemetry for multiple nodes","description":"Atomic batch update — useful when Swarm Architect (Agent-123)\nor Neural Orchestrator (Agent-129) pushes a full cluster snapshot.","operationId":"ingest_telemetry_batch_api_v1_gfr_telemetry_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchTelemetryPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gfr/route":{"post":{"tags":["GFR — Gradient Field Router"],"summary":"Request routing decision for a workload","description":"Called by Agent-121 (Gladiator Optimizer) and Agent-129 (Neural Orchestrator)\nto get the optimal destination node for a workload via gradient descent.","operationId":"route_workload_api_v1_gfr_route_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gfr/field/snapshot":{"get":{"tags":["GFR — Gradient Field Router"],"summary":"Full field snapshot for evidence replay","description":"Returns the full NxN field matrix, gradients, and metadata.\nUsed by Agent-072 (Evidence) for oprun evidence replay.","operationId":"field_snapshot_api_v1_gfr_field_snapshot_get","parameters":[{"name":"triggered_by","in":"query","required":false,"schema":{"type":"string","default":"api","title":"Triggered By"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gfr/field/status":{"get":{"tags":["GFR — Gradient Field Router"],"summary":"Lightweight field status for Neural Orchestrator","description":"Returns mean/max/min pressure, hotspot count, and equilibrium flag.\nPolled by Agent-129 (Neural Orchestrator) for macro routing decisions.","operationId":"field_status_api_v1_gfr_field_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/gfr/evidence/tail":{"get":{"tags":["GFR — Gradient Field Router"],"summary":"Last N oprun evidence records","description":"Returns the last N records from the in-process oprun evidence trail.\nIn production these will also be persisted via EvidenceArtifact model.","operationId":"evidence_tail_api_v1_gfr_evidence_tail_get","parameters":[{"name":"n","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"N"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gfr/field/reset":{"delete":{"tags":["GFR — Gradient Field Router"],"summary":"Reset field to floor pressure (admin)","description":"Reset all nodes to FLOOR_VALUE. Used during cluster re-provisioning.","operationId":"reset_field_api_v1_gfr_field_reset_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/command-center/overview":{"get":{"tags":["Command Center"],"summary":"Overview","description":"Platform-level overview: totals, last activity, headline metrics.\n\nRequires platform superuser. Returns concrete counts from DB. No fake fallbacks.","operationId":"overview_api_v1_command_center_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/audit-log":{"get":{"tags":["Command Center"],"summary":"Audit Log","operationId":"audit_log_api_v1_command_center_audit_log_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/users":{"get":{"tags":["Command Center"],"summary":"Users List","description":"Return a workspace-scoped list of users; access is restricted to platform superusers.\n\nParameters:\n    limit (int): Maximum number of users to return (1–500).\n\nReturns:\n    A list of user dictionaries with secret-bearing fields removed and datetimes ISO-formatted (or `None`), limited to `limit` and scoped to the current user's workspace.","operationId":"users_list_api_v1_command_center_users_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/users/{user_id}":{"get":{"tags":["Command Center"],"summary":"User Detail","description":"Retrieve the safe (non-secret) profile for a user in the caller's workspace; access is restricted to platform superusers.\n\nParameters:\n    user_id (str): The ID of the user to retrieve.\n\nReturns:\n    dict: A user dictionary with secret fields removed and datetime fields formatted as ISO strings (or `None`).\n\nRaises:\n    HTTPException: 404 if the user does not exist in the caller's workspace.","operationId":"user_detail_api_v1_command_center_users__user_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/users/{user_id}/activity":{"get":{"tags":["Command Center"],"summary":"User Activity","description":"Return the audit-log entries for a specific user within the caller's workspace.\n\nParameters:\n    user_id (str): ID of the target user to retrieve activity for.\n    limit (int): Maximum number of audit entries to return (1–500).\n\nReturns:\n    list[dict]: List of audit entries sorted by newest first. Each entry contains:\n        - id (str): Audit log record identifier.\n        - action (str): Action name recorded.\n        - resource_type (str|None): Type of resource affected, if any.\n        - resource_id (str|None): Identifier of the affected resource, if any.\n        - details (dict|None): Additional structured details from the audit record.\n        - created_at (str|None): ISO 8601 timestamp when the event occurred, or `None`.","operationId":"user_activity_api_v1_command_center_users__user_id__activity_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/users/{user_id}/sessions":{"get":{"tags":["Command Center"],"summary":"User Sessions","description":"Retrieve all sessions for a specific user within the caller's workspace.\n\nRequires a platform-superuser caller. Raises 404 if the target user does not exist in the caller's workspace.\n\nParameters:\n    user_id (str): Identifier of the user whose sessions should be returned.\n\nReturns:\n    list[dict]: A list of session objects with keys:\n        - id: session identifier\n        - user_id: associated user identifier\n        - ip_address: IP address for the session\n        - user_agent: user agent string for the session\n        - is_active: boolean indicating if the session is active\n        - expires_at: ISO 8601 timestamp string or `None`\n        - last_accessed: ISO 8601 timestamp string or `None`\n        - created_at: ISO 8601 timestamp string or `None`\n\nRaises:\n    HTTPException: 404 if the specified user is not found in the caller's workspace.","operationId":"user_sessions_api_v1_command_center_users__user_id__sessions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/operations/health":{"get":{"tags":["Command Center"],"summary":"Operations Health","description":"Alias for /api/v1/monitoring/health.","operationId":"operations_health_api_v1_command_center_operations_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/operations/alerts":{"get":{"tags":["Command Center"],"summary":"Operations Alerts","operationId":"operations_alerts_api_v1_command_center_operations_alerts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/operations/errors":{"get":{"tags":["Command Center"],"summary":"Operations Errors","description":"Errors live in Sentry, not in our DB.  Be honest about it.","operationId":"operations_errors_api_v1_command_center_operations_errors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/command-center/business/billing":{"get":{"tags":["Command Center"],"summary":"Business Billing","description":"Alias for /api/v1/workspace/billing/breakdown.","operationId":"business_billing_api_v1_command_center_business_billing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/activity-feed":{"get":{"tags":["Command Center"],"summary":"Activity Feed","description":"Combined recent activity: audit log + security events.","operationId":"activity_feed_api_v1_command_center_activity_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/users/summary":{"get":{"tags":["Command Center"],"summary":"Users Summary","description":"Provide summary counts of users in the caller's workspace.\n\nRequires platform-superuser access; raises HTTPException(403) if the caller is not a platform superuser.\n\nReturns:\n    dict: A mapping with the following keys:\n        - `workspace_id` (str): Workspace identifier (empty string for global).\n        - `total` (int): Total number of users in the workspace.\n        - `active` (int): Number of users with `is_active` == True.\n        - `locked` (int): Number of users whose `status` == \"LOCKED\".\n        - `mfa_enabled` (int): Number of users with `mfa_enabled` == True.","operationId":"users_summary_api_v1_command_center_users_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/users/online":{"get":{"tags":["Command Center"],"summary":"Users Online","description":"Return a list of users in the caller's workspace who currently have an active, non-expired session.\n\nThe caller must be a platform superuser; results include at most one entry per user (the most recently accessed active session). Each item contains the safe user fields plus `session_id` and `session_last_accessed` as an ISO-formatted string or `None`.\n\nReturns:\n    list[dict]: A list of user objects with safe fields and the following additional keys:\n        - `session_id` (str): ID of the active session.\n        - `session_last_accessed` (str | None): ISO-formatted last accessed time for the session, or `None`.\n\nRaises:\n    HTTPException: 403 if the caller is not a platform superuser.","operationId":"users_online_api_v1_command_center_users_online_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/users/recent":{"get":{"tags":["Command Center"],"summary":"Users Recent","description":"Return a list of users created within the past `days` days for the current workspace.\n\nRequires platform-superuser privileges; results are scoped to the caller's workspace. Each returned item is a safe user representation with secret-bearing fields removed and datetime fields formatted as ISO strings (or `None`).\n\nParameters:\n    days (int): Number of days in the lookback window (1–90). Defaults to 7.\n\nReturns:\n    list[dict]: List of safe user dictionaries for users created since the cutoff, ordered by creation time descending (up to 200 items).","operationId":"users_recent_api_v1_command_center_users_recent_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/live-users":{"get":{"tags":["Command Center"],"summary":"Live Users","description":"Identical semantics to /users/online — provided so legacy callers using\nthe spec'd path also work.","operationId":"live_users_api_v1_command_center_live_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/sessions":{"get":{"tags":["Command Center"],"summary":"Sessions List","description":"Return active, non-expired sessions for the current workspace (platform-superuser only).\n\nRequires a platform superuser. Retrieves up to 500 active sessions that have not yet expired, ordered by most recent access. Each item omits secret/session token values.\n\nReturns:\n    list[dict]: A list of session objects containing:\n        - id: Session identifier.\n        - user_id: Associated user's id.\n        - user_email: Associated user's email.\n        - ip_address: IP address recorded for the session.\n        - user_agent: User agent string for the session.\n        - expires_at: ISO-8601 timestamp string when the session expires, or None.\n        - last_accessed: ISO-8601 timestamp string of last access, or None.\n        - created_at: ISO-8601 timestamp string when the session was created, or None.","operationId":"sessions_list_api_v1_command_center_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/funnels":{"get":{"tags":["Command Center"],"summary":"Funnels","description":"Compute signup → activation → first-install funnel metrics for the current workspace over a rolling time window.\n\nReturns:\n    dict: A mapping containing:\n        - window_days (int): Number of days in the funnel window.\n        - as_of (str): ISO-8601 timestamp when metrics were computed.\n        - signups (int): Number of users created in the workspace during the window.\n        - activated (int): Number of those users who have logged in at least once.\n        - installs (int): Number of marketplace/install audit events in the workspace during the window (approximate \"first-install\" measure).\n        - activation_rate (float): `activated / signups` if `signups > 0`, otherwise `0.0`.\n        - install_rate (float): `installs / activated` if `activated > 0`, otherwise `0.0`.","operationId":"funnels_api_v1_command_center_funnels_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/terminals/quantum":{"get":{"tags":["Command Center"],"summary":"Terminals Quantum","description":"UACP / Quantum terminal endpoint map.\n\nReturns the documented allowlist of backend routes a terminal command can\ndispatch to.  The terminal frontend MUST refuse any command not present in\nthis map.  No command is executed by this endpoint itself.","operationId":"terminals_quantum_api_v1_command_center_terminals_quantum_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/command-center/terminals/veklom":{"get":{"tags":["Command Center"],"summary":"Terminals Veklom","description":"Veklom Runtime terminal endpoint map.","operationId":"terminals_veklom_api_v1_command_center_terminals_veklom_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/repo-risk-gate/runs":{"post":{"tags":["Repo Risk Gate"],"summary":"Start Run","description":"Create a new governed repo-review run.\n\nThe run is persisted immediately with status=\"queued\".  The first three\nevents (run.created, repo.metadata.fetched | repo.metadata.unavailable,\nrepo.tree.loaded) are emitted synchronously — they are real, not faked:\nrepo.metadata.fetched only fires if a public GitHub API call returned 200.","operationId":"start_run_api_v1_repo_risk_gate_runs_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartRunRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Repo Risk Gate"],"summary":"List Runs","operationId":"list_runs_api_v1_repo_risk_gate_runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repo-risk-gate/runs/{run_id}":{"get":{"tags":["Repo Risk Gate"],"summary":"Get Run","operationId":"get_run_api_v1_repo_risk_gate_runs__run_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repo-risk-gate/runs/{run_id}/events":{"get":{"tags":["Repo Risk Gate"],"summary":"List Events","operationId":"list_events_api_v1_repo_risk_gate_runs__run_id__events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"event_hash to resume after","title":"After"},"description":"event_hash to resume after"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repo-risk-gate/runs/{run_id}/decision":{"post":{"tags":["Repo Risk Gate"],"summary":"Post Decision","operationId":"post_decision_api_v1_repo_risk_gate_runs__run_id__decision_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repo-risk-gate/runs/{run_id}/ledger":{"get":{"tags":["Repo Risk Gate"],"summary":"Get Ledger","description":"Return the full hash-chained event ledger plus a verification result.\n\nThe frontend (and an auditor) can independently recompute every\n`event_hash` from `prev_hash + event` and confirm it matches what we\nstored.  This endpoint also recomputes the chain server-side and reports\nwhether it is intact.","operationId":"get_ledger_api_v1_repo_risk_gate_runs__run_id__ledger_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/law":{"get":{"tags":["Agent Workforce"],"summary":"Get Agent Law","description":"Return the VEKLOM_AGENT_LAW constant — injected into every governed agent system prompt.","operationId":"get_agent_law_api_v1_agents_law_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/":{"get":{"tags":["Agent Workforce"],"summary":"Registry","operationId":"registry_api_v1_agents__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/registry":{"get":{"tags":["Agent Workforce"],"summary":"Registry","operationId":"registry_api_v1_agents_registry_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/{agent_number}":{"get":{"tags":["Agent Workforce"],"summary":"Registry Detail","operationId":"registry_detail_api_v1_agents__agent_number__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_number","in":"path","required":true,"schema":{"type":"integer","title":"Agent Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/registry/{agent_number}":{"get":{"tags":["Agent Workforce"],"summary":"Registry Detail","operationId":"registry_detail_api_v1_agents_registry__agent_number__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_number","in":"path","required":true,"schema":{"type":"integer","title":"Agent Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/fleet":{"get":{"tags":["Agent Workforce"],"summary":"Fleet","description":"Aggregate fleet view: status counts and recent activity per group.","operationId":"fleet_api_v1_agents_fleet_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/runs":{"get":{"tags":["Agent Workforce"],"summary":"List Runs","description":"Runs are stored as ledger events of type `agent.run.started` and\n`agent.run.completed`.  We surface both so the UI can pair them.","operationId":"list_runs_api_v1_agents_runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Agent Workforce"],"summary":"Start Run","description":"Start a new agent run.  Admin-only by role to prevent unsafe trigger.\n\nRecords a hash-chained `agent.run.started` event.  The actual workload\ndispatch is delegated to the operator/uacp-autonomous machinery — this\nendpoint only records the run intent in the agent ledger.","operationId":"start_run_api_v1_agents_runs_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartRunBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/runs/{run_id}/complete":{"patch":{"tags":["Agent Workforce"],"summary":"Complete Run","operationId":"complete_run_api_v1_agents_runs__run_id__complete_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/decision-frames":{"get":{"tags":["Agent Workforce"],"summary":"Decision Frames","operationId":"decision_frames_api_v1_agents_decision_frames_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/signals":{"get":{"tags":["Agent Workforce"],"summary":"Signals","operationId":"signals_api_v1_agents_signals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/violations":{"get":{"tags":["Agent Workforce"],"summary":"Violations","operationId":"violations_api_v1_agents_violations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/evidence":{"get":{"tags":["Agent Workforce"],"summary":"Evidence","description":"Surface every hash-chained ledger event for the account's agents.\n\nThe hash chain is the evidence: each row carries event_hash + prev hash\nso any auditor can replay the chain and verify integrity.","operationId":"evidence_api_v1_agents_evidence_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/monthly-report":{"get":{"tags":["Agent Workforce"],"summary":"Monthly Report","operationId":"monthly_report_api_v1_agents_monthly_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/guardrails":{"get":{"tags":["Agent Workforce"],"summary":"Guardrails","description":"Static guardrail manifest exposed to the workforce UI.\n\nThese are the policy guardrails enforced by the GPC pipeline before any\nagent run.  They are version-pinned and not configurable from the UI.","operationId":"guardrails_api_v1_agents_guardrails_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/skills":{"get":{"tags":["Agent Workforce"],"summary":"List Skills","description":"List all registered agent skills.\n\n`available_only=true` filters to skills with is_available=True.\nSkills with is_available=False return SKILL_MISSING if invoked.","operationId":"list_skills_api_v1_agents_skills_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"available_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Available Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/skills/{skill_id}":{"get":{"tags":["Agent Workforce"],"summary":"Get Skill","operationId":"get_skill_api_v1_agents_skills__skill_id__get","security":[{"HTTPBearer":[]}],"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/v1/agents/skills/{skill_id}/invoke":{"post":{"tags":["Agent Workforce"],"summary":"Invoke Skill","description":"Attempt skill invocation.\n\nIf is_available=False, returns 503 SKILL_MISSING.\nReal invocation logic is deferred to skill-specific handlers once\nimplementations exist.","operationId":"invoke_skill_api_v1_agents_skills__skill_id__invoke_post","security":[{"HTTPBearer":[]}],"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/v1/agents/hrm/audit":{"get":{"tags":["HRM Agents"],"summary":"Hrm Audit","description":"Audit the full HRM task force.\n\nReturns per-tier agent counts, status breakdown, and ledger-event\nsummary for each agent.  Only agents with a non-null hrm_tier are\nincluded in the HRM view; standard agents (hrm_tier=null) are excluded.","operationId":"hrm_audit_api_v1_agents_hrm_audit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/hrm/agents/{agent_number}":{"get":{"tags":["HRM Agents"],"summary":"Hrm Agent By Number","description":"Fetch a single HRM agent by its sequential task-force number.","operationId":"hrm_agent_by_number_api_v1_agents_hrm_agents__agent_number__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_number","in":"path","required":true,"schema":{"type":"integer","title":"Agent Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/hrm/monitors":{"get":{"tags":["HRM Agents"],"summary":"Hrm Monitors","description":"All active HRM Monitor agents in the task force.","operationId":"hrm_monitors_api_v1_agents_hrm_monitors_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"squad_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Squad Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/hrm/sync/telemetry":{"get":{"tags":["HRM Agents"],"summary":"Hrm Sync Telemetry","description":"Telemetry report for HRM-Sync agents.\n\n`telemetry` = per-agent: event count, last-seen timestamp, chain-head\nhash, status, and capabilities list.  No metrics are fabricated;\nabsent activity returns zero counts.","operationId":"hrm_sync_telemetry_api_v1_agents_hrm_sync_telemetry_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agents","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated agent_numbers, e.g. 15,30,45","title":"Agents"},"description":"Comma-separated agent_numbers, e.g. 15,30,45"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/hrm/{agent_id}/zeno-interrogation":{"post":{"tags":["HRM Agents"],"summary":"Zeno Interrogation","description":"Zeno interrogation — read-only chain-of-custody audit.\n\nReplays the full ledger for an agent and:\n  - verifies SHA-256 hash chain integrity.\n  - extracts all decision events.\n  - identifies gap events (chain breaks).\n  - returns a structured verdict: chain_intact | no_activity | chain_break.\n\nThe agent's ledger is the \"memory vault.\"  Nothing is written; this is\na pure replay of what already exists.  The interrogation record is\ntimestamped in the response body only — not persisted — so it cannot\nalter the chain it inspects.","operationId":"zeno_interrogation_api_v1_agents_hrm__agent_id__zeno_interrogation_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/hrm/register":{"post":{"tags":["HRM Agents"],"summary":"Hrm Register Agent","description":"Register a new HRM agent.  Admin/Owner role required.\n\nThis is the only way to populate the task force — no agents are\nseeded automatically.  agent_number must be unique within the account\nif provided.","operationId":"hrm_register_agent_api_v1_agents_hrm_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterHRMAgentBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/hrm/{agent_id}/status":{"patch":{"tags":["HRM Agents"],"summary":"Hrm Update Status","description":"Update an HRM agent's operational status (admin only).","operationId":"hrm_update_status_api_v1_agents_hrm__agent_id__status_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStatusBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/uacp/summary":{"get":{"tags":["uacp-internal"],"summary":"Get Summary","description":"Returns high-level product reality summary for UACP Command Center.","operationId":"get_summary_api_v1_internal_uacp_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/events":{"get":{"tags":["uacp-internal"],"summary":"Get Events","description":"Returns normalized backend events owned by the backend.","operationId":"get_events_api_v1_internal_uacp_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/evaluation-surgeon":{"get":{"tags":["uacp-internal"],"summary":"Get Evaluation Surgeon","description":"Ranks workspaces from real evaluation, billing, endpoint, evidence, and security signals.","operationId":"get_evaluation_surgeon_api_v1_internal_uacp_evaluation_surgeon_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/growth-opportunities":{"get":{"tags":["uacp-internal"],"summary":"Get Growth Opportunities","description":"Ranks marketplace, integration, order, listing, or failed-route signals.","operationId":"get_growth_opportunities_api_v1_internal_uacp_growth_opportunities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/workspaces":{"get":{"tags":["uacp-internal"],"summary":"Get Workspaces","description":"Exposes backend truth for workspaces.","operationId":"get_workspaces_api_v1_internal_uacp_workspaces_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/runs":{"get":{"tags":["uacp-internal"],"summary":"Get Runs","description":"Exposes backend truth for inference runs.","operationId":"get_runs_api_v1_internal_uacp_runs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/deployments":{"get":{"tags":["uacp-internal"],"summary":"Get Deployments","description":"Exposes backend truth for deployments.","operationId":"get_deployments_api_v1_internal_uacp_deployments_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/billing":{"get":{"tags":["uacp-internal"],"summary":"Get Billing","description":"Exposes backend truth for billing.","operationId":"get_billing_api_v1_internal_uacp_billing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/evidence":{"get":{"tags":["uacp-internal"],"summary":"Get Evidence","description":"Exposes backend truth for evidence.","operationId":"get_evidence_api_v1_internal_uacp_evidence_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/monitoring":{"get":{"tags":["uacp-internal"],"summary":"Get Monitoring","description":"Exposes backend truth for monitoring.","operationId":"get_monitoring_api_v1_internal_uacp_monitoring_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/security":{"get":{"tags":["uacp-internal"],"summary":"Get Security","description":"Exposes backend truth for security.","operationId":"get_security_api_v1_internal_uacp_security_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/v4/dispatch":{"post":{"tags":["uacp-internal"],"summary":"Dispatch V4","operationId":"dispatch_v4_api_v1_internal_uacp_v4_dispatch_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/uacp/versions":{"get":{"tags":["uacp-internal"],"summary":"Get Versions","operationId":"get_versions_api_v1_internal_uacp_versions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/runs":{"post":{"tags":["uacp-operators"],"summary":"Record Operator Run","description":"Record UACP worker runs.","operationId":"record_operator_run_api_v1_internal_operators_runs_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/watch":{"post":{"tags":["uacp-operators"],"summary":"Record Operator Watch","description":"Record operator-watch evidence.","operationId":"record_operator_watch_api_v1_internal_operators_watch_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/workers/{worker_id}/heartbeat":{"post":{"tags":["uacp-operators"],"summary":"Record Worker Heartbeat","description":"Record UACP worker heartbeat.","operationId":"record_worker_heartbeat_api_v1_internal_operators_workers__worker_id__heartbeat_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/register":{"post":{"tags":["uacp-operators"],"summary":"Register Operator","operationId":"register_operator_api_v1_internal_operators_register_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/capabilities":{"get":{"tags":["uacp-operators"],"summary":"Get Capabilities","operationId":"get_capabilities_api_v1_internal_operators_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/registry":{"get":{"tags":["uacp-operators"],"summary":"Get Worker Registry","description":"Returns the internal UACP V3 Worker Registry.","operationId":"get_worker_registry_api_v1_internal_operators_registry_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/overview":{"get":{"tags":["uacp-operators"],"summary":"Get Operators Overview","description":"Returns summary KPIs of all active operators and committees.","operationId":"get_operators_overview_api_v1_internal_operators_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/tasks":{"get":{"tags":["uacp-operators"],"summary":"Get Operator Tasks","description":"List recent tasks run by the operator network.","operationId":"get_operator_tasks_api_v1_internal_operators_tasks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["uacp-operators"],"summary":"Create Operator Task","description":"Manually spawn a new operator task.","operationId":"create_operator_task_api_v1_internal_operators_tasks_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/tasks/{task_id}":{"patch":{"tags":["uacp-operators"],"summary":"Update Operator Task","description":"Update status, output, or metadata of a task.","operationId":"update_operator_task_api_v1_internal_operators_tasks__task_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/workers/{worker_id}/run":{"post":{"tags":["uacp-operators"],"summary":"Run Worker","description":"Trigger a specific worker. Computes appropriate provider based on policy,\nchecks budget rules, gates critical releases, and records execution details.","operationId":"run_worker_api_v1_internal_operators_workers__worker_id__run_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/workers/{worker_id}/pause":{"post":{"tags":["uacp-operators"],"summary":"Pause Worker","description":"Pause schedule active status for a worker.","operationId":"pause_worker_api_v1_internal_operators_workers__worker_id__pause_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/workers/{worker_id}/resume":{"post":{"tags":["uacp-operators"],"summary":"Resume Worker","description":"Resume schedule active status for a worker.","operationId":"resume_worker_api_v1_internal_operators_workers__worker_id__resume_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/workers/{worker_id}/memory":{"get":{"tags":["uacp-operators"],"summary":"Get Worker Memory","description":"Get all key-value states for a worker.","operationId":"get_worker_memory_api_v1_internal_operators_workers__worker_id__memory_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["uacp-operators"],"summary":"Set Worker Memory","description":"Store or update key-value states for a worker.","operationId":"set_worker_memory_api_v1_internal_operators_workers__worker_id__memory_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/artifacts":{"get":{"tags":["uacp-operators"],"summary":"Get Artifacts","description":"List recent artifacts generated by workers.","operationId":"get_artifacts_api_v1_internal_operators_artifacts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["uacp-operators"],"summary":"Create Artifact","description":"Register a new output artifact.","operationId":"create_artifact_api_v1_internal_operators_artifacts_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/provider-usage":{"get":{"tags":["uacp-operators"],"summary":"Get Provider Usage","description":"Get total metrics and costs aggregated by LLM provider.","operationId":"get_provider_usage_api_v1_internal_operators_provider_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/budgets":{"get":{"tags":["uacp-operators"],"summary":"Get Budgets","description":"Get budget metrics for all workers.","operationId":"get_budgets_api_v1_internal_operators_budgets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/budgets/{worker_id}":{"patch":{"tags":["uacp-operators"],"summary":"Update Budget","description":"Set budgets daily or monthly cap limits for a worker.","operationId":"update_budget_api_v1_internal_operators_budgets__worker_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/approvals":{"get":{"tags":["uacp-operators"],"summary":"Get Approvals","description":"List all pending/historical human approval requests.","operationId":"get_approvals_api_v1_internal_operators_approvals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/approvals/{approval_id}/approve":{"post":{"tags":["uacp-operators"],"summary":"Approve Request","description":"Approve a gated critical action request.","operationId":"approve_request_api_v1_internal_operators_approvals__approval_id__approve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/approvals/{approval_id}/reject":{"post":{"tags":["uacp-operators"],"summary":"Reject Request","description":"Reject a gated critical action request.","operationId":"reject_request_api_v1_internal_operators_approvals__approval_id__reject_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/scheduler":{"get":{"tags":["uacp-operators"],"summary":"Get Scheduler Status","description":"Get current status of the governed operator workforce scheduler.","operationId":"get_scheduler_status_api_v1_internal_operators_scheduler_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/scheduler/stop":{"post":{"tags":["uacp-operators"],"summary":"Stop Scheduler","description":"Gracefully stop the entire operator workforce. System-level kill switch.","operationId":"stop_scheduler_api_v1_internal_operators_scheduler_stop_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/scheduler/start":{"post":{"tags":["uacp-operators"],"summary":"Start Scheduler","description":"Start (or restart) the governed operator workforce.","operationId":"start_scheduler_api_v1_internal_operators_scheduler_start_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/internal/operators/scheduler/workers/{worker_id}/pause":{"post":{"tags":["uacp-operators"],"summary":"Pause Engine Worker","description":"Pause a specific operator worker loop (agent-level kill switch).","operationId":"pause_engine_worker_api_v1_internal_operators_scheduler_workers__worker_id__pause_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/scheduler/workers/{worker_id}/resume":{"post":{"tags":["uacp-operators"],"summary":"Resume Engine Worker","description":"Resume a paused operator worker loop.","operationId":"resume_engine_worker_api_v1_internal_operators_scheduler_workers__worker_id__resume_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/internal/operators/scheduler/workers/{worker_id}/last-result":{"get":{"tags":["uacp-operators"],"summary":"Get Worker Last Result","description":"Get the last tick result for a specific worker, including the LLM output.","operationId":"get_worker_last_result_api_v1_internal_operators_scheduler_workers__worker_id__last_result_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/autonomous/execute":{"post":{"tags":["uacp-autonomous"],"summary":"Autonomous Execute","operationId":"autonomous_execute_api_v1_autonomous_execute_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/escalation/stats":{"get":{"tags":["uacp-autonomous"],"summary":"Get Escalation Stats","operationId":"get_escalation_stats_api_v1_ai_escalation_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/autonomous/status/{run_id}":{"get":{"tags":["uacp-autonomous"],"summary":"Autonomous Status","operationId":"autonomous_status_api_v1_autonomous_status__run_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers/workspace/providers":{"get":{"tags":["Providers"],"summary":"List Workspace Providers","description":"Alias for GET /providers/available for workspace frontend compatibility.","operationId":"list_workspace_providers_api_v1_providers_workspace_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Providers"],"summary":"Add Workspace Provider","description":"Alias for POST /providers/keys for workspace frontend compatibility.","operationId":"add_workspace_provider_api_v1_providers_workspace_providers_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/providers/available":{"get":{"tags":["Providers"],"summary":"List Available Providers","description":"Return providers available to this tenant with status and key source.","operationId":"list_available_providers_api_v1_providers_available_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/providers/keys":{"get":{"tags":["Providers"],"summary":"List Provider Keys","description":"List BYOK keys for this workspace — raw values are NEVER returned.","operationId":"list_provider_keys_api_v1_providers_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Providers"],"summary":"Add Provider Key","description":"Add a BYOK provider key. Raw key is encrypted immediately, never stored in plaintext.","operationId":"add_provider_key_api_v1_providers_keys_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/providers/keys/{key_id}":{"patch":{"tags":["Providers"],"summary":"Update Provider Key","operationId":"update_provider_key_api_v1_providers_keys__key_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Providers"],"summary":"Delete Provider Key","operationId":"delete_provider_key_api_v1_providers_keys__key_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers/routing/logs":{"get":{"tags":["Providers"],"summary":"Get Routing Logs","description":"Return routing audit log — shows why Ollama was used or why escalation happened.","operationId":"get_routing_logs_api_v1_providers_routing_logs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/providers/routing/status":{"get":{"tags":["Providers"],"summary":"Routing Status","description":"Live provider availability for this tenant.","operationId":"routing_status_api_v1_providers_routing_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/providers/routing/rules":{"get":{"tags":["Providers"],"summary":"Routing Rules","description":"Show the routing policy applied to this tenant.","operationId":"routing_rules_api_v1_providers_routing_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/providers/routing/test":{"post":{"tags":["Providers"],"summary":"Test Provider Key","description":"Test a BYOK key by ID — returns ok/fail without exposing the key value.","operationId":"test_provider_key_api_v1_providers_routing_test_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/members":{"get":{"tags":["Team"],"summary":"List Team Members","operationId":"list_team_members_api_v1_team_members_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/members/{member_id}":{"get":{"tags":["Team"],"summary":"Get Team Member","operationId":"get_team_member_api_v1_team_members__member_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Team"],"summary":"Remove Team Member","operationId":"remove_team_member_api_v1_team_members__member_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/members/{member_id}/role":{"patch":{"tags":["Team"],"summary":"Update Member Role","operationId":"update_member_role_api_v1_team_members__member_id__role_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/invitations":{"get":{"tags":["Team"],"summary":"List Invitations","operationId":"list_invitations_api_v1_team_invitations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Team"],"summary":"Send Invitation","operationId":"send_invitation_api_v1_team_invitations_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/invite":{"post":{"tags":["Team"],"summary":"Send Invitation","operationId":"send_invitation_api_v1_team_invite_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/invitations/{invitation_id}":{"delete":{"tags":["Team"],"summary":"Revoke Invitation","operationId":"revoke_invitation_api_v1_team_invitations__invitation_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/roles":{"get":{"tags":["Team"],"summary":"List Roles","operationId":"list_roles_api_v1_team_roles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/sso/status":{"get":{"tags":["Team"],"summary":"Sso Status","operationId":"sso_status_api_v1_team_sso_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/sso/configure":{"post":{"tags":["Team"],"summary":"Configure Sso","operationId":"configure_sso_api_v1_team_sso_configure_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/scim/token":{"post":{"tags":["Team"],"summary":"Generate Scim Token","description":"Generate a new SCIM bearer token for provisioning.","operationId":"generate_scim_token_api_v1_team_scim_token_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/scim/status":{"get":{"tags":["Team"],"summary":"Scim Status","operationId":"scim_status_api_v1_team_scim_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/scim/configure":{"post":{"tags":["Team"],"summary":"Configure Scim","operationId":"configure_scim_api_v1_team_scim_configure_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/sessions/revoke":{"post":{"tags":["Team"],"summary":"Revoke All Sessions","description":"Revoke all sessions for the current user's workspace.","operationId":"revoke_all_sessions_api_v1_team_sessions_revoke_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/mfa/status":{"get":{"tags":["Team"],"summary":"Team Mfa Status","operationId":"team_mfa_status_api_v1_team_mfa_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/mfa/enforce":{"post":{"tags":["Team"],"summary":"Enforce Mfa","description":"Enable or disable MFA enforcement for the workspace.","operationId":"enforce_mfa_api_v1_team_mfa_enforce_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/activity":{"get":{"tags":["Team"],"summary":"Team Activity","operationId":"team_activity_api_v1_team_activity_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/plugins/{plugin_id}/config":{"post":{"tags":["Plugins"],"summary":"Configure Plugin","description":"Set the workspace-scoped configuration for a plugin.","operationId":"configure_plugin_api_v1_plugins__plugin_id__config_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/plugins/{plugin_id}/health":{"get":{"tags":["Plugins"],"summary":"Plugin Health","description":"Check the operational health of a loaded plugin.","operationId":"plugin_health_api_v1_plugins__plugin_id__health_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/v1/plugins":{"get":{"tags":["Plugins"],"summary":"List Plugins","description":"List all available plugins and their enablement state for the current workspace.","operationId":"list_plugins_api_v1_v1_plugins_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PluginResponse"},"type":"array","title":"Response List Plugins Api V1 V1 Plugins Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/v1/plugins/{plugin_id}/enable":{"post":{"tags":["Plugins"],"summary":"Enable Plugin","description":"Enable a specific plugin for the workspace.","operationId":"enable_plugin_api_v1_v1_plugins__plugin_id__enable_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/v1/plugins/{plugin_id}/disable":{"post":{"tags":["Plugins"],"summary":"Disable Plugin","description":"Disable a specific plugin for the workspace.","operationId":"disable_plugin_api_v1_v1_plugins__plugin_id__disable_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/v1/plugins/{plugin_id}/config":{"post":{"tags":["Plugins"],"summary":"Configure Plugin","description":"Set the workspace-scoped configuration for a plugin.","operationId":"configure_plugin_api_v1_v1_plugins__plugin_id__config_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/v1/plugins/{plugin_id}/health":{"get":{"tags":["Plugins"],"summary":"Plugin Health","description":"Check the operational health of a loaded plugin.","operationId":"plugin_health_api_v1_v1_plugins__plugin_id__health_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/v1/v1/exec":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Prompt","operationId":"exec_prompt_api_v1_v1_v1_exec_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/v1/ai/exec":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Stream","operationId":"exec_stream_api_v1_v1_ai_exec_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/v1/chat/completions":{"post":{"tags":["LLM Inference Engine"],"summary":"Exec Stream","operationId":"exec_stream_api_v1_v1_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/config.js":{"get":{"summary":"Config Js","operationId":"config_js_config_js_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/base-attribution.js":{"get":{"summary":"Base Attribution Js","operationId":"base_attribution_js_base_attribution_js_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/attribution/builder-code":{"get":{"summary":"Attribution Builder Code","operationId":"attribution_builder_code_api_v1_attribution_builder_code_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/attribution/analytics":{"get":{"summary":"Attribution Analytics","operationId":"attribution_analytics_api_v1_attribution_analytics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/favicon.svg":{"get":{"summary":"Favicon Svg","operationId":"favicon_svg_favicon_svg_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Favicon Svg","operationId":"favicon_svg_favicon_svg_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/favicon.ico":{"get":{"summary":"Favicon Ico","operationId":"favicon_ico_favicon_ico_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Favicon Ico","operationId":"favicon_ico_favicon_ico_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/apple-touch-icon.png":{"get":{"summary":"Apple Touch Icon","operationId":"apple_touch_icon_apple_touch_icon_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Apple Touch Icon","operationId":"apple_touch_icon_apple_touch_icon_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/og-image.png":{"get":{"summary":"Og Image","operationId":"og_image_og_image_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Og Image","operationId":"og_image_og_image_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/twitter-card.png":{"get":{"summary":"Twitter Card","operationId":"twitter_card_twitter_card_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Twitter Card","operationId":"twitter_card_twitter_card_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/logo.png":{"get":{"summary":"Logo Png","operationId":"logo_png_logo_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Logo Png","operationId":"logo_png_logo_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/icon.png":{"get":{"summary":"Icon Png","operationId":"icon_png_icon_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Icon Png","operationId":"icon_png_icon_png_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/privacy":{"get":{"summary":"Legal Privacy","operationId":"legal_privacy_legal_privacy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/terms":{"get":{"summary":"Legal Terms","operationId":"legal_terms_legal_terms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/uptime":{"get":{"summary":"Uptime Page","operationId":"uptime_page_uptime_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/security":{"get":{"summary":"Legal Security","operationId":"legal_security_legal_security_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/acceptable-use":{"get":{"summary":"Legal Acceptable Use","operationId":"legal_acceptable_use_legal_acceptable_use_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/dsa":{"get":{"summary":"Legal Dsa","operationId":"legal_dsa_legal_dsa_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/license":{"get":{"summary":"Legal License","operationId":"legal_license_legal_license_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/vendor-agreement":{"get":{"summary":"Legal Vendor Agreement","operationId":"legal_vendor_agreement_legal_vendor_agreement_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/license":{"get":{"summary":"Legal License Alias","operationId":"legal_license_alias_license_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/license.html":{"get":{"summary":"Legal License Alias","operationId":"legal_license_alias_legal_license_html_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/vendor-agreement":{"get":{"summary":"Legal Vendor Agreement Alias","operationId":"legal_vendor_agreement_alias_vendor_agreement_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/legal/vendor-agreement.html":{"get":{"summary":"Legal Vendor Agreement Alias","operationId":"legal_vendor_agreement_alias_legal_vendor_agreement_html_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap.xml":{"get":{"summary":"Sitemap Xml","operationId":"sitemap_xml_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/feedback/":{"post":{"summary":"Submit Feedback","operationId":"submit_feedback_api_v1_feedback__post","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","title":"Category"}},{"name":"subject","in":"query","required":false,"schema":{"type":"string","title":"Subject"}},{"name":"body","in":"query","required":false,"schema":{"type":"string","title":"Body"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback":{"post":{"summary":"Submit Feedback","operationId":"submit_feedback_api_v1_feedback_post","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","title":"Category"}},{"name":"subject","in":"query","required":false,"schema":{"type":"string","title":"Subject"}},{"name":"body","in":"query","required":false,"schema":{"type":"string","title":"Body"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contact/":{"post":{"summary":"Submit Contact","description":"Handle contact/sales inquiry form submissions from the landing page.\nEmails sales@veklom.com and sends a confirmation to the submitter.","operationId":"submit_contact_api_v1_contact__post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/contact":{"post":{"summary":"Submit Contact","description":"Handle contact/sales inquiry form submissions from the landing page.\nEmails sales@veklom.com and sends a confirmation to the submitter.","operationId":"submit_contact_api_v1_contact_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/feedback":{"get":{"summary":"Feedback Page","operationId":"feedback_page_feedback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/status/data":{"get":{"summary":"Public Status Data","operationId":"public_status_data_status_data_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/status.html":{"get":{"summary":"Status Html File","operationId":"status_html_file_status_html_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/terminal/run":{"post":{"summary":"Run Sample Unified","operationId":"run_sample_unified_api_v1_terminal_run_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/run-sample":{"post":{"summary":"Run Sample Unified","operationId":"run_sample_unified_api_run_sample_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/status":{"get":{"summary":"Status Page","operationId":"status_page_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/terminal":{"get":{"summary":"Terminal Page","operationId":"terminal_page_terminal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/lockerphycer":{"get":{"summary":"Lockerphycer Page","operationId":"lockerphycer_page_lockerphycer_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/lockerphycer/{path}":{"get":{"summary":"Lockerphycer Assets","operationId":"lockerphycer_assets_lockerphycer__path__get","parameters":[{"name":"path","in":"path","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"}}}}}}},"/marketplace":{"get":{"summary":"Marketplace Info","operationId":"marketplace_info_marketplace_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/marketplace/lockerphycer":{"get":{"summary":"Marketplace Lockerphycer","operationId":"marketplace_lockerphycer_marketplace_lockerphycer_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/marketplace/py03-irongrid":{"get":{"summary":"Marketplace Py03","operationId":"marketplace_py03_marketplace_py03_irongrid_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/workspace/pipelines/{pipeline_id}/embedded":{"get":{"summary":"Embedded Pipeline Editor","description":"Serve pipeline detail page with visual editor embedded in iframe.","operationId":"embedded_pipeline_editor_workspace_pipelines__pipeline_id__embedded_get","parameters":[{"name":"pipeline_id","in":"path","required":true,"schema":{"type":"string","title":"Pipeline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspace/auto-editor.js":{"get":{"summary":"Auto Editor Script","description":"JavaScript to automatically trigger visual editor on pipeline pages.","operationId":"auto_editor_script_workspace_auto_editor_js_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/gpc":{"get":{"summary":"Gpc Page","operationId":"gpc_page_gpc_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/config":{"get":{"summary":"Command Center Config","description":"Return configuration for Command Center frontend.","operationId":"command_center_config_api_v1_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Update Command Center Config","description":"Update configuration for Command Center frontend.","operationId":"update_command_center_config_api_v1_config_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"ApproveRunResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["run_id","status"],"title":"ApproveRunResponse"},"BatchTelemetryPayload":{"properties":{"updates":{"items":{"$ref":"#/components/schemas/TelemetryPayload"},"type":"array","title":"Updates"},"triggered_by":{"type":"string","title":"Triggered By","description":"Source agent codename","default":"batch"}},"type":"object","required":["updates"],"title":"BatchTelemetryPayload"},"Body_upload_file_api_v1_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_file_api_v1_upload_post"},"CanonicalEdgeResponse":{"properties":{"accepted":{"type":"boolean","title":"Accepted","description":"Indicates if the event was accepted for processing"},"normalized":{"type":"boolean","title":"Normalized","description":"Indicates if standard normalizations were successfully applied"},"event_id":{"type":"string","title":"Event Id","description":"Unique generated message identifier"},"correlation_id":{"type":"string","title":"Correlation Id","description":"Traceability correlation ID for log mapping"},"canonical_message":{"type":"string","title":"Canonical Message","description":"Human-readable summary of signal processing results"},"audit_status":{"type":"string","title":"Audit Status","description":"Durable audit logging status: persisted | not_configured | failed"},"security_event_status":{"type":"string","title":"Security Event Status","description":"High/critical alarm escalation status: persisted | not_configured | failed"},"routing_status":{"type":"string","title":"Routing Status","description":"Veklom run flow dispatcher status: routed | logged_only | not_configured"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings","description":"Non-blocking warning messages encountered during parsing"}},"type":"object","required":["accepted","normalized","event_id","correlation_id","canonical_message","audit_status","security_event_status","routing_status"],"title":"CanonicalEdgeResponse"},"CompileRunResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"},"v2_plan":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"V2 Plan"}},"type":"object","required":["run_id","status"],"title":"CompileRunResponse"},"ContextualizeRunResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"},"v3_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"V3 Context"}},"type":"object","required":["run_id","status"],"title":"ContextualizeRunResponse"},"CreateRunResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["run_id","status"],"title":"CreateRunResponse"},"DecideRequest":{"properties":{"input":{"additionalProperties":true,"type":"object","title":"Input"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"workspace_id":{"type":"string","title":"Workspace Id"}},"type":"object","required":["input","workspace_id"],"title":"DecideRequest"},"DecisionRequest":{"properties":{"decision":{"type":"string","title":"Decision","description":"approve | escalate | block"},"reason":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Reason"}},"type":"object","required":["decision"],"title":"DecisionRequest"},"EvidenceDetails":{"properties":{"evidence_id":{"type":"string","title":"Evidence Id","default":"ev_01J..."},"sha256":{"type":"string","title":"Sha256","default":"3c4d..."},"verify_url":{"type":"string","title":"Verify Url","default":"https://api.veklom.com/api/v1/evidence/verify"}},"type":"object","title":"EvidenceDetails"},"ExecRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversation Id"},"use_memory":{"type":"boolean","title":"Use Memory","default":true},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Tokens","default":2048},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature","default":0.7}},"type":"object","required":["prompt"],"title":"ExecRequest"},"ExecutionDetails":{"properties":{"provider":{"type":"string","title":"Provider","default":"ollama"},"model":{"type":"string","title":"Model","default":"qwen3:8b"},"started_at":{"type":"string","title":"Started At","default":"2026-05-27T16:04:12Z"},"completed_at":{"type":"string","title":"Completed At","default":"2026-05-27T16:04:18Z"}},"type":"object","title":"ExecutionDetails"},"FaxApprovalRequest":{"properties":{"approved":{"type":"boolean","title":"Approved","description":"Approval decision"},"reviewer_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Notes","description":"Compliance and clinical/legal review notes"}},"type":"object","required":["approved"],"title":"FaxApprovalRequest"},"FaxResponse":{"properties":{"fax_id":{"type":"string","title":"Fax Id"},"status":{"type":"string","title":"Status"},"sender_number":{"type":"string","title":"Sender Number"},"receiver_number":{"type":"string","title":"Receiver Number"},"document_url":{"type":"string","title":"Document Url"},"ocr_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ocr Text"},"classification":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Classification"},"evidence_id":{"type":"string","title":"Evidence Id"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"approved_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved By"},"approval_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Notes"},"industry_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry Context"}},"type":"object","required":["fax_id","status","sender_number","receiver_number","document_url","evidence_id","timestamp"],"title":"FaxResponse"},"GetRunResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"},"intent":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Intent"},"v2_plan":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"V2 Plan"},"v4_decision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"V4 Decision"},"pgl_identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pgl Identity"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["run_id","status","created_at"],"title":"GetRunResponse"},"GovernRunResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"},"v4_decision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"V4 Decision"},"seked_state":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Seked State"}},"type":"object","required":["run_id","status"],"title":"GovernRunResponse"},"GpcCompileRequest":{"properties":{"intent":{"type":"string","title":"Intent"},"graph":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Graph"},"compliance":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Compliance"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","default":"gemini"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","default":"gemini-2.5-flash"},"budget_usdc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Budget Usdc","default":0.015}},"type":"object","required":["intent"],"title":"GpcCompileRequest"},"GpcCompileResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"intent":{"type":"string","title":"Intent"},"graph":{"$ref":"#/components/schemas/GpcGraph"},"status":{"type":"string","title":"Status"},"policy_result":{"type":"string","title":"Policy Result"},"compliance":{"items":{"type":"string"},"type":"array","title":"Compliance"},"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"},"createdAt":{"type":"string","title":"Createdat"},"decision_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision Frame Id"},"evidence_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Id"},"proof_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proof Hash"}},"type":"object","required":["id","name","intent","graph","status","policy_result","compliance","provider","model","createdAt"],"title":"GpcCompileResponse"},"GpcEdge":{"properties":{"from":{"type":"string","title":"From"},"to":{"type":"string","title":"To"}},"type":"object","required":["from","to"],"title":"GpcEdge"},"GpcGraph":{"properties":{"nodes":{"items":{"$ref":"#/components/schemas/GpcNode"},"type":"array","title":"Nodes"},"edges":{"items":{"$ref":"#/components/schemas/GpcEdge"},"type":"array","title":"Edges"}},"type":"object","required":["nodes","edges"],"title":"GpcGraph"},"GpcNode":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","title":"Type"},"description":{"type":"string","title":"Description"},"policy_tag":{"type":"string","title":"Policy Tag"},"entropy":{"type":"number","title":"Entropy"}},"type":"object","required":["id","type","description","policy_tag","entropy"],"title":"GpcNode"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InboundFaxWebhook":{"properties":{"sender_number":{"type":"string","title":"Sender Number","description":"Originating fax number (e.g. +15550192)","example":"+15550192"},"receiver_number":{"type":"string","title":"Receiver Number","description":"Destination fax number inside Veklom","example":"+18005550100"},"document_url":{"type":"string","title":"Document Url","description":"Secure link to the ingested PDF/TIFF file","example":"https://storage.veklom.com/faxes/inbound_2026_06_01.pdf"},"meta_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta Data","description":"Metadata from the FoIP gateway (e.g. SRFax, WestFax)"}},"type":"object","required":["sender_number","receiver_number","document_url"],"title":"InboundFaxWebhook"},"InitiatePaymentRequest":{"properties":{"expected_amount":{"type":"number","title":"Expected Amount"},"token_contract":{"type":"string","title":"Token Contract"},"chain_id":{"type":"integer","title":"Chain Id"}},"type":"object","required":["expected_amount","token_contract","chain_id"],"title":"InitiatePaymentRequest"},"JobStatusResponse":{"properties":{"transaction_id":{"type":"string","title":"Transaction Id"},"status":{"type":"string","enum":["PENDING","PROCESSING","COMPLETED","FAILED","EXPIRED","REVIEW_REQUIRED","UNKNOWN","NOT_WIRED"],"title":"Status"},"destination_node":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Destination Node"},"progress":{"type":"integer","title":"Progress","default":0},"detail":{"type":"string","title":"Detail"},"proof_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proof Hash"},"result_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result Ref"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["transaction_id","status","detail","updated_at"],"title":"JobStatusResponse"},"LegacyWebhookPayload":{"properties":{"source_protocol":{"type":"string","title":"Source Protocol","description":"Ingress protocol: snmp, modbus, mqtt, opc_ua, webhook, polling"},"source_system":{"type":"string","title":"Source System","description":"Origin identifier of the gateway, machine, or router"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id","description":"Optional target Veklom workspace UUID"},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Id","description":"Optional tenant UUID"},"signal_type":{"type":"string","title":"Signal Type","description":"Metric or indicator category, e.g. system_failure, temperature, alert"},"payload":{"additionalProperties":true,"type":"object","title":"Payload","description":"Raw dictionary containing the unstructured signal data"},"severity":{"type":"string","title":"Severity","description":"Signal alert level: info, low, medium, warning, high, critical","default":"info"},"timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Timestamp","description":"Optional external timestamp of the event"},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id","description":"Optional external trace identifier"},"raw_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Ref","description":"Optional raw reference string"},"normalized_fields":{"additionalProperties":true,"type":"object","title":"Normalized Fields","description":"Pre-normalized fields if already structured"}},"type":"object","required":["source_protocol","source_system","signal_type","payload"],"title":"LegacyWebhookPayload","examples":[{"payload":{"error_status":2,"trap_oid":"1.3.6.1.6.3.1.1.5.3","variables":{"1.3.6.1.2.1.2.2.1.8.1":2}},"severity":"critical","signal_type":"link_down","source_protocol":"snmp","source_system":"core-router-01","workspace_id":"89078ab2-12e4-4fa7-a3cc-1afd2137d473"},{"payload":{"exception_code":2,"function_code":3,"registers":[850],"unit_id":12},"severity":"high","signal_type":"compressor_overheat","source_protocol":"modbus","source_system":"hvac-controller-04","workspace_id":"89078ab2-12e4-4fa7-a3cc-1afd2137d473"},{"payload":{"failed_attempts":45,"ip_address":"198.51.100.42","user_agent":"Mozilla/5.0"},"severity":"critical","signal_type":"brute_force_detected","source_protocol":"webhook","source_system":"auth-gateway","workspace_id":"89078ab2-12e4-4fa7-a3cc-1afd2137d473"},{"payload":{"phase":"A","topic":"telemetry/power/sag","voltage":185.4},"severity":"warning","signal_type":"voltage_sag","source_protocol":"mqtt","source_system":"power-meter-3b","workspace_id":"89078ab2-12e4-4fa7-a3cc-1afd2137d473"}]},"LoginRequest":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"OutboundFaxRequest":{"properties":{"recipient_number":{"type":"string","title":"Recipient Number","description":"Target fax number","example":"+15550999"},"sender_number":{"type":"string","title":"Sender Number","description":"Outgoing fax line authorized in Veklom","example":"+18005550100"},"document_url":{"type":"string","title":"Document Url","description":"URL of the document to send","example":"https://storage.veklom.com/faxes/outbound_draft_102.pdf"},"require_approval":{"type":"boolean","title":"Require Approval","description":"Enforce governance sign-off before sending","default":true}},"type":"object","required":["recipient_number","sender_number","document_url"],"title":"OutboundFaxRequest"},"PaymentDetails":{"properties":{"protocol":{"type":"string","title":"Protocol","default":"x402"},"network":{"type":"string","title":"Network","default":"base"},"asset":{"type":"string","title":"Asset","default":"USDC"},"amount":{"type":"string","title":"Amount","default":"0.015"},"authorization_ref":{"type":"string","title":"Authorization Ref","default":"0xabc..."}},"type":"object","title":"PaymentDetails"},"PluginConfigUpdate":{"properties":{"config":{"additionalProperties":true,"type":"object","title":"Config"}},"type":"object","required":["config"],"title":"PluginConfigUpdate"},"PluginResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"version":{"type":"string","title":"Version"},"description":{"type":"string","title":"Description"},"enabled":{"type":"boolean","title":"Enabled"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},"type":"object","required":["id","name","version","description","enabled","workspace_id"],"title":"PluginResponse"},"PolicyDetails":{"properties":{"result":{"type":"string","title":"Result","default":"passed"},"policy_bundle_id":{"type":"string","title":"Policy Bundle Id","default":"pol_01J..."},"budget_snapshot_usdc":{"type":"string","title":"Budget Snapshot Usdc","default":"49.775"}},"type":"object","title":"PolicyDetails"},"ReceiptResponse":{"properties":{"receipt_id":{"type":"string","title":"Receipt Id"},"request_id":{"type":"string","title":"Request Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"route":{"type":"string","title":"Route"},"status":{"type":"string","title":"Status"},"payment":{"$ref":"#/components/schemas/PaymentDetails"},"policy":{"$ref":"#/components/schemas/PolicyDetails"},"execution":{"$ref":"#/components/schemas/ExecutionDetails"},"evidence":{"$ref":"#/components/schemas/EvidenceDetails"}},"type":"object","required":["receipt_id","request_id","workspace_id","route","status","payment","policy","execution","evidence"],"title":"ReceiptResponse"},"RegisterHRMAgentBody":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"hrm_tier":{"type":"string","title":"Hrm Tier","description":"prime | monitor | sync"},"creator":{"type":"string","maxLength":255,"minLength":1,"title":"Creator"},"jurisdiction":{"type":"string","maxLength":64,"minLength":1,"title":"Jurisdiction"},"declared_purpose":{"type":"string","maxLength":512,"minLength":1,"title":"Declared Purpose"},"agent_number":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Agent Number"},"squad_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Squad Id"},"capabilities":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Capabilities"}},"type":"object","required":["name","hrm_tier","creator","jurisdiction","declared_purpose"],"title":"RegisterHRMAgentBody"},"RegisterRequest":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"},"full_name":{"type":"string","title":"Full Name","default":""},"workspace_name":{"type":"string","title":"Workspace Name","default":""},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}},"type":"object","required":["email","password"],"title":"RegisterRequest"},"ReplayProtectionInfo":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"Replay check active"},"backend":{"type":"string","title":"Backend","description":"Database backend utilized, e.g. redis"}},"type":"object","required":["enabled","backend"],"title":"ReplayProtectionInfo"},"RepoSelectRequest":{"properties":{"repo_full_name":{"type":"string","title":"Repo Full Name"}},"type":"object","required":["repo_full_name"],"title":"RepoSelectRequest"},"RollbackRunResponse":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["run_id","status"],"title":"RollbackRunResponse"},"RouteRequest":{"properties":{"agent_id":{"type":"integer","title":"Agent Id","description":"Agent requesting routing (e.g. 121, 129)"},"origin_row":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Origin Row","description":"Override origin row"},"origin_col":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Origin Col","description":"Override origin col"}},"type":"object","required":["agent_id"],"title":"RouteRequest"},"RoutingDecisionRequest":{"properties":{"workload_class":{"type":"string","enum":["interactive","batch","agent_chain","retrieval","verification"],"title":"Workload Class","default":"interactive"},"estimated_tokens":{"type":"integer","maximum":2000000.0,"minimum":1.0,"title":"Estimated Tokens","default":1000},"compliance_tags":{"items":{"type":"string"},"type":"array","maxItems":32,"title":"Compliance Tags"},"sovereignty_region":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Sovereignty Region"},"max_latency_ms":{"anyOf":[{"type":"integer","maximum":600000.0,"minimum":1.0},{"type":"null"}],"title":"Max Latency Ms"},"budget_remaining_usd":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Budget Remaining Usd"},"requires_replay":{"type":"boolean","title":"Requires Replay","default":false}},"type":"object","title":"RoutingDecisionRequest"},"StartRunBody":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"summary":{"type":"string","title":"Summary"},"details":{"additionalProperties":true,"type":"object","title":"Details","default":{}}},"type":"object","required":["agent_id","summary"],"title":"StartRunBody"},"StartRunRequest":{"properties":{"repo_url":{"type":"string","maxLength":512,"minLength":8,"title":"Repo Url"}},"type":"object","required":["repo_url"],"title":"StartRunRequest"},"SubmitPaymentRequest":{"properties":{"order_id":{"type":"string","title":"Order Id"},"tx_hash":{"type":"string","title":"Tx Hash"}},"type":"object","required":["order_id","tx_hash"],"title":"SubmitPaymentRequest"},"SupportFlags":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"Feature support state"}},"type":"object","required":["enabled"],"title":"SupportFlags"},"TelemetryPayload":{"properties":{"agent_id":{"type":"integer","title":"Agent Id","description":"Agent ID (e.g. 63 for latency scientist)"},"agent_codename":{"type":"string","title":"Agent Codename","description":"Human-readable codename e.g. 'latency-scientist'"},"cpu_load":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Cpu Load","description":"Normalised CPU load 0.0-1.0"},"queue_depth":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Queue Depth","description":"Normalised queue depth 0.0-1.0"},"row":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Row","description":"Grid row override (uses registry if omitted)"},"col":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Col","description":"Grid col override (uses registry if omitted)"}},"type":"object","required":["agent_id","agent_codename","cpu_load","queue_depth"],"title":"TelemetryPayload"},"TriggerIncidentRequest":{"properties":{"summary":{"type":"string","title":"Summary"},"severity":{"type":"string","title":"Severity","default":"critical"},"source":{"type":"string","title":"Source","default":"veklom-governance-engine"},"component":{"type":"string","title":"Component","default":"compiler"},"group":{"type":"string","title":"Group","default":"security-gate"},"custom_details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Details"}},"type":"object","required":["summary"],"title":"TriggerIncidentRequest"},"UpdateStatusBody":{"properties":{"status":{"type":"string","title":"Status"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["status"],"title":"UpdateStatusBody"},"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"},"X402ConfigResponse":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"Is x402 payment active globally"},"x402_version":{"type":"string","title":"X402 Version","description":"x402 protocol specification version"},"accepted_assets":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Accepted Assets","description":"List of accepted ERC20 token assets"},"network":{"type":"string","title":"Network","description":"Settlement layer network name"},"chain_id":{"type":"integer","title":"Chain Id","description":"EVM chain ID for the network"},"pay_to":{"type":"string","title":"Pay To","description":"Target on-chain treasury recipient address"},"protected_routes":{"items":{"type":"string"},"type":"array","title":"Protected Routes","description":"List of API paths requiring x402 payments"},"proof_header_name":{"type":"string","title":"Proof Header Name","description":"Header name for submitting payment proof transaction hash"},"challenge_ttl_seconds":{"type":"integer","title":"Challenge Ttl Seconds","description":"Lifespan duration of payment challenges"},"replay_protection":{"$ref":"#/components/schemas/ReplayProtectionInfo","description":"Double-spend protection metadata"},"receipt_support":{"$ref":"#/components/schemas/SupportFlags","description":"Durable receipt compilation capability"},"verification_support":{"$ref":"#/components/schemas/SupportFlags","description":"On-chain receipt verification status"},"missing_config":{"items":{"type":"string"},"type":"array","title":"Missing Config","description":"List of missing configuration variables"},"environment_mode":{"type":"string","title":"Environment Mode","description":"Current running environment tier"}},"type":"object","required":["enabled","x402_version","accepted_assets","network","chain_id","pay_to","protected_routes","proof_header_name","challenge_ttl_seconds","replay_protection","receipt_support","verification_support","missing_config","environment_mode"],"title":"X402ConfigResponse"},"X402ProtectedTestRequest":{"properties":{"messages":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Messages","description":"User messages list to pass through the payment gate"}},"type":"object","required":["messages"],"title":"X402ProtectedTestRequest"},"X402ProtectedTestResponse":{"properties":{"status":{"type":"string","title":"Status","description":"Execution status code"},"message":{"type":"string","title":"Message","description":"Diagnostic execution response message"}},"type":"object","required":["status","message"],"title":"X402ProtectedTestResponse"},"backend__apps__api__routers__compliance__EvidenceVerifyRequest":{"properties":{"evidence_id":{"type":"string","title":"Evidence Id"},"sha256":{"type":"string","title":"Sha256"}},"type":"object","required":["evidence_id","sha256"],"title":"EvidenceVerifyRequest"},"backend__apps__api__routers__compliance__EvidenceVerifyResponse":{"properties":{"verified":{"type":"boolean","title":"Verified"},"evidence_id":{"type":"string","title":"Evidence Id"},"sha256":{"type":"string","title":"Sha256"},"policy_result":{"type":"string","title":"Policy Result"},"cost_usdc":{"type":"string","title":"Cost Usdc"},"network":{"type":"string","title":"Network"},"timestamp":{"type":"string","title":"Timestamp"},"signature":{"type":"string","title":"Signature"}},"type":"object","required":["verified","evidence_id","sha256","policy_result","cost_usdc","network","timestamp","signature"],"title":"EvidenceVerifyResponse"},"backend__apps__api__routers__x402__EvidenceVerifyRequest":{"properties":{"receipt_id":{"type":"string","title":"Receipt Id","description":"Target x402 receipt ID"},"proof_hash":{"type":"string","title":"Proof Hash","description":"Cryptographic hash of the payment proof transaction"},"evidence_hash":{"type":"string","title":"Evidence Hash","description":"Aggregated SHA-256 seal of the execution run"}},"type":"object","required":["receipt_id","proof_hash","evidence_hash"],"title":"EvidenceVerifyRequest"},"backend__apps__api__routers__x402__EvidenceVerifyResponse":{"properties":{"valid":{"type":"boolean","title":"Valid","description":"Indicates if verification successfully passed"},"receipt_id":{"type":"string","title":"Receipt Id","description":"Receipt ID queried"},"verification_status":{"type":"string","title":"Verification Status","description":"Verification code status: verified | mismatched | not_found"},"evidence_hash_match":{"type":"boolean","title":"Evidence Hash Match","description":"Is the evidence seal intact"},"proof_hash_match":{"type":"boolean","title":"Proof Hash Match","description":"Does the payment hash match the receipt"},"signature_valid":{"type":"boolean","title":"Signature Valid","description":"Is the cryptographic receipt signature authentic"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason","description":"Clear description of verification errors if invalid"}},"type":"object","required":["valid","receipt_id","verification_status","evidence_hash_match","proof_hash_match","signature_valid"],"title":"EvidenceVerifyResponse"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"AI","description":"Governed AI inference, chat, smart tier routing. Ollama-first, escalates to Groq/Gemini/OpenAI."},{"name":"GPC","description":"Governed Plan Compiler — compile agent intent into deterministic, policy-checked plans."},{"name":"Pipelines","description":"Pipeline orchestration — trigger, manage, and monitor governed pipelines."},{"name":"Evidence","description":"SHA-256 sealed audit evidence for every governed execution."},{"name":"Compliance","description":"Compliance reports for SOC2, HIPAA, GDPR, ISO 27001, EU AI Act, FedRAMP."},{"name":"Billing","description":"Operating reserve, wallet top-up, subscriptions, invoices, budget caps."},{"name":"Marketplace","description":"Sovereign AI model marketplace — acquire, configure, and deploy governed models."},{"name":"Monitoring","description":"Real-time observability, structured logs, alerts, and platform pulse."},{"name":"discovery","description":"Machine-readable discovery: .well-known, llms.txt, mcp/sse, pricing, SDK examples."},{"name":"Auth","description":"JWT authentication, GitHub OAuth, multi-tenant workspace registration."}]}