{"openapi":"3.1.0","info":{"title":"Vlada Tools REST","description":"Typed HTTP binding for the vlada tool catalog. Each /v1/tools/{name} POST dispatches to a registered Python tool and returns the canonical response envelope.","version":"1.0.0"},"paths":{"/v1/employer/start":{"post":{"tags":["employer"],"summary":"Start","operationId":"start_v1_employer_start_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/auth/login":{"get":{"tags":["employer"],"summary":"Auth Login","operationId":"auth_login_v1_employer_auth_login_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/auth/callback":{"get":{"tags":["employer"],"summary":"Auth Callback","operationId":"auth_callback_v1_employer_auth_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/auth/exchange":{"post":{"tags":["employer"],"summary":"Auth Exchange","operationId":"auth_exchange_v1_employer_auth_exchange_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthExchangeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/auth/from-account":{"post":{"tags":["employer"],"summary":"Auth From Account","operationId":"auth_from_account_v1_employer_auth_from_account_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/auth/me":{"get":{"tags":["employer"],"summary":"Auth Me","operationId":"auth_me_v1_employer_auth_me_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/auth/logout":{"post":{"tags":["employer"],"summary":"Auth Logout","operationId":"auth_logout_v1_employer_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/employer/me/surfaces":{"get":{"tags":["employer"],"summary":"Me Surfaces","description":"The product surfaces this user's tenant holds (`tenants.products`, migration 093) — drives\nthe account page's tile row (employer_agent -> /book, ma_platform -> /ma, studio -> /studio).\n\nFail-closed on the read: a failed products fetch returns 503 (the client falls back to its\nlegacy hardcoded tile — navigation, not data), never an invented grant.","operationId":"me_surfaces_v1_employer_me_surfaces_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/org/invites":{"post":{"tags":["employer"],"summary":"Create Org Invite","operationId":"create_org_invite_v1_employer_org_invites_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"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":["employer"],"summary":"List Org Invites","operationId":"list_org_invites_v1_employer_org_invites_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/org/invites/{invite_id}/revoke":{"post":{"tags":["employer"],"summary":"Revoke Org Invite","operationId":"revoke_org_invite_v1_employer_org_invites__invite_id__revoke_post","parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"integer","title":"Invite Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/org/invites/validate":{"get":{"tags":["employer"],"summary":"Validate Org Invite","operationId":"validate_org_invite_v1_employer_org_invites_validate_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"type":"string","default":"","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/keys":{"post":{"tags":["employer"],"summary":"Create Key","operationId":"create_key_v1_employer_keys_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyCreateRequest","default":{"name":"api key"}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["employer"],"summary":"List Keys","operationId":"list_keys_v1_employer_keys_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/admin/overview":{"get":{"tags":["employer"],"summary":"Admin Overview","description":"Operator readout: real-vs-demo users, recent signups, tiers, usage.\nGated to the VLADA_ADMIN_EMAILS allowlist (fail-closed).","operationId":"admin_overview_v1_employer_admin_overview_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/keys/{key_id}/revoke":{"post":{"tags":["employer"],"summary":"Revoke Key","operationId":"revoke_key_v1_employer_keys__key_id__revoke_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyRevokeRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/usage/meter":{"get":{"tags":["employer"],"summary":"Usage Meter","operationId":"usage_meter_v1_employer_usage_meter_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/usage/request-credit":{"post":{"tags":["employer"],"summary":"Request More Credit","description":"The account console's qualified-lead pipe. Records a durable row (best-effort — the table,\nmigration 109, is authoring-only as of this write) AND best-effort Slack-posts\n(vlada.accounts.notify.post_generic, SLACK_WEBHOOK_URL) so Ben sees it immediately even before an\noperator applies that migration; always logged first, so a request is never silently lost if both\nthe DB write and the Slack post fail.","operationId":"request_more_credit_v1_employer_usage_request_credit_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/plan-claim":{"post":{"tags":["employer"],"summary":"Create Plan Claim","operationId":"create_plan_claim_v1_employer_plan_claim_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanClaimRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["employer"],"summary":"Get Plan Claim","operationId":"get_plan_claim_v1_employer_plan_claim_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/ingest":{"post":{"tags":["employer"],"summary":"Ingest","operationId":"ingest_v1_employer_ingest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/compare":{"post":{"tags":["employer"],"summary":"Compare","operationId":"compare_v1_employer_compare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/chat":{"post":{"tags":["employer"],"summary":"Chat","operationId":"chat_v1_employer_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/recap":{"get":{"tags":["employer"],"summary":"Recap","operationId":"recap_v1_employer_recap_get","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"}}}}}}},"/v1/employer/telemetry":{"get":{"tags":["employer"],"summary":"Telemetry","operationId":"telemetry_v1_employer_telemetry_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/employer/reference-cards":{"get":{"tags":["employer"],"summary":"Reference Cards","operationId":"reference_cards_v1_employer_reference_cards_get","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"}}}}}}},"/v1/employer/views":{"get":{"tags":["employer"],"summary":"Views","operationId":"views_v1_employer_views_get","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"}}}}}},"post":{"tags":["employer"],"summary":"Create View","operationId":"create_view_v1_employer_views_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Req"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/views/{view_id}/run":{"post":{"tags":["employer"],"summary":"Run View","operationId":"run_view_v1_employer_views__view_id__run_post","parameters":[{"name":"view_id","in":"path","required":true,"schema":{"type":"string","title":"View Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Req"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/stream/tick":{"post":{"tags":["employer"],"summary":"Stream Tick","operationId":"stream_tick_v1_employer_stream_tick_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Req"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/packets":{"get":{"tags":["employer"],"summary":"Packets","operationId":"packets_v1_employer_packets_get","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"}}}}}},"post":{"tags":["employer"],"summary":"Create Packet","operationId":"create_packet_v1_employer_packets_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PacketCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/packets/{packet_id}/export":{"get":{"tags":["employer"],"summary":"Export Packet","operationId":"export_packet_v1_employer_packets__packet_id__export_get","parameters":[{"name":"packet_id","in":"path","required":true,"schema":{"type":"string","title":"Packet Id"}},{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"markdown","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["employer"],"summary":"Export Packet Post","operationId":"export_packet_post_v1_employer_packets__packet_id__export_post","parameters":[{"name":"packet_id","in":"path","required":true,"schema":{"type":"string","title":"Packet Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PacketExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/answerability":{"post":{"tags":["employer"],"summary":"Answerability","operationId":"answerability_v1_employer_answerability_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerabilityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/upload":{"post":{"tags":["employer"],"summary":"Upload","description":"Ingest a de-identified claims CSV through the no-PHI gate (+ persist under RLS when authed).\nReturns the ingestion receipt (accepted/rejected counts) and, when priceable, a first diagnosis.\n\nAn optional W6e `mapping` renames source headers to ClaimLine fields BEFORE the gate; unmapped\ncolumns still pass through to the gate, so the gate stays the sole write path.","operationId":"upload_v1_employer_upload_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/claims/clear":{"post":{"tags":["employer"],"summary":"Clear Claims","description":"Clear ALL of the tenant's uploaded claims (and everything derived) so a fresh book can be uploaded.\nTenant-scoped; irreversible. Requires confirm=true (the UI shows an 'are you sure?' dialog first).","operationId":"clear_claims_v1_employer_claims_clear_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClearClaimsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/upload/status":{"get":{"tags":["employer"],"summary":"Upload Status","description":"Poll a background upload job. A big book reprices asynchronously (so it never blocks the worker / 504s\n/start); the client polls this until status == 'done' and reads the diagnosis. Small books return the\ndiagnosis inline from /upload and never need this.","operationId":"upload_status_v1_employer_upload_status_get","parameters":[{"name":"job_id","in":"query","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/upload/edi":{"post":{"tags":["employer"],"summary":"Upload Edi","description":"Normalize raw X12 into safe ClaimLine rows, then use the same no-PHI upload path.\n\nRaw EDI/direct identifiers are not persisted. The normalization receipt tells\nthe operator which pricing grain/caveats were inferred before the gate runs.","operationId":"upload_edi_v1_employer_upload_edi_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EdiUploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/upload/readout":{"get":{"tags":["employer"],"summary":"Upload Readout","description":"Return the latest claims-ingest semantic readout for a session.\n\nThis is the pre-substrate artifact: code systems, grains, caveats, bundle/adjustment semantics,\nand gate results. It is not a pricing or savings run.","operationId":"upload_readout_v1_employer_upload_readout_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"batch_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Batch Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/prewarm":{"get":{"tags":["employer"],"summary":"Prewarm Status","operationId":"prewarm_status_v1_employer_prewarm_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["employer"],"summary":"Prewarm","description":"Warm this worker's in-process dispatch cache for the substrate price tools so cross-hospital +\nfair-price questions are instant (dodges the cold-Athena 40s / congestion timeout). Background +\nread-only; poll GET /v1/employer/prewarm. Also runs automatically on service startup.","operationId":"prewarm_v1_employer_prewarm_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Req","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/sample-claims.csv":{"get":{"tags":["employer"],"summary":"Sample Claims","description":"Serve a synthetic de-identified demo claims book as a CSV download. Lets a browser-only flow (the\ndemo video) obtain the upload file without a terminal: navigate here to download, then upload it in\nthe workspace. Public synthetic data — no PHI, no auth. `?size=small` returns the 23-line book.","operationId":"sample_claims_v1_employer_sample_claims_csv_get","parameters":[{"name":"size","in":"query","required":false,"schema":{"type":"string","default":"full","title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/findings":{"get":{"tags":["employer"],"summary":"List Findings","description":"List findings for the signed-in Book (filter by status/horizon). The open demo returns synthetic\nsamples so the UI can develop; a real Book reads its own rows under RLS.","operationId":"list_findings_v1_employer_findings_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"horizon","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Horizon"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/findings/{finding_id}":{"get":{"tags":["employer"],"summary":"Get Finding","operationId":"get_finding_v1_employer_findings__finding_id__get","parameters":[{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","title":"Finding Id"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/findings/promote":{"post":{"tags":["employer"],"summary":"Promote Finding","description":"Promote an opportunity (mapped through the pure adapter) or a pre-mapped candidate into a real\nCANDIDATE finding — the EXPLICIT human promotion (§16/§35: no automatic promotion).","operationId":"promote_finding_v1_employer_findings_promote_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingsPromoteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/findings/{finding_id}/decision":{"post":{"tags":["employer"],"summary":"Record Finding Decision","description":"Record a human Decision (append-only; a new decision supersedes) and move the finding's status.","operationId":"record_finding_decision_v1_employer_findings__finding_id__decision_post","parameters":[{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","title":"Finding Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingsDecisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/findings/{finding_id}/advance":{"post":{"tags":["employer"],"summary":"Advance Finding Route","description":"Advance a finding one legal OPERATIONAL step (the agent/system pipeline; validate_transition).","operationId":"advance_finding_route_v1_employer_findings__finding_id__advance_post","parameters":[{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","title":"Finding Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingsAdvanceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/findings/{finding_id}/actions":{"post":{"tags":["employer"],"summary":"Create Finding Action","operationId":"create_finding_action_v1_employer_findings__finding_id__actions_post","parameters":[{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","title":"Finding Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingsActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/findings/actions/{action_id}/status":{"post":{"tags":["employer"],"summary":"Update Finding Action Status","description":"Update an action's status (POST, not PATCH/PUT — the API edge rejects non-POST mutating verbs).","operationId":"update_finding_action_status_v1_employer_findings_actions__action_id__status_post","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingsActionStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/documents":{"post":{"tags":["employer"],"summary":"Upload Document","description":"Upload one contract document (PDF/DOCX, base64). The inline half runs the full fail-closed\nlane (size cap -> text extraction, with LOCAL-ONLY OCR for scanned/thin PDF pages when this\nhost can: tesseract runs on-host, page images never leave the process, and the OCR text is\ngate-screened before anything persists -> doc-type detection -> the participant-identifier\ngate -> sha dedup -> persist); a rejection returns a typed 4xx with NOTHING persisted. An\naccepted document starts its extraction run in the background (poll GET\n/documents/status?job_id=). The response and the stored gate_receipt are honest about OCR:\nocr_used always, plus ocr_pages + min_ocr_confidence when OCR ran.","operationId":"upload_document_v1_employer_documents_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentUploadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["employer"],"summary":"List Documents Route","description":"The tenant's documents, newest first, each with its term_count. Receipts only — never the\npage text.","operationId":"list_documents_route_v1_employer_documents_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/documents/status":{"get":{"tags":["employer"],"summary":"Document Extraction Status","description":"Poll a background extraction job (mirrors /upload/status). Declared BEFORE the\n/documents/{document_id} route so FastAPI never swallows it as a document_id.","operationId":"document_extraction_status_v1_employer_documents_status_get","parameters":[{"name":"job_id","in":"query","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/documents/{document_id}":{"get":{"tags":["employer"],"summary":"Get Document Route","description":"One document with its full append-only term history. NEVER the page text: the stored pages\nare extraction material, not a serving surface.","operationId":"get_document_route_v1_employer_documents__document_id__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/documents/{document_id}/extract":{"post":{"tags":["employer"],"summary":"Reextract Document","description":"Re-run extraction on a stored document (restart recovery / a retry after a failed run, or a\ndeliberate re-read under a new extraction_run_id — terms are append-only, supersede never\nerase). 409 {\"error\":\"extracting\"} while a run is already in flight. Spends the key, so it\nshares the docs spend bucket.","operationId":"reextract_document_v1_employer_documents__document_id__extract_post","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/packets/publish":{"post":{"tags":["employer"],"summary":"Publish Packet Route","description":"Publish a Packet: freeze the CURRENT four measures + period brief + findings (with their\ndecisions/actions pinned) into a durable, append-only record. Tier 2 (§28): requires\nCAP_EXPORT_PACKET and an explicit confirm:true. The open demo path 403s (a real Packet is never\nwritten by an anonymous caller).","operationId":"publish_packet_route_v1_employer_packets_publish_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PacketPublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/packets/published":{"get":{"tags":["employer"],"summary":"List Published Packets","description":"List the tenant's published Packets (newest first). The open demo returns a synthetic sample.","operationId":"list_published_packets_v1_employer_packets_published_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/packets/published/{packet_id}":{"get":{"tags":["employer"],"summary":"Get Published Packet","operationId":"get_published_packet_v1_employer_packets_published__packet_id__get","parameters":[{"name":"packet_id","in":"path","required":true,"schema":{"type":"string","title":"Packet Id"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/packets/published/{packet_id}/export":{"get":{"tags":["employer"],"summary":"Export Published Packet","description":"Export one published Packet (markdown | text | pdf | docx) via the shared export machinery.","operationId":"export_published_packet_v1_employer_packets_published__packet_id__export_get","parameters":[{"name":"packet_id","in":"path","required":true,"schema":{"type":"string","title":"Packet Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"markdown","title":"Format"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/ledger":{"get":{"tags":["employer"],"summary":"Ledger","description":"The append-only Ledger timeline for the signed-in Book (§18), newest first. The open demo returns\na synthetic sample. Read-only composition of the memory_event store — no new storage.","operationId":"ledger_v1_employer_ledger_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/evidence":{"get":{"tags":["employer"],"summary":"Evidence","description":"The Evidence screen payload (§18): the Ledger timeline · published Packets · the computed\nCalendar, in one authed read. The open demo returns synthetic samples for all three tabs.","operationId":"evidence_v1_employer_evidence_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/monitors":{"get":{"tags":["employer"],"summary":"List Monitors Route","description":"List the signed-in Book's saved monitors + the most recent triggered-monitor alerts (the Daily\nBrief callouts). The open demo returns an empty, read-only list so the UI can develop.","operationId":"list_monitors_route_v1_employer_monitors_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["employer"],"summary":"Create Monitor Route","description":"Create a saved monitor ({name, scope:{kind,key}, metric, threshold_usd, direction}). Demo read-only.","operationId":"create_monitor_route_v1_employer_monitors_post","parameters":[{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/monitors/{monitor_id}/delete":{"post":{"tags":["employer"],"summary":"Delete Monitor Route","description":"Delete a saved monitor (POST, not DELETE — the API edge rejects non-POST mutating verbs). Demo read-only.","operationId":"delete_monitor_route_v1_employer_monitors__monitor_id__delete_post","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","title":"Monitor Id"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/investigations/status":{"get":{"tags":["employer"],"summary":"Investigations Status","description":"The UI gate: {available: bool}. False under the demo / with the flags off (so the Analyze\nscreen renders the designed 'arrives with the agent org' placeholder instead).","operationId":"investigations_status_v1_employer_investigations_status_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/investigations/run":{"post":{"tags":["employer"],"summary":"Investigations Run","operationId":"investigations_run_v1_employer_investigations_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationRunRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/scenarios/cohorts":{"get":{"tags":["employer"],"summary":"Scenario Cohorts","description":"The cohort options for a dimension, each with its current annualized spend + above-fair gap (real\nbreakdown rows). Feeds the Scenario panel's cohort picker.","operationId":"scenario_cohorts_v1_employer_scenarios_cohorts_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","default":"category","title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/scenarios/run":{"post":{"tags":["employer"],"summary":"Scenario Run","description":"Run (and, when authed, persist a new version of) a scenario. Returns {scenario, result, persisted,\ndemo}. A bad input / missing cohort / unavailable reference is a 400 with a clear reason.","operationId":"scenario_run_v1_employer_scenarios_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioRunRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/employer/scenarios":{"get":{"tags":["employer"],"summary":"Scenarios List","description":"This Book's saved scenarios, newest first (latest version each). Demo returns a synthetic sample.","operationId":"scenarios_list_v1_employer_scenarios_get","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"}}}}}}},"/v1/employer/scenarios/{scenario_id}":{"get":{"tags":["employer"],"summary":"Scenario Detail","description":"One saved scenario with its full version history.","operationId":"scenario_detail_v1_employer_scenarios__scenario_id__get","parameters":[{"name":"scenario_id","in":"path","required":true,"schema":{"type":"string","title":"Scenario Id"}},{"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"}}}}}}},"/v1/employer/upload/preview":{"post":{"tags":["employer"],"summary":"Upload Preview","description":"Propose a header -> ClaimLine mapping (deterministic; no model call, no persistence) plus PHI-\nscreened samples and a priceability preview, so the operator can confirm the mapping before uploading.","operationId":"upload_preview_v1_employer_upload_preview_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadPreviewRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-record/search":{"get":{"tags":["plan-record"],"summary":"Search","operationId":"search_v1_plan_record_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Search V1 Plan Record Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-record/search/employers":{"get":{"tags":["plan-record"],"summary":"Search Employers","description":"Employer cards (ADDITIVE -- the frozen per-filing /search above is untouched). Answered\nfrom the in-memory sponsor index only, never Athena, so there is no 503 path here: an\nunwarmed index answers {\"ready\": false, \"employers\": []} instead.","operationId":"search_employers_v1_plan_record_search_employers_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Search Employers V1 Plan Record Search Employers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-record/{ein}/{plan_number}":{"get":{"tags":["plan-record"],"summary":"Get Record","operationId":"get_record_v1_plan_record__ein___plan_number__get","parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","title":"Ein"}},{"name":"plan_number","in":"path","required":true,"schema":{"type":"string","title":"Plan Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Record V1 Plan Record  Ein   Plan Number  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-record/{ein}/{plan_number}/benchmarks":{"get":{"tags":["plan-record"],"summary":"Get Benchmarks","description":"Multi-metric peer benchmarks + observations (W4e). Lazy + cached so the base record stays\nfast; same spend guard + a dedicated benchmark cache. 404 when the plan itself is not on\nrecord, 503 on an unreachable substrate.","operationId":"get_benchmarks_v1_plan_record__ein___plan_number__benchmarks_get","parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","title":"Ein"}},{"name":"plan_number","in":"path","required":true,"schema":{"type":"string","title":"Plan Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Benchmarks V1 Plan Record  Ein   Plan Number  Benchmarks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-record/{ein}/{plan_number}/history":{"get":{"tags":["plan-record"],"summary":"Get History","description":"The deep record (W5a): trajectory analytics, vendor history + change detection, the\ninsurance timeline, and the E1 exposure screen. Lazy + cached so the base record stays fast;\nsame spend guard + a dedicated history cache. 404 when the plan itself is not on record, 503\non an unreachable substrate.","operationId":"get_history_v1_plan_record__ein___plan_number__history_get","parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","title":"Ein"}},{"name":"plan_number","in":"path","required":true,"schema":{"type":"string","title":"Plan Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get History V1 Plan Record  Ein   Plan Number  History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-record/{ein}/{plan_number}/brief":{"get":{"tags":["plan-record"],"summary":"Get Brief","description":"The Plan Evidence Brief (W10a / Appendix H8): the one-page, forwardable payload assembled\nserver-side from the record already built — zero Athena queries beyond the record's own.\nSame spend guard + a dedicated brief cache. 404 when the plan itself is not on record, 503 on\nan unreachable substrate.","operationId":"get_brief_v1_plan_record__ein___plan_number__brief_get","parameters":[{"name":"ein","in":"path","required":true,"schema":{"type":"string","title":"Ein"}},{"name":"plan_number","in":"path","required":true,"schema":{"type":"string","title":"Plan Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Brief V1 Plan Record  Ein   Plan Number  Brief Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-market/vendors":{"get":{"tags":["plan-market"],"summary":"Vendors","operationId":"vendors_v1_plan_market_vendors_get","parameters":[{"name":"role","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":20,"title":"Role"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":2},{"type":"null"}],"title":"State"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2025,"minimum":2009},{"type":"null"}],"title":"Year"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Vendors V1 Plan Market Vendors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-market/map":{"get":{"tags":["plan-market"],"summary":"Market Map","operationId":"market_map_v1_plan_market_map_get","parameters":[{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2025,"minimum":2009},{"type":"null"}],"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Market Map V1 Plan Market Map Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-market/signals":{"get":{"tags":["plan-market"],"summary":"Signals","operationId":"signals_v1_plan_market_signals_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":2},{"type":"null"}],"title":"State"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2025,"minimum":2010},{"type":"null"}],"title":"Year"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Signals V1 Plan Market Signals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-market/screen":{"get":{"tags":["plan-market"],"summary":"Screen","operationId":"screen_v1_plan_market_screen_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":2},{"type":"null"}],"title":"State"}},{"name":"min_participants","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Participants"}},{"name":"max_participants","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Participants"}},{"name":"funding","in":"query","required":false,"schema":{"type":"string","default":"any","title":"Funding"}},{"name":"disclosure","in":"query","required":false,"schema":{"type":"string","default":"any","title":"Disclosure"}},{"name":"fee_percentile_min","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":0},{"type":"null"}],"title":"Fee Percentile Min"}},{"name":"industry_prefix","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":6},{"type":"null"}],"title":"Industry Prefix"}},{"name":"changed_vendor_recently","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Changed Vendor Recently"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"participants","title":"Sort"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2025,"minimum":2010},{"type":"null"}],"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Screen V1 Plan Market Screen Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plan-market/commission-outliers":{"get":{"tags":["plan-market"],"summary":"Commission Outliers","operationId":"commission_outliers_v1_plan_market_commission_outliers_get","parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","default":2024,"title":"Year"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"min_lives","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Min Lives"}},{"name":"percentile","in":"query","required":false,"schema":{"type":"number","default":0.9,"title":"Percentile"}},{"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"}}}}}}},"/v1/billing/checkout":{"get":{"tags":["billing"],"summary":"Checkout","operationId":"checkout_v1_billing_checkout_get","parameters":[{"name":"plan","in":"query","required":false,"schema":{"type":"string","default":"","title":"Plan"}},{"name":"interval","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Interval"}},{"name":"pack","in":"query","required":false,"schema":{"type":"string","default":"","title":"Pack"}},{"name":"c","in":"query","required":false,"schema":{"type":"string","default":"","title":"C"}},{"name":"src","in":"query","required":false,"schema":{"type":"string","default":"","title":"Src"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"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":"Checkout For Studio","description":"Checkout for a Studio sign-in. The page sends its Studio token as a bearer header (never in a\nURL) and goes to the {url} this returns. No token, or one Studio does not accept: 401, and the\npage falls back to the GET route, which signs the buyer in first.","operationId":"checkout_for_studio_v1_billing_checkout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/portal":{"get":{"tags":["billing"],"summary":"Portal","operationId":"portal_v1_billing_portal_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"vlada_emp_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vlada Emp Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/webhook":{"post":{"tags":["billing"],"summary":"Stripe Webhook","operationId":"stripe_webhook_v1_billing_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/pulse":{"post":{"tags":["pulse"],"summary":"Submit","operationId":"submit_v1_pulse_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/health":{"get":{"summary":"Health","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/tools":{"get":{"summary":"List Tools Endpoint","operationId":"list_tools_endpoint_v1_tools_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/{name}/schema":{"get":{"summary":"Tool Schema","operationId":"tool_schema_v1_tools__name__schema_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/proofs/{receipt_id}":{"get":{"summary":"Get Proof","operationId":"get_proof_v1_proofs__receipt_id__get","parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","title":"Receipt Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/proofs/{receipt_id}/replay":{"post":{"summary":"Replay Proof","operationId":"replay_proof_v1_proofs__receipt_id__replay_post","parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","title":"Receipt Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/price-proofs/{receipt_id}":{"get":{"summary":"Get Price Proof","operationId":"get_price_proof_v1_price_proofs__receipt_id__get","parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","title":"Receipt Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/price-proofs/{receipt_id}/replay":{"post":{"summary":"Replay Price Proof","operationId":"replay_price_proof_v1_price_proofs__receipt_id__replay_post","parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","title":"Receipt Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/{name}":{"post":{"summary":"Invoke Tool","description":"Dispatch a tool call. Body is the tool's input-model JSON.","operationId":"invoke_tool_v1_tools__name__post","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccountSessionRequest":{"properties":{"account_token":{"type":"string","title":"Account Token","description":"Vlada account session token"}},"type":"object","required":["account_token"],"title":"AccountSessionRequest"},"AnswerabilityRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"question":{"type":"string","title":"Question","description":"business question to test against the source-product catalog"},"filters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Filters"},"max_sources":{"type":"integer","title":"Max Sources","default":6}},"type":"object","required":["session_id","question"],"title":"AnswerabilityRequest"},"AuthExchangeRequest":{"properties":{"code":{"type":"string","title":"Code","description":"WorkOS authorization code returned to the frontend callback"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"WorkOS state (may carry invite=<token>)"}},"type":"object","required":["code"],"title":"AuthExchangeRequest"},"ChatRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"message":{"type":"string","title":"Message","description":"a natural-language question for the analyst"}},"type":"object","required":["session_id","message"],"title":"ChatRequest"},"ClearClaimsRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"confirm":{"type":"boolean","title":"Confirm","description":"must be true — guards against an accidental clear","default":false}},"type":"object","required":["session_id"],"title":"ClearClaimsRequest"},"DocumentUploadRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"filename":{"type":"string","title":"Filename"},"content_base64":{"type":"string","title":"Content Base64"},"doc_type":{"type":"string","title":"Doc Type","description":"auto|tpa_aso|pbm|spd|stop_loss|other","default":"auto"},"source_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Label"}},"type":"object","required":["filename","content_base64"],"title":"DocumentUploadRequest"},"EdiUploadRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"edi_text":{"type":"string","title":"Edi Text","description":"raw X12 837/835/834 text; not persisted by the normalizer"},"transaction":{"type":"string","title":"Transaction","description":"auto | 837 | 835 | 834","default":"auto"},"source_label":{"type":"string","title":"Source Label","description":"a label for this feed, e.g. 'TPA 837I June'","default":"uploaded X12"},"data_vintage":{"type":"string","title":"Data Vintage","description":"the data version this batch represents","default":"customer-upload"}},"type":"object","required":["session_id","edi_text"],"title":"EdiUploadRequest"},"FindingsActionRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"description":{"type":"string","title":"Description","description":"what the action is"},"owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner"},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due Date","description":"YYYY-MM-DD"},"decision_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision Id"},"status":{"type":"string","title":"Status","default":"open"}},"type":"object","required":["description"],"title":"FindingsActionRequest"},"FindingsActionStatusRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"status":{"type":"string","title":"Status","description":"open | in_progress | blocked | done | verified"},"outcome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outcome"}},"type":"object","required":["status"],"title":"FindingsActionStatusRequest"},"FindingsAdvanceRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"to_status":{"type":"string","title":"To Status","description":"the next lifecycle status (§7)"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["to_status"],"title":"FindingsAdvanceRequest"},"FindingsDecisionRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"decision_type":{"type":"string","title":"Decision Type","description":"one of the closed decision-type set (§3/§8)"},"rationale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rationale"}},"type":"object","required":["decision_type"],"title":"FindingsDecisionRequest"},"FindingsPromoteRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"opportunity":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Opportunity"},"candidate":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Candidate"}},"type":"object","title":"FindingsPromoteRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IngestRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"quarter":{"type":"string","title":"Quarter","description":"which synthetic claims file (Q1 | Q2)","default":"Q1"}},"type":"object","required":["session_id"],"title":"IngestRequest"},"InvestigationRunRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"objective":{"type":"string","title":"Objective","description":"the analytical objective, e.g. 'Why did outpatient imaging spend rise?'"}},"type":"object","required":["session_id","objective"],"title":"InvestigationRunRequest"},"KeyCreateRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"name":{"type":"string","title":"Name","default":"api key"}},"type":"object","title":"KeyCreateRequest"},"KeyRevokeRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},"type":"object","title":"KeyRevokeRequest"},"MonitorCreateRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"name":{"type":"string","title":"Name","default":""},"scope":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Scope","description":"{kind: category|hospital|procedure, key}"},"metric":{"type":"string","title":"Metric","default":"spend"},"threshold_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Threshold Usd"},"direction":{"type":"string","title":"Direction","default":"above"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","title":"MonitorCreateRequest"},"PacketCreateRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"source_type":{"type":"string","title":"Source Type","description":"opportunity or claim"},"source_id":{"type":"string","title":"Source Id","description":"opportunity id or claim id"}},"type":"object","required":["session_id","source_type","source_id"],"title":"PacketCreateRequest"},"PacketExportRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"format":{"type":"string","title":"Format","default":"markdown"}},"type":"object","required":["session_id"],"title":"PacketExportRequest"},"PacketPublishRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"kind":{"type":"string","title":"Kind","description":"quarterly | renewal","default":"quarterly"},"title":{"type":"string","minLength":1,"title":"Title","description":"the Packet's human title"},"confirm":{"type":"boolean","title":"Confirm","description":"must be true — publishing a Packet is a Tier 2 record change","default":false}},"type":"object","required":["title"],"title":"PacketPublishRequest"},"PlanClaimRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"ein":{"type":"string","minLength":1,"title":"Ein","description":"the sponsor's EIN, from the public Form 5500 filing"},"plan_number":{"type":"string","minLength":1,"title":"Plan Number","description":"the plan number (PN), from the filing"},"sponsor_name":{"type":"string","minLength":1,"title":"Sponsor Name","description":"the plan sponsor's legal name, as filed"}},"type":"object","required":["ein","plan_number","sponsor_name"],"title":"PlanClaimRequest"},"ScenarioRunRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"name":{"type":"string","title":"Name","default":""},"cohort":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Cohort","description":"{kind: category|hospital|procedure, key, label?}"},"shift_pct":{"type":"number","title":"Shift Pct","default":0.0},"price_assumption":{"type":"string","title":"Price Assumption","default":"rbp_reference"},"custom_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Custom Usd"},"scenario_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario Id"}},"type":"object","required":["session_id"],"title":"ScenarioRunRequest"},"SessionRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"}},"type":"object","required":["session_id"],"title":"SessionRequest"},"StartRequest":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},"type":"object","title":"StartRequest"},"StartResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"org":{"type":"string","title":"Org"},"role":{"type":"string","title":"Role"},"user":{"type":"string","title":"User"},"llm":{"type":"boolean","title":"Llm"},"authed":{"type":"boolean","title":"Authed","default":false},"has_data":{"type":"boolean","title":"Has Data","default":false},"recap":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recap"},"workspace_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Error"},"plan_claim":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Plan Claim"},"period_brief":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Period Brief"}},"type":"object","required":["session_id","org","role","user","llm"],"title":"StartResponse"},"UploadPreviewRequest":{"properties":{"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"csv_text":{"type":"string","title":"Csv Text","description":"the de-identified claims CSV text (header row + rows)"}},"type":"object","required":["csv_text"],"title":"UploadPreviewRequest"},"UploadRequest":{"properties":{"session_id":{"type":"string","title":"Session Id"},"csv_text":{"type":"string","title":"Csv Text","description":"the de-identified claims file as CSV text (header row + rows)"},"source_label":{"type":"string","title":"Source Label","description":"a label for this file, e.g. 'TPA Q3 2026'","default":"uploaded claims"},"data_vintage":{"type":"string","title":"Data Vintage","description":"the data version this batch represents","default":"customer-upload"},"mapping":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Mapping","description":"optional {source header -> ClaimLine field} renames, applied before the gate"}},"type":"object","required":["session_id","csv_text"],"title":"UploadRequest"},"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"}}}}