{"openapi":"3.1.0","info":{"title":"RNP — AI Reliability & Arbitration API","description":"An AI output validation service that answers: 'Can I safely show this AI output to my users?' Features multi-model arbitration, risk assessment, confidence scoring, disagreement mapping, and agent reputation tracking.","version":"1.0.0"},"paths":{"/":{"get":{"tags":["Web"],"summary":"Read Root","description":"Groundr Landing Page.","operationId":"read_root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/signup":{"get":{"tags":["Web"],"summary":"Signup Page","description":"User Signup Page.","operationId":"signup_page_signup_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/login":{"get":{"tags":["Web"],"summary":"Login Page","description":"User Login Page.","operationId":"login_page_login_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/verify-email":{"get":{"tags":["Web"],"summary":"Verify Email Page","description":"Email OTP Verification Page.","operationId":"verify_email_page_verify_email_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/dashboard":{"get":{"tags":["Web"],"summary":"Dashboard Page","description":"User Personal Dashboard.","operationId":"dashboard_page_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/analytics":{"get":{"tags":["Web"],"summary":"Read Analytics","description":"Disagreement Map Dashboard.","operationId":"read_analytics_analytics_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/documentation":{"get":{"tags":["Web"],"summary":"Read Docs","description":"Human-readable Documentation.","operationId":"read_docs_documentation_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/verify-demo":{"get":{"tags":["Web"],"summary":"Verify Demo Page","description":"Interactive Verify v1 demo (vanilla JS).","operationId":"verify_demo_page_verify_demo_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/generate-demo":{"get":{"tags":["Web"],"summary":"Generate Demo Page","description":"Interactive Generate demo (vanilla JS).","operationId":"generate_demo_page_generate_demo_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/auth/signup":{"post":{"tags":["Authentication"],"summary":"Signup","description":"Register a new user and return an access token.","operationId":"signup_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignup"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/login":{"post":{"tags":["Authentication"],"summary":"Login","description":"Authenticate user and return an access token.","operationId":"login_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLogin"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/web/signup":{"post":{"tags":["Authentication"],"summary":"Web Signup","description":"Handle signup from web form. Creates user, sends OTP, redirects to verify page.","operationId":"web_signup_auth_web_signup_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_web_signup_auth_web_signup_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/web/verify-otp":{"post":{"tags":["Authentication"],"summary":"Web Verify Otp","description":"Verify the OTP code from the web form. On success, mark user verified and log in.","operationId":"web_verify_otp_auth_web_verify_otp_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_web_verify_otp_auth_web_verify_otp_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/web/resend-otp":{"post":{"tags":["Authentication"],"summary":"Web Resend Otp","description":"Resend the OTP verification email.","operationId":"web_resend_otp_auth_web_resend_otp_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_web_resend_otp_auth_web_resend_otp_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/web/login":{"post":{"tags":["Authentication"],"summary":"Web Login","description":"Handle login from web form.","operationId":"web_login_auth_web_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_web_login_auth_web_login_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/logout":{"get":{"tags":["Authentication"],"summary":"Logout","description":"Clear the session cookie and redirect to home.","operationId":"logout_auth_logout_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/keys/generate":{"post":{"tags":["Authentication"],"summary":"Web Generate Key","description":"Generate a new RNP API key for the logged-in user.","operationId":"web_generate_key_auth_keys_generate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/validate/":{"post":{"tags":["Validation"],"summary":"Validate Outputs","description":"Validate multiple AI outputs.\n\nClient sends outputs from their own models — RNP arbitrates and returns risk assessment.","operationId":"validate_outputs_validate__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/validate/query":{"post":{"tags":["Validation"],"summary":"Validate Query","description":"Send a question — RNP queries its own models and returns arbitrated answer.","operationId":"validate_query_validate_query_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/validate/health":{"get":{"tags":["Validation"],"summary":"Provider Health","description":"Check which model providers are active and available.","operationId":"provider_health_validate_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderStatus"}}}}}}},"/validate/verify":{"post":{"tags":["Validation"],"summary":"Verify","description":"Deep Truth Arbitration. \nSame as /ask but adds:\n1. Recursive Search (if conflict found)\n2. Logical Consistency Check (DOB vs PhD)\n3. Multi-hop grounding","operationId":"verify_validate_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__validate__VerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/validate/ask":{"post":{"tags":["Validation"],"summary":"Ask","description":"Ask a question — get a verified, citation-backed answer.\n\nPipeline:\n1. Classify query (factual / opinion / forecast / procedural)\n2. Search SerpAPI FIRST for ground truth\n3. Query AI models (with search context for factual queries)\n4. Compare model claims against evidence\n5. Synthesize human-like response with citations\n6. Apply domain rules (disclaimers, confidence caps)","operationId":"ask_validate_ask_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/analytics/disagreements":{"get":{"tags":["Analytics"],"summary":"List Disagreements","description":"List logged disagreements from the Disagreement Map.\n\nEach entry represents a specific instance where two models\nfundamentally disagreed on a response.","operationId":"list_disagreements_analytics_disagreements_get","parameters":[{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by domain","title":"Domain"},"description":"Filter by domain"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DisagreementEntry"},"title":"Response List Disagreements Analytics Disagreements Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analytics/summary":{"get":{"tags":["Analytics"],"summary":"Analytics Summary","description":"Aggregated analytics from the Disagreement Map.\n\nShows disagreement rates, top conflict domains, most unreliable\nmodel pairs, and risk distribution across all validations.","operationId":"analytics_summary_analytics_summary_get","parameters":[{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by domain","title":"Domain"},"description":"Filter by domain"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify":{"post":{"tags":["verify-v1"],"summary":"Verify Endpoint","description":"Main Verify contract. Returns a structured trust verdict — the host\nproduct should enforce `recommended_action` in its UI.","operationId":"verify_endpoint_v1_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__verify_schemas__VerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/verify/{run_id}/override":{"post":{"tags":["verify-v1"],"summary":"Record User Override","description":"Host apps call this after the user acts on the verdict. Powers the override-rate KPI.\n\nBody: {\"user_action_taken\": \"<string>\"}. Typical values mirror `RecommendedAction` when the user followed\nGroundr: SHOW, SHOW_WITH_WARNING, EDIT_SUGGESTED, HUMAN_REVIEW, BLOCK. Use IGNORED when the user dismissed or\noverrode Groundr's guidance (not a verify response enum, but stored for analytics).","operationId":"record_user_override_v1_verify__run_id__override_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Record User Override V1 Verify  Run Id  Override Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit/{tenant_id}":{"get":{"tags":["verify-v1"],"summary":"Audit Bundle","description":"Governance export: everything the policy engine saw for this tenant.","operationId":"audit_bundle_v1_audit__tenant_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}},{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Audit Bundle V1 Audit  Tenant Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/kpis":{"get":{"tags":["verify-v1"],"summary":"Kpis","description":"Aggregate product KPIs for Groundr itself.","operationId":"kpis_v1_kpis_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Kpis V1 Kpis Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/providers/me/report":{"get":{"tags":["verify-v1"],"summary":"Provider Report","description":"Model-isolated, anonymized feedback for this provider only.\nThe token's bound provider scopes the query; cross-provider reads\nare impossible by construction.","operationId":"provider_report_v1_providers_me_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Provider Report V1 Providers Me Report Get"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/health":{"get":{"tags":["verify-v1"],"summary":"Health","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health V1 Health Get"}}}}}}},"/generate":{"post":{"tags":["Content Generation"],"summary":"Generate Content","description":"Generate truth-grounded content.\n\nPipeline:\n1. Extract factual questions from the prompt\n2. Arbitrate each question through the RNP pipeline\n3. Collect verified evidence + detect contradictions\n4. Synthesize polished content constrained to verified facts","operationId":"generate_content_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/reliability/models":{"get":{"tags":["Model Reliability"],"summary":"All Model Profiles","description":"Get reliability profiles for all tracked models across all domains.","operationId":"all_model_profiles_reliability_models_get","parameters":[{"name":"min_samples","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Minimum sample count to include","default":5,"title":"Min Samples"},"description":"Minimum sample count to include"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ModelReliabilityProfile"},"title":"Response All Model Profiles Reliability Models Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reliability/models/{provider}":{"get":{"tags":["Model Reliability"],"summary":"Provider Profile","description":"Get reliability breakdown for a specific provider (e.g., 'openai', 'anthropic').","operationId":"provider_profile_reliability_models__provider__get","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ModelReliabilityProfile"},"title":"Response Provider Profile Reliability Models  Provider  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reliability/domains/{domain}":{"get":{"tags":["Model Reliability"],"summary":"Domain Leaderboard","description":"Get the model leaderboard for a specific domain (e.g., 'finance', 'health').","operationId":"domain_leaderboard_reliability_domains__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainLeaderboard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reliability/trends":{"get":{"tags":["Model Reliability"],"summary":"Reliability Trends","description":"Get reliability trends — which models are improving or degrading.","operationId":"reliability_trends_reliability_trends_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ReliabilityTrend"},"type":"array","title":"Response Reliability Trends Reliability Trends Get"}}}}}}},"/reliability/summary":{"get":{"tags":["Model Reliability"],"summary":"Public Summary","description":"Aggregate stats for the landing page — total verifications, disagreements, etc.","operationId":"public_summary_reliability_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicStats"}}}}}}},"/intelligence/hotspots":{"get":{"tags":["Disagreement Intelligence"],"summary":"Disagreement Hotspots","description":"Which domains have the highest AI disagreement rates?","operationId":"disagreement_hotspots_intelligence_hotspots_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HotspotDomain"},"title":"Response Disagreement Hotspots Intelligence Hotspots Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/intelligence/failure-patterns":{"get":{"tags":["Disagreement Intelligence"],"summary":"Failure Patterns","description":"What types of AI failures occur most frequently?","operationId":"failure_patterns_intelligence_failure_patterns_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FailurePattern"},"title":"Response Failure Patterns Intelligence Failure Patterns Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/intelligence/model-pairs":{"get":{"tags":["Disagreement Intelligence"],"summary":"Model Pair Conflicts","description":"Which model pairs disagree with each other most often?","operationId":"model_pair_conflicts_intelligence_model_pairs_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ModelPairConflict"},"title":"Response Model Pair Conflicts Intelligence Model Pairs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/intelligence/temporal":{"get":{"tags":["Disagreement Intelligence"],"summary":"Temporal Analysis","description":"How does AI reliability change over time?","operationId":"temporal_analysis_intelligence_temporal_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":7,"default":90,"title":"Since Days"}},{"name":"granularity","in":"query","required":false,"schema":{"type":"string","description":"weekly or monthly","default":"weekly","title":"Granularity"},"description":"weekly or monthly"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TemporalInsight"},"title":"Response Temporal Analysis Intelligence Temporal Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agents/verify-action":{"post":{"tags":["Agent Verification"],"summary":"Verify Action","description":"Verify if an AI agent's intended action is safe to execute.\n\nPipeline:\n1. Check agent trust score\n2. Verify each supporting claim via arbitration\n3. Assess financial/domain risk\n4. Return verdict: APPROVE / HUMAN_REVIEW / BLOCK","operationId":"verify_action_agents_verify_action_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyActionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/agents/arbitrate":{"post":{"tags":["Agent Verification"],"summary":"Arbitrate Agents","description":"When multiple agents disagree on a decision, Groundr arbitrates.\nUses agent trust scores + evidence grounding to pick the winner.","operationId":"arbitrate_agents_agents_arbitrate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArbitrateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArbitrateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/agents/{agent_id}/trust":{"get":{"tags":["Agent Verification"],"summary":"Get Agent Trust","description":"Get an agent's trust profile across all domains.","operationId":"get_agent_trust_agents__agent_id__trust_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentTrustProfile"},"title":"Response Get Agent Trust Agents  Agent Id  Trust Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agents/{agent_id}/feedback":{"post":{"tags":["Agent Verification"],"summary":"Agent Feedback","description":"Report whether an approved agent action was correct (feedback loop).","operationId":"agent_feedback_agents__agent_id__feedback_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Agent Feedback Agents  Agent Id  Feedback Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compliance/audit":{"get":{"tags":["Compliance & Audit"],"summary":"Audit Summary","description":"Generate a compliance audit summary for the specified period.\nSuitable for regulatory reporting and internal governance review.","operationId":"audit_summary_compliance_audit_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Report period in days","default":30,"title":"Since Days"},"description":"Report period in days"},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by domain","title":"Domain"},"description":"Filter by domain"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compliance/audit/export":{"get":{"tags":["Compliance & Audit"],"summary":"Export Audit Csv","description":"Download the audit trail as a CSV file for regulatory submission.","operationId":"export_audit_csv_compliance_audit_export_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compliance/policies":{"get":{"tags":["Compliance & Audit"],"summary":"List Policy Packs","description":"List all available domain-specific policy packs.","operationId":"list_policy_packs_compliance_policies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PolicyPackInfo"},"type":"array","title":"Response List Policy Packs Compliance Policies Get"}}}}}}},"/compliance/policies/{pack_name}":{"get":{"tags":["Compliance & Audit"],"summary":"Get Policy Pack","description":"View the full configuration of a specific policy pack.","operationId":"get_policy_pack_compliance_policies__pack_name__get","parameters":[{"name":"pack_name","in":"path","required":true,"schema":{"type":"string","title":"Pack Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Policy Pack Compliance Policies  Pack Name  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/register":{"post":{"tags":["Webhooks"],"summary":"Register Webhook","description":"Register a new webhook URL to receive Groundr events.","operationId":"register_webhook_webhooks_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/webhooks":{"get":{"tags":["Webhooks"],"summary":"List Webhooks","description":"List all registered webhooks.","operationId":"list_webhooks_webhooks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WebhookListItem"},"type":"array","title":"Response List Webhooks Webhooks Get"}}}}},"security":[{"APIKeyHeader":[]}]}},"/webhooks/{webhook_id}":{"delete":{"tags":["Webhooks"],"summary":"Delete Webhook","description":"Remove a registered webhook.","operationId":"delete_webhook_webhooks__webhook_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Webhook Webhooks  Webhook Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/test":{"post":{"tags":["Webhooks"],"summary":"Test Webhook","description":"Send a test event to a registered webhook.","operationId":"test_webhook_webhooks_test_post","parameters":[{"name":"webhook_id","in":"query","required":true,"schema":{"type":"string","title":"Webhook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Test Webhook Webhooks Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reliability":{"get":{"tags":["Web"],"summary":"Reliability Page","description":"Public Model Reliability Dashboard.","operationId":"reliability_page_reliability_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/enterprise":{"get":{"tags":["Web"],"summary":"Enterprise Page","description":"Enterprise Trust Infrastructure landing page.","operationId":"enterprise_page_enterprise_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/status":{"get":{"tags":["System"],"summary":"System Status","description":"Health check and system overview.","operationId":"system_status_api_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/agents":{"get":{"tags":["Agents"],"summary":"List Agents","description":"List all registered agents with reputation info.","operationId":"list_agents_agents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Agents"],"summary":"Register Agent","description":"Register a new agent with the negotiation engine.","operationId":"register_agent_agents_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agents/{agent_id}/reputation":{"get":{"tags":["Agents"],"summary":"Get Agent Reputation","description":"Get detailed reputation information for an agent.","operationId":"get_agent_reputation_agents__agent_id__reputation_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentReputationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agents/{agent_id}":{"delete":{"tags":["Agents"],"summary":"Delete Agent","description":"Remove an agent from the engine.","operationId":"delete_agent_agents__agent_id__delete","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/assertions":{"post":{"tags":["Assertions"],"summary":"Submit Assertion","description":"Submit an assertion from a registered agent.","operationId":"submit_assertion_assertions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssertionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Assertion"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Assertions"],"summary":"List Assertions","description":"List all submitted assertions, optionally filtered.","operationId":"list_assertions_assertions_get","parameters":[{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by domain","title":"Domain"},"description":"Filter by domain"},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by agent","title":"Agent Id"},"description":"Filter by agent"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/negotiate":{"post":{"tags":["Negotiation"],"summary":"Negotiate","description":"Trigger the full negotiation pipeline: detect conflicts & resolve.\n\nSupports all strategies including MAJORITY_VOTE for group negotiation.\nResults are persisted to the database and broadcast via WebSocket.","operationId":"negotiate_negotiate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiateRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conflicts":{"get":{"tags":["Negotiation"],"summary":"List Conflicts","description":"List all detected conflicts with semantic similarity scores.","operationId":"list_conflicts_conflicts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/shared-reality":{"get":{"tags":["Shared Reality"],"summary":"Get Shared Reality","description":"Retrieve the current shared reality state across all domains.","operationId":"get_shared_reality_shared_reality_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SharedReality"},"type":"array","title":"Response Get Shared Reality Shared Reality Get"}}}}}}},"/shared-reality/{domain}":{"get":{"tags":["Shared Reality"],"summary":"Get Shared Reality By Domain","description":"Retrieve the shared reality for a specific domain.","operationId":"get_shared_reality_by_domain_shared_reality__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedReality"},"title":"Response Get Shared Reality By Domain Shared Reality  Domain  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AgentCreate":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"name":{"type":"string","title":"Name"},"expertise":{"additionalProperties":{"type":"number"},"type":"object","title":"Expertise"}},"type":"object","required":["agent_id","name"],"title":"AgentCreate"},"AgentReputationResponse":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"name":{"type":"string","title":"Name"},"reputation":{"type":"number","title":"Reputation"},"wins":{"type":"integer","title":"Wins"},"losses":{"type":"integer","title":"Losses"},"win_rate":{"type":"number","title":"Win Rate"},"expertise":{"additionalProperties":{"type":"number"},"type":"object","title":"Expertise"}},"type":"object","required":["agent_id","name","reputation","wins","losses","win_rate","expertise"],"title":"AgentReputationResponse"},"AgentTrustProfile":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"domain":{"type":"string","title":"Domain"},"trust_score":{"type":"number","title":"Trust Score"},"autonomy_level":{"type":"string","title":"Autonomy Level"},"actions_submitted":{"type":"integer","title":"Actions Submitted"},"actions_approved":{"type":"integer","title":"Actions Approved"},"actions_blocked":{"type":"integer","title":"Actions Blocked"},"false_approval_rate":{"type":"number","title":"False Approval Rate"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["agent_id","domain","trust_score","autonomy_level","actions_submitted","actions_approved","actions_blocked","false_approval_rate"],"title":"AgentTrustProfile","description":"Public trust profile for an agent."},"AnalyticsSummary":{"properties":{"total_validations":{"type":"integer","title":"Total Validations"},"total_disagreements":{"type":"integer","title":"Total Disagreements"},"disagreement_rate":{"type":"number","title":"Disagreement Rate"},"average_similarity_in_conflicts":{"type":"number","title":"Average Similarity In Conflicts"},"top_conflict_domains":{"items":{},"type":"array","title":"Top Conflict Domains"},"top_conflicting_pairs":{"items":{},"type":"array","title":"Top Conflicting Pairs"},"risk_distribution":{"additionalProperties":true,"type":"object","title":"Risk Distribution"},"filter_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter Domain"}},"type":"object","required":["total_validations","total_disagreements","disagreement_rate","average_similarity_in_conflicts","top_conflict_domains","top_conflicting_pairs","risk_distribution","filter_domain"],"title":"AnalyticsSummary"},"ArbitrateRequest":{"properties":{"agents":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Agents","description":"List of {agent_id, recommendation, reasoning}"},"context":{"type":"string","title":"Context","description":"What decision is being made"},"domain":{"type":"string","title":"Domain","default":"general"}},"type":"object","required":["agents","context"],"title":"ArbitrateRequest","description":"When multiple agents disagree, Groundr arbitrates."},"ArbitrateResponse":{"properties":{"arbitration_id":{"type":"string","title":"Arbitration Id"},"winning_recommendation":{"type":"string","title":"Winning Recommendation"},"winning_agent":{"type":"string","title":"Winning Agent"},"confidence":{"type":"number","title":"Confidence"},"reasoning":{"type":"string","title":"Reasoning"},"dissenting_agents":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Dissenting Agents"},"risk_level":{"type":"string","title":"Risk Level","default":"MEDIUM"}},"type":"object","required":["arbitration_id","winning_recommendation","winning_agent","confidence","reasoning"],"title":"ArbitrateResponse","description":"Groundr's arbitrated decision between disagreeing agents."},"AskResponse":{"properties":{"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer","description":"The verified answer. Blocked if unsafe."},"status":{"type":"string","title":"Status","description":"CONFIRMED, SUCCESS, INSUFFICIENT_EVIDENCE, INSUFFICIENT_DATA, UNCERTAIN_FACT, or ERROR","default":"SUCCESS"},"confidence":{"type":"string","title":"Confidence","description":"Human-readable confidence: High / Medium / Low / Contextual"},"confidence_score":{"type":"number","title":"Confidence Score","description":"Numeric confidence 0.0 - 1.0"},"safe":{"type":"boolean","title":"Safe","description":"Is this answer safe to display?"},"why":{"type":"string","title":"Why","description":"Plain-English explanation of how we verified this"},"query_type":{"type":"string","title":"Query Type","description":"factual, opinion, forecast, or procedural"},"citations":{"items":{"$ref":"#/components/schemas/Citation"},"type":"array","title":"Citations","description":"Traceable sources"},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sources","description":"Raw external sources"},"models_used":{"type":"integer","title":"Models Used","description":"Number of AI models that contributed"},"web_sources":{"type":"integer","title":"Web Sources","description":"Number of external web sources retrieved"},"agreement":{"type":"string","title":"Agreement","description":"How models agreed: full, numeric, contextual, etc."},"disclaimer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disclaimer","description":"Domain-specific safety warning"},"latency_ms":{"type":"integer","title":"Latency Ms","description":"Processing time in milliseconds"},"rationale":{"type":"string","title":"Rationale","description":"Internal reasoning for the final decision","default":""}},"type":"object","required":["confidence","confidence_score","safe","why","query_type","models_used","web_sources","agreement","latency_ms"],"title":"AskResponse","description":"Clean, user-friendly response with full evidence traceability."},"Assertion":{"properties":{"id":{"type":"string","title":"Id"},"agent_id":{"type":"string","title":"Agent Id","description":"ID of the agent making the claim"},"domain":{"type":"string","title":"Domain","description":"Topic domain (e.g. 'weather', 'traffic', 'stock_price')"},"claim":{"type":"string","title":"Claim","description":"The actual assertion text"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","description":"Agent's confidence in this claim (0–1)"},"evidence":{"items":{"$ref":"#/components/schemas/Evidence"},"type":"array","title":"Evidence"},"status":{"$ref":"#/components/schemas/AssertionStatus","default":"pending"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid Until","description":"Expiry time — confidence decays after this point"},"supersedes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supersedes","description":"ID of a previous assertion this one replaces"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"}},"type":"object","required":["agent_id","domain","claim","confidence"],"title":"Assertion","description":"A structured claim about reality submitted by an agent.\n\nEvery assertion carries a confidence score, supporting evidence,\nand a domain tag so the negotiation engine can match and compare\nrelated claims."},"AssertionCreate":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"domain":{"type":"string","title":"Domain"},"claim":{"type":"string","title":"Claim"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"evidence":{"items":{"$ref":"#/components/schemas/Evidence"},"type":"array","title":"Evidence"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"valid_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valid Until","description":"ISO 8601 datetime string for claim expiry (e.g. '2026-02-23T12:00:00Z')"}},"type":"object","required":["agent_id","domain","claim","confidence"],"title":"AssertionCreate"},"AssertionStatus":{"type":"string","enum":["pending","accepted","contested","rejected","superseded"],"title":"AssertionStatus","description":"Lifecycle status of an assertion."},"AtomSensitivity":{"type":"string","enum":["low","medium","high","critical"],"title":"AtomSensitivity","description":"How carefully this atom must be verified regardless of overall mode."},"AtomType":{"type":"string","enum":["fact","numeric","temporal","conditional","entity","procedural"],"title":"AtomType","description":"Kind of claim; drives which specialized verifier runs."},"AtomVerdict":{"properties":{"atom_id":{"type":"string","title":"Atom Id"},"status":{"$ref":"#/components/schemas/EvidenceStatus"},"authority_summary":{"additionalProperties":{"type":"integer"},"type":"object","title":"Authority Summary"},"nli_summary":{"additionalProperties":{"type":"integer"},"type":"object","title":"Nli Summary"},"diversity_groups":{"type":"integer","title":"Diversity Groups","default":0},"freshness_ok":{"type":"boolean","title":"Freshness Ok","default":true},"notes":{"items":{"type":"string"},"type":"array","title":"Notes"}},"type":"object","required":["atom_id","status"],"title":"AtomVerdict","description":"Aggregated evidence outcome for a single atom."},"AtomicClaim":{"properties":{"id":{"type":"string","title":"Id"},"text":{"type":"string","title":"Text","description":"Self-contained, decontextualized claim text."},"type":{"$ref":"#/components/schemas/AtomType","default":"fact"},"sensitivity":{"$ref":"#/components/schemas/AtomSensitivity","default":"medium"},"source_models":{"items":{"type":"string"},"type":"array","title":"Source Models","description":"Models that asserted this atom (directly or via aggregation)."},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"relation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relation"},"object":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object"},"modifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modifier"}},"type":"object","required":["text"],"title":"AtomicClaim","description":"One verifiable unit extracted from the model answer."},"AuditSummary":{"properties":{"report_period":{"type":"string","title":"Report Period"},"generated_at":{"type":"string","title":"Generated At"},"total_verifications":{"type":"integer","title":"Total Verifications","default":0},"total_disagreements":{"type":"integer","title":"Total Disagreements","default":0},"total_blocked":{"type":"integer","title":"Total Blocked","default":0},"total_shown":{"type":"integer","title":"Total Shown","default":0},"total_human_review":{"type":"integer","title":"Total Human Review","default":0},"disagreement_rate":{"type":"number","title":"Disagreement Rate","default":0.0},"block_rate":{"type":"number","title":"Block Rate","default":0.0},"risk_breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Risk Breakdown"},"domain_breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Domain Breakdown"},"top_failure_domains":{"items":{"type":"string"},"type":"array","title":"Top Failure Domains"},"policy_version":{"type":"string","title":"Policy Version","default":"1.0.0"},"compliance_notes":{"items":{"type":"string"},"type":"array","title":"Compliance Notes"}},"type":"object","required":["report_period","generated_at"],"title":"AuditSummary","description":"High-level compliance audit summary."},"AuthorityTier":{"type":"string","enum":["tier_1","tier_2","tier_3","tier_4","unknown"],"title":"AuthorityTier","description":"Source authority tier. Parsed from hostname + curated map."},"Body_web_login_auth_web_login_post":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"Body_web_login_auth_web_login_post"},"Body_web_resend_otp_auth_web_resend_otp_post":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"Body_web_resend_otp_auth_web_resend_otp_post"},"Body_web_signup_auth_web_signup_post":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"}},"type":"object","required":["email","password"],"title":"Body_web_signup_auth_web_signup_post"},"Body_web_verify_otp_auth_web_verify_otp_post":{"properties":{"email":{"type":"string","title":"Email"},"otp_code":{"type":"string","title":"Otp Code"}},"type":"object","required":["email","otp_code"],"title":"Body_web_verify_otp_auth_web_verify_otp_post"},"Citation":{"properties":{"id":{"type":"string","title":"Id","description":"Citation ID, e.g. 'src_1'"},"url":{"type":"string","title":"Url","description":"Source URL"},"title":{"type":"string","title":"Title","description":"Page title or source name"},"trust_tier":{"type":"string","title":"Trust Tier","description":"T1 (gov/academic) through T6 (unknown)"},"snippet":{"type":"string","title":"Snippet","description":"Relevant excerpt from the source"}},"type":"object","required":["id","url","title","trust_tier","snippet"],"title":"Citation","description":"A traceable source backing a claim."},"CorrectionRecord":{"properties":{"wrong_claim":{"type":"string","title":"Wrong Claim","description":"What the AI models originally claimed"},"correct_fact":{"type":"string","title":"Correct Fact","description":"The verified ground truth from web sources"},"source":{"type":"string","title":"Source","description":"The authoritative source that provided the correction"}},"type":"object","required":["wrong_claim","correct_fact","source"],"title":"CorrectionRecord","description":"A fact that the AI models got wrong and was corrected by evidence."},"DisagreementEntry":{"properties":{"id":{"type":"integer","title":"Id"},"validation_id":{"type":"integer","title":"Validation Id"},"query":{"type":"string","title":"Query"},"domain":{"type":"string","title":"Domain"},"model_a":{"type":"string","title":"Model A"},"model_b":{"type":"string","title":"Model B"},"claim_a":{"type":"string","title":"Claim A"},"claim_b":{"type":"string","title":"Claim B"},"similarity":{"type":"number","title":"Similarity"},"type":{"type":"string","title":"Type"},"winner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Winner"},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp"}},"type":"object","required":["id","validation_id","query","domain","model_a","model_b","claim_a","claim_b","similarity","type","winner","timestamp"],"title":"DisagreementEntry"},"DisagreementSignal":{"properties":{"model_a":{"type":"string","title":"Model A"},"model_b":{"type":"string","title":"Model B"},"claim_a":{"type":"string","title":"Claim A"},"claim_b":{"type":"string","title":"Claim B"},"similarity":{"type":"number","title":"Similarity","description":"0.0 = completely different, 1.0 = identical"},"disagreement_type":{"type":"string","title":"Disagreement Type","description":"direct, partial, temporal, or contextual_variation"}},"type":"object","required":["model_a","model_b","claim_a","claim_b","similarity","disagreement_type"],"title":"DisagreementSignal","description":"A specific point of disagreement between models."},"DomainLeaderboard":{"properties":{"domain":{"type":"string","title":"Domain"},"rankings":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Rankings"},"total_verifications":{"type":"integer","title":"Total Verifications","default":0}},"type":"object","required":["domain"],"title":"DomainLeaderboard","description":"Which model is most reliable in a specific domain."},"DomainRiskClass":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"title":"DomainRiskClass","description":"How much damage a wrong answer in this domain can cause."},"Evidence":{"properties":{"id":{"type":"string","title":"Id"},"type":{"$ref":"#/components/schemas/EvidenceType"},"source":{"type":"string","title":"Source","description":"Origin of the evidence (URL, sensor ID, model name, etc.)"},"description":{"type":"string","title":"Description"},"reliability":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Reliability","description":"Reliability score of this evidence source (0 = untrusted, 1 = fully trusted)"},"verification_tier":{"$ref":"#/components/schemas/EvidenceVerificationTier","description":"Trust tier — T1-T6 ranking","default":"T6"},"source_role":{"$ref":"#/components/schemas/SourceRole","description":"Role: authoritative, reference, etc.","default":"unverified"},"is_truth_anchor":{"type":"boolean","title":"Is Truth Anchor","description":"If True, this evidence is from an authoritative ground-truth source","default":false},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["type","source","description","reliability"],"title":"Evidence","description":"A single piece of evidence supporting an assertion."},"EvidenceSnippet":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"hostname":{"type":"string","title":"Hostname"},"authority_tier":{"$ref":"#/components/schemas/AuthorityTier","default":"unknown"},"diversity_group":{"type":"string","title":"Diversity Group","description":"eTLD+1 or curated ownership group. Used for diversity enforcement.","default":"unknown"},"title":{"type":"string","title":"Title","default":""},"snippet":{"type":"string","title":"Snippet","default":""},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"freshness_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Freshness Days"},"relevance":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Relevance","default":0.0},"nli_label":{"$ref":"#/components/schemas/NLILabel","default":"neutral"},"nli_confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Nli Confidence","default":0.0},"is_outdated":{"type":"boolean","title":"Is Outdated","default":false},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["url","hostname"],"title":"EvidenceSnippet","description":"A single supporting or contradicting snippet collected from Brave research."},"EvidenceStatus":{"type":"string","enum":["strongly_supported","weakly_supported","conflicting","unsupported","outdated"],"title":"EvidenceStatus","description":"Atom-level aggregated evidence status."},"EvidenceType":{"type":"string","enum":["observation","inference","external","consensus","historical"],"title":"EvidenceType","description":"Classification of evidence backing an assertion."},"EvidenceVerificationTier":{"type":"string","enum":["T1","T2","T3","T4","T5","T6"],"title":"EvidenceVerificationTier","description":"The authority level of an evidence source."},"FailureModeKind":{"type":"string","enum":["consensus_without_evidence","contradiction_high_authority","insufficient_diversity","outdated_evidence","search_outage","atomizer_unstable","fabricated_source","low_confidence_nli","insufficient_sources"],"title":"FailureModeKind"},"FailurePattern":{"properties":{"pattern_type":{"type":"string","title":"Pattern Type"},"occurrence_count":{"type":"integer","title":"Occurrence Count"},"affected_domains":{"items":{"type":"string"},"type":"array","title":"Affected Domains"},"example_query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Example Query"},"description":{"type":"string","title":"Description"}},"type":"object","required":["pattern_type","occurrence_count","affected_domains","description"],"title":"FailurePattern","description":"A recurring type of model failure."},"FeedbackRequest":{"properties":{"action_id":{"type":"string","title":"Action Id"},"was_correct":{"type":"boolean","title":"Was Correct"},"domain":{"type":"string","title":"Domain","default":"general"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["action_id","was_correct"],"title":"FeedbackRequest","description":"Report whether an approved action turned out to be correct."},"GenerateRequest":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"The content request, e.g. 'Write a 500-word essay on Bitcoin'"},"format":{"type":"string","title":"Format","description":"Output format: essay, summary, bullet_points, report, or answer","default":"essay"},"domain":{"type":"string","title":"Domain","description":"Domain context for expertise weighting","default":"general"},"tone":{"type":"string","title":"Tone","description":"Writing tone: professional, casual, or academic","default":"professional"},"max_words":{"type":"integer","maximum":3000.0,"minimum":50.0,"title":"Max Words","description":"Target word count","default":500},"mode":{"type":"string","title":"Mode","description":"Arbitration depth: fast or deep","default":"fast"}},"type":"object","required":["prompt"],"title":"GenerateRequest","description":"User sends a content request — Groundr generates truth-grounded content."},"GenerateResponse":{"properties":{"content":{"type":"string","title":"Content","description":"The generated, fact-checked content"},"format":{"type":"string","title":"Format","description":"The format used (essay, summary, etc.)"},"grounding_status":{"type":"string","title":"Grounding Status","description":"verified (facts confirmed), corrected (hallucinations fixed), or unverifiable"},"corrections_made":{"items":{"$ref":"#/components/schemas/CorrectionRecord"},"type":"array","title":"Corrections Made","description":"Facts that were corrected during grounding"},"confidence_score":{"type":"number","title":"Confidence Score","description":"Overall grounding confidence (0.0-1.0)"},"citations":{"items":{"$ref":"#/components/schemas/Citation"},"type":"array","title":"Citations","description":"Traceable web sources"},"sources_used":{"type":"integer","title":"Sources Used","description":"Number of web sources consulted"},"models_consulted":{"type":"integer","title":"Models Consulted","description":"Number of AI models consulted"},"factual_queries":{"items":{"type":"string"},"type":"array","title":"Factual Queries","description":"The factual questions extracted and verified"},"latency_ms":{"type":"integer","title":"Latency Ms","description":"Total processing time in milliseconds"}},"type":"object","required":["content","format","grounding_status","confidence_score","sources_used","models_consulted","latency_ms"],"title":"GenerateResponse","description":"Polished, truth-grounded content with full transparency."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"version":{"type":"string","title":"Version"},"agents":{"type":"integer","title":"Agents"},"assertions":{"type":"integer","title":"Assertions"},"conflicts":{"type":"integer","title":"Conflicts"},"features":{"items":{"type":"string"},"type":"array","title":"Features"}},"type":"object","required":["status","version","agents","assertions","conflicts","features"],"title":"HealthResponse"},"HotspotDomain":{"properties":{"domain":{"type":"string","title":"Domain"},"total_queries":{"type":"integer","title":"Total Queries"},"total_disagreements":{"type":"integer","title":"Total Disagreements"},"disagreement_rate":{"type":"number","title":"Disagreement Rate","description":"Fraction of queries with disagreement"},"most_common_type":{"type":"string","title":"Most Common Type","description":"Most frequent disagreement type"},"risk_assessment":{"type":"string","title":"Risk Assessment","description":"LOW / MEDIUM / HIGH based on rate"}},"type":"object","required":["domain","total_queries","total_disagreements","disagreement_rate","most_common_type","risk_assessment"],"title":"HotspotDomain","description":"A domain where AI models frequently disagree."},"ModelOutput":{"properties":{"model":{"type":"string","title":"Model","description":"Identifier, e.g. 'gpt-4o', 'claude-3-5-sonnet'"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","description":"'openai' | 'anthropic' | 'google' | 'xai' | 'meta' | 'byok:<name>'"},"claim":{"type":"string","title":"Claim","description":"The free-text answer the model produced"},"confidence":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Confidence"},"cited_sources":{"items":{"type":"string"},"type":"array","title":"Cited Sources","description":"Any URLs the model itself cited; will be verified via Brave."}},"type":"object","required":["model","claim"],"title":"ModelOutput","description":"One model's draft answer about the user's question."},"ModelPairConflict":{"properties":{"model_a":{"type":"string","title":"Model A"},"model_b":{"type":"string","title":"Model B"},"total_conflicts":{"type":"integer","title":"Total Conflicts"},"avg_similarity":{"type":"number","title":"Avg Similarity","description":"Average semantic similarity when they disagree"},"most_conflicted_domain":{"type":"string","title":"Most Conflicted Domain"},"conflict_types":{"additionalProperties":{"type":"integer"},"type":"object","title":"Conflict Types"}},"type":"object","required":["model_a","model_b","total_conflicts","avg_similarity","most_conflicted_domain"],"title":"ModelPairConflict","description":"How often two specific models disagree."},"ModelReliability":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"provider":{"type":"string","title":"Provider"},"confidence":{"type":"number","title":"Confidence"},"reputation":{"type":"number","title":"Reputation"},"domain_expertise":{"type":"number","title":"Domain Expertise"}},"type":"object","required":["agent_id","provider","confidence","reputation","domain_expertise"],"title":"ModelReliability","description":"Reputation snapshot for a single model agent."},"ModelReliabilityProfile":{"properties":{"provider":{"type":"string","title":"Provider"},"model_name":{"type":"string","title":"Model Name"},"domain":{"type":"string","title":"Domain"},"reliability_score":{"type":"number","title":"Reliability Score","description":"0.0–1.0 composite reliability"},"win_rate":{"type":"number","title":"Win Rate","description":"Fraction of claims verified by evidence"},"hallucination_rate":{"type":"number","title":"Hallucination Rate","description":"Fraction of claims contradicted"},"calibration_score":{"type":"number","title":"Calibration Score","description":"How well confidence matches reality"},"sample_count":{"type":"integer","title":"Sample Count","description":"Number of verification runs"},"strengths":{"items":{"type":"string"},"type":"array","title":"Strengths"},"weaknesses":{"items":{"type":"string"},"type":"array","title":"Weaknesses"}},"type":"object","required":["provider","model_name","domain","reliability_score","win_rate","hallucination_rate","calibration_score","sample_count"],"title":"ModelReliabilityProfile","description":"Public-facing reliability profile for a single model."},"NLILabel":{"type":"string","enum":["entailment","contradiction","neutral"],"title":"NLILabel","description":"Relationship between evidence snippet and atom."},"NegotiateRequest":{"properties":{"strategy":{"anyOf":[{"$ref":"#/components/schemas/NegotiationStrategy"},{"type":"null"}]}},"type":"object","title":"NegotiateRequest"},"NegotiateResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/NegotiationResult"},"type":"array","title":"Results"},"total_conflicts":{"type":"integer","title":"Total Conflicts"},"total_assertions":{"type":"integer","title":"Total Assertions"}},"type":"object","required":["results","total_conflicts","total_assertions"],"title":"NegotiateResponse"},"NegotiationResult":{"properties":{"conflict_id":{"type":"string","title":"Conflict Id"},"winning_assertion_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Winning Assertion Id"},"merged_claim":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merged Claim"},"strategy_used":{"$ref":"#/components/schemas/NegotiationStrategy"},"resulting_confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Resulting Confidence"},"rationale":{"type":"string","title":"Rationale","default":""},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"}},"type":"object","required":["conflict_id","strategy_used","resulting_confidence"],"title":"NegotiationResult","description":"Outcome produced by the negotiation engine for a single conflict."},"NegotiationStrategy":{"type":"string","enum":["bayesian_update","weighted_consensus","majority_vote","highest_confidence","knowledge_harmonizer"],"title":"NegotiationStrategy","description":"Algorithm used to resolve a conflict."},"PolicyPackInfo":{"properties":{"name":{"type":"string","title":"Name"},"filename":{"type":"string","title":"Filename"},"version":{"type":"string","title":"Version"},"description":{"type":"string","title":"Description"},"domains_covered":{"items":{"type":"string"},"type":"array","title":"Domains Covered"},"risk_levels":{"additionalProperties":{"type":"string"},"type":"object","title":"Risk Levels"},"compliance_notes":{"items":{"type":"string"},"type":"array","title":"Compliance Notes"}},"type":"object","required":["name","filename","version","description","domains_covered","risk_levels"],"title":"PolicyPackInfo","description":"Summary of a domain policy pack."},"PolicyTrace":{"properties":{"version":{"type":"string","title":"Version"},"rules_fired":{"items":{"type":"string"},"type":"array","title":"Rules Fired"},"domain_risk_class":{"$ref":"#/components/schemas/DomainRiskClass","default":"LOW"},"mode_used":{"$ref":"#/components/schemas/VerificationMode","default":"balanced"},"escalated":{"type":"boolean","title":"Escalated","default":false},"escalation_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Escalation Reason"}},"type":"object","required":["version"],"title":"PolicyTrace","description":"Exactly which policy version + rules produced this verdict."},"ProviderStatus":{"properties":{"providers":{"additionalProperties":true,"type":"object","title":"Providers","description":"Provider name → count"},"total_agents":{"type":"integer","title":"Total Agents"},"active_keys":{"items":{"type":"string"},"type":"array","title":"Active Keys"}},"type":"object","required":["providers","total_agents","active_keys"],"title":"ProviderStatus","description":"Status of available model providers."},"PublicStats":{"properties":{"total_verifications":{"type":"integer","title":"Total Verifications","default":0},"total_disagreements_caught":{"type":"integer","title":"Total Disagreements Caught","default":0},"models_tracked":{"type":"integer","title":"Models Tracked","default":0},"domains_covered":{"type":"integer","title":"Domains Covered","default":0},"active_providers":{"type":"integer","title":"Active Providers","default":0},"uptime_status":{"type":"string","title":"Uptime Status","default":"operational"}},"type":"object","title":"PublicStats","description":"Aggregate stats for the landing page counter."},"QueryRequest":{"properties":{"query":{"type":"string","title":"Query","description":"The question to arbitrate"},"domain":{"type":"string","title":"Domain","description":"Domain for expertise weighting","default":"general"},"strategy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strategy","description":"Resolution strategy","default":"majority_vote"},"mode":{"type":"string","title":"Mode","description":"Verification depth: fast or deep","default":"deep"}},"type":"object","required":["query"],"title":"QueryRequest","description":"Client sends a question — RNP queries its own models."},"RecommendedAction":{"type":"string","enum":["SHOW","SHOW_WITH_WARNING","EDIT_SUGGESTED","HUMAN_REVIEW","BLOCK"],"title":"RecommendedAction","description":"Host product is expected to enforce one of these."},"ReliabilityTrend":{"properties":{"provider":{"type":"string","title":"Provider"},"model_name":{"type":"string","title":"Model Name"},"trend":{"type":"string","title":"Trend","description":"improving, stable, or degrading"},"reputation_score":{"type":"number","title":"Reputation Score"},"reputation_trend":{"type":"number","title":"Reputation Trend"},"sample_count":{"type":"integer","title":"Sample Count"}},"type":"object","required":["provider","model_name","trend","reputation_score","reputation_trend","sample_count"],"title":"ReliabilityTrend","description":"Reliability change over time for a provider."},"SharedReality":{"properties":{"id":{"type":"string","title":"Id"},"domain":{"type":"string","title":"Domain"},"resolved_claims":{"items":{"$ref":"#/components/schemas/NegotiationResult"},"type":"array","title":"Resolved Claims"},"active_assertions":{"items":{"type":"string"},"type":"array","title":"Active Assertions","description":"IDs of assertions currently accepted as part of reality"},"last_updated":{"type":"string","format":"date-time","title":"Last Updated"},"version":{"type":"integer","title":"Version","default":1}},"type":"object","required":["domain"],"title":"SharedReality","description":"The negotiated consensus — the best collective understanding\nof a domain at a given point in time."},"SourceRole":{"type":"string","enum":["authoritative","reference","opinion","unverified"],"title":"SourceRole","description":"The functional role of a source in the verification pipeline."},"SupportingClaim":{"properties":{"claim":{"type":"string","title":"Claim"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"}},"type":"object","required":["claim","confidence"],"title":"SupportingClaim","description":"A claim that supports the agent's intended action."},"TemporalInsight":{"properties":{"period":{"type":"string","title":"Period"},"total_verifications":{"type":"integer","title":"Total Verifications"},"total_disagreements":{"type":"integer","title":"Total Disagreements"},"disagreement_rate":{"type":"number","title":"Disagreement Rate"},"top_failing_models":{"items":{"type":"string"},"type":"array","title":"Top Failing Models"}},"type":"object","required":["period","total_verifications","total_disagreements","disagreement_rate","top_failing_models"],"title":"TemporalInsight","description":"How model reliability changes over time."},"Token":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"}},"type":"object","required":["access_token","token_type"],"title":"Token"},"UncertaintyBlock":{"properties":{"disclaimer":{"type":"string","title":"Disclaimer","default":"Groundr reduces risk by arbitrating AI outputs and checking sources; it does not guarantee factual truth. Use the recommended action as guidance."},"notes":{"items":{"type":"string"},"type":"array","title":"Notes"}},"type":"object","title":"UncertaintyBlock","description":"Enforces visible uncertainty — required on every response."},"UserLogin":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"UserLogin"},"UserSignup":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"}},"type":"object","required":["email","password"],"title":"UserSignup"},"ValidateRequest":{"properties":{"outputs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Outputs","description":"List of AI outputs. Each: {\"model\": \"<name>\", \"claim\": \"<text>\", \"confidence\": <0-1>}"},"domain":{"type":"string","title":"Domain","description":"Domain context for expertise weighting","default":"general"},"strategy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strategy","description":"Resolution strategy","default":"majority_vote"},"mode":{"type":"string","title":"Mode","description":"Verification depth: fast or deep","default":"deep"}},"type":"object","required":["outputs"],"title":"ValidateRequest","description":"Client sends multiple AI outputs for arbitration."},"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"},"ValidationResponse":{"properties":{"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer","description":"The atomic, verified answer (e.g. 'Paris'). Blocked if unsafe."},"status":{"type":"string","title":"Status","description":"Response status: CONFIRMED, SUCCESS, INSUFFICIENT_EVIDENCE, INSUFFICIENT_DATA, UNCERTAIN_FACT, or ERROR","default":"SUCCESS"},"safe_to_display":{"type":"boolean","title":"Safe To Display","description":"The bottom line: should you show this to end users?"},"risk_level":{"$ref":"#/components/schemas/api__validate__RiskLevel","description":"Overall risk assessment"},"confidence_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence Score","description":"Aggregated confidence across all models (0=no confidence, 1=full agreement)"},"consensus_claim":{"type":"string","title":"Consensus Claim","description":"The winning assertion after arbitration"},"strategy_used":{"type":"string","title":"Strategy Used","description":"Resolution strategy: majority_vote, bayesian_update, etc."},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sources","description":"External web sources (SerpAPI/Brave) used for grounding"},"disagreement_signals":{"items":{"$ref":"#/components/schemas/DisagreementSignal"},"type":"array","title":"Disagreement Signals","description":"Where and why models disagree"},"failure_modes":{"items":{"$ref":"#/components/schemas/api__validate__FailureMode"},"type":"array","title":"Failure Modes","description":"What could go wrong if you trust this"},"model_reliability":{"items":{"$ref":"#/components/schemas/ModelReliability"},"type":"array","title":"Model Reliability","description":"Per-model reputation and confidence"},"verdict":{"type":"string","title":"Verdict","description":"One-line human-readable verdict (e.g. '✅ Safe — 3 models agree')","default":""},"explanation":{"type":"string","title":"Explanation","description":"Plain-English paragraph explaining the arbitration result","default":""},"models_queried":{"type":"integer","title":"Models Queried"},"models_agreed":{"type":"integer","title":"Models Agreed"},"agreement_type":{"type":"string","title":"Agreement Type","description":"Nuanced classification: full_agreement, contextual_variation, partial_disagreement, direct_contradiction","default":"full_agreement"},"domain":{"type":"string","title":"Domain"},"latency_ms":{"type":"integer","title":"Latency Ms","description":"Total processing time in milliseconds"},"query":{"type":"string","title":"Query","default":""},"rationale":{"type":"string","title":"Rationale","description":"Internal reasoning for the final decision","default":""}},"type":"object","required":["safe_to_display","risk_level","confidence_score","consensus_claim","strategy_used","models_queried","models_agreed","domain","latency_ms"],"title":"ValidationResponse","description":"The core product response.\n\nAnswers: \"Can I safely show this AI output to my users?\""},"VerificationMode":{"type":"string","enum":["fast","balanced","deep"],"title":"VerificationMode","description":"Requested depth — engine may auto-escalate."},"VerifyActionRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id","description":"Unique identifier for the agent"},"intended_action":{"type":"string","title":"Intended Action","description":"What the agent wants to do (e.g., 'refund_customer')"},"action_parameters":{"additionalProperties":true,"type":"object","title":"Action Parameters","description":"Parameters of the action (e.g., amount, customer_id)"},"reasoning":{"type":"string","title":"Reasoning","description":"The agent's reasoning for this action"},"supporting_claims":{"items":{"$ref":"#/components/schemas/SupportingClaim"},"type":"array","title":"Supporting Claims","description":"Claims the agent believes justify this action"},"domain":{"type":"string","title":"Domain","description":"Domain context","default":"general"}},"type":"object","required":["agent_id","intended_action","reasoning"],"title":"VerifyActionRequest","description":"Agent submits an intended action for risk assessment."},"VerifyActionResponse":{"properties":{"action_id":{"type":"string","title":"Action Id","description":"Unique ID for this verification"},"safe_to_execute":{"type":"boolean","title":"Safe To Execute","description":"Can the agent proceed?"},"risk_level":{"type":"string","title":"Risk Level","description":"LOW / MEDIUM / HIGH / CRITICAL"},"recommended_action":{"type":"string","title":"Recommended Action","description":"APPROVE / HUMAN_REVIEW / BLOCK"},"confidence_score":{"type":"number","title":"Confidence Score","description":"Groundr's confidence in this verdict"},"blocking_reasons":{"items":{"type":"string"},"type":"array","title":"Blocking Reasons"},"verified_claims":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Verified Claims"},"unverified_claims":{"items":{"type":"string"},"type":"array","title":"Unverified Claims"},"agent_trust":{"additionalProperties":true,"type":"object","title":"Agent Trust","description":"Agent's current trust profile"},"financial_exposure":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Financial Exposure","description":"Estimated $ at risk"},"latency_ms":{"type":"integer","title":"Latency Ms","default":0}},"type":"object","required":["action_id","safe_to_execute","risk_level","recommended_action","confidence_score"],"title":"VerifyActionResponse","description":"Groundr's verdict on whether the action is safe to execute."},"VerifyRequest":{"properties":{"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","description":"The user's original question; used by the atomizer for context."},"domain":{"type":"string","title":"Domain","default":"general"},"domain_risk_class":{"anyOf":[{"$ref":"#/components/schemas/DomainRiskClass"},{"type":"null"}],"description":"Override for the domain→risk mapping. If omitted, policy engine derives this from `domain`."},"outputs":{"items":{"$ref":"#/components/schemas/ModelOutput"},"type":"array","title":"Outputs","description":"Model drafts to arbitrate. If empty, the broker queries models itself."},"mode":{"$ref":"#/components/schemas/VerificationMode","default":"balanced"},"tenant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Id"},"allow_escalation":{"type":"boolean","title":"Allow Escalation","description":"Engine may escalate to a deeper mode on disagreement.","default":true},"policy_overrides":{"additionalProperties":true,"type":"object","title":"Policy Overrides","description":"Per-tenant policy knobs; applied on top of the frozen matrix."}},"type":"object","title":"VerifyRequest","description":"Input to POST /v1/verify."},"WebhookListItem":{"properties":{"webhook_id":{"type":"string","title":"Webhook Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"domain_filter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain Filter"},"is_active":{"type":"boolean","title":"Is Active"},"last_triggered":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered"},"failure_count":{"type":"integer","title":"Failure Count"}},"type":"object","required":["webhook_id","url","events","domain_filter","is_active","last_triggered","failure_count"],"title":"WebhookListItem"},"WebhookRegisterRequest":{"properties":{"url":{"type":"string","title":"Url","description":"The URL to receive webhook events"},"events":{"items":{"type":"string"},"type":"array","title":"Events","description":"Events to subscribe to: high_risk_detected, model_degradation, new_failure_pattern, agent_trust_change"},"domain_filter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain Filter","description":"Only receive events for this domain (e.g., 'finance')"}},"type":"object","required":["url"],"title":"WebhookRegisterRequest"},"WebhookResponse":{"properties":{"webhook_id":{"type":"string","title":"Webhook Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"domain_filter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain Filter"},"secret":{"type":"string","title":"Secret","description":"Use this to verify webhook signatures (shown only once)"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["webhook_id","url","events","domain_filter","secret"],"title":"WebhookResponse"},"api__validate__FailureMode":{"properties":{"mode":{"type":"string","title":"Mode","description":"Type of failure: hallucination, outdated, biased, unsupported"},"description":{"type":"string","title":"Description"},"severity":{"type":"string","title":"Severity","description":"LOW / MEDIUM / HIGH"}},"type":"object","required":["mode","description","severity"],"title":"FailureMode","description":"What could go wrong if you trust this output."},"api__validate__RiskLevel":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"title":"RiskLevel","description":"How dangerous it is to trust this output."},"api__validate__VerifyResponse":{"properties":{"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer","description":"The verified answer. Blocked if unsafe."},"status":{"type":"string","title":"Status","description":"CONFIRMED, SUCCESS, INSUFFICIENT_EVIDENCE, INSUFFICIENT_DATA, UNCERTAIN_FACT, or ERROR","default":"SUCCESS"},"confidence":{"type":"string","title":"Confidence","description":"Human-readable confidence: High / Medium / Low / Contextual"},"confidence_score":{"type":"number","title":"Confidence Score","description":"Numeric confidence 0.0 - 1.0"},"safe":{"type":"boolean","title":"Safe","description":"Is this answer safe to display?"},"why":{"type":"string","title":"Why","description":"Plain-English explanation of how we verified this"},"query_type":{"type":"string","title":"Query Type","description":"factual, opinion, forecast, or procedural"},"citations":{"items":{"$ref":"#/components/schemas/Citation"},"type":"array","title":"Citations","description":"Traceable sources"},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sources","description":"Raw external sources"},"models_used":{"type":"integer","title":"Models Used","description":"Number of AI models that contributed"},"web_sources":{"type":"integer","title":"Web Sources","description":"Number of external web sources retrieved"},"agreement":{"type":"string","title":"Agreement","description":"How models agreed: full, numeric, contextual, etc."},"disclaimer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disclaimer","description":"Domain-specific safety warning"},"latency_ms":{"type":"integer","title":"Latency Ms","description":"Processing time in milliseconds"},"rationale":{"type":"string","title":"Rationale","description":"Internal reasoning for the final decision","default":""},"logical_flaws":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Logical Flaws","description":"List of logical impossibilities found"},"arbitration_trace":{"items":{"type":"string"},"type":"array","title":"Arbitration Trace","description":"Log of deep research steps taken"}},"type":"object","required":["confidence","confidence_score","safe","why","query_type","models_used","web_sources","agreement","latency_ms"],"title":"VerifyResponse","description":"Extended response for deep arbitration."},"src__verify_schemas__FailureMode":{"properties":{"kind":{"$ref":"#/components/schemas/FailureModeKind"},"description":{"type":"string","title":"Description"},"severity":{"type":"string","title":"Severity","default":"MEDIUM"},"related_atom_ids":{"items":{"type":"string"},"type":"array","title":"Related Atom Ids"}},"type":"object","required":["kind","description"],"title":"FailureMode"},"src__verify_schemas__RiskLevel":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"title":"RiskLevel"},"src__verify_schemas__VerifyResponse":{"properties":{"schema_version":{"type":"string","title":"Schema Version","default":"1.0.0"},"run_id":{"type":"string","title":"Run Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"safe_to_display":{"type":"boolean","title":"Safe To Display","default":false},"risk_level":{"$ref":"#/components/schemas/src__verify_schemas__RiskLevel","default":"HIGH"},"recommended_action":{"$ref":"#/components/schemas/RecommendedAction","default":"HUMAN_REVIEW"},"confidence_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence Score","default":0.0},"consensus_claim":{"type":"string","title":"Consensus Claim","default":""},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"failure_modes":{"items":{"$ref":"#/components/schemas/src__verify_schemas__FailureMode"},"type":"array","title":"Failure Modes"},"blocked_atoms":{"items":{"type":"string"},"type":"array","title":"Blocked Atoms"},"edit_suggestions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Edit Suggestions"},"atoms":{"items":{"$ref":"#/components/schemas/AtomicClaim"},"type":"array","title":"Atoms"},"atom_verdicts":{"items":{"$ref":"#/components/schemas/AtomVerdict"},"type":"array","title":"Atom Verdicts"},"evidence":{"items":{"$ref":"#/components/schemas/EvidenceSnippet"},"type":"array","title":"Evidence"},"models_used":{"items":{"type":"string"},"type":"array","title":"Models Used"},"policy":{"$ref":"#/components/schemas/PolicyTrace"},"uncertainty":{"$ref":"#/components/schemas/UncertaintyBlock"},"atomizer_version":{"type":"string","title":"Atomizer Version","default":""},"latency_ms":{"type":"integer","title":"Latency Ms","default":0},"cost_estimate_cents":{"type":"number","title":"Cost Estimate Cents","default":0.0}},"type":"object","title":"VerifyResponse","description":"Output of POST /v1/verify — the frozen trust verdict."}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/auth/login"}}},"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}