{"openapi":"3.1.0","info":{"title":"LR Labs API","version":"0.1.0"},"paths":{"/api/briefs":{"get":{"summary":"Get Briefs","operationId":"get_briefs_api_briefs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Get Briefs Api Briefs Get"}}}}}}},"/api/search":{"post":{"summary":"Search Briefs","operationId":"search_briefs_api_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Search Briefs Api Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/analyze":{"post":{"summary":"Analyze Transaction","operationId":"analyze_transaction_api_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Analyze Transaction Api Analyze Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/provisions":{"get":{"summary":"Provisions","description":"The compiled-law store, painted: spans with proofs/brackets,\ninterpretive attachments with force classes, determinacy — and the\nFORMAL LOGIC layer: each linked rule as effect ⟸ conditions, and the\nreading's full operator tree where one governs the provision.","operationId":"provisions_api_provisions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{},"type":"array","title":"Response Provisions Api Provisions Get"}}}}}}},"/api/pe/treaties":{"get":{"summary":"Pe Treaties","operationId":"pe_treaties_api_pe_treaties_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Pe Treaties Api Pe Treaties Get"}}}}}}},"/api/pe/demos":{"get":{"summary":"Pe Demos","operationId":"pe_demos_api_pe_demos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Pe Demos Api Pe Demos Get"}}}}}}},"/api/pe-analyze":{"post":{"summary":"Pe Analyze","operationId":"pe_analyze_api_pe_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PEInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Pe Analyze Api Pe Analyze Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/research-note/presets":{"get":{"summary":"Research Presets","operationId":"research_presets_api_research_note_presets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{},"type":"array","title":"Response Research Presets Api Research Note Presets Get"}}}}}}},"/api/research-note":{"post":{"summary":"Research Note","operationId":"research_note_api_research_note_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchNoteInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Research Note Api Research Note Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/verify":{"post":{"summary":"Verify Output","description":"Deterministic verification of arbitrary tax-analysis text: citations\nagainst the corpus, temporal claims against compiled validity windows,\nMLI claims against the position matrix, thresholds against compiled law.\nWorks on our own output — or anyone else's.","operationId":"verify_output_api_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Verify Output Api Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/proof":{"post":{"summary":"Run Proof","description":"Evaluate a read provision against facts: the proof tree with per-element\nepistemic status, the critical path, materiality, burden view, defeaters —\nand a terminal rendering. Deterministic end to end.","operationId":"run_proof_api_proof_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProofInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Run Proof Api Proof Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ledger":{"post":{"summary":"Ledger Lookup","description":"Holdings for an element, ranked by court weight then recency. With a\nfactor vector, each holding also returns the a fortiori verdict and the\ndistinguishing handles — always with their factor tables.","operationId":"ledger_lookup_api_ledger_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerQuery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Ledger Lookup Api Ledger Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/opinion-note":{"post":{"summary":"Opinion Note","description":"The Opinion Method. Two provenances, one skeleton:\n- reading_id given → the proposition is GENERATED from the proof tree\n  (fully computed counsel);\n- question given → counsel drafts inside the skeleton, and the downgrade\n  rule + grade mapper enforce the discipline.","operationId":"opinion_note_api_opinion_note_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpinionInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Opinion Note Api Opinion Note Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/matter/classify":{"post":{"summary":"Matter Classify","description":"LLM extracts facts as PROPOSALS; deterministic validation pins each to a\nverbatim source span (citation-guard philosophy applied to inputs).","operationId":"matter_classify_api_matter_classify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatterNarrative"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Matter Classify Api Matter Classify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/matter/run":{"post":{"summary":"Matter Run","description":"Orchestrate the engines off one Matter. Limbs are INFERRED from facts —\nthe user never pre-classifies the legal question.","operationId":"matter_run_api_matter_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatterRun"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Matter Run Api Matter Run Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compute":{"get":{"summary":"Compute Get","description":"THE ASSISTANT-REACHABLE ENGINE.\n\nChatGPT, Gemini, Claude and Perplexity can fetch URLs but cannot POST\n— so the deterministic engine is also a GET: every intake key is a\nquery parameter. An assistant that finds a /q/ page can now COMPUTE on\nthe user's own facts instead of quoting a cached one.\n\n  /compute?agentType=dependent&concludesContracts=secures\n          &agentExclusivity=yes&statedHabitual=yes\n\nThe caller is identified by its User-Agent, so an assistant computing\nhere lands on the dashboard as itself.","operationId":"compute_get_compute_get","parameters":[{"name":"treaty","in":"query","required":false,"schema":{"type":"string","default":"India–USA","title":"Treaty"}},{"name":"question","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"}},{"name":"posture","in":"query","required":false,"schema":{"type":"string","default":"taxpayer","title":"Posture"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Compute Get Compute Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/analyze":{"post":{"summary":"Agent Analyze","description":"The deterministic bundle: same facts + same law → same answer, in\nmilliseconds. Structured facts in; answer, conditions, assumptions,\nunresolved facts, and authority per step out.","operationId":"agent_analyze_api_agent_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentAnalyzeInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Agent Analyze Api Agent Analyze Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/corridors":{"get":{"summary":"Agent Corridors","description":"What is compiled — so a calling agent can decide whether this engine\ncovers its question BEFORE relying on it. Honesty is a feature: outside\nthese corridors the engine refuses rather than guesses.","operationId":"agent_corridors_api_agent_corridors_get","parameters":[{"name":"client","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Agent Corridors Api Agent Corridors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/funnel":{"get":{"summary":"Agent Funnel","description":"Page hits by path / source / referrer / day — same lock as the log.","operationId":"agent_funnel_api_agent_funnel_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Agent Funnel Api Agent Funnel Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/calls":{"get":{"summary":"Agent Calls","description":"PRIVATE: the raw query log, newest first — who asked what, verbatim.","operationId":"agent_calls_api_agent_calls_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"include_tests","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Tests"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Agent Calls Api Agent Calls Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/private":{"get":{"summary":"Private Dashboard","description":"PRIVATE: the founder's dashboard — aggregates plus the query log the\npublic observatory deliberately omits.","operationId":"private_dashboard_private_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Private Dashboard Private Get"}}}}}}},"/api/agent/metrics":{"get":{"summary":"Agent Metrics","description":"The observed-fact feed: who called, how often, how determinate, how\nfast. Aggregated from the append-only call log; test clients excluded\nunless include_tests=true.","operationId":"agent_metrics_api_agent_metrics_get","parameters":[{"name":"include_tests","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Tests"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Agent Metrics Api Agent Metrics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/transfer-pricing":{"post":{"summary":"Agent Transfer Pricing","description":"The TP screen, deterministic: safe-harbour eligibility, documentation\nthresholds, method eligibility, tested party, and the arm's-length range\n— computed from the compiled Indian TP rules with no model in the path.\nRange expansion at zero compilation cost: this knowledge was already in\nthe engine, it simply had no agent door.","operationId":"agent_transfer_pricing_api_agent_transfer_pricing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTPInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Agent Transfer Pricing Api Agent Transfer Pricing Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/insights":{"get":{"summary":"Agent Insights","description":"THE FLYWHEEL. Rejections are a specification: every corridor we refuse,\nevery fact key an agent invents, every condition left open for want of a\nfact is ranked demand telling us exactly what to compile next. This\nendpoint is the compilation backlog, computed from real traffic.","operationId":"agent_insights_api_agent_insights_get","parameters":[{"name":"include_tests","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Tests"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":12,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Agent Insights Api Agent Insights Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp":{"post":{"summary":"Mcp Http","operationId":"mcp_http_mcp_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mcp Http Mcp Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthz":{"get":{"summary":"Healthz","description":"Render's health probe. Deliberately NOT /llms.txt: the probe fires\nevery few seconds and drowned the visitor log (6,531 of 6,631 hits).","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Healthz Healthz Get"}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Llms Txt Llms Txt Get"}}}}}}},"/.well-known/mcp.json":{"get":{"summary":"Well Known Mcp","description":"Machine-readable discovery: an agent that finds this domain can\nconfigure itself without a human.","operationId":"well_known_mcp__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Well Known Mcp  Well Known Mcp Json Get"}}}}}}},"/q":{"get":{"summary":"Question Index","operationId":"question_index_q_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Question Index Q Get"}}}}}}},"/q/{slug}":{"get":{"summary":"Question Page","operationId":"question_page_q__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Question Page Q  Slug  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sitemap.xml":{"get":{"summary":"Sitemap","operationId":"sitemap_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Sitemap Sitemap Xml Get"}}}}}}},"/e8c0a0149ed18a5a45c28ebf7e64499f.txt":{"get":{"summary":"Indexnow Key","operationId":"indexnow_key_e8c0a0149ed18a5a45c28ebf7e64499f_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Indexnow Key E8C0A0149Ed18A5A45C28Ebf7E64499F Txt Get"}}}}}}},"/robots.txt":{"get":{"summary":"Robots","operationId":"robots_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Robots Robots Txt Get"}}}}}}},"/agents":{"get":{"summary":"Agents Page","description":"Copy-paste onboarding for every agent client — one page, zero\nfriction. The canonical host comes from LR_PUBLIC_URL so the domain\nswap is one env var.","operationId":"agents_page_agents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Agents Page Agents Get"}}}}}}},"/observatory":{"get":{"summary":"Observatory Page","description":"The exhibit: live adoption, determinacy, and the demand-driven\ncompilation backlog — rendered client-side from the two metrics\nendpoints. This page IS the YC slide.","operationId":"observatory_page_observatory_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Observatory Page Observatory Get"}}}}}}},"/api/notifications":{"get":{"summary":"Get Notifications","operationId":"get_notifications_api_notifications_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Get Notifications Api Notifications Get"}}}}}}},"/api/refresh":{"post":{"summary":"Refresh Sources","operationId":"refresh_sources_api_refresh_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Refresh Sources Api Refresh Post"}}}}}}}},"components":{"schemas":{"AgentAnalyzeInput":{"properties":{"treaty":{"type":"string","title":"Treaty","default":"India–USA"},"facts":{"additionalProperties":true,"type":"object","title":"Facts","default":{}},"posture":{"type":"string","title":"Posture","default":"taxpayer"},"client":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client"},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"},"detail":{"type":"string","title":"Detail","default":"summary"}},"type":"object","title":"AgentAnalyzeInput"},"AgentTPInput":{"properties":{"transactionType":{"type":"string","title":"Transactiontype","default":"Provision of Services"},"transactionValueCr":{"type":"number","title":"Transactionvaluecr","default":10},"serviceMarkupPct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Servicemarkuppct"},"alrPercentile":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Alrpercentile"},"entityIndia":{"type":"string","title":"Entityindia","default":"Indian Entity"},"entityForeign":{"type":"string","title":"Entityforeign","default":"Foreign AE"},"assessmentYear":{"type":"string","title":"Assessmentyear","default":"2026-27"},"posture":{"type":"string","title":"Posture","default":"taxpayer"},"hasInternalCup":{"type":"boolean","title":"Hasinternalcup","default":false},"hasExternalCup":{"type":"boolean","title":"Hasexternalcup","default":false},"client":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client"},"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"}},"type":"object","title":"AgentTPInput"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LedgerQuery":{"properties":{"element":{"type":"string","title":"Element"},"factors":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Factors","default":{}}},"type":"object","required":["element"],"title":"LedgerQuery"},"MatterNarrative":{"properties":{"narrative":{"type":"string","title":"Narrative"}},"type":"object","required":["narrative"],"title":"MatterNarrative"},"MatterRun":{"properties":{"domains":{"items":{"type":"string"},"type":"array","title":"Domains"},"treaty":{"type":"string","title":"Treaty","default":"India–USA"},"posture":{"type":"string","title":"Posture","default":"taxpayer"},"facts":{"additionalProperties":true,"type":"object","title":"Facts","default":{}},"research_question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Research Question"}},"type":"object","required":["domains"],"title":"MatterRun"},"OpinionInput":{"properties":{"question":{"type":"string","title":"Question","default":""},"reading_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reading Id"},"facts":{"additionalProperties":true,"type":"object","title":"Facts","default":{}},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"}},"type":"object","title":"OpinionInput"},"PEInput":{"properties":{"perspective":{"type":"string","title":"Perspective"},"treaty":{"type":"string","title":"Treaty"},"stage":{"type":"string","title":"Stage"},"peTypes":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Petypes"},"facts":{"additionalProperties":true,"type":"object","title":"Facts"},"posture":{"type":"string","title":"Posture","default":"taxpayer"}},"type":"object","required":["perspective","treaty","stage","peTypes","facts"],"title":"PEInput"},"ProofInput":{"properties":{"reading_id":{"type":"string","title":"Reading Id","default":"IN-US.ART5.4.PROOF"},"facts":{"additionalProperties":true,"type":"object","title":"Facts","default":{}}},"type":"object","title":"ProofInput"},"ResearchNoteInput":{"properties":{"question":{"type":"string","title":"Question","default":""},"scope":{"type":"string","title":"Scope","default":"Both"},"presetId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presetid"}},"type":"object","title":"ResearchNoteInput"},"SearchRequest":{"properties":{"query":{"type":"string","title":"Query","default":""},"jurisdiction":{"type":"string","title":"Jurisdiction","default":"All"},"method":{"type":"string","title":"Method","default":"All"},"txType":{"type":"string","title":"Txtype","default":"All"},"domain":{"type":"string","title":"Domain","default":"All"}},"type":"object","title":"SearchRequest"},"TransactionInput":{"properties":{"entityA":{"type":"string","title":"Entitya"},"entityB":{"type":"string","title":"Entityb"},"jurisdiction":{"type":"string","title":"Jurisdiction"},"assessmentYear":{"type":"string","title":"Assessmentyear"},"transactionType":{"type":"string","title":"Transactiontype"},"testedParty":{"type":"string","title":"Testedparty"},"transactionValueCr":{"type":"number","title":"Transactionvaluecr"},"functions":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Functions"},"risks":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Risks"},"posture":{"type":"string","title":"Posture","default":"taxpayer"},"serviceMarkupPct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Servicemarkuppct"}},"type":"object","required":["entityA","entityB","jurisdiction","assessmentYear","transactionType","testedParty","transactionValueCr","functions","risks"],"title":"TransactionInput"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerifyInput":{"properties":{"text":{"type":"string","title":"Text"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"}},"type":"object","required":["text"],"title":"VerifyInput"}}}}