{"openapi":"3.1.0","info":{"title":"RunVouch","version":"0.2.0"},"paths":{"/health":{"get":{"summary":"Health","description":"Machine-readable status (UptimeRobot keyword: \"ok\"). DB is touched so a broken disk shows here.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/public/fleet/{slug}.json":{"get":{"summary":"Public Fleet","operationId":"public_fleet_public_fleet__slug__json_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/status/{slug}.json":{"get":{"summary":"Public Status","description":"Public: the latest snapshot an external watcher wrote for a fleet (DataSignals probes its own APIs twice a day\nand drops the answer here). Served from a file, so reading it wakes nothing and costs nothing on the watched side.","operationId":"public_status_public_status__slug__json_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/status.json":{"get":{"summary":"Status Json","description":"Public numbers behind runvouch.com/status: uptime per window, outages, sealed proof days. Nothing account-specific.","operationId":"status_json_status_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin/accounts":{"post":{"summary":"Admin Create Account","operationId":"admin_create_account_admin_accounts_post","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","title":"Name"}},{"name":"plan","in":"query","required":false,"schema":{"type":"string","default":"free","title":"Plan"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/signup":{"post":{"summary":"Signup","description":"Self-serve: email -> free account. Key shown once. Abuse-limited per IP.","operationId":"signup_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contact":{"post":{"summary":"Contact","operationId":"contact_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me":{"get":{"summary":"Me","operationId":"me_v1_me_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/rotate-key":{"post":{"summary":"Me Rotate","operationId":"me_rotate_v1_me_rotate_key_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/lemonsqueezy":{"post":{"summary":"Ls Webhook","description":"Lemon Squeezy → plan changes. Verified with HMAC-SHA256 over the raw body (X-Signature).","operationId":"ls_webhook_webhooks_lemonsqueezy_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/webhooks/stripe":{"post":{"summary":"Stripe Webhook","description":"Stripe → plan changes. Payment Links carry the price id; the plan comes from STRIPE_PRICE_PLANS.\ncheckout.session.completed sets the plan and remembers the customer; subscription deleted/unpaid drops to free.","operationId":"stripe_webhook_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/webhooks/polar":{"post":{"summary":"Polar Webhook","description":"Polar.sh (merchant of record) → plan changes. Product ids map to plans via POLAR_PRODUCT_PLANS.","operationId":"polar_webhook_webhooks_polar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/settings":{"put":{"summary":"Put Settings","operationId":"put_settings_v1_settings_put","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settings/test-alert":{"post":{"summary":"Test Alert","operationId":"test_alert_v1_settings_test_alert_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/slack/status":{"get":{"summary":"Slack Status","operationId":"slack_status_integrations_slack_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/agents":{"post":{"summary":"Upsert Agent","operationId":"upsert_agent_v1_agents_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Agents","operationId":"list_agents_v1_agents_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runs/start":{"post":{"summary":"Run Start","operationId":"run_start_v1_runs_start_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runs/tool":{"post":{"summary":"Run Tool","operationId":"run_tool_v1_runs_tool_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runs/heartbeat":{"post":{"summary":"Run Heartbeat","operationId":"run_heartbeat_v1_runs_heartbeat_post","parameters":[{"name":"run_id","in":"query","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runs/end":{"post":{"summary":"Run End","operationId":"run_end_v1_runs_end_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ping/{token}":{"post":{"summary":"Ping","operationId":"ping_ping__token__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Ping","operationId":"ping_ping__token__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Ping","operationId":"ping_ping__token__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ping/{token}/{signal}":{"post":{"summary":"Ping Signal","operationId":"ping_signal_ping__token___signal__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"signal","in":"path","required":true,"schema":{"type":"string","title":"Signal"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Ping Signal","operationId":"ping_signal_ping__token___signal__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"signal","in":"path","required":true,"schema":{"type":"string","title":"Signal"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"summary":"Ping Signal","operationId":"ping_signal_ping__token___signal__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"signal","in":"path","required":true,"schema":{"type":"string","title":"Signal"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/alerts":{"get":{"summary":"List Alerts","operationId":"list_alerts_v1_alerts_get","parameters":[{"name":"acked","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Acked"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/alerts/{alert_id}/ack":{"post":{"summary":"Ack Alert","operationId":"ack_alert_v1_alerts__alert_id__ack_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"integer","title":"Alert Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export":{"get":{"summary":"Export Runs","description":"Team: every run of the account with started in [from, to] (UTC days), streamed as CSV or a JSON array.","operationId":"export_runs_v1_export_get","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","title":"From"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","title":"To"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"json","title":"Format"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/viewer-keys":{"post":{"summary":"Create Viewer Key","description":"Team: a read-only key (rvv_) for a shared dashboard. Can GET and ack alerts; nothing else. Shown once.","operationId":"create_viewer_key_v1_me_viewer_keys_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewerKeyIn","default":{"name":"viewer"}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Viewer Keys","operationId":"list_viewer_keys_v1_me_viewer_keys_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/me/viewer-keys/{key_id}":{"delete":{"summary":"Delete Viewer Key","operationId":"delete_viewer_key_v1_me_viewer_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleets":{"post":{"summary":"Create Fleet","description":"Team: a public status page for one client. An agency that runs jobs for three clients gives each its own\npage, so a client sees their own jobs and nothing else. Public JSON: /public/fleet/{slug}.json.","operationId":"create_fleet_v1_fleets_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Fleets","operationId":"list_fleets_v1_fleets_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleets/{slug}/agents":{"post":{"summary":"Add Fleet Agent","description":"Put one agent on one client page. An agent lives on a single page: it belongs to the client it runs for.","operationId":"add_fleet_agent_v1_fleets__slug__agents_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetAgentIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleets/{slug}/agents/{name}":{"delete":{"summary":"Remove Fleet Agent","operationId":"remove_fleet_agent_v1_fleets__slug__agents__name__delete","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleets/{slug}":{"delete":{"summary":"Delete Fleet","operationId":"delete_fleet_v1_fleets__slug__delete","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{name}/pause":{"post":{"summary":"Pause Agent","operationId":"pause_agent_v1_agents__name__pause_post","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"paused","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Paused"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{name}":{"delete":{"summary":"Delete Agent","operationId":"delete_agent_v1_agents__name__delete","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{name}/runs":{"get":{"summary":"Agent Runs","operationId":"agent_runs_v1_agents__name__runs_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runs/{run_id}/proof":{"get":{"summary":"Run Proof Api","operationId":"run_proof_api_v1_runs__run_id__proof_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proof/":{"get":{"summary":"Proof Index","description":"Public: the chain, newest first. No auth, no account data; only dates, hashes and counts.","operationId":"proof_index_proof__get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proof/days/{name}":{"get":{"summary":"Proof Day File","operationId":"proof_day_file_proof_days__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp":{"get":{"summary":"Mcp Info","operationId":"mcp_info_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Mcp Http","description":"Remote MCP endpoint. Auth: X-API-Key or Authorization: Bearer <key>. One JSON-RPC message per request.","operationId":"mcp_http_mcp_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Root","description":"runvouch.com → landing site; api.runvouch.com / localhost → dashboard.","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/app":{"get":{"summary":"Dashboard","operationId":"dashboard_app_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/openapi-lite":{"get":{"summary":"Openapi Lite","operationId":"openapi_lite_openapi_lite_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AgentIn":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"cadence_s":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cadence S"},"grace_s":{"type":"integer","title":"Grace S","default":900},"max_runtime_s":{"type":"integer","title":"Max Runtime S","default":3600},"cap_run_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cap Run Cost"},"cap_day_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cap Day Cost"},"cap_run_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cap Run Tokens"},"evidence_required":{"type":"boolean","title":"Evidence Required","default":false}},"type":"object","required":["name"],"title":"AgentIn"},"ContactIn":{"properties":{"email":{"type":"string","maxLength":200,"minLength":5,"title":"Email"},"message":{"type":"string","maxLength":4000,"minLength":5,"title":"Message"},"topic":{"type":"string","title":"Topic","default":"support"}},"type":"object","required":["email","message"],"title":"ContactIn"},"EndIn":{"properties":{"run_id":{"type":"string","title":"Run Id"},"status":{"type":"string","title":"Status","default":"ok"},"cost":{"type":"number","title":"Cost","default":0},"tokens":{"type":"integer","title":"Tokens","default":0},"output_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Output Bytes"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence","default":{}},"meta":{"additionalProperties":true,"type":"object","title":"Meta","default":{}}},"type":"object","required":["run_id"],"title":"EndIn"},"FleetAgentIn":{"properties":{"agent":{"type":"string","title":"Agent"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},"type":"object","required":["agent"],"title":"FleetAgentIn"},"FleetIn":{"properties":{"slug":{"type":"string","title":"Slug"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},"type":"object","required":["slug"],"title":"FleetIn"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"SettingsIn":{"properties":{"telegram_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Token"},"telegram_chat":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Chat"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"alert_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alert Email"},"slack_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slack Webhook Url"},"discord_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discord Webhook Url"},"teams_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Teams Webhook Url"},"pagerduty_routing_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pagerduty Routing Key"}},"type":"object","title":"SettingsIn"},"SignupIn":{"properties":{"email":{"type":"string","maxLength":200,"minLength":5,"pattern":"^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$","title":"Email"},"source":{"type":"string","maxLength":200,"title":"Source","default":""},"ref":{"type":"string","maxLength":300,"title":"Ref","default":""}},"type":"object","required":["email"],"title":"SignupIn"},"StartIn":{"properties":{"agent":{"type":"string","title":"Agent"},"run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Id"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"meta":{"additionalProperties":true,"type":"object","title":"Meta","default":{}}},"type":"object","required":["agent"],"title":"StartIn"},"ToolIn":{"properties":{"run_id":{"type":"string","title":"Run Id"},"tool":{"type":"string","title":"Tool"},"input":{"title":"Input"},"input_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Hash"},"ok":{"type":"boolean","title":"Ok","default":true},"cost":{"type":"number","title":"Cost","default":0},"tokens":{"type":"integer","title":"Tokens","default":0}},"type":"object","required":["run_id","tool"],"title":"ToolIn"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ViewerKeyIn":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name","default":"viewer"}},"type":"object","title":"ViewerKeyIn"}}}}