{"openapi":"3.1.0","info":{"title":"progresus-osint","description":"API-first OSINT and due-diligence service for structured public-record intelligence.","version":"0.1.0"},"paths":{"/v1/admin/api-keys":{"get":{"tags":["admin"],"summary":"List Api Keys Endpoint","operationId":"list_api_keys_endpoint_v1_admin_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiKeyOut"},"type":"array","title":"Response List Api Keys Endpoint V1 Admin Api Keys Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["admin"],"summary":"Create Api Key Endpoint","operationId":"create_api_key_endpoint_v1_admin_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreatedOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/admin/api-keys/{api_key_id}/rotate":{"post":{"tags":["admin"],"summary":"Rotate Api Key Endpoint","description":"Supersede the key: a fresh raw key with the same name, scopes,\nperson binding, and expiry policy is returned (once, like create); the\nold key stops authenticating in the same transaction (EPIC-15,\nADR 0030).","operationId":"rotate_api_key_endpoint_v1_admin_api_keys__api_key_id__rotate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Api Key Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreatedOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"API key not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"API key is revoked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/admin/api-keys/{api_key_id}/revoke":{"post":{"tags":["admin"],"summary":"Revoke Api Key Endpoint","operationId":"revoke_api_key_endpoint_v1_admin_api_keys__api_key_id__revoke_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Api Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"API key not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/findings/{finding_id}":{"get":{"tags":["findings"],"summary":"Get Finding Endpoint","operationId":"get_finding_endpoint_v1_findings__finding_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Finding Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"finding not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/neighbors/{entity_id}":{"get":{"tags":["graph"],"summary":"Get Neighbors Endpoint","operationId":"get_neighbors_endpoint_v1_investigations__investigation_id__graph_neighbors__entity_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NeighborOut"},"title":"Response Get Neighbors Endpoint V1 Investigations  Investigation Id  Graph Neighbors  Entity Id  Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation has no graph snapshot yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/query":{"post":{"tags":["graph"],"summary":"Query Subgraph Endpoint","operationId":"query_subgraph_endpoint_v1_investigations__investigation_id__graph_query_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphQueryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubgraphOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation has no graph snapshot yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/cycles":{"get":{"tags":["graph"],"summary":"Find Ownership Cycles Endpoint","operationId":"find_ownership_cycles_endpoint_v1_investigations__investigation_id__graph_cycles_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"max_depth","in":"query","required":false,"schema":{"type":"integer","maximum":5,"minimum":1,"default":5,"title":"Max Depth"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CyclesOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation has no graph snapshot yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/centrality":{"get":{"tags":["graph"],"summary":"Degree Centrality Endpoint","operationId":"degree_centrality_endpoint_v1_investigations__investigation_id__graph_centrality_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CentralityOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation has no graph snapshot yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/path":{"get":{"tags":["graph"],"summary":"Find Path Endpoint","operationId":"find_path_endpoint_v1_investigations__investigation_id__graph_path_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"start_entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Start Entity Id"}},{"name":"end_entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"End Entity Id"}},{"name":"max_depth","in":"query","required":false,"schema":{"type":"integer","maximum":5,"minimum":1,"default":5,"title":"Max Depth"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PathOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation has no graph snapshot yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/nodes/{node_id}/provider-options":{"get":{"tags":["graph"],"summary":"Get Graph Node Provider Options Endpoint","description":"The complete provider matrix for one graph node: which sources can\nrun against its verified identity right now, and why the others cannot.\nServer-authoritative — the UI never re-derives applicability.","operationId":"getGraphNodeProviderOptions","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"node_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Node Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphNodeProviderOptionsOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/enrichments/preview":{"post":{"tags":["graph"],"summary":"Preview Graph Enrichment Endpoint","description":"Resolve everything execution would resolve — frozen targets, per-target\nprovider plans, billable exposure, already-running work, fan-out size —\nwithout executing anything. Execution revalidates the same plan, so a\nstale preview can never bypass policy.","operationId":"previewGraphEnrichment","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/GraphNodeEnrichmentRequest"},{"$ref":"#/components/schemas/GraphNodeAndNeighborsEnrichmentRequest"}],"discriminator":{"propertyName":"mode","mapping":{"node":"#/components/schemas/GraphNodeEnrichmentRequest","node_and_neighbors":"#/components/schemas/GraphNodeAndNeighborsEnrichmentRequest"}},"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentPreviewOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"conflict (overlap, idempotency)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/enrichments":{"post":{"tags":["graph"],"summary":"Create Graph Enrichment Endpoint","description":"Create and start one enrichment run: revalidates the plan, freezes\nthe targets, creates one child investigation per executable target\nthrough the normal pipeline, and enqueues them. Append-only — history\nis never rewritten, and the root snapshot/report/risk stay untouched.","operationId":"createGraphEnrichment","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/GraphNodeEnrichmentRequest"},{"$ref":"#/components/schemas/GraphNodeAndNeighborsEnrichmentRequest"}],"discriminator":{"propertyName":"mode","mapping":{"node":"#/components/schemas/GraphNodeEnrichmentRequest","node_and_neighbors":"#/components/schemas/GraphNodeAndNeighborsEnrichmentRequest"}},"title":"Request"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentRunOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"conflict (overlap, idempotency)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"get":{"tags":["graph"],"summary":"List Graph Enrichments Endpoint","description":"Enrichment runs rooted at this investigation, newest first.","operationId":"listGraphEnrichments","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentRunListOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/enrichments/{enrichment_id}":{"get":{"tags":["graph"],"summary":"Get Graph Enrichment Endpoint","description":"One run with live progress: target statuses follow their child\ninvestigations; the run status derives from the targets.","operationId":"getGraphEnrichment","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"enrichment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Enrichment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentRunOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/enrichments/{enrichment_id}/cancel":{"post":{"tags":["graph"],"summary":"Cancel Graph Enrichment Endpoint","description":"Cancel remaining work: queued/running children get the cooperative\ninvestigation cancel; already-completed provider calls remain\nhistorical (never rolled back).","operationId":"cancelGraphEnrichment","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"enrichment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Enrichment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentRunOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/enrichments/{enrichment_id}/events":{"get":{"tags":["graph"],"summary":"Stream Graph Enrichment Events Endpoint","description":"Server-sent progress updates until the run reaches a terminal status.\nExistence is checked once, up front, on the request-scoped session; the\nstream body itself polls with its own short-lived sessions (see\n`stream_enrichment_progress`).","operationId":"streamGraphEnrichmentEvents","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"enrichment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Enrichment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/nodes/{node_id}/history":{"get":{"tags":["graph"],"summary":"Get Graph Node History Endpoint","description":"Provider observations for this node inside the exploration lineage,\nnewest first — original snapshot rows marked apart from later\ninteractive enrichment.","operationId":"getGraphNodeHistory","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"node_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Node Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodeHistoryOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/expanded/query":{"post":{"tags":["graph"],"summary":"Query Expanded Graph Endpoint","description":"Subgraph over the expanded exploration view: the root snapshot united\nwith every enrichment descendant, entities deduplicated by canonical\nidentity, each node carrying which investigations observed it\n(`origin_investigation_ids`, `is_from_snapshot`). Rebuild-on-miss: a\ndeleted projection file is reconstructed from PostgreSQL before\nanswering.","operationId":"queryExpandedGraph","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpandedGraphQueryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpandedSubgraphOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/expanded/cycles":{"get":{"tags":["graph"],"summary":"Get Expanded Graph Cycles Endpoint","description":"Ownership cycles over the expanded exploration view.","operationId":"getExpandedGraphCycles","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}},{"name":"max_depth","in":"query","required":false,"schema":{"type":"integer","maximum":5,"minimum":1,"default":5,"title":"Max Depth"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpandedCyclesOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/graph/expanded/centrality":{"get":{"tags":["graph"],"summary":"Get Expanded Graph Centrality Endpoint","description":"Degree centrality over the expanded exploration view.","operationId":"getExpandedGraphCentrality","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpandedCentralityOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation or node not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/health":{"get":{"tags":["meta"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/version":{"get":{"tags":["meta"],"summary":"Get Version","operationId":"get_version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Get Version Version Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/health/dependencies":{"get":{"tags":["meta"],"summary":"Health Dependencies","description":"Readiness-style check: reaches every real backing service with a short\ntimeout each, run concurrently. `kuzu_db_path_configured` is a config\npresence check, not a reachability check — Kuzu is embedded (no server\nto ping), see docs/SPEC.md §10.","operationId":"health_dependencies_health_dependencies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Dependencies Health Dependencies Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/insolvency/lookup":{"get":{"tags":["insolvency"],"summary":"Lookup","operationId":"lookup_v1_insolvency_lookup_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"spisova_znacka","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Spisová značka to look up","title":"Spisova Znacka"},"description":"Spisová značka to look up"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsolvencyLookupResult"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/insolvency/proceedings/{spisova_znacka}":{"get":{"tags":["insolvency"],"summary":"Proceeding Detail","operationId":"proceeding_detail_v1_insolvency_proceedings__spisova_znacka__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"spisova_znacka","in":"path","required":true,"schema":{"type":"string","title":"Spisova Znacka"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PublicProceedingDetail"},{"$ref":"#/components/schemas/InternalProceedingDetail"}],"title":"Response Proceeding Detail V1 Insolvency Proceedings  Spisova Znacka  Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations":{"get":{"tags":["investigations"],"summary":"List Investigations Endpoint","operationId":"list_investigations_endpoint_v1_investigations_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["queued","collecting","analyzing","validating","synthesizing","completed","failed","cancelled"],"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationListOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"tags":["investigations"],"summary":"Create Investigation Endpoint","operationId":"create_investigation_endpoint_v1_investigations_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"400":{"description":"unknown source code(s) in scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"project id unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}":{"get":{"tags":["investigations"],"summary":"Get Investigation Endpoint","operationId":"get_investigation_endpoint_v1_investigations__investigation_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationDetailOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/findings":{"get":{"tags":["investigations"],"summary":"List Investigation Findings Endpoint","operationId":"list_investigation_findings_endpoint_v1_investigations__investigation_id__findings_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FindingPublic"},"title":"Response List Investigation Findings Endpoint V1 Investigations  Investigation Id  Findings Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/evidence":{"get":{"tags":["investigations"],"summary":"List Investigation Evidence Endpoint","operationId":"list_investigation_evidence_endpoint_v1_investigations__investigation_id__evidence_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EvidencePublic"},"title":"Response List Investigation Evidence Endpoint V1 Investigations  Investigation Id  Evidence Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/canonical-findings":{"get":{"tags":["investigations"],"summary":"Get Investigation Canonical Findings Endpoint","description":"Canonical findings (ADR 0014): provider-local findings correlated\ninto investigation-level semantic claims, with dependency-aware evidence\naccounting — evidence count, provider count, and independent source\ncount are distinct, and each source group names its dependency group so\na consumer can see *why* e.g. `cz-ares` and `cz-justice-or` count as one\nsource. `recorded=false` means the findings predate canonical\ncorrelation; grouping is never fabricated retroactively.","operationId":"get_investigation_canonical_findings_endpoint_v1_investigations__investigation_id__canonical_findings_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationCorrelationPublic"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/risk-score":{"get":{"tags":["investigations"],"summary":"Get Investigation Risk Score Endpoint","operationId":"get_investigation_risk_score_endpoint_v1_investigations__investigation_id__risk_score_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskScoreEventPublic"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found, or no risk score computed yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/coverage":{"get":{"tags":["investigations"],"summary":"Get Investigation Coverage Endpoint","description":"Historical per-source execution coverage (ADR 0013): which sources\nwere applicable, selected, enabled, configured, attempted, and what each\none's terminal typed outcome was — all as of execution time, never\nrecomputed from the deployment's current state.","operationId":"get_investigation_coverage_endpoint_v1_investigations__investigation_id__coverage_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationCoveragePublic"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/cancel":{"post":{"tags":["investigations"],"summary":"Cancel Investigation Endpoint","operationId":"cancel_investigation_endpoint_v1_investigations__investigation_id__cancel_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigationOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"investigation already finished","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/investigations/{investigation_id}/events":{"get":{"tags":["investigations"],"summary":"Stream Investigation Endpoint","description":"Server-sent status updates until the investigation reaches a terminal\nstate (docs/development NEXT_PROMPTS \"Dokončení API povrchu\"). Existence\nis checked once, up front, on the request-scoped session; the stream\nbody itself polls with its own short-lived sessions (see\n`stream_investigation_status`).","operationId":"stream_investigation_endpoint_v1_investigations__investigation_id__events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"investigation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/isir-review/items":{"get":{"tags":["isir-review"],"summary":"List Items","operationId":"list_items_v1_isir_review_items_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"trigger","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trigger"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"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":{"$ref":"#/components/schemas/ReviewItemListOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/isir-review/items/{item_id}":{"get":{"tags":["isir-review"],"summary":"Get Item","operationId":"get_item_v1_isir_review_items__item_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewItemDetail"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/isir-review/items/{item_id}/decisions":{"post":{"tags":["isir-review"],"summary":"Create Decision","operationId":"create_decision_v1_isir_review_items__item_id__decisions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Item Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/osint-problems":{"post":{"tags":["osint-problems"],"summary":"Create Osint Problem Endpoint","operationId":"create_osint_problem_endpoint_v1_osint_problems_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OsintProblemCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OsintProblemRecord"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"get":{"tags":["osint-problems"],"summary":"List Osint Problems Endpoint","operationId":"list_osint_problems_endpoint_v1_osint_problems_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"complexity_class","in":"query","required":false,"schema":{"anyOf":[{"enum":["C1","C2","C3","C4","C5"],"type":"string"},{"type":"null"}],"title":"Complexity Class"}},{"name":"verification_status","in":"query","required":false,"schema":{"anyOf":[{"enum":["parsed_only","normalized_candidate","verified","partially_verified","contradictory_evidence","not_verified","insufficient_evidence"],"type":"string"},{"type":"null"}],"title":"Verification Status"}},{"name":"human_review_required","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Human Review Required"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OsintProblemRecord"},"title":"Response List Osint Problems Endpoint V1 Osint Problems Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/osint-problems/dashboard":{"get":{"tags":["osint-problems"],"summary":"Osint Problem Dashboard Endpoint","operationId":"osint_problem_dashboard_endpoint_v1_osint_problems_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OsintProblemDashboard"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/osint-problems/{osint_problem_id}":{"get":{"tags":["osint-problems"],"summary":"Get Osint Problem Endpoint","operationId":"get_osint_problem_endpoint_v1_osint_problems__osint_problem_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"osint_problem_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Osint Problem Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OsintProblemRecord"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"osint problem not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"patch":{"tags":["osint-problems"],"summary":"Update Osint Problem Endpoint","operationId":"update_osint_problem_endpoint_v1_osint_problems__osint_problem_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"osint_problem_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Osint Problem Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OsintProblemUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OsintProblemRecord"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"osint problem not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/evidence/{evidence_id}/raw-captures":{"get":{"tags":["raw-captures"],"summary":"List Evidence Raw Captures Endpoint","description":"Typed capture references for one evidence item (ADR 0015/0035): the\nread API the /app evidence-provenance disclosure uses instead of URL\nguessing. Authorization mirrors the download endpoint: the caller must\nbe entitled to the evidence item's visibility class; denial is 404\n(anti-enumeration). An empty list is honest absence — evidence\npersisted before raw provenance existed has no captures.","operationId":"list_evidence_raw_captures_endpoint_v1_evidence__evidence_id__raw_captures_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"evidence_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Evidence Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceRawCapturesOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"evidence not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/raw-captures/{capture_id}":{"get":{"tags":["raw-captures"],"summary":"Download Raw Capture Endpoint","operationId":"download_raw_capture_endpoint_v1_raw_captures__capture_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"capture_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Capture Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"raw capture not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/reports":{"get":{"tags":["reports"],"summary":"List Reports Endpoint","operationId":"list_reports_endpoint_v1_reports_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}},{"name":"investigation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Investigation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportListOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"tags":["reports"],"summary":"Create Report Endpoint","operationId":"create_report_endpoint_v1_reports_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReportRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"investigation not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/reports/{report_id}":{"get":{"tags":["reports"],"summary":"Get Report Endpoint","operationId":"get_report_endpoint_v1_reports__report_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/reports/{report_id}/download":{"get":{"tags":["reports"],"summary":"Download Report Endpoint","operationId":"download_report_endpoint_v1_reports__report_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}},{"name":"format","in":"query","required":false,"schema":{"enum":["json","html","md"],"type":"string","default":"json","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/reports/{report_id}/manifest":{"get":{"tags":["reports"],"summary":"Download Report Manifest Endpoint","description":"Detached verification manifest (ADR 0015): canonical JSON bytes whose\nSHA-256 equals the report's `manifest_sha256`. Together with any\ndownloaded artifact it enables offline verification without database\naccess (scripts/verify_report_artifact.py).","operationId":"download_report_manifest_endpoint_v1_reports__report_id__manifest_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"report not found, or a legacy report without a manifest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/canonical-findings/{canonical_finding_id}/reviews":{"get":{"tags":["reviews"],"summary":"Review History Endpoint","description":"Chronological, append-only decision history. Notes are included only\nfor principals holding the review privilege.","operationId":"review_history_endpoint_v1_canonical_findings__canonical_finding_id__reviews_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"canonical_finding_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Canonical Finding Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewHistoryOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"canonical finding not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"tags":["reviews"],"summary":"Create Review Endpoint","operationId":"create_review_endpoint_v1_canonical_findings__canonical_finding_id__reviews_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"canonical_finding_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Canonical Finding Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewDecisionOut"}}}},"422":{"description":"invalid action/reason/integrity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"canonical finding not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"insufficient evidence visibility","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"revision or basis changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/canonical-findings/{canonical_finding_id}/review-basis":{"get":{"tags":["reviews"],"summary":"Review Basis Preview Endpoint","description":"The exact server-computed basis a decision would freeze right now,\nwith the current revision and digests to echo back on submit. The\npreview does not lock anything — submission recomputes and re-checks.","operationId":"review_basis_preview_endpoint_v1_canonical_findings__canonical_finding_id__review_basis_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"canonical_finding_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Canonical Finding Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewBasisPreviewOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"canonical finding not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"insufficient evidence visibility","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/review-queue":{"get":{"tags":["reviews"],"summary":"Review Queue Endpoint","description":"Tenant-wide review queue, oldest first (transparent ordering:\ncreated_at, id). `state` filters in SQL; `stale` is derived and applied\nto the returned page (documented page-level approximation). Visibility:\ncanonical findings whose entire backing is hidden from the caller are\nexcluded and do not affect counts the caller can distinguish.","operationId":"review_queue_endpoint_v1_review_queue_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"default":0,"title":"Offset"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(unreviewed|confirmed|dismissed|needs_more_evidence)$"},{"type":"null"}],"title":"State"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"stale","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Stale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewQueueOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/search":{"get":{"tags":["search"],"summary":"Search Endpoint","operationId":"search_endpoint_v1_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Q"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["subject","evidence","finding","report"],"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"503":{"description":"search index unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/search/multi":{"post":{"tags":["search"],"summary":"Multi Search Endpoint","operationId":"multi_search_endpoint_v1_search_multi_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiSearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"503":{"description":"search index unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/operations":{"get":{"tags":["operations"],"summary":"Operations Index","description":"Availability overview of every evidence category (no payloads).","operationId":"operations_index_v1_operations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsIndexOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/operations/{category}":{"get":{"tags":["operations"],"summary":"Operations Category","description":"The latest committed report for one allowlisted category.","operationId":"operations_category_v1_operations__category__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"path","required":true,"schema":{"enum":["certification","drift","restore","migration","load","acceptance","production","ops","sbom","continuous"],"type":"string","title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationsReportOut"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/providers/{provider_code}/lab":{"get":{"tags":["provider-lab"],"summary":"Get Provider Lab Info Endpoint","description":"Registry metadata, configured state (env var NAMES only — values\nnever cross the API), the billable guard, and certification-spec\nexample subjects for prefill (never auto-run).","operationId":"get_provider_lab_info_endpoint_v1_providers__provider_code__lab_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"provider_code","in":"path","required":true,"schema":{"type":"string","title":"Provider Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderLabInfo"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"unknown provider","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/providers/{provider_code}/test":{"post":{"tags":["provider-lab"],"summary":"Run Provider Test Endpoint","description":"One isolated, real `Provider.fetch` against the live upstream,\nclassified into the typed diagnostic outcome vocabulary. Nothing is\npersisted; the response is the entire product of the run. Invalid\ninput, missing configuration, and the unacknowledged billable guard\nare 200s with distinct outcomes — for a diagnostic surface those\nanswers are results, not errors.","operationId":"run_provider_test_endpoint_v1_providers__provider_code__test_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"provider_code","in":"path","required":true,"schema":{"type":"string","title":"Provider Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderTestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderTestReport"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"unknown provider","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/v1/sources":{"get":{"tags":["catalog"],"summary":"List Sources","operationId":"list_sources_v1_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SourceOut"},"type":"array","title":"Response List Sources V1 Sources Get"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"AllApplicableProviders":{"properties":{"mode":{"type":"string","const":"all_applicable","title":"Mode"}},"type":"object","required":["mode"],"title":"AllApplicableProviders","description":"Every registered provider applicable to the node's verified identity."},"ApiKeyCreatedOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"api_key":{"type":"string","title":"Api Key"}},"type":"object","required":["id","name","scopes","created_at","revoked_at","last_used_at","api_key"],"title":"ApiKeyCreatedOut"},"ApiKeyOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},"type":"object","required":["id","name","scopes","created_at","revoked_at","last_used_at"],"title":"ApiKeyOut"},"BasisOut":{"properties":{"revision":{"type":"integer","title":"Revision"},"compatibility_sha256":{"type":"string","title":"Compatibility Sha256"}},"type":"object","required":["revision","compatibility_sha256"],"title":"BasisOut"},"CanonicalFindingPublic":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"category":{"type":"string","title":"Category"},"semantic_key":{"type":"string","title":"Semantic Key"},"correlation_version":{"type":"integer","title":"Correlation Version"},"correlation_strategy":{"type":"string","title":"Correlation Strategy"},"finding_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Finding Ids"},"evidence_count":{"type":"integer","title":"Evidence Count"},"provider_count":{"type":"integer","title":"Provider Count"},"dependency_group_count":{"type":"integer","title":"Dependency Group Count"},"independent_source_count":{"type":"integer","title":"Independent Source Count"},"corroboration":{"type":"string","enum":["single_source","multi_source_dependent","corroborated"],"title":"Corroboration"},"source_groups":{"items":{"$ref":"#/components/schemas/EvidenceSourceGroup"},"type":"array","title":"Source Groups"},"has_unknown_lineage":{"type":"boolean","title":"Has Unknown Lineage"}},"type":"object","required":["id","category","semantic_key","correlation_version","correlation_strategy","finding_ids","evidence_count","provider_count","dependency_group_count","independent_source_count","corroboration","source_groups","has_unknown_lineage"],"title":"CanonicalFindingPublic","description":"API/report-facing canonical finding: the claim, its contributing\nprovider observations, and dependency-aware evidence accounting. The\nthree counts answer different questions and are never interchangeable:\n`evidence_count` (records), `provider_count` (adapters),\n`independent_source_count` (verified independent upstreams)."},"CentralityOut":{"properties":{"degrees":{"additionalProperties":{"type":"integer"},"type":"object","title":"Degrees"}},"type":"object","required":["degrees"],"title":"CentralityOut"},"CreateApiKeyRequest":{"properties":{"name":{"type":"string","title":"Name"},"scopes":{"items":{"type":"string","enum":["investigations:read","investigations:write","reports:read","findings:review","evidence:internal-read","providers:execute","admin"]},"type":"array","title":"Scopes"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["name","scopes"],"title":"CreateApiKeyRequest"},"CreateReportRequest":{"properties":{"investigation_id":{"type":"string","format":"uuid","title":"Investigation Id"},"format":{"type":"string","enum":["json","html","md"],"title":"Format","default":"json"}},"type":"object","required":["investigation_id"],"title":"CreateReportRequest"},"CyclesOut":{"properties":{"entity_ids":{"items":{"type":"string"},"type":"array","title":"Entity Ids"}},"type":"object","required":["entity_ids"],"title":"CyclesOut"},"DataFreshness":{"properties":{"status":{"$ref":"#/components/schemas/DataStatus"},"feed_lag_actions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Feed Lag Actions"},"is_complete":{"type":"boolean","title":"Is Complete"}},"type":"object","required":["status","is_complete"],"title":"DataFreshness","description":"Freshness/completeness envelope attached to every read (§2)."},"DataStatus":{"type":"string","enum":["current","stale","unknown"],"title":"DataStatus","description":"Freshness of the local replica the answer was read from (§4)."},"DecidedBy":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"}},"type":"object","title":"DecidedBy"},"DecisionIn":{"properties":{"decision":{"type":"string","title":"Decision","description":"approve | reject | needs_more_info"},"note":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Note"},"basis_revision":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Basis Revision"},"basis_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basis Sha256"}},"type":"object","required":["decision"],"title":"DecisionIn"},"DecisionOut":{"properties":{"id":{"type":"string","title":"Id"},"decision":{"type":"string","title":"Decision"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"basis_revision":{"type":"integer","title":"Basis Revision"},"decided_by":{"$ref":"#/components/schemas/DecidedBy"},"decided_at":{"type":"string","format":"date-time","title":"Decided At"}},"type":"object","required":["id","decision","note","basis_revision","decided_by","decided_at"],"title":"DecisionOut"},"EnrichmentPreviewOut":{"properties":{"mode":{"type":"string","title":"Mode"},"provider_selection_mode":{"type":"string","title":"Provider Selection Mode"},"root_entity_id":{"type":"string","format":"uuid","title":"Root Entity Id"},"targets":{"items":{"$ref":"#/components/schemas/EnrichmentTargetPreviewOut"},"type":"array","title":"Targets"},"target_count":{"type":"integer","title":"Target Count"},"executable_pair_count":{"type":"integer","title":"Executable Pair Count"},"blocked_pair_count":{"type":"integer","title":"Blocked Pair Count"},"billable_provider_codes":{"items":{"type":"string"},"type":"array","title":"Billable Provider Codes"},"target_budget":{"type":"integer","title":"Target Budget"},"too_large":{"type":"boolean","title":"Too Large"}},"type":"object","required":["mode","provider_selection_mode","root_entity_id","targets","target_count","executable_pair_count","blocked_pair_count","billable_provider_codes","target_budget","too_large"],"title":"EnrichmentPreviewOut"},"EnrichmentRunListOut":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EnrichmentRunOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"EnrichmentRunListOut"},"EnrichmentRunOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"root_investigation_id":{"type":"string","format":"uuid","title":"Root Investigation Id"},"root_entity_id":{"type":"string","format":"uuid","title":"Root Entity Id"},"mode":{"type":"string","title":"Mode"},"provider_selection_mode":{"type":"string","title":"Provider Selection Mode"},"requested_provider_codes":{"items":{"type":"string"},"type":"array","title":"Requested Provider Codes"},"billable_acknowledged":{"type":"boolean","title":"Billable Acknowledged"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"targets":{"items":{"$ref":"#/components/schemas/EnrichmentTargetOut"},"type":"array","title":"Targets"}},"type":"object","required":["id","root_investigation_id","root_entity_id","mode","provider_selection_mode","requested_provider_codes","billable_acknowledged","status","created_at","started_at","completed_at","targets"],"title":"EnrichmentRunOut"},"EnrichmentTargetOut":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"canonical_key":{"type":"string","title":"Canonical Key"},"entity_kind":{"type":"string","title":"Entity Kind"},"status":{"type":"string","title":"Status"},"result_investigation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Result Investigation Id"},"provider_plan":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Provider Plan"}},"type":"object","required":["entity_id","canonical_key","entity_kind","status","result_investigation_id","provider_plan"],"title":"EnrichmentTargetOut"},"EnrichmentTargetPreviewOut":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"canonical_key":{"type":"string","title":"Canonical Key"},"display_name":{"type":"string","title":"Display Name"},"entity_kind":{"type":"string","title":"Entity Kind"},"resolvable":{"type":"boolean","title":"Resolvable"},"already_running":{"type":"boolean","title":"Already Running"},"executable_provider_codes":{"items":{"type":"string"},"type":"array","title":"Executable Provider Codes"},"blocked":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Blocked"}},"type":"object","required":["entity_id","canonical_key","display_name","entity_kind","resolvable","already_running","executable_provider_codes","blocked"],"title":"EnrichmentTargetPreviewOut"},"ErrorEnvelope":{"properties":{"type":{"type":"string","title":"Type","default":"about:blank"},"title":{"type":"string","title":"Title"},"status":{"type":"integer","title":"Status"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["title","status"],"title":"ErrorEnvelope","description":"Problem+json-style error envelope returned on every non-2xx response."},"EvidencePublic":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"source_code":{"type":"string","title":"Source Code"},"captured_at":{"type":"string","format":"date-time","title":"Captured At"},"content_hash":{"type":"string","title":"Content Hash"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"legal_basis":{"type":"string","title":"Legal Basis"},"visibility":{"type":"string","enum":["public","restricted","internal"],"title":"Visibility","default":"internal"},"raw_sha256s":{"items":{"type":"string"},"type":"array","title":"Raw Sha256S"},"normalizer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalizer Id"},"normalizer_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Normalizer Version"},"match":{"anyOf":[{"$ref":"#/components/schemas/MatchDetail"},{"type":"null"}]},"raw_provenance_recorded":{"type":"boolean","title":"Raw Provenance Recorded","readOnly":true}},"type":"object","required":["id","source_code","captured_at","content_hash","confidence","legal_basis","raw_provenance_recorded"],"title":"EvidencePublic","description":"Public: what crosses the API boundary. No raw payload, no source URL,\nno internal routing.\n\nProvenance fields (ADR 0015): `content_hash` keeps its historical\nmeaning — SHA-256 of the canonical normalized payload. `raw_sha256s`\nlists the SHA-256 of each immutable raw source capture this evidence\nwas derived from (empty for evidence persisted before raw provenance\nexisted — \"not recorded\", never fabricated). `normalizer_id`/\n`normalizer_version` identify the exact normalization implementation;\nNULL means the evidence predates normalizer versioning."},"EvidenceRawCapturesOut":{"properties":{"evidence_id":{"type":"string","format":"uuid","title":"Evidence Id"},"captures":{"items":{"$ref":"#/components/schemas/RawCaptureRefOut"},"type":"array","title":"Captures"}},"type":"object","required":["evidence_id","captures"],"title":"EvidenceRawCapturesOut"},"EvidenceSourceGroup":{"properties":{"dependency_group":{"type":"string","title":"Dependency Group"},"verified":{"type":"boolean","title":"Verified"},"source_codes":{"items":{"type":"string"},"type":"array","title":"Source Codes"},"evidence_count":{"type":"integer","title":"Evidence Count"}},"type":"object","required":["dependency_group","verified","source_codes","evidence_count"],"title":"EvidenceSourceGroup","description":"One dependency group's contribution to a claim's evidence set."},"ExpandedCentralityOut":{"properties":{"degrees":{"additionalProperties":{"type":"integer"},"type":"object","title":"Degrees"}},"type":"object","required":["degrees"],"title":"ExpandedCentralityOut"},"ExpandedCyclesOut":{"properties":{"entity_ids":{"items":{"type":"string"},"type":"array","title":"Entity Ids"}},"type":"object","required":["entity_ids"],"title":"ExpandedCyclesOut"},"ExpandedEdgeOut":{"properties":{"source":{"type":"string","title":"Source"},"target":{"type":"string","title":"Target"},"type":{"type":"string","title":"Type"},"confidence":{"type":"number","title":"Confidence"},"valid_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid From"},"valid_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid To"},"first_observed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"First Observed At"},"last_observed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Observed At"},"observation_count":{"type":"integer","title":"Observation Count","default":0}},"type":"object","required":["source","target","type","confidence","valid_from","valid_to"],"title":"ExpandedEdgeOut"},"ExpandedGraphQueryRequest":{"properties":{"start_entity_id":{"type":"string","format":"uuid","title":"Start Entity Id"},"depth":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Depth","default":1},"min_confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Min Confidence","default":0.0}},"type":"object","required":["start_entity_id"],"title":"ExpandedGraphQueryRequest"},"ExpandedNodeOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"canonical_key":{"type":"string","title":"Canonical Key"},"origin_investigation_ids":{"items":{"type":"string"},"type":"array","title":"Origin Investigation Ids"},"is_from_snapshot":{"type":"boolean","title":"Is From Snapshot"}},"type":"object","required":["id","name","kind","canonical_key","origin_investigation_ids","is_from_snapshot"],"title":"ExpandedNodeOut"},"ExpandedSubgraphOut":{"properties":{"nodes":{"items":{"$ref":"#/components/schemas/ExpandedNodeOut"},"type":"array","title":"Nodes"},"edges":{"items":{"$ref":"#/components/schemas/ExpandedEdgeOut"},"type":"array","title":"Edges"}},"type":"object","required":["nodes","edges"],"title":"ExpandedSubgraphOut"},"FindingOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"category":{"type":"string","title":"Category"},"severity":{"type":"string","title":"Severity"},"confidence":{"type":"number","title":"Confidence"},"title":{"type":"string","title":"Title"},"summary":{"type":"string","title":"Summary"},"evidence_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Evidence Ids"},"status":{"type":"string","title":"Status"},"integrity":{"$ref":"#/components/schemas/IntegrityOut"},"canonical_finding_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Canonical Finding Id"}},"type":"object","required":["id","category","severity","confidence","title","summary","evidence_ids","status","integrity"],"title":"FindingOut"},"FindingPublic":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"category":{"type":"string","title":"Category"},"severity":{"type":"string","enum":["low","medium","high","critical"],"title":"Severity"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"title":{"type":"string","title":"Title"},"summary":{"type":"string","title":"Summary"},"evidence_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Evidence Ids"},"status":{"type":"string","title":"Status","default":"pending"}},"type":"object","required":["id","category","severity","confidence","title","summary","evidence_ids"],"title":"FindingPublic","description":"Public: no analyst rationale (internal reasoning), no investigation_id\nrouting details beyond what's needed to display the finding."},"GraphEdgeOut":{"properties":{"source":{"type":"string","title":"Source"},"target":{"type":"string","title":"Target"},"type":{"type":"string","title":"Type"},"confidence":{"type":"number","title":"Confidence"},"valid_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid From"},"valid_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid To"}},"type":"object","required":["source","target","type","confidence"],"title":"GraphEdgeOut"},"GraphNodeAndNeighborsEnrichmentRequest":{"properties":{"node_id":{"type":"string","format":"uuid","title":"Node Id"},"providers":{"oneOf":[{"$ref":"#/components/schemas/AllApplicableProviders"},{"$ref":"#/components/schemas/SelectedProviders"}],"title":"Providers","discriminator":{"propertyName":"mode","mapping":{"all_applicable":"#/components/schemas/AllApplicableProviders","selected":"#/components/schemas/SelectedProviders"}}},"acknowledge_billable":{"type":"boolean","title":"Acknowledge Billable","default":false},"idempotency_key":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Idempotency Key"},"mode":{"type":"string","const":"node_and_neighbors","title":"Mode"}},"type":"object","required":["node_id","providers","mode"],"title":"GraphNodeAndNeighborsEnrichmentRequest","description":"Enrich the selected node plus its direct one-hop neighbours (the set\nis frozen at submission — no recursion, no second hop)."},"GraphNodeEnrichmentRequest":{"properties":{"node_id":{"type":"string","format":"uuid","title":"Node Id"},"providers":{"oneOf":[{"$ref":"#/components/schemas/AllApplicableProviders"},{"$ref":"#/components/schemas/SelectedProviders"}],"title":"Providers","discriminator":{"propertyName":"mode","mapping":{"all_applicable":"#/components/schemas/AllApplicableProviders","selected":"#/components/schemas/SelectedProviders"}}},"acknowledge_billable":{"type":"boolean","title":"Acknowledge Billable","default":false},"idempotency_key":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Idempotency Key"},"mode":{"type":"string","const":"node","title":"Mode"}},"type":"object","required":["node_id","providers","mode"],"title":"GraphNodeEnrichmentRequest","description":"Enrich exactly the selected node."},"GraphNodeProviderOptionOut":{"properties":{"provider_code":{"type":"string","title":"Provider Code"},"applicable":{"type":"boolean","title":"Applicable"},"enabled":{"type":"boolean","title":"Enabled"},"configured":{"type":"boolean","title":"Configured"},"billable":{"type":"boolean","title":"Billable"},"billable_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billable Note"},"can_execute":{"type":"boolean","title":"Can Execute"},"reason_code":{"type":"string","title":"Reason Code"},"required_identifiers":{"items":{"type":"string"},"type":"array","title":"Required Identifiers"},"missing_identifiers":{"items":{"type":"string"},"type":"array","title":"Missing Identifiers"},"last_attempt_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Attempt At"},"last_successful_observation_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Successful Observation At"},"currently_running":{"type":"boolean","title":"Currently Running"}},"type":"object","required":["provider_code","applicable","enabled","configured","billable","billable_note","can_execute","reason_code","required_identifiers","missing_identifiers","last_attempt_at","last_successful_observation_at","currently_running"],"title":"GraphNodeProviderOptionOut"},"GraphNodeProviderOptionsOut":{"properties":{"node_id":{"type":"string","format":"uuid","title":"Node Id"},"canonical_key":{"type":"string","title":"Canonical Key"},"display_name":{"type":"string","title":"Display Name"},"entity_kind":{"type":"string","title":"Entity Kind"},"enrichable":{"type":"boolean","title":"Enrichable"},"options":{"items":{"$ref":"#/components/schemas/GraphNodeProviderOptionOut"},"type":"array","title":"Options"}},"type":"object","required":["node_id","canonical_key","display_name","entity_kind","enrichable","options"],"title":"GraphNodeProviderOptionsOut"},"GraphQueryRequest":{"properties":{"start_entity_id":{"type":"string","format":"uuid","title":"Start Entity Id"},"depth":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Depth","default":1},"relationship_types":{"items":{"type":"string","enum":["owns","controls","director_of","shareholder_of","employed_by","related_to","transacted_with"]},"type":"array","title":"Relationship Types","default":[]},"min_confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Min Confidence","default":0.0}},"type":"object","required":["start_entity_id"],"title":"GraphQueryRequest"},"InsolvencyLookupResult":{"properties":{"query_spisova_znacka":{"type":"string","title":"Query Spisova Znacka"},"outcome":{"$ref":"#/components/schemas/LookupOutcome"},"freshness":{"$ref":"#/components/schemas/DataFreshness"},"matches":{"items":{"$ref":"#/components/schemas/PublicProceeding"},"type":"array","title":"Matches"},"ambiguous":{"type":"boolean","title":"Ambiguous","default":false}},"type":"object","required":["query_spisova_znacka","outcome","freshness","matches"],"title":"InsolvencyLookupResult","description":"Point-lookup read model (§2): the outcome, the freshness, the matched\nproceeding(s), and whether the identity was ambiguous — never a bare\n200 []."},"IntegrityOut":{"properties":{"checks":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Checks"},"passed":{"type":"boolean","title":"Passed"}},"type":"object","required":["checks","passed"],"title":"IntegrityOut"},"InternalProceedingDetail":{"properties":{"proceeding":{"$ref":"#/components/schemas/PublicProceeding"},"freshness":{"$ref":"#/components/schemas/DataFreshness"},"timeline":{"items":{"$ref":"#/components/schemas/ProceedingEvent"},"type":"array","title":"Timeline"},"documents":{"items":{"$ref":"#/components/schemas/ProceedingDocumentRef"},"type":"array","title":"Documents"},"projector_version":{"type":"integer","title":"Projector Version"},"document_url_safety":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Document Url Safety"}},"type":"object","required":["proceeding","freshness","timeline","documents","projector_version","document_url_safety"],"title":"InternalProceedingDetail","description":"Operator view (§5): the public detail plus provenance internals —\nserved only to `evidence:internal-read` callers."},"InvestigationCorrelationPublic":{"properties":{"investigation_id":{"type":"string","format":"uuid","title":"Investigation Id"},"recorded":{"type":"boolean","title":"Recorded"},"correlation_version":{"type":"integer","title":"Correlation Version","default":1},"canonical_findings":{"items":{"$ref":"#/components/schemas/CanonicalFindingPublic"},"type":"array","title":"Canonical Findings"}},"type":"object","required":["investigation_id","recorded","canonical_findings"],"title":"InvestigationCorrelationPublic","description":"Correlation state of one investigation. `recorded=False` means the\ninvestigation's findings were persisted before canonical correlation\nexisted (or correlation has not run yet) — absence of correlation data\nis reported as absence, never backfilled from today's algorithm."},"InvestigationCoveragePublic":{"properties":{"investigation_id":{"type":"string","format":"uuid","title":"Investigation Id"},"status":{"anyOf":[{"type":"string","enum":["complete","partial","failed"]},{"type":"null"}],"title":"Status"},"complete":{"type":"boolean","title":"Complete","default":false},"recorded":{"type":"boolean","title":"Recorded","default":false},"installed_count":{"type":"integer","title":"Installed Count","default":0},"applicable_count":{"type":"integer","title":"Applicable Count","default":0},"selected_count":{"type":"integer","title":"Selected Count","default":0},"attempted_count":{"type":"integer","title":"Attempted Count","default":0},"matched_count":{"type":"integer","title":"Matched Count","default":0},"no_match_count":{"type":"integer","title":"No Match Count","default":0},"failed_count":{"type":"integer","title":"Failed Count","default":0},"skipped_count":{"type":"integer","title":"Skipped Count","default":0},"sources":{"items":{"$ref":"#/components/schemas/SourceCoveragePublic"},"type":"array","title":"Sources"}},"type":"object","required":["investigation_id"],"title":"InvestigationCoveragePublic","description":"Public coverage summary for one investigation.\n\n``status``/``complete`` are None/False until the investigation reaches a\nterminal state; ``recorded`` is False for investigations executed before\nthe coverage ledger existed — absence of coverage data is reported as\nabsence, never as success. Counts are derived from the persisted\nper-source ledger, so they cannot drift from the entries below."},"InvestigationDetailOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"status":{"type":"string","enum":["queued","collecting","analyzing","validating","synthesizing","completed","failed","cancelled"],"title":"Status"},"coverage_status":{"anyOf":[{"type":"string","enum":["complete","partial","failed"]},{"type":"null"}],"title":"Coverage Status"},"scope":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Scope"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"subject_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Kind"},"subject_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Display Name"},"subject_identifiers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Subject Identifiers"},"subject_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Entity Id"},"findings_count":{"type":"integer","title":"Findings Count","default":0},"max_finding_severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Max Finding Severity"},"evidence_count":{"type":"integer","title":"Evidence Count","default":0}},"type":"object","required":["id","project_id","status","coverage_status","created_at","started_at","completed_at"],"title":"InvestigationDetailOut","description":"Detail adds the subject as persisted — post-enrichment truth\n(EPIC-09): identifiers the pipeline resolved (e.g. IČO found for a\ncompany submitted by name) are included, because the subject row is\nwhat the investigation actually ran with, not the raw form input."},"InvestigationListItemOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"status":{"type":"string","enum":["queued","collecting","analyzing","validating","synthesizing","completed","failed","cancelled"],"title":"Status"},"coverage_status":{"anyOf":[{"type":"string","enum":["complete","partial","failed"]},{"type":"null"}],"title":"Coverage Status"},"scope":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Scope"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"subject_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Kind"},"subject_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Display Name"},"subject_identifiers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Subject Identifiers"},"findings_count":{"type":"integer","title":"Findings Count","default":0},"max_finding_severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Max Finding Severity"},"evidence_count":{"type":"integer","title":"Evidence Count","default":0}},"type":"object","required":["id","project_id","status","coverage_status","created_at","started_at","completed_at"],"title":"InvestigationListItemOut","description":"List row = base fields + subject projection + caller-visible\naggregates, so the list view needs no per-row follow-up requests.\nAggregate counts honor evidence visibility (ADR 0016): a non-privileged\ncaller's counts include only findings/evidence they may see."},"InvestigationListOut":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InvestigationListItemOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"InvestigationListOut"},"InvestigationOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"status":{"type":"string","enum":["queued","collecting","analyzing","validating","synthesizing","completed","failed","cancelled"],"title":"Status"},"coverage_status":{"anyOf":[{"type":"string","enum":["complete","partial","failed"]},{"type":"null"}],"title":"Coverage Status"},"scope":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Scope"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","project_id","status","coverage_status","created_at","started_at","completed_at"],"title":"InvestigationOut"},"InvestigationRequest":{"properties":{"schema_version":{"type":"string","title":"Schema Version","default":"progresus.osint.v1"},"project_id":{"type":"string","format":"uuid","title":"Project Id"},"subject":{"$ref":"#/components/schemas/SubjectQuery"},"scope":{"$ref":"#/components/schemas/InvestigationScope"},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key"}},"type":"object","required":["project_id","subject"],"title":"InvestigationRequest","description":"Public input: POST /v1/investigations body."},"InvestigationScope":{"properties":{"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"max_depth":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Max Depth","default":1}},"type":"object","title":"InvestigationScope","description":"What the investigation is allowed to do. Empty `sources` means \"all\napplicable sources\". Unknown source codes are rejected at the API\nboundary; known codes that are inapplicable, operator-disabled, or\nunconfigured are recorded as explicit typed skips in the investigation's\nsource coverage (ADR 0013), never silently dropped."},"LabEntityOut":{"properties":{"display_name":{"type":"string","title":"Display Name"},"kind":{"type":"string","enum":["company","person","domain","ip","email","real_estate"],"title":"Kind"},"canonical_key":{"type":"string","title":"Canonical Key"}},"type":"object","required":["display_name","kind","canonical_key"],"title":"LabEntityOut"},"LabEvidenceOut":{"properties":{"content_hash":{"type":"string","title":"Content Hash"},"confidence":{"type":"number","title":"Confidence"},"legal_basis":{"type":"string","title":"Legal Basis"},"visibility":{"type":"string","title":"Visibility"},"captured_at":{"type":"string","format":"date-time","title":"Captured At"},"match":{"anyOf":[{"$ref":"#/components/schemas/MatchDetail"},{"type":"null"}]},"normalized_payload":{"additionalProperties":true,"type":"object","title":"Normalized Payload"},"normalizer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalizer Id"},"normalizer_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Normalizer Version"}},"type":"object","required":["content_hash","confidence","legal_basis","visibility","captured_at"],"title":"LabEvidenceOut","description":"One evidence envelope, diagnostic view: identity, normalized payload\nand match metadata — never raw upstream bytes (payload is the typed\nnormalized dict the pipeline itself would persist)."},"LabExampleOut":{"properties":{"case_id":{"type":"string","title":"Case Id"},"category":{"type":"string","title":"Category"},"subject_kind":{"type":"string","enum":["company","person","domain","ip","email","real_estate"],"title":"Subject Kind"},"identifiers":{"additionalProperties":{"type":"string"},"type":"object","title":"Identifiers"},"label":{"type":"string","title":"Label"},"expected_semantic_class":{"type":"string","title":"Expected Semantic Class"}},"type":"object","required":["case_id","category","subject_kind","identifiers","label","expected_semantic_class"],"title":"LabExampleOut","description":"One certification-spec case offered as a prefill example. Prefill\nonly — the UI must never auto-run an example."},"LabRawCaptureOut":{"properties":{"media_type":{"type":"string","title":"Media Type"},"byte_length":{"type":"integer","title":"Byte Length"},"sha256":{"type":"string","title":"Sha256"},"http_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Http Method"},"http_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Http Status"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"}},"type":"object","required":["media_type","byte_length","sha256"],"title":"LabRawCaptureOut","description":"Raw-capture *metadata* — the body bytes deliberately have no field\nhere, so they cannot leak into the diagnostic JSON by construction."},"LabRelationshipOut":{"properties":{"type":{"type":"string","title":"Type"},"confidence":{"type":"number","title":"Confidence"}},"type":"object","required":["type","confidence"],"title":"LabRelationshipOut"},"LookupOutcome":{"type":"string","enum":["found","not_found","not_found_unverified"],"title":"LookupOutcome","description":"The outcome of a point lookup — never a bare empty list (§4)."},"MatchDetail":{"properties":{"query_name":{"type":"string","title":"Query Name"},"matched_alias":{"type":"string","title":"Matched Alias"},"canonical_name":{"type":"string","title":"Canonical Name"},"match_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Match Method"}},"type":"object","required":["query_name","matched_alias","canonical_name","match_method"],"title":"MatchDetail","description":"How a positive match was established (EPIC-09): the exact query,\nthe alias that satisfied it, the source's canonical name for the\nmatched record, and the closed-vocabulary rule that fired\n(domain/names.py MATCH_METHOD_*). Recorded by the provider at match\ntime; absent on evidence predating match metadata.\n\n``match_method`` is None when the UPSTREAM service performed the\nmatching — a method this code did not compute must not be attested\n(harvested from the superseded epic-09 parallel branch, 2dd9625c);\nidentifier-keyed lookups record ``identifier_exact``."},"MonthlyBudgetOut":{"properties":{"limit":{"type":"integer","title":"Limit"},"spent":{"type":"integer","title":"Spent"},"remaining":{"type":"integer","title":"Remaining"},"resets_at":{"type":"string","format":"date-time","title":"Resets At"}},"type":"object","required":["limit","spent","remaining","resets_at"],"title":"MonthlyBudgetOut","description":"Current-month spend-cap consumption for a per-lookup-billed source.\n\nSame disclosure class as `configured`: deployment-level operational\nstate, no subject data. `resets_at` is the start of the next\nEurope/Prague calendar month (ISO datetime with offset)."},"MultiSearchQuery":{"properties":{"kind":{"type":"string","enum":["subject","evidence","finding","report"],"title":"Kind"},"query":{"type":"string","title":"Query"}},"type":"object","required":["kind","query"],"title":"MultiSearchQuery"},"MultiSearchRequest":{"properties":{"queries":{"items":{"$ref":"#/components/schemas/MultiSearchQuery"},"type":"array","title":"Queries"}},"type":"object","required":["queries"],"title":"MultiSearchRequest"},"NegativeObservation":{"properties":{"query_canonical_key":{"type":"string","title":"Query Canonical Key"},"match_basis":{"type":"string","title":"Match Basis"},"operation":{"type":"string","title":"Operation"},"requested_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Mode"},"fetched_at":{"type":"string","format":"date-time","title":"Fetched At"},"source_synchronized_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Source Synchronized At"},"result_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Result Count"},"source_status_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Status Code"},"source_contract_version":{"type":"string","title":"Source Contract Version"},"parser_version":{"type":"integer","title":"Parser Version"}},"type":"object","required":["query_canonical_key","match_basis","operation","fetched_at","source_contract_version","parser_version"],"title":"NegativeObservation","description":"Provenance of an authoritative negative lookup (ISIR AAA Epic 006).\n\nA `no_match` is a real observation and deserves the same auditability\nas a hit: exactly what was asked, in which mode, what the source\nanswered, how fresh its data was, and which contract/parser produced\nthe interpretation. Persisted alongside the coverage row so a negative\nconclusion can always be traced to the query that grounded it —\nscoped, never a universal absence claim."},"NeighborOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"canonical_key":{"type":"string","title":"Canonical Key"}},"type":"object","required":["id","name","kind","canonical_key"],"title":"NeighborOut"},"NodeHistoryOut":{"properties":{"node_id":{"type":"string","format":"uuid","title":"Node Id"},"observations":{"items":{"$ref":"#/components/schemas/NodeHistoryRowOut"},"type":"array","title":"Observations"}},"type":"object","required":["node_id","observations"],"title":"NodeHistoryOut"},"NodeHistoryRowOut":{"properties":{"source_code":{"type":"string","title":"Source Code"},"outcome":{"type":"string","title":"Outcome"},"attempted":{"type":"boolean","title":"Attempted"},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latency Ms"},"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"},"origin_investigation_id":{"type":"string","format":"uuid","title":"Origin Investigation Id"},"enrichment_run_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Enrichment Run Id"},"is_from_snapshot":{"type":"boolean","title":"Is From Snapshot"}},"type":"object","required":["source_code","outcome","attempted","latency_ms","recorded_at","origin_investigation_id","enrichment_run_id","is_from_snapshot"],"title":"NodeHistoryRowOut"},"OperationsIndexOut":{"properties":{"categories":{"items":{"$ref":"#/components/schemas/OperationsReportOut"},"type":"array","title":"Categories"}},"type":"object","required":["categories"],"title":"OperationsIndexOut"},"OperationsReportOut":{"properties":{"category":{"type":"string","title":"Category"},"available":{"type":"boolean","title":"Available"},"run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Id"},"refresh_command":{"type":"string","title":"Refresh Command"},"report":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Report"}},"type":"object","required":["category","available","refresh_command"],"title":"OperationsReportOut"},"OsintProblemCreate":{"properties":{"owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner"},"source_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source File"},"source_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Location"},"raw_input":{"type":"string","title":"Raw Input"},"entity_type":{"type":"string","enum":["company","person","address","ico","psc","email","domain","profile","phone","document_reference"],"title":"Entity Type"},"operation_type":{"type":"string","enum":["parse","normalize","validate_format","verify_external","resolve_entity","reconcile_sources","human_review"],"title":"Operation Type"},"complexity_class":{"type":"string","enum":["C1","C2","C3","C4","C5"],"title":"Complexity Class"},"normalized_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalized Value"},"verification_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Source"},"verification_status":{"type":"string","enum":["parsed_only","normalized_candidate","verified","partially_verified","contradictory_evidence","not_verified","insufficient_evidence"],"title":"Verification Status"},"evidence_pointer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Pointer"},"failure_modes":{"items":{"type":"string"},"type":"array","title":"Failure Modes"},"human_review_required":{"type":"boolean","title":"Human Review Required","default":false},"time_spent_minutes":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Time Spent Minutes"},"decision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["raw_input","entity_type","operation_type","complexity_class","verification_status"],"title":"OsintProblemCreate","description":"Public input: POST /v1/osint-problems body. Server assigns id/timestamps."},"OsintProblemDashboard":{"properties":{"pending_human_review_count":{"type":"integer","title":"Pending Human Review Count"},"contradictory_evidence_count":{"type":"integer","title":"Contradictory Evidence Count"},"by_complexity_class":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Complexity Class"},"time_spent_minutes_by_complexity_class":{"additionalProperties":{"type":"integer"},"type":"object","title":"Time Spent Minutes By Complexity Class"},"pending_human_review":{"items":{"$ref":"#/components/schemas/OsintProblemRecord"},"type":"array","title":"Pending Human Review"},"contradictory_evidence":{"items":{"$ref":"#/components/schemas/OsintProblemRecord"},"type":"array","title":"Contradictory Evidence"}},"type":"object","required":["pending_human_review_count","contradictory_evidence_count","by_complexity_class","time_spent_minutes_by_complexity_class","pending_human_review","contradictory_evidence"],"title":"OsintProblemDashboard"},"OsintProblemRecord":{"properties":{"owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner"},"source_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source File"},"source_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Location"},"raw_input":{"type":"string","title":"Raw Input"},"entity_type":{"type":"string","enum":["company","person","address","ico","psc","email","domain","profile","phone","document_reference"],"title":"Entity Type"},"operation_type":{"type":"string","enum":["parse","normalize","validate_format","verify_external","resolve_entity","reconcile_sources","human_review"],"title":"Operation Type"},"complexity_class":{"type":"string","enum":["C1","C2","C3","C4","C5"],"title":"Complexity Class"},"normalized_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalized Value"},"verification_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Source"},"verification_status":{"type":"string","enum":["parsed_only","normalized_candidate","verified","partially_verified","contradictory_evidence","not_verified","insufficient_evidence"],"title":"Verification Status"},"evidence_pointer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Pointer"},"failure_modes":{"items":{"type":"string"},"type":"array","title":"Failure Modes"},"human_review_required":{"type":"boolean","title":"Human Review Required","default":false},"time_spent_minutes":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Time Spent Minutes"},"decision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["raw_input","entity_type","operation_type","complexity_class","verification_status","id","created_at","updated_at"],"title":"OsintProblemRecord","description":"Public: what crosses the API boundary for a persisted OSINT problem."},"OsintProblemUpdate":{"properties":{"verification_status":{"anyOf":[{"type":"string","enum":["parsed_only","normalized_candidate","verified","partially_verified","contradictory_evidence","not_verified","insufficient_evidence"]},{"type":"null"}],"title":"Verification Status"},"decision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision"},"time_spent_minutes":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":0.0},{"type":"null"}],"title":"Time Spent Minutes"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"human_review_required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Human Review Required"}},"type":"object","title":"OsintProblemUpdate","description":"PATCH body — only the fields a reviewer actually updates over the\nlifetime of a problem record."},"PathOut":{"properties":{"nodes":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Nodes"}},"type":"object","required":["nodes"],"title":"PathOut"},"ProceedingDocumentRef":{"properties":{"source_action_id":{"type":"integer","title":"Source Action Id"},"id_dokument":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Dokument"},"typ_udalosti":{"type":"string","title":"Typ Udalosti"},"is_invalidated":{"type":"boolean","title":"Is Invalidated"}},"type":"object","required":["source_action_id","id_dokument","typ_udalosti","is_invalidated"],"title":"ProceedingDocumentRef","description":"Public-safe document metadata reference (§3) — the source URL and the\ndocument identity, never the document body."},"ProceedingEvent":{"properties":{"oddil":{"type":"string","title":"Oddil"},"cislo_v_oddilu":{"type":"integer","title":"Cislo V Oddilu"},"typ_udalosti":{"type":"string","title":"Typ Udalosti"},"is_cancelled":{"type":"boolean","title":"Is Cancelled"},"cancelled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Cancelled At"}},"type":"object","required":["oddil","cislo_v_oddilu","typ_udalosti","is_cancelled"],"title":"ProceedingEvent","description":"One event in a proceeding's timeline (§3)."},"ProvenanceRef":{"properties":{"first_action_id":{"type":"integer","title":"First Action Id"},"last_action_id":{"type":"integer","title":"Last Action Id"},"action_count":{"type":"integer","title":"Action Count"}},"type":"object","required":["first_action_id","last_action_id","action_count"],"title":"ProvenanceRef","description":"A reference back to the authoritative source (§2, §3)."},"ProviderLabInfo":{"properties":{"provider_code":{"type":"string","title":"Provider Code"},"kind":{"type":"string","title":"Kind"},"category":{"type":"string","title":"Category"},"legal_basis":{"type":"string","title":"Legal Basis"},"input_kinds":{"items":{"type":"string","enum":["company","person","domain","ip","email","real_estate"]},"type":"array","title":"Input Kinds"},"requires_auth":{"type":"boolean","title":"Requires Auth"},"configured":{"type":"boolean","title":"Configured"},"missing_env_vars":{"items":{"type":"string"},"type":"array","title":"Missing Env Vars"},"billable":{"type":"boolean","title":"Billable"},"billable_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billable Note"},"examples":{"items":{"$ref":"#/components/schemas/LabExampleOut"},"type":"array","title":"Examples"}},"type":"object","required":["provider_code","kind","category","legal_basis","input_kinds","requires_auth","configured","missing_env_vars","billable","examples"],"title":"ProviderLabInfo","description":"Everything the single reusable Lab page needs to render one\nprovider: registry metadata, configured state, billing guard, and the\nversion-controlled example subjects from the certification spec."},"ProviderTestReport":{"properties":{"provider_code":{"type":"string","title":"Provider Code"},"outcome":{"type":"string","enum":["matched","no_match","not_applicable","invalid_input","blocked_unconfigured","billable_not_acknowledged","failed_auth","failed_network","failed_http","failed_parse","failed_source","rate_limited","rate_limited_local","timeout","failed_internal"],"title":"Outcome"},"executed_at":{"type":"string","format":"date-time","title":"Executed At"},"duration_ms":{"type":"integer","title":"Duration Ms"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"retryable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Retryable"},"evidence":{"items":{"$ref":"#/components/schemas/LabEvidenceOut"},"type":"array","title":"Evidence"},"entities":{"items":{"$ref":"#/components/schemas/LabEntityOut"},"type":"array","title":"Entities"},"relationships":{"items":{"$ref":"#/components/schemas/LabRelationshipOut"},"type":"array","title":"Relationships"},"finding_count":{"type":"integer","title":"Finding Count","default":0},"raw_captures":{"items":{"$ref":"#/components/schemas/LabRawCaptureOut"},"type":"array","title":"Raw Captures"},"completeness":{"anyOf":[{"type":"string","enum":["complete","truncated","unknown"]},{"type":"null"}],"title":"Completeness"},"source_synchronized_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Source Synchronized At"},"negative_observation":{"anyOf":[{"$ref":"#/components/schemas/NegativeObservation"},{"type":"null"}]}},"type":"object","required":["provider_code","outcome","executed_at","duration_ms"],"title":"ProviderTestReport","description":"The complete diagnostic answer for one Lab execution."},"ProviderTestRequest":{"properties":{"subject":{"$ref":"#/components/schemas/ProviderTestSubject"},"acknowledge_billable":{"type":"boolean","title":"Acknowledge Billable","default":false}},"type":"object","required":["subject"],"title":"ProviderTestRequest","description":"Deliberately minimal: a subject and the billable acknowledgement.\nNo tenant, project, or investigation field exists — a Lab run belongs\nto no case."},"ProviderTestSubject":{"properties":{"kind":{"type":"string","enum":["company","person","domain","ip","email","real_estate"],"title":"Kind"},"identifiers":{"additionalProperties":{"type":"string"},"type":"object","title":"Identifiers"}},"type":"object","required":["kind"],"title":"ProviderTestSubject"},"PublicProceeding":{"properties":{"spisova_znacka":{"type":"string","title":"Spisova Znacka"},"spisova_znacka_display":{"type":"string","title":"Spisova Znacka Display"},"latest_typ_udalosti":{"type":"string","title":"Latest Typ Udalosti"},"latest_popis_udalosti":{"type":"string","title":"Latest Popis Udalosti"},"latest_event_at":{"type":"string","format":"date-time","title":"Latest Event At"},"provenance":{"$ref":"#/components/schemas/ProvenanceRef"}},"type":"object","required":["spisova_znacka","spisova_znacka_display","latest_typ_udalosti","latest_popis_udalosti","latest_event_at","provenance"],"title":"PublicProceeding","description":"Public-safe summary of one insolvency proceeding."},"PublicProceedingDetail":{"properties":{"proceeding":{"$ref":"#/components/schemas/PublicProceeding"},"freshness":{"$ref":"#/components/schemas/DataFreshness"},"timeline":{"items":{"$ref":"#/components/schemas/ProceedingEvent"},"type":"array","title":"Timeline"},"documents":{"items":{"$ref":"#/components/schemas/ProceedingDocumentRef"},"type":"array","title":"Documents"}},"type":"object","required":["proceeding","freshness","timeline","documents"],"title":"PublicProceedingDetail","description":"Proceeding detail (§3): current projection + timeline + document\nmetadata + provenance — public-safe fields only."},"RawCaptureRefOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"source_code":{"type":"string","title":"Source Code"},"captured_at":{"type":"string","format":"date-time","title":"Captured At"},"media_type":{"type":"string","title":"Media Type"},"sha256":{"type":"string","title":"Sha256"},"byte_length":{"type":"integer","title":"Byte Length"}},"type":"object","required":["id","source_code","captured_at","media_type","sha256","byte_length"],"title":"RawCaptureRefOut","description":"Metadata reference to one immutable raw capture — enough for a\nclient to show provenance and drive the authorized download endpoint.\nNever carries payload bytes or the (pre-sanitized) source URL."},"ReportArtifactOut":{"properties":{"format":{"type":"string","title":"Format"},"media_type":{"type":"string","title":"Media Type"},"byte_length":{"type":"integer","title":"Byte Length"},"sha256":{"type":"string","title":"Sha256"},"renderer_id":{"type":"string","title":"Renderer Id"},"renderer_version":{"type":"integer","title":"Renderer Version"}},"type":"object","required":["format","media_type","byte_length","sha256","renderer_id","renderer_version"],"title":"ReportArtifactOut"},"ReportListOut":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReportOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"ReportListOut"},"ReportOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"investigation_id":{"type":"string","format":"uuid","title":"Investigation Id"},"format":{"type":"string","title":"Format"},"hash_manifest":{"additionalProperties":true,"type":"object","title":"Hash Manifest"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"report_schema_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Report Schema Version"},"content_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Sha256"},"manifest_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manifest Sha256"},"immutable":{"type":"boolean","title":"Immutable","default":false},"artifacts":{"items":{"$ref":"#/components/schemas/ReportArtifactOut"},"type":"array","title":"Artifacts","default":[]}},"type":"object","required":["id","investigation_id","format","hash_manifest","generated_at"],"title":"ReportOut"},"ReviewActor":{"properties":{"actor_type":{"type":"string","title":"Actor Type"},"actor_id":{"type":"string","title":"Actor Id"},"actor_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Display"}},"type":"object","required":["actor_type","actor_id"],"title":"ReviewActor"},"ReviewActorOut":{"properties":{"actor_type":{"type":"string","title":"Actor Type"},"actor_id":{"type":"string","title":"Actor Id"},"actor_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Display"}},"type":"object","required":["actor_type","actor_id"],"title":"ReviewActorOut"},"ReviewBasis":{"properties":{"basis_schema_version":{"type":"integer","title":"Basis Schema Version","default":1},"canonical_finding_id":{"type":"string","format":"uuid","title":"Canonical Finding Id"},"investigation_id":{"type":"string","format":"uuid","title":"Investigation Id"},"finding_fingerprint":{"type":"string","title":"Finding Fingerprint"},"fingerprint_version":{"type":"integer","title":"Fingerprint Version","default":1},"category":{"type":"string","title":"Category"},"semantic_key":{"type":"string","title":"Semantic Key"},"subject_normalized_key":{"type":"string","title":"Subject Normalized Key"},"subject_kind":{"type":"string","title":"Subject Kind"},"machine":{"$ref":"#/components/schemas/ReviewBasisMachine"},"findings":{"items":{"$ref":"#/components/schemas/ReviewBasisFinding"},"type":"array","title":"Findings"},"evidence":{"items":{"$ref":"#/components/schemas/ReviewBasisEvidence"},"type":"array","title":"Evidence"},"coverage":{"items":{"$ref":"#/components/schemas/ReviewBasisCoverage"},"type":"array","title":"Coverage"}},"type":"object","required":["canonical_finding_id","investigation_id","finding_fingerprint","category","semantic_key","subject_normalized_key","subject_kind","machine","findings","evidence","coverage"],"title":"ReviewBasis","description":"The exact state a reviewer accepts or rejects. Server-generated\nonly (INV-05) — clients submit intent, never the basis. Immutable once\npersisted with a decision (INV-04/27)."},"ReviewBasisCoverage":{"properties":{"source_code":{"type":"string","title":"Source Code"},"dependency_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dependency Group"},"selected":{"type":"boolean","title":"Selected"},"attempted":{"type":"boolean","title":"Attempted"},"outcome":{"type":"string","title":"Outcome"}},"type":"object","required":["source_code","dependency_group","selected","attempted","outcome"],"title":"ReviewBasisCoverage","description":"Normalized source-execution context (ADR 0017 §24): enough to\ndetect material DD-state differences (an OFAC `no_match` is not the\nsame review basis as OFAC `skipped_unconfigured`), without volatile\nlatency/timing fields."},"ReviewBasisEvidence":{"properties":{"evidence_id":{"type":"string","format":"uuid","title":"Evidence Id"},"source_code":{"type":"string","title":"Source Code"},"dependency_group":{"type":"string","title":"Dependency Group"},"lineage_verification":{"type":"string","title":"Lineage Verification"},"normalized_sha256":{"type":"string","title":"Normalized Sha256"},"raw_sha256s":{"items":{"type":"string"},"type":"array","title":"Raw Sha256S"},"raw_provenance_recorded":{"type":"boolean","title":"Raw Provenance Recorded"},"normalizer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalizer Id"},"normalizer_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Normalizer Version"},"visibility":{"type":"string","title":"Visibility"}},"type":"object","required":["evidence_id","source_code","dependency_group","lineage_verification","normalized_sha256","raw_sha256s","raw_provenance_recorded","normalizer_id","normalizer_version","visibility"],"title":"ReviewBasisEvidence","description":"One supporting evidence item as frozen into the basis (ADR 0017\n§23). Deterministically sorted by `evidence_id` in the basis; the\ncompatibility digest uses only the material subset (no UUID)."},"ReviewBasisFinding":{"properties":{"finding_id":{"type":"string","format":"uuid","title":"Finding Id"},"severity":{"type":"string","title":"Severity"},"confidence":{"type":"number","title":"Confidence"},"machine_status":{"type":"string","title":"Machine Status"},"integrity_passed":{"type":"boolean","title":"Integrity Passed"},"integrity_checks":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Integrity Checks"}},"type":"object","required":["finding_id","severity","confidence","machine_status","integrity_passed","integrity_checks"],"title":"ReviewBasisFinding","description":"One provider-local member finding's machine evaluation."},"ReviewBasisMachine":{"properties":{"corroboration":{"type":"string","title":"Corroboration"},"evidence_count":{"type":"integer","title":"Evidence Count"},"provider_count":{"type":"integer","title":"Provider Count"},"dependency_group_count":{"type":"integer","title":"Dependency Group Count"},"independent_source_count":{"type":"integer","title":"Independent Source Count"},"has_unknown_lineage":{"type":"boolean","title":"Has Unknown Lineage"},"correlation_version":{"type":"integer","title":"Correlation Version"},"correlation_strategy":{"type":"string","title":"Correlation Strategy"}},"type":"object","required":["corroboration","evidence_count","provider_count","dependency_group_count","independent_source_count","has_unknown_lineage","correlation_version","correlation_strategy"],"title":"ReviewBasisMachine","description":"Canonical-finding-level machine evaluation (EPIC-02 accounting)."},"ReviewBasisPreviewOut":{"properties":{"canonical_finding_id":{"type":"string","format":"uuid","title":"Canonical Finding Id"},"revision":{"type":"integer","title":"Revision"},"basis_sha256":{"type":"string","title":"Basis Sha256"},"compatibility_sha256":{"type":"string","title":"Compatibility Sha256"},"summary":{"$ref":"#/components/schemas/ReviewSummary"},"basis":{"$ref":"#/components/schemas/ReviewBasis"}},"type":"object","required":["canonical_finding_id","revision","basis_sha256","compatibility_sha256","summary","basis"],"title":"ReviewBasisPreviewOut"},"ReviewCreateRequest":{"properties":{"action":{"type":"string","title":"Action"},"reason_code":{"type":"string","title":"Reason Code"},"note":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Note"},"expected_revision":{"type":"integer","minimum":0.0,"title":"Expected Revision"},"expected_compatibility_sha256":{"type":"string","title":"Expected Compatibility Sha256"},"acknowledged_incomplete_provenance":{"type":"boolean","title":"Acknowledged Incomplete Provenance","default":false},"client_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client Request Id"}},"type":"object","required":["action","reason_code","expected_revision","expected_compatibility_sha256"],"title":"ReviewCreateRequest"},"ReviewDecisionOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"revision":{"type":"integer","title":"Revision"},"action":{"type":"string","title":"Action"},"effective_state":{"type":"string","title":"Effective State"},"origin":{"type":"string","title":"Origin"},"reason_code":{"type":"string","title":"Reason Code"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"reviewed_at":{"type":"string","format":"date-time","title":"Reviewed At"},"actor":{"$ref":"#/components/schemas/ReviewActorOut"},"basis_sha256":{"type":"string","title":"Basis Sha256"},"compatibility_sha256":{"type":"string","title":"Compatibility Sha256"},"decision_sha256":{"type":"string","title":"Decision Sha256"},"supersedes_decision_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Supersedes Decision Id"},"inherited_from_decision_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Inherited From Decision Id"},"acknowledged_incomplete_provenance":{"type":"boolean","title":"Acknowledged Incomplete Provenance","default":false}},"type":"object","required":["id","revision","action","effective_state","origin","reason_code","reviewed_at","actor","basis_sha256","compatibility_sha256","decision_sha256"],"title":"ReviewDecisionOut"},"ReviewHistoryOut":{"properties":{"canonical_finding_id":{"type":"string","format":"uuid","title":"Canonical Finding Id"},"decisions":{"items":{"$ref":"#/components/schemas/ReviewDecisionOut"},"type":"array","title":"Decisions"},"summary":{"$ref":"#/components/schemas/ReviewSummary"}},"type":"object","required":["canonical_finding_id","decisions","summary"],"title":"ReviewHistoryOut"},"ReviewItemDetail":{"properties":{"id":{"type":"string","title":"Id"},"investigation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Investigation Id"},"trigger":{"type":"string","title":"Trigger"},"subject_kind":{"type":"string","title":"Subject Kind"},"subject_identifiers":{"additionalProperties":true,"type":"object","title":"Subject Identifiers"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"decided_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Decided At"},"observation":{"additionalProperties":true,"type":"object","title":"Observation"},"basis":{"$ref":"#/components/schemas/BasisOut"},"decisions":{"items":{"$ref":"#/components/schemas/DecisionOut"},"type":"array","title":"Decisions"}},"type":"object","required":["id","investigation_id","trigger","subject_kind","subject_identifiers","status","created_at","decided_at","observation","basis","decisions"],"title":"ReviewItemDetail"},"ReviewItemListOut":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReviewItemSummary"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"ReviewItemListOut"},"ReviewItemSummary":{"properties":{"id":{"type":"string","title":"Id"},"investigation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Investigation Id"},"trigger":{"type":"string","title":"Trigger"},"subject_kind":{"type":"string","title":"Subject Kind"},"subject_identifiers":{"additionalProperties":true,"type":"object","title":"Subject Identifiers"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"decided_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Decided At"}},"type":"object","required":["id","investigation_id","trigger","subject_kind","subject_identifiers","status","created_at","decided_at"],"title":"ReviewItemSummary"},"ReviewQueueItemOut":{"properties":{"canonical_finding_id":{"type":"string","format":"uuid","title":"Canonical Finding Id"},"investigation_id":{"type":"string","format":"uuid","title":"Investigation Id"},"category":{"type":"string","title":"Category"},"corroboration_semantic_key":{"type":"string","title":"Corroboration Semantic Key"},"subject_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Display Name"},"max_severity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Max Severity"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"review":{"$ref":"#/components/schemas/ReviewSummary"}},"type":"object","required":["canonical_finding_id","investigation_id","category","corroboration_semantic_key","created_at","review"],"title":"ReviewQueueItemOut"},"ReviewQueueOut":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReviewQueueItemOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"ReviewQueueOut"},"ReviewSummary":{"properties":{"state":{"type":"string","enum":["unreviewed","confirmed","dismissed","needs_more_evidence"],"title":"State","default":"unreviewed"},"revision":{"type":"integer","title":"Revision","default":0},"stale":{"type":"boolean","title":"Stale","default":false},"origin":{"anyOf":[{"type":"string","enum":["human","carried_forward"]},{"type":"null"}],"title":"Origin"},"decision_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Decision Id"},"action":{"anyOf":[{"type":"string","enum":["confirm","dismiss","request_more_evidence","reopen","carry_forward"]},{"type":"null"}],"title":"Action"},"reason_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason Code"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"actor":{"anyOf":[{"$ref":"#/components/schemas/ReviewActor"},{"type":"null"}]},"basis_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basis Sha256"},"compatibility_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Compatibility Sha256"},"current_compatibility_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Compatibility Sha256"},"inherited_from_decision_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Inherited From Decision Id"},"original_reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Original Reviewed At"},"stale_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stale Reason"}},"type":"object","title":"ReviewSummary","description":"The derived current review projection (ADR 0017 §39-42). The\nappend-only decision stream is the source of truth; this summary is\nalways recomputable from it."},"RiskFactor":{"properties":{"finding_id":{"type":"string","format":"uuid","title":"Finding Id"},"category":{"type":"string","title":"Category"},"severity":{"type":"string","title":"Severity"},"confidence":{"type":"number","title":"Confidence"},"contribution":{"type":"number","title":"Contribution"}},"type":"object","required":["finding_id","category","severity","confidence","contribution"],"title":"RiskFactor","description":"One finding's contribution to the total score, most-significant first."},"RiskScoreEventPublic":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"investigation_id":{"type":"string","format":"uuid","title":"Investigation Id"},"time":{"type":"string","format":"date-time","title":"Time"},"score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Score"},"band":{"type":"string","enum":["low","medium","high","critical"],"title":"Band"},"finding_count":{"type":"integer","title":"Finding Count"},"factors":{"items":{"$ref":"#/components/schemas/RiskFactor"},"type":"array","title":"Factors"}},"type":"object","required":["id","investigation_id","time","score","band","finding_count","factors"],"title":"RiskScoreEventPublic","description":"API-facing shape of a persisted `risk_score_events` row."},"SearchResponse":{"properties":{"results":{"additionalProperties":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"type":"object","title":"Results"}},"type":"object","required":["results"],"title":"SearchResponse"},"SelectedProviders":{"properties":{"mode":{"type":"string","const":"selected","title":"Mode"},"provider_codes":{"items":{"type":"string"},"type":"array","maxItems":16,"minItems":1,"title":"Provider Codes"}},"type":"object","required":["mode","provider_codes"],"title":"SelectedProviders","description":"Only the explicitly requested provider codes (each still validated\nagainst registry, applicability, configuration, and identity)."},"SourceCoveragePublic":{"properties":{"source_code":{"type":"string","title":"Source Code"},"applicable":{"type":"boolean","title":"Applicable"},"selected":{"type":"boolean","title":"Selected"},"enabled":{"type":"boolean","title":"Enabled"},"configured":{"type":"boolean","title":"Configured"},"attempted":{"type":"boolean","title":"Attempted"},"outcome":{"type":"string","enum":["matched","no_match","skipped_disabled","skipped_unconfigured","skipped_not_applicable","skipped_not_selected","skipped_cancelled","skipped_invalid_input","failed_auth","failed_network","failed_http","failed_parse","failed_source","rate_limited","rate_limited_local","failed_internal"],"title":"Outcome"},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latency Ms"},"http_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Http Status"},"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"}},"type":"object","required":["source_code","applicable","selected","enabled","configured","attempted","outcome","recorded_at"],"title":"SourceCoveragePublic","description":"Public per-source coverage entry for one investigation. All flags are\nsnapshots taken at execution time — they describe what that run's\nenvironment did, not the deployment's current state."},"SourceOut":{"properties":{"code":{"type":"string","title":"Code"},"kind":{"type":"string","title":"Kind"},"category":{"type":"string","title":"Category"},"legal_basis":{"type":"string","title":"Legal Basis"},"input_kinds":{"items":{"type":"string"},"type":"array","title":"Input Kinds"},"enabled":{"type":"boolean","title":"Enabled"},"configured":{"type":"boolean","title":"Configured"},"requires_auth":{"type":"boolean","title":"Requires Auth"},"source_family":{"type":"string","title":"Source Family"},"operator":{"type":"string","title":"Operator"},"dataset":{"type":"string","title":"Dataset"},"jurisdiction":{"type":"string","title":"Jurisdiction"},"dependency_group":{"type":"string","title":"Dependency Group"},"lineage_verification":{"type":"string","enum":["verified","partially_verified","unknown"],"title":"Lineage Verification"},"monthly_budget":{"anyOf":[{"$ref":"#/components/schemas/MonthlyBudgetOut"},{"type":"null"}]}},"type":"object","required":["code","kind","category","legal_basis","input_kinds","enabled","configured","requires_auth","source_family","operator","dataset","jurisdiction","dependency_group","lineage_verification"],"title":"SourceOut"},"SubgraphOut":{"properties":{"nodes":{"items":{"$ref":"#/components/schemas/NeighborOut"},"type":"array","title":"Nodes"},"edges":{"items":{"$ref":"#/components/schemas/GraphEdgeOut"},"type":"array","title":"Edges"}},"type":"object","required":["nodes","edges"],"title":"SubgraphOut","description":"Nodes and the edges among them — enough for the client to actually\ndraw the subgraph, not just list reachable entities."},"SubjectQuery":{"properties":{"kind":{"type":"string","enum":["company","person","domain","ip","email","real_estate"],"title":"Kind"},"identifiers":{"additionalProperties":{"type":"string"},"type":"object","title":"Identifiers"}},"type":"object","required":["kind"],"title":"SubjectQuery","description":"Public input: what the caller asks to investigate."}},"securitySchemes":{"HTTPBearer":{"type":"http","description":"Tenant API key: `Authorization: Bearer <api-key>`.","scheme":"bearer"}}}}