{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
Files
Get File Analysis
Retrieve comprehensive analysis results and risk assessment for a specific file.
GET
/
files
/
{fileId}
/
analysis
Get file analysis details
curl --request GET \ --url https://api.uk.veridox.ai/files/{fileId}/analysis \ --header 'x-api-key: <api-key>'
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
{
"error_code": "request.cases.file.missing-risk-score",
"error_message": "User tried to perform an invalid operation on a file without a risk score.",
"error_details": {
"field": "email_address"
}
}
Retrieve comprehensive analysis results for a specific file, including signed download URLs for the original file, thumbnail, PDF analysis report, and detailed logs.
You can get the analysis of a file you uploaded, or of any file in your organisation if you have organisation_files:read; otherwise the API returns 404. See Permissions and API Keys.
The highlights field contains a plain list of key findings summarising the most significant indicators from the analysis. It is omitted from the response when the analysis did not produce any highlights.
previously_seen is true when the file is identical to one already uploaded in your organisation and Veridox reused that earlier analysis instead of analysing the file again. previously_seen_at is when the earlier file was uploaded, and is null when previously_seen is false.Files reused before these fields were introduced are dated from the earlier upload where it can still be found, and report previously_seen: false where it cannot.
Each entry in analysis_results.modules reports its findings together with the evidence supporting them:
findings — structured findings, each with an alert_type, a severity (Informational, Low, Medium, or High), a description, a severity_justification, an evidence list, and evidence_refs. Some findings also carry confidence, confidence_reason and uncertainty_cause (see Finding confidence).
search_evidence (object or null) — the search and grounding queries run for the module, with their results and any failures.
verification_evidence (object or null) — checks run against an authoritative registry or API for the module.
A finding’s evidence_refs are IDs that resolve back into that module’s own evidence: q1.1 matches a result_id in search_evidence.results, and v1 matches a check_id in verification_evidence.checks. full_analysis.search_evidence_summary and full_analysis.verification_evidence_summary roll the same evidence up across modules, keyed by module_id.
Verification checks run only when your organisation’s verification setting is on for that analysis. An analysis run with the setting off has no checks: each module’s verification_evidence is null or has an empty checks list, full_analysis.verification_evidence_summary is null, and no finding carries a v reference. Search evidence is unaffected. A result keeps the evidence it was produced with after the setting changes, so read each result’s evidence fields rather than inferring them from the current setting.Findings under results carry no evidence_refs of their own. See Tracing a finding back to its evidence for how to get from one to its sources, and for the cases where that lookup does not resolve.
On an analysis from the current engine these keys are always present, though search_evidence_summary, verification_evidence_summary and a query’s answer may each be null. analysis_results.modules can be an empty array when no module produced results, and is absent on the oldest analyses, so check that it is a non-empty array before reading it. An analysis produced by an earlier version of the engine has both summaries set to null and an empty modules_run.
Only some modules report finding confidence. When a module reports it, a finding can carry any of:
confidence — a number from 0 to 1: the module’s own estimate that the finding is correct as stated.
confidence_reason — a short explanation of that estimate, which may quote details from the document.
uncertainty_cause — epistemic (the evidence may have been misread or misjudged), aleatoric (the document itself is ambiguous) or coverage (something needed was missing or unreadable).
Summary findings in analysis_results.full_analysis.findings carry the same three fields, copied from the module finding they were derived from.Treat each of these fields as optional on every finding, independently of the others: a finding can carry a confidence_reason or uncertainty_cause without a confidence. Confidence is self-reported and not calibrated: it is not a probability of fraud, and it has no effect on a finding’s severity or on the overall risk score.
A summary finding in analysis_results.full_analysis.findings can carry source_findings: an array of { module_id, finding_index } that names the module finding it was derived from. Each summary finding currently has exactly one entry. An empty array means no source was recorded for that finding.To resolve an entry, find the item in analysis_results.modules whose module_id matches, then read its findings[finding_index].finding_index starts at 0 and counts every finding in that module, including findings with found: false. Do not filter a module’s findings before indexing.The index is a position within the response that contains it. Always resolve it against the modules returned in the same response. Do not store it or hard-code it, because the order of modules and findings can differ between analyses.
In this example the summary finding resolves to analysis_results.modules[0].findings[1], the second finding, because the first has found: false and still counts.source_findings carries no location data. It is returned whether or not the finding locations setting is on.The key is absent on analyses made before the field was introduced. For those, match on source_analysis and alert_type (and custom_alert_type when alert_type is "OTHER"), as described in Tracing a finding back to its evidence. That match is not guaranteed to be unique.
An evidence item in findings[].evidence can carry locations: a list of { block_id, page, box }. page starts at 1. box gives the area of that page as numbers from 0 to 1, as fractions of the page. Do not rely on the names of the keys inside box.analysis_results.key_terms lists the people (persons), organisations, locations, dates and reference_numbers found in the document. Each term has its text in value (date_value for a date) and, where found, its locations.Both appear only when your organisation’s finding locations setting is on and page locations are available to your organisation. The setting applies to every analysis when it is read, including older ones.Not every analysis or item has locations. An item without a location has no locations key, never an empty list, and key_terms is absent unless at least one term has a location. Treat both as optional.
URL Expiration: Download URLs for assets (original file, PDF report, logs) are time-limited for security. Ensure you download or display them promptly after retrieval.
Wait for Completion: This endpoint provides the most value after a file’s analysis_status has reached settled.
Security: Never expose the signed download URLs in client-side code or public environments.
Analysis quality caveats — additive uncertainty annotations (failed modules, could-not-verify checks, searches limited to the public web, low OCR confidence). Present when caveats exist; omitted when the analysis has none.
Name of the team that uploaded this file, omitted if unassigned
Example:
"Fraud Team"
Was this page helpful?
⌘I
{"docsConfig":{"theme":"willow","$schema":"https://mintlify.com/docs.json","name":"Veridox","colors":{"primary":"#3B82F6","light":"#60A5FA","dark":"#2563EB"},"logo":{"light":"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/logo/light.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=22962184728c15e374cfcc4d27f82dd9","dark":"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/logo/dark.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=290f45e82b140e387526bd94c2ce4772"},"favicon":"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/favicon.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=cd14f527153781ef4947543ac149cdf4","navbar":{"links":[{"href":"mailto:support@veridox.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://veridox.ai"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/veridox-ai"}},"fonts":{"family":"Inter"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"veridox","hasAudioNarration":false,"actualSubdomain":"veridox","customDomains":["docs.veridox.ai"],"gitSource":{"type":"github","owner":"veridox-ai","repo":"neo-api-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecb73f64441d6863c96f62","collectionId":"9a2b92f6-e122-40c6-8c90-cdcf2fb4720e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecb73f64441d6863c96f62"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6aecb73f64441d6863c96f62","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":31},{"language":"default","tag":"Guides","count":14},{"language":"default","tag":"Files","count":8},{"language":"default","tag":"Cases","count":7},{"language":"default","tag":"Organisation","count":7},{"language":"default","tag":"Document Requests","count":5},{"language":"default","tag":"Core Features","count":5},{"language":"default","tag":"Resources","count":5},{"language":"default","tag":"Getting Started","count":4},{"language":"default","tag":"Authentication","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":".changelog-impact{color:var(--gray-11, #6b7280);font-size:0.925em}"}],"page":{"pagePath":"api-reference/endpoints/files-analysis-get","slug":"/api-reference/endpoints/files-analysis-get","pageMetadata":{"title":"Get File Analysis","description":"Retrieve comprehensive analysis results and risk assessment for a specific file.","openapi":"GET /files/{fileId}/analysis","href":"/api-reference/endpoints/files-analysis-get"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Retrieve comprehensive analysis results and risk assessment for a specific file.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Retrieve comprehensive analysis results for a specific file, including signed download URLs for the original file, thumbnail, PDF analysis report, and detailed logs.`}),`\n`,_jsx(Heading,{level:`2`,id:`permission`,children:`Permission`}),`\n`,_jsxs(_components.p,{children:[`You can get the analysis of a file you uploaded, or of any file in your organisation if you have `,_jsx(_components.code,{children:`organisation_files:read`}),`; otherwise the API returns `,_jsx(_components.code,{children:`404`}),`. See `,_jsx(_components.a,{href:`/guides/permissions`,children:`Permissions and API Keys`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`analysis-engines`,children:`Analysis Engines`}),`\n`,_jsx(_components.p,{children:`The Veridox platform runs multiple analysis engines to provide a complete forensic view:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Context Analysis`}),`: Extracts metadata and classifies the document type.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Image Metadata`}),`: Analyses EXIF/JFIF data for indicators of tampering or source verification.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Tampering Detection`}),`: Uses advanced computer vision to identify pixel-level anomalies and digital edits.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`AI Summary`}),`: Provides a high-level, human-readable summary of the combined findings.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`highlights`,children:`Highlights`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`highlights`}),` field contains a plain list of key findings summarising the most significant indicators from the analysis. It is omitted from the response when the analysis did not produce any highlights.`]}),`\n`,_jsx(Heading,{level:`2`,id:`previously-seen`,children:`Previously Seen`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`previously_seen`}),` is `,_jsx(_components.code,{children:`true`}),` when the file is identical to one already uploaded in your organisation and Veridox reused that earlier analysis instead of analysing the file again. `,_jsx(_components.code,{children:`previously_seen_at`}),` is when the earlier file was uploaded, and is `,_jsx(_components.code,{children:`null`}),` when `,_jsx(_components.code,{children:`previously_seen`}),` is `,_jsx(_components.code,{children:`false`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Files reused before these fields were introduced are dated from the earlier upload where it can still be found, and report `,_jsx(_components.code,{children:`previously_seen: false`}),` where it cannot.`]}),`\n`,_jsx(Heading,{level:`2`,id:`module-evidence`,children:`Module Evidence`}),`\n`,_jsxs(_components.p,{children:[`Each entry in `,_jsx(_components.code,{children:`analysis_results.modules`}),` reports its findings together with the evidence supporting them:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`findings`})}),` — structured findings, each with an `,_jsx(_components.code,{children:`alert_type`}),`, a `,_jsx(_components.code,{children:`severity`}),` (`,_jsx(_components.code,{children:`Informational`}),`, `,_jsx(_components.code,{children:`Low`}),`, `,_jsx(_components.code,{children:`Medium`}),`, or `,_jsx(_components.code,{children:`High`}),`), a `,_jsx(_components.code,{children:`description`}),`, a `,_jsx(_components.code,{children:`severity_justification`}),`, an `,_jsx(_components.code,{children:`evidence`}),` list, and `,_jsx(_components.code,{children:`evidence_refs`}),`. Some findings also carry `,_jsx(_components.code,{children:`confidence`}),`, `,_jsx(_components.code,{children:`confidence_reason`}),` and `,_jsx(_components.code,{children:`uncertainty_cause`}),` (see `,_jsx(_components.a,{href:`#finding-confidence`,children:`Finding confidence`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`search_evidence`})}),` (object or `,_jsx(_components.code,{children:`null`}),`) — the search and grounding queries run for the module, with their `,_jsx(_components.code,{children:`results`}),` and any `,_jsx(_components.code,{children:`failures`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`verification_evidence`})}),` (object or `,_jsx(_components.code,{children:`null`}),`) — checks run against an authoritative registry or API for the module.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`A finding’s `,_jsx(_components.code,{children:`evidence_refs`}),` are IDs that resolve back into that module’s own evidence: `,_jsx(_components.code,{children:`q1.1`}),` matches a `,_jsx(_components.code,{children:`result_id`}),` in `,_jsx(_components.code,{children:`search_evidence.results`}),`, and `,_jsx(_components.code,{children:`v1`}),` matches a `,_jsx(_components.code,{children:`check_id`}),` in `,_jsx(_components.code,{children:`verification_evidence.checks`}),`. `,_jsx(_components.code,{children:`full_analysis.search_evidence_summary`}),` and `,_jsx(_components.code,{children:`full_analysis.verification_evidence_summary`}),` roll the same evidence up across modules, keyed by `,_jsx(_components.code,{children:`module_id`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`verification-evidence`,children:`Verification Evidence`}),`\n`,_jsxs(_components.p,{children:[`Verification checks run only when your organisation’s `,_jsx(_components.a,{href:`/api-reference/endpoints/org-verification-get`,children:`verification setting`}),` is on for that analysis. An analysis run with the setting off has no checks: each module’s `,_jsx(_components.code,{children:`verification_evidence`}),` is `,_jsx(_components.code,{children:`null`}),` or has an empty `,_jsx(_components.code,{children:`checks`}),` list, `,_jsx(_components.code,{children:`full_analysis.verification_evidence_summary`}),` is `,_jsx(_components.code,{children:`null`}),`, and no finding carries a `,_jsx(_components.code,{children:`v`}),` reference. Search evidence is unaffected. A result keeps the evidence it was produced with after the setting changes, so read each result’s evidence fields rather than inferring them from the current setting.`]}),`\n`,_jsxs(_components.p,{children:[`Findings under `,_jsx(_components.code,{children:`results`}),` carry no `,_jsx(_components.code,{children:`evidence_refs`}),` of their own. See `,_jsx(_components.a,{href:`/guides/webhook-payload-reference#tracing-a-finding-back-to-its-evidence`,children:`Tracing a finding back to its evidence`}),` for how to get from one to its sources, and for the cases where that lookup does not resolve.`]}),`\n`,_jsxs(Info,{children:[`On an analysis from the current engine these keys are always present, though `,_jsx(_components.code,{children:`search_evidence_summary`}),`, `,_jsx(_components.code,{children:`verification_evidence_summary`}),` and a query’s `,_jsx(_components.code,{children:`answer`}),` may each be `,_jsx(_components.code,{children:`null`}),`. `,_jsx(_components.code,{children:`analysis_results.modules`}),` can be an empty array when no module produced results, and is absent on the oldest analyses, so check that it is a non-empty array before reading it. An analysis produced by an earlier version of the engine has both summaries set to `,_jsx(_components.code,{children:`null`}),` and an empty `,_jsx(_components.code,{children:`modules_run`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`finding-confidence`,children:`Finding confidence`}),`\n`,_jsx(_components.p,{children:`Only some modules report finding confidence. When a module reports it, a finding can carry any of:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`confidence`})}),` — a number from 0 to 1: the module’s own estimate that the finding is correct as stated.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`confidence_reason`})}),` — a short explanation of that estimate, which may quote details from the document.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`uncertainty_cause`})}),` — `,_jsx(_components.code,{children:`epistemic`}),` (the evidence may have been misread or misjudged), `,_jsx(_components.code,{children:`aleatoric`}),` (the document itself is ambiguous) or `,_jsx(_components.code,{children:`coverage`}),` (something needed was missing or unreadable).`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Summary findings in `,_jsx(_components.code,{children:`analysis_results.full_analysis.findings`}),` carry the same three fields, copied from the module finding they were derived from.`]}),`\n`,_jsxs(_components.p,{children:[`Treat each of these fields as optional on every finding, independently of the others: a finding can carry a `,_jsx(_components.code,{children:`confidence_reason`}),` or `,_jsx(_components.code,{children:`uncertainty_cause`}),` without a `,_jsx(_components.code,{children:`confidence`}),`. Confidence is self-reported and not calibrated: it is not a probability of fraud, and it has no effect on a finding’s `,_jsx(_components.code,{children:`severity`}),` or on the overall risk score.`]}),`\n`,_jsx(Heading,{level:`3`,id:`summary-finding-sources`,children:`Summary finding sources`}),`\n`,_jsxs(_components.p,{children:[`A summary finding in `,_jsx(_components.code,{children:`analysis_results.full_analysis.findings`}),` can carry `,_jsx(_components.code,{children:`source_findings`}),`: an array of `,_jsx(_components.code,{children:`{ module_id, finding_index }`}),` that names the module finding it was derived from. Each summary finding currently has exactly one entry. An empty array means no source was recorded for that finding.`]}),`\n`,_jsxs(_components.p,{children:[`To resolve an entry, find the item in `,_jsx(_components.code,{children:`analysis_results.modules`}),` whose `,_jsx(_components.code,{children:`module_id`}),` matches, then read its `,_jsx(_components.code,{children:`findings[finding_index]`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`finding_index`}),` starts at 0 and counts every finding in that module, including findings with `,_jsx(_components.code,{children:`found: false`}),`. Do not filter a module’s `,_jsx(_components.code,{children:`findings`}),` before indexing.`]}),`\n`,_jsxs(_components.p,{children:[`The index is a position within the response that contains it. Always resolve it against the `,_jsx(_components.code,{children:`modules`}),` returned in the same response. Do not store it or hard-code it, because the order of `,_jsx(_components.code,{children:`modules`}),` and `,_jsx(_components.code,{children:`findings`}),` can differ between analyses.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`21`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"analysis_results\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"full_analysis\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"findings\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Example finding description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"source_findings\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"module_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"document_consistency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"finding_index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"modules\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"module_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"document_consistency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"findings\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Example finding description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`In this example the summary finding resolves to `,_jsx(_components.code,{children:`analysis_results.modules[0].findings[1]`}),`, the second finding, because the first has `,_jsx(_components.code,{children:`found: false`}),` and still counts.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`source_findings`}),` carries no location data. It is returned whether or not the `,_jsx(_components.a,{href:`/api-reference/endpoints/org-finding-locations-get`,children:`finding locations setting`}),` is on.`]}),`\n`,_jsxs(_components.p,{children:[`The key is absent on analyses made before the field was introduced. For those, match on `,_jsx(_components.code,{children:`source_analysis`}),` and `,_jsx(_components.code,{children:`alert_type`}),` (and `,_jsx(_components.code,{children:`custom_alert_type`}),` when `,_jsx(_components.code,{children:`alert_type`}),` is `,_jsx(_components.code,{children:`\"OTHER\"`}),`), as described in `,_jsx(_components.a,{href:`/guides/webhook-payload-reference#tracing-a-finding-back-to-its-evidence`,children:`Tracing a finding back to its evidence`}),`. That match is not guaranteed to be unique.`]}),`\n`,_jsx(Heading,{level:`3`,id:`page-locations`,children:`Page Locations`}),`\n`,_jsxs(_components.p,{children:[`An evidence item in `,_jsx(_components.code,{children:`findings[].evidence`}),` can carry `,_jsx(_components.code,{children:`locations`}),`: a list of `,_jsx(_components.code,{children:`{ block_id, page, box }`}),`. `,_jsx(_components.code,{children:`page`}),` starts at 1. `,_jsx(_components.code,{children:`box`}),` gives the area of that page as numbers from 0 to 1, as fractions of the page. Do not rely on the names of the keys inside `,_jsx(_components.code,{children:`box`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`analysis_results.key_terms`}),` lists the people (`,_jsx(_components.code,{children:`persons`}),`), `,_jsx(_components.code,{children:`organisations`}),`, `,_jsx(_components.code,{children:`locations`}),`, `,_jsx(_components.code,{children:`dates`}),` and `,_jsx(_components.code,{children:`reference_numbers`}),` found in the document. Each term has its text in `,_jsx(_components.code,{children:`value`}),` (`,_jsx(_components.code,{children:`date_value`}),` for a date) and, where found, its `,_jsx(_components.code,{children:`locations`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Both appear only when your organisation’s `,_jsx(_components.a,{href:`/api-reference/endpoints/org-finding-locations-get`,children:`finding locations setting`}),` is on and page locations are available to your organisation. The setting applies to every analysis when it is read, including older ones.`]}),`\n`,_jsxs(_components.p,{children:[`Not every analysis or item has locations. An item without a location has no `,_jsx(_components.code,{children:`locations`}),` key, never an empty list, and `,_jsx(_components.code,{children:`key_terms`}),` is absent unless at least one term has a location. Treat both as optional.`]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best Practices`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`URL Expiration`}),`: Download URLs for assets (original file, PDF report, logs) are time-limited for security. Ensure you download or display them promptly after retrieval.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wait for Completion`}),`: This endpoint provides the most value after a file’s `,_jsx(_components.code,{children:`analysis_status`}),` has reached `,_jsx(_components.code,{children:`settled`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Security`}),`: Never expose the signed download URLs in client-side code or public environments.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get File Analysis","description":"Retrieve comprehensive analysis results and risk assessment for a specific file.","openapi":"GET /files/{fileId}/analysis","href":"/api-reference/endpoints/files-analysis-get"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Permission","slug":"permission","depth":2,"children":[]},{"title":"Analysis Engines","slug":"analysis-engines","depth":2,"children":[]},{"title":"Highlights","slug":"highlights","depth":2,"children":[]},{"title":"Previously Seen","slug":"previously-seen","depth":2,"children":[]},{"title":"Module Evidence","slug":"module-evidence","depth":2,"children":[{"title":"Verification Evidence","slug":"verification-evidence","depth":3,"children":[]},{"title":"Finding confidence","slug":"finding-confidence","depth":3,"children":[]},{"title":"Summary finding sources","slug":"summary-finding-sources","depth":3,"children":[]},{"title":"Page Locations","slug":"page-locations","depth":3,"children":[]}]},{"title":"Best Practices","slug":"best-practices","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Retrieve comprehensive analysis results and risk assessment for a specific file.","operationId":"CaseFilesController_getFileAnalysis","parameters":["8ae6b228-4880-45de-922b-89e6be5f49ed"],"responses":{"200":"088f7daa-65f5-436f-ba11-6688c1fa2afa","401":"6e75f17b-f49f-43a6-98e5-13004dd29a63","404":"8f04bdef-437e-4ebf-8a99-852867740727","429":"272f36f9-3aed-4427-9ffc-40c91a9fde1a"},"security":["8aa19d73-cffc-4560-a30b-fa9b359d61b8"],"summary":"Get file analysis details","tags":["Case Files"],"method":"get","type":"path","servers":["ba735795-38f0-4be6-a745-6d575650f271","2ccaa4cb-416d-43a5-bb15-9657213108ed","b5bfbc9b-2a7f-4105-b910-f3fda28e5c60"],"path":"/files/{fileId}/analysis","baseUrlOptions":["https://api.uk.veridox.ai","https://api.ca.veridox.ai","https://api.eu.veridox.ai"],"title":"Get file analysis details","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8ae6b228-4880-45de-922b-89e6be5f49ed":{"name":"fileId","required":true,"in":"path","description":"File ID","schema":{"type":"string","isRequired":true,"description":"File ID","uniqueKey":"","typeLabel":"string"}}},"responses":{"088f7daa-65f5-436f-ba11-6688c1fa2afa":{"description":"File analysis retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","description":"Unique identifier for the file","example":"0191234568-89ab-7cdef-0123-456789abcdef","isRequired":true,"uniqueKey":"file_id","typeLabel":"string\u003cuuid>"},"case_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","description":"Unique identifier of the case containing this file","example":"0191234567-89ab-7cdef-0123-456789abcdef","isRequired":true,"uniqueKey":"case_id","typeLabel":"string\u003cuuid>"},"label":{"oneOf":[{"type":"string","description":"Human-readable label for the file","example":"Contract_Page1.pdf","isRequired":true,"uniqueKey":"label.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable label for the file","example":"Contract_Page1.pdf","isRequired":true,"uniqueKey":"label.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"label","typeLabel":"string | null"},"mime_type":{"oneOf":[{"type":"string","description":"MIME type of the file","example":"application/pdf","isRequired":true,"uniqueKey":"mime_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"MIME type of the file","example":"application/pdf","isRequired":true,"uniqueKey":"mime_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"mime_type","typeLabel":"string | null"},"file_download_url":{"oneOf":[{"type":"string","description":"Signed URL for downloading the original file (valid for 60 minutes)","format":"uri","example":"https://storage.net/documents/0191234567/0191234568?sig=...","isRequired":true,"uniqueKey":"file_download_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"Signed URL for downloading the original file (valid for 60 minutes)","example":"https://storage.net/documents/0191234567/0191234568?sig=...","isRequired":true,"uniqueKey":"file_download_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"file_download_url","typeLabel":"string\u003curi> | null"},"file_download_url_expires_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp when the file download URL expires","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","example":"2025-11-19T12:30:00.000Z","isRequired":true,"uniqueKey":"file_download_url_expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"ISO 8601 timestamp when the file download URL expires","example":"2025-11-19T12:30:00.000Z","isRequired":true,"uniqueKey":"file_download_url_expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"file_download_url_expires_at","typeLabel":"string\u003cdate-time> | null"},"thumbnail_url":{"oneOf":[{"type":"string","description":"Signed URL for accessing the file's thumbnail image (valid for 30 minutes)","format":"uri","example":"https://storage.net/thumbnails/0191234568?sig=...","isRequired":true,"uniqueKey":"thumbnail_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"Signed URL for accessing the file's thumbnail image (valid for 30 minutes)","example":"https://storage.net/thumbnails/0191234568?sig=...","isRequired":true,"uniqueKey":"thumbnail_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"thumbnail_url","typeLabel":"string\u003curi> | null"},"pdf_report_url":{"oneOf":[{"type":"string","description":"Signed URL for downloading the detailed PDF analysis report","format":"uri","example":"https://storage.net/reports/0191234568.pdf?sig=...","isRequired":true,"uniqueKey":"pdf_report_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"Signed URL for downloading the detailed PDF analysis report","example":"https://storage.net/reports/0191234568.pdf?sig=...","isRequired":true,"uniqueKey":"pdf_report_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"pdf_report_url","typeLabel":"string\u003curi> | null"},"log_output_url":{"oneOf":[{"type":"string","description":"Signed URL for accessing the raw analysis log output","format":"uri","example":"https://storage.net/logs/0191234568.log?sig=...","isRequired":true,"uniqueKey":"log_output_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"Signed URL for accessing the raw analysis log output","example":"https://storage.net/logs/0191234568.log?sig=...","isRequired":true,"uniqueKey":"log_output_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"log_output_url","typeLabel":"string\u003curi> | null"},"ela_overlay_url":{"oneOf":[{"type":"string","description":"Signed URL for accessing the Error Level Analysis (ELA) overlay image (valid for 30 minutes)","format":"uri","example":"https://storage.net/ela/019c4c64-03c2-7c21-ba43-8573c1d775c8/019c4c64-03cc-77a0-adec-666380071047.ela.jpg?sig=...","isRequired":true,"uniqueKey":"ela_overlay_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"Signed URL for accessing the Error Level Analysis (ELA) overlay image (valid for 30 minutes)","example":"https://storage.net/ela/019c4c64-03c2-7c21-ba43-8573c1d775c8/019c4c64-03cc-77a0-adec-666380071047.ela.jpg?sig=...","isRequired":true,"uniqueKey":"ela_overlay_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"ela_overlay_url","typeLabel":"string\u003curi> | null"},"reverse_search":{"oneOf":[{"type":"object","description":"Reverse image/document search results from external services","required":["matches","total"],"properties":{"matches":{"oneOf":[{"isRequired":true},{"type":"null","isRequired":true,"uniqueKey":"reverse_search.oneOf.0.matches.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"reverse_search.oneOf.0.matches","typeLabel":"null"},"total":{"type":"number","isRequired":true,"uniqueKey":"reverse_search.oneOf.0.total","typeLabel":"number"}},"isRequired":true,"uniqueKey":"reverse_search.oneOf.0","typeLabel":"object"},{"type":"null","description":"Reverse image/document search results from external services","isRequired":true,"uniqueKey":"reverse_search.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"reverse_search","typeLabel":"object | null"},"file_info":{"oneOf":[{"type":"object","description":"File information including hash and extracted metadata","required":["md5","metadata"],"example":{"md5":"f2cf5e2f21bff259c917c094283f5d45","metadata":{"file_size":222071,"image_format":"JPEG","image_width":1024,"image_height":1024,"image_mode":"RGB"}},"properties":{"md5":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"file_info.oneOf.0.md5.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"file_info.oneOf.0.md5.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"file_info.oneOf.0.md5","typeLabel":"string | null"},"metadata":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"file_info.oneOf.0.metadata.oneOf.0.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"file_info.oneOf.0.metadata.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"file_info.oneOf.0.metadata.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"file_info.oneOf.0.metadata","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"file_info.oneOf.0","typeLabel":"object"},{"type":"null","description":"File information including hash and extracted metadata","example":{"md5":"f2cf5e2f21bff259c917c094283f5d45","metadata":{"file_size":222071,"image_format":"JPEG","image_width":1024,"image_height":1024,"image_mode":"RGB"}},"isRequired":true,"uniqueKey":"file_info.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"file_info","typeLabel":"object | null"},"analysis_status":{"type":"string","enum":["waiting_for_upload","processing","settled"],"description":"Current status of the file analysis process","example":"settled","isRequired":true,"uniqueKey":"analysis_status","typeLabel":"enum\u003cstring>"},"analysis_outcome":{"oneOf":[{"type":"string","description":"Outcome of the analysis process","enum":["success","failed"],"example":"success","isRequired":true,"uniqueKey":"analysis_outcome.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Outcome of the analysis process","example":"success","isRequired":true,"uniqueKey":"analysis_outcome.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_outcome","typeLabel":"enum\u003cstring> | null"},"current_analysis_phase":{"oneOf":[{"type":"string","description":"Current phase of the analysis process","example":"completed","isRequired":true,"uniqueKey":"current_analysis_phase.oneOf.0","typeLabel":"string"},{"type":"null","description":"Current phase of the analysis process","example":"completed","isRequired":true,"uniqueKey":"current_analysis_phase.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"current_analysis_phase","typeLabel":"string | null"},"current_risk_score":{"oneOf":[{"type":"string","description":"Current effective risk score for this file","example":"high","isRequired":true,"uniqueKey":"current_risk_score.oneOf.0","typeLabel":"string"},{"type":"null","description":"Current effective risk score for this file","example":"high","isRequired":true,"uniqueKey":"current_risk_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"current_risk_score","typeLabel":"string | null"},"analysis_results":{"oneOf":[{"type":"object","description":"Detailed, structured results from the various analysis engines","required":["full_analysis"],"properties":{"full_analysis":{"oneOf":[{"type":"object","required":["overall_risk_score","summary","findings","observations","risk_assessments","suggested_actions","audit_trail","search_evidence_summary","verification_evidence_summary","modules_run"],"properties":{"overall_risk_score":{"oneOf":[{"type":"string","description":"The combined risk score from all analysis engines","example":"high","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.overall_risk_score.oneOf.0","typeLabel":"string"},{"type":"null","description":"The combined risk score from all analysis engines","example":"high","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.overall_risk_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.overall_risk_score","typeLabel":"string | null"},"summary":{"oneOf":[{"type":"string","description":"Executive summary of the full analysis results","example":"The document shows signs of manual EXIF manipulation and contains suspicious inconsistencies in financial data.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.summary.oneOf.0","typeLabel":"string"},{"type":"null","description":"Executive summary of the full analysis results","example":"The document shows signs of manual EXIF manipulation and contains suspicious inconsistencies in financial data.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.summary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.summary","typeLabel":"string | null"},"findings":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","example":"Manipulation","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].category","typeLabel":"string"},"heading":{"type":"string","example":"EXIF Editing Detected","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].heading","typeLabel":"string"},"description":{"type":"string","example":"The document was edited using Adobe Photoshop.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].description","typeLabel":"string"},"supporting_evidence":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].supporting_evidence.items.[INDEX]","typeLabel":"string"},"example":["EXIF:Software tag"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].supporting_evidence","typeLabel":"string[]"},"alert_type":{"oneOf":[{"type":"string","description":"Standardised alert type of the source module finding this summary finding was derived from. Finding-scoped caveats co-locate against this value via caveat.affected_findings. Null or absent when the finding has no single source alert type.","example":"EXIF_MODIFICATION","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].alert_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"Standardised alert type of the source module finding this summary finding was derived from. Finding-scoped caveats co-locate against this value via caveat.affected_findings. Null or absent when the finding has no single source alert type.","example":"EXIF_MODIFICATION","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].alert_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].alert_type","typeLabel":"string | null"},"source_analysis":{"oneOf":[{"type":"string","description":"The `module_id` of the module this finding came from. Use `source_findings` to find the exact module finding. On analyses made before `source_findings` was introduced, match on this field with `alert_type`, and with `custom_alert_type` when `alert_type` is \"OTHER\".","example":"manipulation_detection","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].source_analysis.oneOf.0","typeLabel":"string"},{"type":"null","description":"The `module_id` of the module this finding came from. Use `source_findings` to find the exact module finding. On analyses made before `source_findings` was introduced, match on this field with `alert_type`, and with `custom_alert_type` when `alert_type` is \"OTHER\".","example":"manipulation_detection","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].source_analysis.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].source_analysis","typeLabel":"string | null"},"custom_alert_type":{"oneOf":[{"type":"string","description":"Set when `alert_type` is \"OTHER\"; disambiguates the module-finding match.","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].custom_alert_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set when `alert_type` is \"OTHER\"; disambiguates the module-finding match.","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].custom_alert_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].custom_alert_type","typeLabel":"string | null"},"severity":{"oneOf":[{"type":"string","description":"Severity carried over from the source module finding.","example":"Medium","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].severity.oneOf.0","typeLabel":"string"},{"type":"null","description":"Severity carried over from the source module finding.","example":"Medium","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].severity.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].severity","typeLabel":"string | null"},"severity_justification":{"description":"Why that severity was given. Supersedes the retired `risk_assessments`.","example":"Informational for missing camera metadata on a photograph of a document.","type":"string","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].severity_justification","typeLabel":"string"},"source_findings":{"description":"The module finding this summary finding was derived from. To resolve an entry, take the `modules[]` entry with the same `module_id`, then its `findings[finding_index]`. `finding_index` starts at 0 and counts every finding in that module, including those with `found: false`. Each summary finding currently has exactly one entry. An empty array means no source was recorded. Absent on analyses made before this field was introduced; for those, match on `source_analysis` and `alert_type` instead.","example":[{"module_id":"document_consistency","finding_index":1}],"type":"array","items":{"type":"object","properties":{"module_id":{"type":"string","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].source_findings.items.[INDEX].module_id","typeLabel":"string"},"finding_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].source_findings.items.[INDEX].finding_index","typeLabel":"integer"}},"required":["module_id","finding_index"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].source_findings.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].source_findings","typeLabel":"object[]"},"confidence":{"description":"Present only on findings from modules that report confidence. The module's own estimate (0 to 1) that the finding is correct as stated. Self-reported by the model and not calibrated: it is not a fraud probability and says nothing about severity.","example":0.8,"type":"number","minimum":0,"maximum":1,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].confidence","typeLabel":"number"},"confidence_reason":{"description":"Optional, independently of `confidence`. A short explanation of the confidence. It may quote details from the document.","example":"Registry lookup returned no match for the exact company name.","type":"string","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].confidence_reason","typeLabel":"string"},"uncertainty_cause":{"description":"Optional, independently of `confidence`. `epistemic`: the model may have misread or misjudged the evidence. `aleatoric`: the document itself is ambiguous. `coverage`: something needed was missing or unreadable.","example":"coverage","type":"string","enum":["epistemic","aleatoric","coverage"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX].uncertainty_cause","typeLabel":"enum\u003cstring>"}},"required":["category","heading","description","supporting_evidence"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings.items.[INDEX]","typeLabel":"object"},"description":"High-level findings from across all analysis engines","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.findings","typeLabel":"object[]"},"observations":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.observations.items.[INDEX]","typeLabel":"string"},"description":"Additional minor observations made during analysis","example":["Document created on a weekend","Low resolution images detected"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.observations","typeLabel":"string[]"},"risk_assessments":{"type":"array","items":{"type":"object","properties":{"target":{"type":"string","example":"Identity Verification","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.risk_assessments.items.[INDEX].target","typeLabel":"string"},"risk_level":{"type":"string","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.risk_assessments.items.[INDEX].risk_level","typeLabel":"string"},"summary":{"type":"string","example":"No risk found in identity data","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.risk_assessments.items.[INDEX].summary","typeLabel":"string"},"justification":{"type":"string","example":"Information matches across all fields","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.risk_assessments.items.[INDEX].justification","typeLabel":"string"}},"required":["target","risk_level","summary","justification"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.risk_assessments.items.[INDEX]","typeLabel":"object"},"description":"Legacy, but always present. The engine stopped producing content on 2026-02-18, replaced by `findings[].severity_justification`. Still populated on analyses stored before that date; an empty array on every analysis since.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.risk_assessments","typeLabel":"object[]"},"suggested_actions":{"type":"array","items":{"type":"object","properties":{"action":{"type":"string","example":"Manual Review Required","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.suggested_actions.items.[INDEX].action","typeLabel":"string"},"justification":{"type":"string","example":"Suspicious metadata tags found","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.suggested_actions.items.[INDEX].justification","typeLabel":"string"}},"required":["action","justification"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.suggested_actions.items.[INDEX]","typeLabel":"object"},"description":"Recommended next steps based on the analysis results","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.suggested_actions","typeLabel":"object[]"},"audit_trail":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.audit_trail.items.[INDEX]","typeLabel":"string"},"description":"Internal log of analysis steps performed","example":["Context analysis started","Tampering detection completed"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.audit_trail","typeLabel":"string[]"},"search_evidence_summary":{"oneOf":[{"type":"object","description":"Cross-module roll-up of search queries and cited results","required":["total_queries","total_results","per_module"],"properties":{"total_queries":{"type":"number","example":7,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.total_queries","typeLabel":"number"},"total_results":{"type":"number","example":21,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.total_results","typeLabel":"number"},"per_module":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"queries":{"type":"array","items":{"type":"object","properties":{"query_id":{"type":"string","example":"q1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.queries.items.[INDEX].query_id","typeLabel":"string"},"query_text":{"type":"string","example":"ACME Ltd Companies House registration","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.queries.items.[INDEX].query_text","typeLabel":"string"},"answer":{"oneOf":[{"type":"string","description":"The synthesised answer to the verification question. null if the question failed or returned no answer; absent on data stored before this field was introduced.","example":"No. British Airways does not operate a scheduled direct route between LHR and KIR...","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.queries.items.[INDEX].answer.oneOf.0","typeLabel":"string"},{"type":"null","description":"The synthesised answer to the verification question. null if the question failed or returned no answer; absent on data stored before this field was introduced.","example":"No. British Airways does not operate a scheduled direct route between LHR and KIR...","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.queries.items.[INDEX].answer.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.queries.items.[INDEX].answer","typeLabel":"string | null"}},"required":["query_id","query_text"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.queries.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.queries","typeLabel":"object[]"},"results":{"type":"array","items":{"type":"object","properties":{"result_id":{"type":"string","example":"q1.1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].result_id","typeLabel":"string"},"query_id":{"type":"string","example":"q1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].query_id","typeLabel":"string"},"url":{"type":"string","example":"https://companieshouse.gov.uk/...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].url","typeLabel":"string"},"title":{"oneOf":[{"type":"string","example":"ACME Ltd — Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","example":"ACME Ltd — Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].title","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","example":"...active company...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","example":"...active company...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].snippet","typeLabel":"string | null"},"published_date":{"oneOf":[{"type":"string","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].published_date.oneOf.0","typeLabel":"string"},{"type":"null","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].published_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].published_date","typeLabel":"string | null"},"last_updated":{"oneOf":[{"type":"string","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].last_updated.oneOf.0","typeLabel":"string"},{"type":"null","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].last_updated.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX].last_updated","typeLabel":"string | null"}},"required":["result_id","query_id","url","title","snippet","published_date","last_updated"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.results","typeLabel":"object[]"},"cited_result_ids":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.cited_result_ids.items.[INDEX]","typeLabel":"string"},"description":"Union of the `q*` evidence_refs across all findings in this module. `v*` refs are excluded — there is no verification equivalent of this field.","example":["q1.1","q1.2","q2.1"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties.cited_result_ids","typeLabel":"string[]"}},"required":["queries","results","cited_result_ids"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module.additionalProperties","typeLabel":"object"},"description":"Keyed by module_id","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0.per_module","typeLabel":"object"}},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.0","typeLabel":"object"},{"type":"null","description":"Cross-module roll-up of search queries and cited results","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.search_evidence_summary","typeLabel":"object | null"},"verification_evidence_summary":{"oneOf":[{"type":"object","description":"Cross-module roll-up of verification checks. null when no module ran a check. Kept separate from the search roll-up: a deterministic registry verdict is not a synthesised search answer.","required":["total_checks","resolved","failed","per_module"],"properties":{"total_checks":{"type":"number","example":4,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.total_checks","typeLabel":"number"},"resolved":{"type":"number","description":"Checks that got an authoritative answer (`is_valid` true or false).","example":3,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.resolved","typeLabel":"number"},"failed":{"type":"number","description":"Checks that could not be verified (`is_valid` null).","example":1,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.failed","typeLabel":"number"},"per_module":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"checks":{"type":"array","items":{"type":"object","properties":{"check_id":{"type":"string","example":"v1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].check_id","typeLabel":"string"},"provider":{"oneOf":[{"type":"string","example":"companies_house","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].provider.oneOf.0","typeLabel":"string"},{"type":"null","example":"companies_house","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].provider.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].provider","typeLabel":"string | null"},"check_type":{"type":"string","example":"company","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].check_type","typeLabel":"string"},"subject":{"type":"string","example":"01234567","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].subject","typeLabel":"string"},"country_code":{"oneOf":[{"type":"string","example":"GB","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].country_code.oneOf.0","typeLabel":"string"},{"type":"null","example":"GB","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].country_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].country_code","typeLabel":"string | null"},"is_valid":{"oneOf":[{"type":"boolean","description":"true = confirmed, false = contradicted, null = could not be verified (source unreachable or out of scope). null is not the same as invalid.","example":true,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].is_valid.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"true = confirmed, false = contradicted, null = could not be verified (source unreachable or out of scope). null is not the same as invalid.","example":true,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].is_valid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].is_valid","typeLabel":"boolean | null"},"canonical_name":{"oneOf":[{"type":"string","example":"EXAMPLE TRADING LIMITED","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].canonical_name.oneOf.0","typeLabel":"string"},{"type":"null","example":"EXAMPLE TRADING LIMITED","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].canonical_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].canonical_name","typeLabel":"string | null"},"canonical_address":{"oneOf":[{"type":"string","example":"1 Example Street, Exampletown","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].canonical_address.oneOf.0","typeLabel":"string"},{"type":"null","example":"1 Example Street, Exampletown","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].canonical_address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].canonical_address","typeLabel":"string | null"},"checked_at":{"oneOf":[{"type":"string","example":"2026-05-21T10:00:00Z","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].checked_at.oneOf.0","typeLabel":"string"},{"type":"null","example":"2026-05-21T10:00:00Z","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].checked_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].checked_at","typeLabel":"string | null"},"extracted":{"oneOf":[{"type":"string","description":"The value as read from the document, before normalisation into `subject`.","example":"01234567","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].extracted.oneOf.0","typeLabel":"string"},{"type":"null","description":"The value as read from the document, before normalisation into `subject`.","example":"01234567","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].extracted.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].extracted","typeLabel":"string | null"},"outputs":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].outputs.additionalProperties","typeLabel":"any"},"description":"Provider-specific output fields; the keys vary with `provider`.","example":{"company_status":"active","postcode":"ZZ1 1ZZ"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].outputs","typeLabel":"object"},"attests":{"oneOf":[{"type":"string","description":"One line stating what a verdict from this provider proves.","example":"Company registered per Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].attests.oneOf.0","typeLabel":"string"},{"type":"null","description":"One line stating what a verdict from this provider proves.","example":"Company registered per Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].attests.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].attests","typeLabel":"string | null"},"country_mismatch":{"type":"boolean","description":"True when the subject's own encoded jurisdiction disagreed with the document's claimed one.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].country_mismatch","typeLabel":"boolean"},"error":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].error","typeLabel":"string | null"},"subject_date":{"oneOf":[{"type":"string","description":"Second identifier for composite-subject checks, e.g. a dated flight leg.","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].subject_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Second identifier for composite-subject checks, e.g. a dated flight leg.","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].subject_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX].subject_date","typeLabel":"string | null"}},"required":["check_id","provider","check_type","subject","country_code","is_valid","canonical_name","canonical_address","checked_at","extracted","outputs","attests","country_mismatch","error"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties.checks","typeLabel":"object[]"}},"required":["checks"],"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module.additionalProperties","typeLabel":"object"},"description":"Keyed by module_id","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0.per_module","typeLabel":"object"}},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.0","typeLabel":"object"},{"type":"null","description":"Cross-module roll-up of verification checks. null when no module ran a check. Kept separate from the search roll-up: a deterministic registry verdict is not a synthesised search answer.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.verification_evidence_summary","typeLabel":"object | null"},"modules_run":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.modules_run.items.[INDEX]","typeLabel":"string"},"description":"Module IDs that ran. Read this rather than assuming a fixed set — which modules run depends on the file and the organisation's configuration.","example":["content_verification","manipulation_detection","ela_fraud_detection"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0.modules_run","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.full_analysis","typeLabel":"object | null"},"context_analysis":{"oneOf":[{"type":"object","required":["mime_type","format_classification","file_category","summary","classifications","contains_embedded_images","key_details","c2pa_detected","metadata_tags","metadata_tags_count"],"properties":{"mime_type":{"oneOf":[{"type":"string","description":"Detected MIME type of the file","example":"application/pdf","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.mime_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"Detected MIME type of the file","example":"application/pdf","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.mime_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.mime_type","typeLabel":"string | null"},"format_classification":{"oneOf":[{"type":"string","description":"Classification of the file format","example":"PDF/A","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.format_classification.oneOf.0","typeLabel":"string"},{"type":"null","description":"Classification of the file format","example":"PDF/A","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.format_classification.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.format_classification","typeLabel":"string | null"},"file_category":{"oneOf":[{"type":"string","description":"General category of the file content","example":"financial_statement","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.file_category.oneOf.0","typeLabel":"string"},{"type":"null","description":"General category of the file content","example":"financial_statement","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.file_category.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.file_category","typeLabel":"string | null"},"summary":{"oneOf":[{"type":"string","description":"AI-generated summary of the file content","example":"A bank statement for John Doe covering the period of October 2023.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.summary.oneOf.0","typeLabel":"string"},{"type":"null","description":"AI-generated summary of the file content","example":"A bank statement for John Doe covering the period of October 2023.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.summary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.summary","typeLabel":"string | null"},"classifications":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","description":"Classification category","example":"Bank Statement","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.classifications.items.[INDEX].category","typeLabel":"string"},"custom_guess":{"description":"AI guess for category if not certain","example":"Invoice","type":"string","uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.classifications.items.[INDEX].custom_guess","typeLabel":"string"}},"required":["category"],"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.classifications.items.[INDEX]","typeLabel":"object"},"description":"List of content classifications","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.classifications","typeLabel":"object[]"},"contains_embedded_images":{"type":"boolean","description":"Whether the document contains embedded images","example":true,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.contains_embedded_images","typeLabel":"boolean"},"key_details":{"type":"object","properties":{"persons":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.persons.items.[INDEX]","typeLabel":"string"},"example":["John Doe"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.persons","typeLabel":"string[]"},"organisations":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.organisations.items.[INDEX]","typeLabel":"string"},"example":["Veridox Bank"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.organisations","typeLabel":"string[]"},"locations":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.locations.items.[INDEX]","typeLabel":"string"},"example":["London, UK"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.locations","typeLabel":"string[]"},"dates":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.dates.items.[INDEX]","typeLabel":"string"},"example":["2023-10-15"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.dates","typeLabel":"string[]"},"reference_numbers":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.reference_numbers.items.[INDEX]","typeLabel":"string"},"example":["ACC-123456"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details.reference_numbers","typeLabel":"string[]"}},"required":["persons","organisations","locations","dates","reference_numbers"],"description":"Key entities and information extracted from the document","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.key_details","typeLabel":"object"},"c2pa_detected":{"type":"boolean","description":"Whether C2PA (Content Provenance and Authenticity) metadata was detected","example":false,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.c2pa_detected","typeLabel":"boolean"},"metadata_tags":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.metadata_tags.additionalProperties","typeLabel":"any"},"description":"Raw metadata tags extracted from the file","example":{"Author":"Veridox","CreationDate":"2023-10-15"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.metadata_tags","typeLabel":"object"},"metadata_tags_count":{"type":"number","description":"Total number of metadata tags found","example":12,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0.metadata_tags_count","typeLabel":"number"}},"uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.context_analysis.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.context_analysis","typeLabel":"object | null"},"image_metadata":{"oneOf":[{"type":"object","required":["risk_score","summary","findings","c2pa_detected","metadata_tags","metadata_tags_count"],"properties":{"risk_score":{"oneOf":[{"type":"string","description":"Risk score specifically for image metadata","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.risk_score.oneOf.0","typeLabel":"string"},{"type":"null","description":"Risk score specifically for image metadata","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.risk_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.risk_score","typeLabel":"string | null"},"summary":{"oneOf":[{"type":"string","description":"Summary of image metadata analysis","example":"No significant risks found in image metadata.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.summary.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary of image metadata analysis","example":"No significant risks found in image metadata.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.summary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.summary","typeLabel":"string | null"},"findings":{"type":"array","items":{"type":"object","properties":{"alert_type":{"type":"string","example":"EXIF Modification","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].alert_type","typeLabel":"string"},"description":{"type":"string","example":"The software used to edit the image was detected.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].description","typeLabel":"string"},"severity":{"type":"string","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].severity","typeLabel":"string"},"evidence":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","example":"EXIF","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].evidence.items.[INDEX].source","typeLabel":"string"},"tag_or_assertion":{"type":"string","example":"Software","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].evidence.items.[INDEX].tag_or_assertion","typeLabel":"string"},"value":{"type":"string","example":"Adobe Photoshop 25.0","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].evidence.items.[INDEX].value","typeLabel":"string"},"explanation":{"type":"string","example":"Software tag indicates image was saved using Adobe Photoshop.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].evidence.items.[INDEX].explanation","typeLabel":"string"}},"required":["source","tag_or_assertion","value","explanation"],"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].evidence.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX].evidence","typeLabel":"object[]"}},"required":["alert_type","description","severity","evidence"],"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings.items.[INDEX]","typeLabel":"object"},"description":"Specific findings from image metadata analysis","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.findings","typeLabel":"object[]"},"c2pa_detected":{"type":"boolean","description":"Whether C2PA metadata was detected","example":false,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.c2pa_detected","typeLabel":"boolean"},"metadata_tags":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.metadata_tags.additionalProperties","typeLabel":"any"},"description":"Raw metadata tags","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.metadata_tags","typeLabel":"object"},"metadata_tags_count":{"type":"number","example":15,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0.metadata_tags_count","typeLabel":"number"}},"uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.image_metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.image_metadata","typeLabel":"object | null"},"document_metadata":{"oneOf":[{"type":"object","required":["risk_score","summary","findings","metadata_tags","metadata_tags_count"],"properties":{"risk_score":{"oneOf":[{"type":"string","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.risk_score.oneOf.0","typeLabel":"string"},{"type":"null","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.risk_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.risk_score","typeLabel":"string | null"},"summary":{"oneOf":[{"type":"string","example":"Document metadata appears standard.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.summary.oneOf.0","typeLabel":"string"},{"type":"null","example":"Document metadata appears standard.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.summary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.summary","typeLabel":"string | null"},"findings":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.findings.items.[INDEX]","typeLabel":"any"},"description":"Findings from document-specific metadata analysis","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.findings","typeLabel":"any[]"},"metadata_tags":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.metadata_tags.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.metadata_tags","typeLabel":"object"},"metadata_tags_count":{"type":"number","example":8,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0.metadata_tags_count","typeLabel":"number"}},"uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.document_metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.document_metadata","typeLabel":"object | null"},"image_tampering":{"oneOf":[{"type":"object","required":["confidence_map_url","local_map_url","findings","risk_score"],"properties":{"confidence_map_url":{"oneOf":[{"type":"string","description":"URL to the confidence map visualization for tampering detection","format":"uri","example":"https://storage.net/tampering/confidence.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.confidence_map_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"URL to the confidence map visualization for tampering detection","example":"https://storage.net/tampering/confidence.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.confidence_map_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.confidence_map_url","typeLabel":"string\u003curi> | null"},"local_map_url":{"oneOf":[{"type":"string","description":"URL to the local map visualization for tampering detection","format":"uri","example":"https://storage.net/tampering/local.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.local_map_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"URL to the local map visualization for tampering detection","example":"https://storage.net/tampering/local.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.local_map_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.local_map_url","typeLabel":"string\u003curi> | null"},"findings":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.findings.items.[INDEX]","typeLabel":"any"},"description":"List of tampering findings","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.findings","typeLabel":"any[]"},"risk_score":{"oneOf":[{"type":"string","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.risk_score.oneOf.0","typeLabel":"string"},{"type":"null","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.risk_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0.risk_score","typeLabel":"string | null"}},"uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.image_tampering.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.image_tampering","typeLabel":"object | null"},"document_consistency":{"oneOf":[{"type":"object","required":["annotated_pdf_url"],"properties":{"annotated_pdf_url":{"oneOf":[{"type":"string","description":"URL to a PDF with annotations highlighting consistency issues","format":"uri","example":"https://storage.net/consistency/annotated.pdf?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_consistency.oneOf.0.annotated_pdf_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"URL to a PDF with annotations highlighting consistency issues","example":"https://storage.net/consistency/annotated.pdf?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_consistency.oneOf.0.annotated_pdf_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.document_consistency.oneOf.0.annotated_pdf_url","typeLabel":"string\u003curi> | null"}},"uniqueKey":"analysis_results.oneOf.0.document_consistency.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.document_consistency.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.document_consistency","typeLabel":"object | null"},"ela":{"oneOf":[{"type":"object","required":["overlay_url","findings","risk_score"],"properties":{"overlay_url":{"oneOf":[{"type":"string","description":"URL to the Error Level Analysis (ELA) overlay image","format":"uri","example":"https://storage.net/ela/overlay.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.overlay_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"URL to the Error Level Analysis (ELA) overlay image","example":"https://storage.net/ela/overlay.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.overlay_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.overlay_url","typeLabel":"string\u003curi> | null"},"findings":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.findings.items.[INDEX]","typeLabel":"any"},"description":"ELA-specific findings","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.findings","typeLabel":"any[]"},"risk_score":{"oneOf":[{"type":"string","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.risk_score.oneOf.0","typeLabel":"string"},{"type":"null","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.risk_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0.risk_score","typeLabel":"string | null"}},"uniqueKey":"analysis_results.oneOf.0.ela.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.ela.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.ela","typeLabel":"object | null"},"noise":{"oneOf":[{"type":"object","required":["overlay_url","findings","risk_score"],"properties":{"overlay_url":{"oneOf":[{"type":"string","description":"URL to the noise analysis overlay image","format":"uri","example":"https://storage.net/noise/overlay.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.overlay_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","description":"URL to the noise analysis overlay image","example":"https://storage.net/noise/overlay.jpg?sig=...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.overlay_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.overlay_url","typeLabel":"string\u003curi> | null"},"findings":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.findings.items.[INDEX]","typeLabel":"any"},"description":"Noise analysis findings","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.findings","typeLabel":"any[]"},"risk_score":{"oneOf":[{"type":"string","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.risk_score.oneOf.0","typeLabel":"string"},{"type":"null","example":"low","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.risk_score.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0.risk_score","typeLabel":"string | null"}},"uniqueKey":"analysis_results.oneOf.0.noise.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.noise.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.noise","typeLabel":"object | null"},"reverse_search":{"oneOf":[{"type":"object","required":["results"],"properties":{"results":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.reverse_search.oneOf.0.results.items.[INDEX]","typeLabel":"any"},"description":"Results from reverse image/document search","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.reverse_search.oneOf.0.results","typeLabel":"any[]"}},"uniqueKey":"analysis_results.oneOf.0.reverse_search.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"analysis_results.oneOf.0.reverse_search.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.reverse_search","typeLabel":"object | null"},"modules":{"description":"Array of module results applicable for V2+ schemas. May be empty when no module produced results; absent on V1 analyses.","type":"array","items":{"type":"object","properties":{"module_id":{"type":"string","description":"Unique identifier for the module","example":"content_verification","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].module_id","typeLabel":"string"},"module_name":{"type":"string","description":"Human-readable name of the module","example":"Content Verification","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].module_name","typeLabel":"string"},"findings":{"type":"array","items":{"type":"object","properties":{"alert_type":{"type":"string","example":"ENTITY_NOT_VERIFIED","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].alert_type","typeLabel":"string"},"alert_type_name":{"type":"string","example":"Entity Not Verified","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].alert_type_name","typeLabel":"string"},"found":{"type":"boolean","example":true,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].found","typeLabel":"boolean"},"severity":{"type":"string","enum":["Informational","Low","Medium","High"],"example":"Medium","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"severity_justification":{"type":"string","example":"Organisation not present in Companies House records.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].severity_justification","typeLabel":"string"},"description":{"type":"string","example":"ACME Ltd is named as the issuer but does not appear in the UK Companies House registry.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].description","typeLabel":"string"},"evidence":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","example":"Image Metadata","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].source","typeLabel":"string"},"detail":{"type":"string","example":"tags_count: 10, only basic JFIF tags","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].detail","typeLabel":"string"},"explanation":{"type":"string","example":"Companies House search returned no matching company","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].explanation","typeLabel":"string"},"locations":{"description":"Where on the page this evidence sits. Omitted when the engine placed none, or when page locations are not enabled for the caller's organisation; never empty.","type":"array","items":{"type":"object","properties":{"block_id":{"type":"string","description":"Identifier of the text block the engine cited","example":"p1-b3","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].locations.items.[INDEX].block_id","typeLabel":"string"},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based page number","example":1,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].locations.items.[INDEX].page","typeLabel":"integer"},"box":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].locations.items.[INDEX].box.additionalProperties","typeLabel":"number"},"description":"Bounding box normalised 0–1 to the page as displayed. Coordinate keys are set by the engine.","example":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].locations.items.[INDEX].box","typeLabel":"object"}},"required":["block_id","page","box"],"description":"Where on the page the engine placed a cited text block. `page` is 1-based. `box` is normalised 0–1 to the page as displayed, after EXIF orientation is applied. Its coordinate keys are set by the engine. Blocks are paragraph-level, so a box marks the whole paragraph, not the exact words.","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].locations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX].locations","typeLabel":"object[]"}},"required":["source","detail","explanation"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence.items.[INDEX]","typeLabel":"object"},"description":"Per-finding evidence items","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence","typeLabel":"object[]"},"evidence_refs":{"type":"array","items":{"type":"string","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence_refs.items.[INDEX]","typeLabel":"string"},"description":"Evidence ref IDs. `^q\\d+\\.\\d+$` resolves against this module's `search_evidence.results`; `^v\\d+$` against `verification_evidence.checks`.","example":["q1.1","v1"],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].evidence_refs","typeLabel":"string[]"},"custom_alert_type":{"oneOf":[{"type":"string","description":"Free-text alert type when alert_type does not match a known value","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].custom_alert_type.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free-text alert type when alert_type does not match a known value","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].custom_alert_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].custom_alert_type","typeLabel":"string | null"},"confidence":{"description":"Present only on findings from modules that report confidence. The module's own estimate (0 to 1) that the finding is correct as stated. Self-reported by the model and not calibrated: it is not a fraud probability and says nothing about severity.","example":0.8,"type":"number","minimum":0,"maximum":1,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].confidence","typeLabel":"number"},"confidence_reason":{"description":"Optional, independently of `confidence`. A short explanation of the confidence. It may quote details from the document.","example":"Registry lookup returned no match for the exact company name.","type":"string","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].confidence_reason","typeLabel":"string"},"uncertainty_cause":{"description":"Optional, independently of `confidence`. `epistemic`: the model may have misread or misjudged the evidence. `aleatoric`: the document itself is ambiguous. `coverage`: something needed was missing or unreadable.","example":"coverage","type":"string","enum":["epistemic","aleatoric","coverage"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX].uncertainty_cause","typeLabel":"enum\u003cstring>"}},"required":["alert_type","alert_type_name","found","severity","severity_justification","description","evidence","evidence_refs"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings.items.[INDEX]","typeLabel":"object"},"description":"Module-specific findings; each finding carries `evidence_refs: string[]`","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].findings","typeLabel":"object[]"},"search_evidence":{"oneOf":[{"type":"object","description":"The searches run for this module: queries, results and failures.","required":["queries","results","failures","elapsed_ms","request_count"],"properties":{"queries":{"type":"array","items":{"type":"object","properties":{"query_id":{"type":"string","example":"q1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.queries.items.[INDEX].query_id","typeLabel":"string"},"query_text":{"type":"string","example":"ACME Ltd Companies House registration","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.queries.items.[INDEX].query_text","typeLabel":"string"},"answer":{"oneOf":[{"type":"string","description":"The synthesised answer to the verification question. null if the question failed or returned no answer; absent on data stored before this field was introduced.","example":"No. British Airways does not operate a scheduled direct route between LHR and KIR...","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.queries.items.[INDEX].answer.oneOf.0","typeLabel":"string"},{"type":"null","description":"The synthesised answer to the verification question. null if the question failed or returned no answer; absent on data stored before this field was introduced.","example":"No. British Airways does not operate a scheduled direct route between LHR and KIR...","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.queries.items.[INDEX].answer.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.queries.items.[INDEX].answer","typeLabel":"string | null"}},"required":["query_id","query_text"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.queries.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.queries","typeLabel":"object[]"},"results":{"type":"array","items":{"type":"object","properties":{"result_id":{"type":"string","example":"q1.1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].result_id","typeLabel":"string"},"query_id":{"type":"string","example":"q1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].query_id","typeLabel":"string"},"url":{"type":"string","example":"https://companieshouse.gov.uk/...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].url","typeLabel":"string"},"title":{"oneOf":[{"type":"string","example":"ACME Ltd — Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].title.oneOf.0","typeLabel":"string"},{"type":"null","example":"ACME Ltd — Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].title.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].title","typeLabel":"string | null"},"snippet":{"oneOf":[{"type":"string","example":"...active company...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].snippet.oneOf.0","typeLabel":"string"},{"type":"null","example":"...active company...","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].snippet.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].snippet","typeLabel":"string | null"},"published_date":{"oneOf":[{"type":"string","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].published_date.oneOf.0","typeLabel":"string"},{"type":"null","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].published_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].published_date","typeLabel":"string | null"},"last_updated":{"oneOf":[{"type":"string","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].last_updated.oneOf.0","typeLabel":"string"},{"type":"null","example":"2024-03-12","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].last_updated.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX].last_updated","typeLabel":"string | null"}},"required":["result_id","query_id","url","title","snippet","published_date","last_updated"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.results","typeLabel":"object[]"},"failures":{"type":"array","items":{"type":"object","properties":{"query_id":{"type":"string","example":"q3","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures.items.[INDEX].query_id","typeLabel":"string"},"error":{"type":"string","example":"upstream timeout","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures.items.[INDEX].error","typeLabel":"string"},"status_code":{"oneOf":[{"type":"number","example":504,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures.items.[INDEX].status_code.oneOf.0","typeLabel":"number"},{"type":"null","example":504,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures.items.[INDEX].status_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures.items.[INDEX].status_code","typeLabel":"number | null"},"rate_limited":{"type":"boolean","example":false,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures.items.[INDEX].rate_limited","typeLabel":"boolean"}},"required":["query_id","error","status_code","rate_limited"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.failures","typeLabel":"object[]"},"elapsed_ms":{"type":"number","example":1320,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.elapsed_ms","typeLabel":"number"},"request_count":{"type":"number","example":3,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0.request_count","typeLabel":"number"}},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.0","typeLabel":"object"},{"type":"null","description":"The searches run for this module: queries, results and failures.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].search_evidence","typeLabel":"object | null"},"verification_evidence":{"oneOf":[{"type":"object","description":"Per-module registry/verification check results","required":["checks"],"properties":{"checks":{"type":"array","items":{"type":"object","properties":{"check_id":{"type":"string","example":"v1","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].check_id","typeLabel":"string"},"provider":{"oneOf":[{"type":"string","example":"companies_house","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].provider.oneOf.0","typeLabel":"string"},{"type":"null","example":"companies_house","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].provider.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].provider","typeLabel":"string | null"},"check_type":{"type":"string","example":"company","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].check_type","typeLabel":"string"},"subject":{"type":"string","example":"01234567","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].subject","typeLabel":"string"},"country_code":{"oneOf":[{"type":"string","example":"GB","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].country_code.oneOf.0","typeLabel":"string"},{"type":"null","example":"GB","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].country_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].country_code","typeLabel":"string | null"},"is_valid":{"oneOf":[{"type":"boolean","description":"true = confirmed, false = contradicted, null = could not be verified (source unreachable or out of scope). null is not the same as invalid.","example":true,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].is_valid.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"true = confirmed, false = contradicted, null = could not be verified (source unreachable or out of scope). null is not the same as invalid.","example":true,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].is_valid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].is_valid","typeLabel":"boolean | null"},"canonical_name":{"oneOf":[{"type":"string","example":"EXAMPLE TRADING LIMITED","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].canonical_name.oneOf.0","typeLabel":"string"},{"type":"null","example":"EXAMPLE TRADING LIMITED","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].canonical_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].canonical_name","typeLabel":"string | null"},"canonical_address":{"oneOf":[{"type":"string","example":"1 Example Street, Exampletown","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].canonical_address.oneOf.0","typeLabel":"string"},{"type":"null","example":"1 Example Street, Exampletown","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].canonical_address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].canonical_address","typeLabel":"string | null"},"checked_at":{"oneOf":[{"type":"string","example":"2026-05-21T10:00:00Z","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].checked_at.oneOf.0","typeLabel":"string"},{"type":"null","example":"2026-05-21T10:00:00Z","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].checked_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].checked_at","typeLabel":"string | null"},"extracted":{"oneOf":[{"type":"string","description":"The value as read from the document, before normalisation into `subject`.","example":"01234567","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].extracted.oneOf.0","typeLabel":"string"},{"type":"null","description":"The value as read from the document, before normalisation into `subject`.","example":"01234567","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].extracted.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].extracted","typeLabel":"string | null"},"outputs":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].outputs.additionalProperties","typeLabel":"any"},"description":"Provider-specific output fields; the keys vary with `provider`.","example":{"company_status":"active","postcode":"ZZ1 1ZZ"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].outputs","typeLabel":"object"},"attests":{"oneOf":[{"type":"string","description":"One line stating what a verdict from this provider proves.","example":"Company registered per Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].attests.oneOf.0","typeLabel":"string"},{"type":"null","description":"One line stating what a verdict from this provider proves.","example":"Company registered per Companies House","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].attests.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].attests","typeLabel":"string | null"},"country_mismatch":{"type":"boolean","description":"True when the subject's own encoded jurisdiction disagreed with the document's claimed one.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].country_mismatch","typeLabel":"boolean"},"error":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].error","typeLabel":"string | null"},"subject_date":{"oneOf":[{"type":"string","description":"Second identifier for composite-subject checks, e.g. a dated flight leg.","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].subject_date.oneOf.0","typeLabel":"string"},{"type":"null","description":"Second identifier for composite-subject checks, e.g. a dated flight leg.","uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].subject_date.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX].subject_date","typeLabel":"string | null"}},"required":["check_id","provider","check_type","subject","country_code","is_valid","canonical_name","canonical_address","checked_at","extracted","outputs","attests","country_mismatch","error"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0.checks","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.0","typeLabel":"object"},{"type":"null","description":"Per-module registry/verification check results","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].verification_evidence","typeLabel":"object | null"},"error":{"oneOf":[{"type":"string","description":"Set when the module did not complete; null when it ran. Findings on a module that errored are absent rather than clean, and a caveat normally says so. Analyses stored before this was persisted also read null.","example":"rate_limit_exhausted","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Set when the module did not complete; null when it ran. Findings on a module that errored are absent rather than clean, and a caveat normally says so. Analyses stored before this was persisted also read null.","example":"rate_limit_exhausted","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX].error","typeLabel":"string | null"}},"required":["module_id","module_name","findings","search_evidence","verification_evidence","error"],"uniqueKey":"analysis_results.oneOf.0.modules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.modules","typeLabel":"object[]"},"key_terms":{"description":"v2 only. Present only when page locations are enabled for the caller's organisation and at least one key term carries page locations; omitted otherwise, including on every analysis stored before page locations existed.","type":"object","properties":{"persons":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"The extracted term as normalised by the engine","example":"Alex Example","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].value","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].label","typeLabel":"string | null"},"raw_ocr_text":{"oneOf":[{"type":"string","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].raw_ocr_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].raw_ocr_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].raw_ocr_text","typeLabel":"string | null"},"country_code":{"oneOf":[{"type":"string","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].country_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].country_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].country_code","typeLabel":"string | null"},"legible":{"description":"Whether the term was fully legible","type":"boolean","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].legible","typeLabel":"boolean"},"locations":{"description":"Where on the page this term appears. One entry per matching block; omitted when the term was not placed; never empty.","type":"array","items":{"type":"object","properties":{"block_id":{"type":"string","description":"Identifier of the text block the engine cited","example":"p1-b3","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].locations.items.[INDEX].block_id","typeLabel":"string"},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based page number","example":1,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].locations.items.[INDEX].page","typeLabel":"integer"},"box":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].locations.items.[INDEX].box.additionalProperties","typeLabel":"number"},"description":"Bounding box normalised 0–1 to the page as displayed. Coordinate keys are set by the engine.","example":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].locations.items.[INDEX].box","typeLabel":"object"}},"required":["block_id","page","box"],"description":"Where on the page the engine placed a cited text block. `page` is 1-based. `box` is normalised 0–1 to the page as displayed, after EXIF orientation is applied. Its coordinate keys are set by the engine. Blocks are paragraph-level, so a box marks the whole paragraph, not the exact words.","uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].locations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX].locations","typeLabel":"object[]"}},"required":["value"],"uniqueKey":"analysis_results.oneOf.0.key_terms.persons.items.[INDEX]","typeLabel":"object"},"description":"People named in the document","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.persons","typeLabel":"object[]"},"organisations":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"The extracted term as normalised by the engine","example":"Alex Example","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].value","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].label","typeLabel":"string | null"},"raw_ocr_text":{"oneOf":[{"type":"string","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].raw_ocr_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].raw_ocr_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].raw_ocr_text","typeLabel":"string | null"},"country_code":{"oneOf":[{"type":"string","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].country_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].country_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].country_code","typeLabel":"string | null"},"legible":{"description":"Whether the term was fully legible","type":"boolean","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].legible","typeLabel":"boolean"},"locations":{"description":"Where on the page this term appears. One entry per matching block; omitted when the term was not placed; never empty.","type":"array","items":{"type":"object","properties":{"block_id":{"type":"string","description":"Identifier of the text block the engine cited","example":"p1-b3","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].locations.items.[INDEX].block_id","typeLabel":"string"},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based page number","example":1,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].locations.items.[INDEX].page","typeLabel":"integer"},"box":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].locations.items.[INDEX].box.additionalProperties","typeLabel":"number"},"description":"Bounding box normalised 0–1 to the page as displayed. Coordinate keys are set by the engine.","example":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].locations.items.[INDEX].box","typeLabel":"object"}},"required":["block_id","page","box"],"description":"Where on the page the engine placed a cited text block. `page` is 1-based. `box` is normalised 0–1 to the page as displayed, after EXIF orientation is applied. Its coordinate keys are set by the engine. Blocks are paragraph-level, so a box marks the whole paragraph, not the exact words.","uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].locations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX].locations","typeLabel":"object[]"}},"required":["value"],"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations.items.[INDEX]","typeLabel":"object"},"description":"Organisations named in the document. Read from the engine's `key_organizations`.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.organisations","typeLabel":"object[]"},"locations":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"The extracted term as normalised by the engine","example":"Alex Example","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].value","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].label","typeLabel":"string | null"},"raw_ocr_text":{"oneOf":[{"type":"string","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].raw_ocr_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].raw_ocr_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].raw_ocr_text","typeLabel":"string | null"},"country_code":{"oneOf":[{"type":"string","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].country_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].country_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].country_code","typeLabel":"string | null"},"legible":{"description":"Whether the term was fully legible","type":"boolean","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].legible","typeLabel":"boolean"},"locations":{"description":"Where on the page this term appears. One entry per matching block; omitted when the term was not placed; never empty.","type":"array","items":{"type":"object","properties":{"block_id":{"type":"string","description":"Identifier of the text block the engine cited","example":"p1-b3","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].locations.items.[INDEX].block_id","typeLabel":"string"},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based page number","example":1,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].locations.items.[INDEX].page","typeLabel":"integer"},"box":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].locations.items.[INDEX].box.additionalProperties","typeLabel":"number"},"description":"Bounding box normalised 0–1 to the page as displayed. Coordinate keys are set by the engine.","example":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].locations.items.[INDEX].box","typeLabel":"object"}},"required":["block_id","page","box"],"description":"Where on the page the engine placed a cited text block. `page` is 1-based. `box` is normalised 0–1 to the page as displayed, after EXIF orientation is applied. Its coordinate keys are set by the engine. Blocks are paragraph-level, so a box marks the whole paragraph, not the exact words.","uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].locations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX].locations","typeLabel":"object[]"}},"required":["value"],"uniqueKey":"analysis_results.oneOf.0.key_terms.locations.items.[INDEX]","typeLabel":"object"},"description":"Addresses and places named in the document. Not page positions — each term's own `locations` field holds those.","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.locations","typeLabel":"object[]"},"dates":{"type":"array","items":{"type":"object","properties":{"date_value":{"type":"string","description":"ISO 8601 date","example":"2026-01-15","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].date_value","typeLabel":"string"},"label":{"type":"string","description":"What the date represents in the document","example":"Issue date","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].label","typeLabel":"string"},"precision":{"description":"How much of the date was read","type":"string","enum":["day","month","year"],"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].precision","typeLabel":"enum\u003cstring>"},"legible":{"description":"Whether the date was fully legible","type":"boolean","uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].legible","typeLabel":"boolean"},"illegible_components":{"description":"Parts of the date that could not be read","type":"array","items":{"type":"string","enum":["day","month","year"],"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].illegible_components.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].illegible_components","typeLabel":"enum\u003cstring>[]"},"year_inferred":{"description":"True when the year was inferred rather than read","type":"boolean","uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].year_inferred","typeLabel":"boolean"},"raw_ocr_text":{"oneOf":[{"type":"string","description":"The date exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].raw_ocr_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The date exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].raw_ocr_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].raw_ocr_text","typeLabel":"string | null"},"locations":{"description":"Where on the page this date appears. One entry per matching block; omitted when the date was not placed; never empty.","type":"array","items":{"type":"object","properties":{"block_id":{"type":"string","description":"Identifier of the text block the engine cited","example":"p1-b3","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].locations.items.[INDEX].block_id","typeLabel":"string"},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based page number","example":1,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].locations.items.[INDEX].page","typeLabel":"integer"},"box":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].locations.items.[INDEX].box.additionalProperties","typeLabel":"number"},"description":"Bounding box normalised 0–1 to the page as displayed. Coordinate keys are set by the engine.","example":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].locations.items.[INDEX].box","typeLabel":"object"}},"required":["block_id","page","box"],"description":"Where on the page the engine placed a cited text block. `page` is 1-based. `box` is normalised 0–1 to the page as displayed, after EXIF orientation is applied. Its coordinate keys are set by the engine. Blocks are paragraph-level, so a box marks the whole paragraph, not the exact words.","uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].locations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX].locations","typeLabel":"object[]"}},"required":["date_value","label"],"uniqueKey":"analysis_results.oneOf.0.key_terms.dates.items.[INDEX]","typeLabel":"object"},"description":"Dates found in the document","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.dates","typeLabel":"object[]"},"reference_numbers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","description":"The extracted term as normalised by the engine","example":"Alex Example","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].value","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"The role or kind of the term in the document","example":"Policyholder","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].label","typeLabel":"string | null"},"raw_ocr_text":{"oneOf":[{"type":"string","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].raw_ocr_text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The term exactly as it appeared in the document text, when it differs","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].raw_ocr_text.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].raw_ocr_text","typeLabel":"string | null"},"country_code":{"oneOf":[{"type":"string","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].country_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 3166-1 alpha-2 country the term belongs to, when known","example":"GB","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].country_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].country_code","typeLabel":"string | null"},"legible":{"description":"Whether the term was fully legible","type":"boolean","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].legible","typeLabel":"boolean"},"locations":{"description":"Where on the page this term appears. One entry per matching block; omitted when the term was not placed; never empty.","type":"array","items":{"type":"object","properties":{"block_id":{"type":"string","description":"Identifier of the text block the engine cited","example":"p1-b3","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].locations.items.[INDEX].block_id","typeLabel":"string"},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based page number","example":1,"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].locations.items.[INDEX].page","typeLabel":"integer"},"box":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].locations.items.[INDEX].box.additionalProperties","typeLabel":"number"},"description":"Bounding box normalised 0–1 to the page as displayed. Coordinate keys are set by the engine.","example":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].locations.items.[INDEX].box","typeLabel":"object"}},"required":["block_id","page","box"],"description":"Where on the page the engine placed a cited text block. `page` is 1-based. `box` is normalised 0–1 to the page as displayed, after EXIF orientation is applied. Its coordinate keys are set by the engine. Blocks are paragraph-level, so a box marks the whole paragraph, not the exact words.","uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].locations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX].locations","typeLabel":"object[]"}},"required":["value"],"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers.items.[INDEX]","typeLabel":"object"},"description":"Reference and identifier numbers found in the document","isRequired":true,"uniqueKey":"analysis_results.oneOf.0.key_terms.reference_numbers","typeLabel":"object[]"}},"required":["persons","organisations","locations","dates","reference_numbers"],"uniqueKey":"analysis_results.oneOf.0.key_terms","typeLabel":"object"}},"isRequired":true,"uniqueKey":"analysis_results.oneOf.0","typeLabel":"object"},{"type":"null","description":"Detailed, structured results from the various analysis engines","isRequired":true,"uniqueKey":"analysis_results.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_results","typeLabel":"object | null"},"case_context_at_analysis":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"case_context_at_analysis.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"case_context_at_analysis.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"case_context_at_analysis","typeLabel":"string | null"},"user_risk_confirmations":{"type":"array","items":{"type":"object","properties":{"reason":{"oneOf":[{"type":"string","description":"Reason provided by the user for confirming or overriding the risk score","example":"I reviewed the analysis and agree with the assessment","isRequired":true,"uniqueKey":"user_risk_confirmations.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reason provided by the user for confirming or overriding the risk score","example":"I reviewed the analysis and agree with the assessment","isRequired":true,"uniqueKey":"user_risk_confirmations.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"user_risk_confirmations.items.[INDEX].reason","typeLabel":"string | null"},"changed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 timestamp when the confirmation was created","example":"2025-11-19T14:30:00.000Z","isRequired":true,"uniqueKey":"user_risk_confirmations.items.[INDEX].changed_at","typeLabel":"string\u003cdate-time>"},"changed_by":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","description":"Unique identifier of the user who performed the confirmation","example":"0191234567-89ab-7cdef-0123-456789abcdef","isRequired":true,"uniqueKey":"user_risk_confirmations.items.[INDEX].changed_by","typeLabel":"string\u003cuuid>"},"risk_score":{"type":"string","enum":["informational","low","medium","high"],"description":"The risk score level confirmed by the user","example":"medium","isRequired":true,"uniqueKey":"user_risk_confirmations.items.[INDEX].risk_score","typeLabel":"enum\u003cstring>"}},"required":["reason","changed_at","changed_by","risk_score"],"uniqueKey":"user_risk_confirmations.items.[INDEX]","typeLabel":"object"},"description":"History of manual risk score confirmations and overrides by users","isRequired":true,"uniqueKey":"user_risk_confirmations","typeLabel":"object[]"},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"ISO 8601 timestamp when this file record was created","example":"2025-11-19T11:30:00.000Z","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"uploaded_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp when the file was uploaded to storage","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","example":"2025-11-19T11:30:00.000Z","isRequired":true,"uniqueKey":"uploaded_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"ISO 8601 timestamp when the file was uploaded to storage","example":"2025-11-19T11:30:00.000Z","isRequired":true,"uniqueKey":"uploaded_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"uploaded_at","typeLabel":"string\u003cdate-time> | null"},"analysis_completed_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp when analysis finished for this file","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","example":"2025-11-19T11:45:00.000Z","isRequired":true,"uniqueKey":"analysis_completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"ISO 8601 timestamp when analysis finished for this file","example":"2025-11-19T11:45:00.000Z","isRequired":true,"uniqueKey":"analysis_completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"analysis_completed_at","typeLabel":"string\u003cdate-time> | null"},"previously_seen":{"type":"boolean","description":"True when this file's analysis was reused from an identical file uploaded earlier in the same organisation.","example":true,"isRequired":true,"uniqueKey":"previously_seen","typeLabel":"boolean"},"previously_seen_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp when the identical file was first uploaded in the organisation. Null when the file was not previously seen.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","example":"2025-11-19T11:30:00.000Z","isRequired":true,"uniqueKey":"previously_seen_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"ISO 8601 timestamp when the identical file was first uploaded in the organisation. Null when the file was not previously seen.","example":"2025-11-19T11:30:00.000Z","isRequired":true,"uniqueKey":"previously_seen_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"previously_seen_at","typeLabel":"string\u003cdate-time> | null"},"highlights":{"description":"Key findings from the analysis as a plain list of strings. Omitted when no highlights were produced for the file.","example":["Metadata manipulation detected","AI-generated content indicators found"],"type":"array","items":{"type":"string","uniqueKey":"highlights.items.[INDEX]","typeLabel":"string"},"uniqueKey":"highlights","typeLabel":"string[]"},"caveats":{"description":"Analysis quality caveats — additive uncertainty annotations (failed modules, could-not-verify checks, searches limited to the public web, low OCR confidence). Present when caveats exist; omitted when the analysis has none.","example":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"Caveat category, e.g. module_failed, ocr_low_quality, data_source_limited.","example":"ocr_low_quality","isRequired":true,"uniqueKey":"caveats.items.[INDEX].type","typeLabel":"string"},"severity":{"type":"string","enum":["info","warn","critical"],"description":"How strongly the caveat should temper trust in the affected results.","example":"warn","isRequired":true,"uniqueKey":"caveats.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"title":{"type":"string","description":"Short, analyst-facing caveat heading.","example":"Low OCR confidence","isRequired":true,"uniqueKey":"caveats.items.[INDEX].title","typeLabel":"string"},"message":{"type":"string","description":"Plain-language explanation of the limitation.","example":"Text recognition quality was reduced; text may contain errors.","isRequired":true,"uniqueKey":"caveats.items.[INDEX].message","typeLabel":"string"},"scope":{"type":"string","enum":["document","finding"],"description":"'document' caveats apply to the whole analysis; 'finding' caveats are co-located with specific findings via affected_findings.","example":"document","isRequired":true,"uniqueKey":"caveats.items.[INDEX].scope","typeLabel":"enum\u003cstring>"},"affected_modules":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"caveats.items.[INDEX].affected_modules.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Module IDs whose results this caveat impacts. Null or omitted when not module-specific.","example":["document_consistency"],"uniqueKey":"caveats.items.[INDEX].affected_modules.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"Module IDs whose results this caveat impacts. Null or omitted when not module-specific.","example":["document_consistency"],"uniqueKey":"caveats.items.[INDEX].affected_modules.oneOf.1","typeLabel":"null"}],"uniqueKey":"caveats.items.[INDEX].affected_modules","typeLabel":"string[] | null"},"affected_findings":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"caveats.items.[INDEX].affected_findings.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Finding alert_types this caveat impacts. Null or omitted when document-scoped.","example":null,"uniqueKey":"caveats.items.[INDEX].affected_findings.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"Finding alert_types this caveat impacts. Null or omitted when document-scoped.","example":null,"uniqueKey":"caveats.items.[INDEX].affected_findings.oneOf.1","typeLabel":"null"}],"uniqueKey":"caveats.items.[INDEX].affected_findings","typeLabel":"string[] | null"}},"required":["type","severity","title","message","scope"],"uniqueKey":"caveats.items.[INDEX]","typeLabel":"object"},"uniqueKey":"caveats","typeLabel":"object[]"},"team_id":{"description":"ID of the team that uploaded this file, omitted if unassigned","example":"0191234568-89ab-7cdef-0123-456789abcdef","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","uniqueKey":"team_id","typeLabel":"string\u003cuuid>"},"team_name":{"description":"Name of the team that uploaded this file, omitted if unassigned","example":"Fraud Team","type":"string","uniqueKey":"team_name","typeLabel":"string"}},"required":["file_id","case_id","label","mime_type","file_download_url","file_download_url_expires_at","thumbnail_url","pdf_report_url","log_output_url","ela_overlay_url","reverse_search","file_info","analysis_status","analysis_outcome","current_analysis_phase","current_risk_score","analysis_results","case_context_at_analysis","user_risk_confirmations","created_at","uploaded_at","analysis_completed_at","previously_seen","previously_seen_at"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"file_id":"0191234568-89ab-7cdef-0123-456789abcdef","case_id":"0191234567-89ab-7cdef-0123-456789abcdef","label":"Contract_Page1.pdf","mime_type":"application/pdf","file_download_url":"https://storage.net/documents/0191234567/0191234568?sig=...","file_download_url_expires_at":"2025-11-19T12:30:00.000Z","thumbnail_url":"https://storage.net/thumbnails/0191234568?sig=...","pdf_report_url":"https://storage.net/reports/0191234568.pdf?sig=...","log_output_url":"https://storage.net/logs/0191234568.log?sig=...","ela_overlay_url":"https://storage.net/ela/019c4c64-03c2-7c21-ba43-8573c1d775c8/019c4c64-03cc-77a0-adec-666380071047.ela.jpg?sig=...","reverse_search":{"matches":"\u003cunknown>","total":123},"file_info":{"md5":"f2cf5e2f21bff259c917c094283f5d45","metadata":{"file_size":222071,"image_format":"JPEG","image_width":1024,"image_height":1024,"image_mode":"RGB"}},"analysis_status":"settled","analysis_outcome":"success","current_analysis_phase":"completed","current_risk_score":"high","analysis_results":{"full_analysis":{"overall_risk_score":"high","summary":"The document shows signs of manual EXIF manipulation and contains suspicious inconsistencies in financial data.","findings":[{"category":"Manipulation","heading":"EXIF Editing Detected","description":"The document was edited using Adobe Photoshop.","supporting_evidence":["EXIF:Software tag"],"alert_type":"EXIF_MODIFICATION","source_analysis":"manipulation_detection","custom_alert_type":"\u003cstring>","severity":"Medium","severity_justification":"Informational for missing camera metadata on a photograph of a document.","source_findings":[{"module_id":"document_consistency","finding_index":1}],"confidence":0.8,"confidence_reason":"Registry lookup returned no match for the exact company name.","uncertainty_cause":"coverage"}],"observations":["Document created on a weekend","Low resolution images detected"],"risk_assessments":[{"target":"Identity Verification","risk_level":"low","summary":"No risk found in identity data","justification":"Information matches across all fields"}],"suggested_actions":[{"action":"Manual Review Required","justification":"Suspicious metadata tags found"}],"audit_trail":["Context analysis started","Tampering detection completed"],"search_evidence_summary":{"total_queries":7,"total_results":21,"per_module":{}},"verification_evidence_summary":{"total_checks":4,"resolved":3,"failed":1,"per_module":{}},"modules_run":["content_verification","manipulation_detection","ela_fraud_detection"]},"context_analysis":{"mime_type":"application/pdf","format_classification":"PDF/A","file_category":"financial_statement","summary":"A bank statement for John Doe covering the period of October 2023.","classifications":[{"category":"Bank Statement","custom_guess":"Invoice"}],"contains_embedded_images":true,"key_details":{"persons":["John Doe"],"organisations":["Veridox Bank"],"locations":["London, UK"],"dates":["2023-10-15"],"reference_numbers":["ACC-123456"]},"c2pa_detected":false,"metadata_tags":{"Author":"Veridox","CreationDate":"2023-10-15"},"metadata_tags_count":12},"image_metadata":{"risk_score":"low","summary":"No significant risks found in image metadata.","findings":[{"alert_type":"EXIF Modification","description":"The software used to edit the image was detected.","severity":"low","evidence":[{"source":"EXIF","tag_or_assertion":"Software","value":"Adobe Photoshop 25.0","explanation":"Software tag indicates image was saved using Adobe Photoshop."}]}],"c2pa_detected":false,"metadata_tags":{},"metadata_tags_count":15},"document_metadata":{"risk_score":"low","summary":"Document metadata appears standard.","findings":["\u003cunknown>"],"metadata_tags":{},"metadata_tags_count":8},"image_tampering":{"confidence_map_url":"https://storage.net/tampering/confidence.jpg?sig=...","local_map_url":"https://storage.net/tampering/local.jpg?sig=...","findings":["\u003cunknown>"],"risk_score":"low"},"document_consistency":{"annotated_pdf_url":"https://storage.net/consistency/annotated.pdf?sig=..."},"ela":{"overlay_url":"https://storage.net/ela/overlay.jpg?sig=...","findings":["\u003cunknown>"],"risk_score":"low"},"noise":{"overlay_url":"https://storage.net/noise/overlay.jpg?sig=...","findings":["\u003cunknown>"],"risk_score":"low"},"reverse_search":{"results":["\u003cunknown>"]},"modules":[{"module_id":"content_verification","module_name":"Content Verification","findings":[{"alert_type":"ENTITY_NOT_VERIFIED","alert_type_name":"Entity Not Verified","found":true,"severity":"Medium","severity_justification":"Organisation not present in Companies House records.","description":"ACME Ltd is named as the issuer but does not appear in the UK Companies House registry.","evidence":[{"source":"Image Metadata","detail":"tags_count: 10, only basic JFIF tags","explanation":"Companies House search returned no matching company","locations":[{"block_id":"p1-b3","page":1,"box":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14}}]}],"evidence_refs":["q1.1","v1"],"custom_alert_type":"\u003cstring>","confidence":0.8,"confidence_reason":"Registry lookup returned no match for the exact company name.","uncertainty_cause":"coverage"}],"search_evidence":{"queries":[{"query_id":"q1","query_text":"ACME Ltd Companies House registration","answer":"No. British Airways does not operate a scheduled direct route between LHR and KIR..."}],"results":[{"result_id":"q1.1","query_id":"q1","url":"https://companieshouse.gov.uk/...","title":"ACME Ltd — Companies House","snippet":"...active company...","published_date":"2024-03-12","last_updated":"2024-03-12"}],"failures":[{"query_id":"q3","error":"upstream timeout","status_code":504,"rate_limited":false}],"elapsed_ms":1320,"request_count":3},"verification_evidence":{"checks":[{"check_id":"v1","provider":"companies_house","check_type":"company","subject":"01234567","country_code":"GB","is_valid":true,"canonical_name":"EXAMPLE TRADING LIMITED","canonical_address":"1 Example Street, Exampletown","checked_at":"2026-05-21T10:00:00Z","extracted":"01234567","outputs":{"company_status":"active","postcode":"ZZ1 1ZZ"},"attests":"Company registered per Companies House","country_mismatch":true,"error":"\u003cstring>","subject_date":"\u003cstring>"}]},"error":"rate_limit_exhausted"}],"key_terms":{"persons":[{"value":"Alex Example","label":"Policyholder","raw_ocr_text":"\u003cstring>","country_code":"GB","legible":true,"locations":[{"block_id":"p1-b3","page":1,"box":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14}}]}],"organisations":[{"value":"Alex Example","label":"Policyholder","raw_ocr_text":"\u003cstring>","country_code":"GB","legible":true,"locations":[{"block_id":"p1-b3","page":1,"box":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14}}]}],"locations":[{"value":"Alex Example","label":"Policyholder","raw_ocr_text":"\u003cstring>","country_code":"GB","legible":true,"locations":[{"block_id":"p1-b3","page":1,"box":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14}}]}],"dates":[{"date_value":"2026-01-15","label":"Issue date","precision":"day","legible":true,"illegible_components":["day"],"year_inferred":true,"raw_ocr_text":"\u003cstring>","locations":[{"block_id":"p1-b3","page":1,"box":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14}}]}],"reference_numbers":[{"value":"Alex Example","label":"Policyholder","raw_ocr_text":"\u003cstring>","country_code":"GB","legible":true,"locations":[{"block_id":"p1-b3","page":1,"box":{"x0":0.12,"y0":0.08,"x1":0.64,"y1":0.14}}]}]}},"case_context_at_analysis":"\u003cstring>","user_risk_confirmations":[{"reason":"I reviewed the analysis and agree with the assessment","changed_at":"2025-11-19T14:30:00.000Z","changed_by":"0191234567-89ab-7cdef-0123-456789abcdef","risk_score":"medium"}],"created_at":"2025-11-19T11:30:00.000Z","uploaded_at":"2025-11-19T11:30:00.000Z","analysis_completed_at":"2025-11-19T11:45:00.000Z","previously_seen":true,"previously_seen_at":"2025-11-19T11:30:00.000Z","highlights":["Metadata manipulation detected","AI-generated content indicators found"],"caveats":[],"team_id":"0191234568-89ab-7cdef-0123-456789abcdef","team_name":"Fraud Team"}}},"exampleType":"generated"}},"exampleType":"generated"},"6e75f17b-f49f-43a6-98e5-13004dd29a63":{"description":"Unauthorized (invalid or missing authentication token)","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"},"8f04bdef-437e-4ebf-8a99-852867740727":{"description":"File not found or not visible to the caller","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"},"272f36f9-3aed-4427-9ffc-40c91a9fde1a":{"description":"Too many requests (rate limit exceeded)","content":{"application/json":{"schema":{"type":"object","properties":{"error_code":{"type":"string","description":"Machine-readable error code for programmatic handling","examples":["request.cases.file.missing-risk-score","request.authentication.invalid-token","request.forbidden","request.cases.case.not-found","request.cases.case.already-locked"],"isRequired":true,"uniqueKey":"error_code","typeLabel":"string"},"error_message":{"type":"string","description":"Human-readable error message explaining what went wrong","example":"User tried to perform an invalid operation on a file without a risk score.","isRequired":true,"uniqueKey":"error_message","typeLabel":"string"},"error_details":{"type":"object","example":{"field":"email_address"},"uniqueKey":"error_details","typeLabel":"object"}},"required":["error_code","error_message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error_code":"request.cases.file.missing-risk-score","error_message":"User tried to perform an invalid operation on a file without a risk score.","error_details":{"field":"email_address"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8aa19d73-cffc-4560-a30b-fa9b359d61b8":{"api-key":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api-key"}}},"servers":{"ba735795-38f0-4be6-a745-6d575650f271":{"url":"https://api.uk.veridox.ai","description":"Live (UK)"},"2ccaa4cb-416d-43a5-bb15-9657213108ed":{"url":"https://api.ca.veridox.ai","description":"Live (CA)"},"b5bfbc9b-2a7f-4105-b910-f3fda28e5c60":{"url":"https://api.eu.veridox.ai","description":"Live (EU)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"api-key"},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api-key","name":"x-api-key"}],"title":"api-key"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"veridox","siteName":"Veridox","title":"Get File Analysis - Veridox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T20:57:50.061Z","originalFileLocation":"api-reference/endpoints/files-analysis-get.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Retrieve comprehensive analysis results and risk assessment for a specific file.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Veridox\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get File Analysis - Veridox\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retrieve comprehensive analysis results and risk assessment for a specific file.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Veridox\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://veridox.mintlify.site/_mintlify/api/og/v2?division=Files\u0026amp;title=Get+File+Analysis\u0026amp;description=Retrieve+comprehensive+analysis+results+and+risk+assessment+for+a+specific+file.\u0026amp;theme=ff4b3ec14ee2f65d1cf716c9\u0026amp;signature=3af2a25908f09d9d9c2ff5d6ce3391a8dbdfab78ca18894e329972fcc9887ffc\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get File Analysis - Veridox\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retrieve comprehensive analysis results and risk assessment for a specific file.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://veridox.mintlify.site/_mintlify/api/og/v2?division=Files\u0026amp;title=Get+File+Analysis\u0026amp;description=Retrieve+comprehensive+analysis+results+and+risk+assessment+for+a+specific+file.\u0026amp;theme=ff4b3ec14ee2f65d1cf716c9\u0026amp;signature=3af2a25908f09d9d9c2ff5d6ce3391a8dbdfab78ca18894e329972fcc9887ffc\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/veridox/4VX28dNRRfj3OGVD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Veridox\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3B82F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/files-analysis-get.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.veridox.ai/#organization\",\"name\":\"Veridox\",\"url\":\"https://docs.veridox.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/veridox/Rh_pg3SYjqVB3FW-/logo/light.svg?fit=max\u0026auto=format\u0026n=Rh_pg3SYjqVB3FW-\u0026q=85\u0026s=22962184728c15e374cfcc4d27f82dd9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.veridox.ai#website\",\"name\":\"Veridox\",\"url\":\"https://docs.veridox.ai\",\"publisher\":{\"@id\":\"https://docs.veridox.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get#webpage\",\"url\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get\",\"name\":\"Get File Analysis\",\"description\":\"Retrieve comprehensive analysis results and risk assessment for a specific file.\",\"dateModified\":\"2026-11-03T20:57:50.061Z\",\"isPartOf\":{\"@id\":\"https://docs.veridox.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Files\",\"item\":\"https://docs.veridox.ai/api-reference/endpoints/files-list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get File Analysis\",\"item\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get#apireference\",\"headline\":\"Get File Analysis\",\"name\":\"Get File Analysis\",\"description\":\"Retrieve comprehensive analysis results and risk assessment for a specific file.\",\"url\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get\",\"mainEntityOfPage\":{\"@id\":\"https://docs.veridox.ai/api-reference/endpoints/files-analysis-get#webpage\"},\"dateModified\":\"2026-11-03T20:57:50.061Z\",\"publisher\":{\"@id\":\"https://docs.veridox.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.veridox.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Veridox\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Veridox","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"Authentication","pages":[{"title":"Authentication Status","openapi":"GET /authentication/status","href":"/api-reference/endpoints/auth-status"},{"title":"Get Current User","openapi":"GET /users/me","href":"/api-reference/endpoints/users-me"}]},{"group":"Cases","pages":[{"title":"Create Case","openapi":"POST /cases","href":"/api-reference/endpoints/cases-create"},{"title":"List Cases","openapi":"GET /cases","href":"/api-reference/endpoints/cases-list"},{"title":"Get Case","openapi":"GET /cases/{id}","href":"/api-reference/endpoints/cases-get"},{"title":"Update Case Label","openapi":"PUT /cases/{id}","href":"/api-reference/endpoints/cases-update-label"},{"title":"Upload Files to Case","openapi":"POST /cases/{caseId}/files","href":"/api-reference/endpoints/cases-files-upload"},{"title":"Stream Case Analysis Progress","openapi":"GET /cases/{id}/progress/stream","href":"/api-reference/endpoints/cases-progress-stream"},{"title":"Poll Case Analysis Progress","openapi":"GET /cases/{id}/progress/poll","href":"/api-reference/endpoints/cases-progress-poll"}]},{"group":"Files","pages":[{"title":"List Files","description":"Retrieve a paginated list of the files you can reach, across all cases.","openapi":"GET /files","href":"/api-reference/endpoints/files-list"},{"title":"Get File Analysis","openapi":"GET /files/{fileId}/analysis","href":"/api-reference/endpoints/files-analysis-get"},{"title":"Get Asset URL","description":"Generate a fresh signed URL for a specific asset on a case file.","openapi":"GET /files/asset-url","href":"/api-reference/endpoints/files-asset-url-get"},{"title":"Confirm or Override Risk Score","openapi":"POST /files/{fileId}/risk-score/confirm","href":"/api-reference/endpoints/files-risk-confirm"},{"title":"Generate Bulk File Download URLs","openapi":"POST /files/download","href":"/api-reference/endpoints/files-download-bulk"},{"title":"Reassign File","openapi":"PATCH /cases/{caseId}/files/{fileId}/reassign","href":"/api-reference/endpoints/files-reassign"},{"title":"Archive File","openapi":"PATCH /cases/{caseId}/files/{fileId}/archive","href":"/api-reference/endpoints/files-archive"},{"title":"Delete File","openapi":"DELETE /cases/{caseId}/files/{fileId}","href":"/api-reference/endpoints/files-delete"}]},{"group":"Document Requests","pages":[{"title":"Create Document Request","openapi":"POST /document-requests/create","href":"/api-reference/endpoints/document-requests-create"},{"title":"List Document Requests","openapi":"GET /document-requests","href":"/api-reference/endpoints/document-requests-list"},{"title":"Get Document Request","openapi":"GET /document-requests/{id}","href":"/api-reference/endpoints/document-requests-get"},{"title":"Resend Document Request","openapi":"POST /document-requests/{id}/resend","href":"/api-reference/endpoints/document-requests-resend"},{"title":"Void Document Request","openapi":"DELETE /document-requests/{id}","href":"/api-reference/endpoints/document-requests-delete"}]},{"group":"Search","pages":[{"title":"Search Cases and Files","openapi":"GET /search","href":"/api-reference/endpoints/search"}]},{"group":"Organisation","pages":[{"title":"Get Branding Logo","openapi":"GET /organisations/branding-logo","href":"/api-reference/endpoints/org-branding-get"},{"title":"Get Verification Setting","openapi":"GET /organisations/features/verification","href":"/api-reference/endpoints/org-verification-get"},{"title":"Update Verification Setting","openapi":"PUT /organisations/features/verification","href":"/api-reference/endpoints/org-verification-update"},{"title":"Get Finding Locations Setting","openapi":"GET /organisations/features/finding-locations","href":"/api-reference/endpoints/org-finding-locations-get"},{"title":"Update Finding Locations Setting","openapi":"PUT /organisations/features/finding-locations","href":"/api-reference/endpoints/org-finding-locations-update"},{"title":"Get Role Permissions","openapi":"GET /organisations/role-permissions","href":"/api-reference/endpoints/org-role-permissions-get"},{"title":"Get Audit Log","openapi":"GET /organisations/audit-log","href":"/api-reference/endpoints/org-audit-log-get"}]},{"group":"System","pages":[{"title":"Get Server Status","openapi":"GET /status","href":"/api-reference/endpoints/status"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Get File Analysis - Veridox","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}