For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Getting Started
    • Introduction
    • How Verifa Works
    • Quickstart
    • Choosing an Integration Method
  • Use Cases
    • KYC Onboarding
    • Age Verification
    • AML Compliance
    • Fraud Prevention
    • Marketplace Trust & Safety
  • Core Concepts
    • Overview
    • Sessions
    • Verifications & Checks
    • Workflows
    • Identities
    • Cases
    • Screening & Reports
    • Lists
  • Integration Guides
    • Overview
    • JavaScript SDK
    • Web Capture Flow
    • API-Only Integration
    • Mobile SDK
    • Webhooks Guide
    • MCP Server
    • Migrating from Persona
  • API Details
    • Overview
    • Authentication
    • Pagination
    • Rate Limiting
    • Versioning
    • Errors
    • Webhooks
    • Idempotency
    • Key Inflection
    • Data Access
    • Data Retention
  • Tutorials
    • Creating Your First Verification Session
    • Creating a Workflow
    • Receiving Webhooks & Validating Signatures
    • Handling Webhook Events
    • Custom Document Types & AI Extraction
  • Best Practices
    • Testing
    • Preventing Duplicates
    • Fraud Signals
    • Changelog
  • API Reference
      • GETList session documents
      • POSTUpload a document to a session
      • GETDownload a document
      • GETList documents
      • POSTUpload a standalone document
      • GETGet document metadata
      • DELRedact a document
      • PATCHUpdate document metadata
      • GETDownload a document via signed URL
      • GETPreview a document page as JPEG
      • GETList document extractions
      • GETList document checks
      • POSTTrigger document classification
      • POSTTrigger document extraction
      • POSTRun verification checks on a document
      • POSTCompare two documents
      • POSTBulk classify documents
      • POSTBulk extract documents
      • POSTBulk verify documents
      • GETList document fingerprints
      • POSTCreate a document fingerprint
      • DELDelete a document fingerprint
      • POSTFlag a document as compromised
      • POSTCompare a document to a verified identity
      • POSTRun AI-powered document insights
API ReferenceDocuments

Get document metadata

GET
https://devapi.withverifa.com/api/v1/documents/:document_id
GET
/api/v1/documents/:document_id
$curl https://devapi.withverifa.com/api/v1/documents/document_id \
> -H "X-API-Key: <apiKey>"
1{
2 "id": "string",
3 "document_type": "id_front",
4 "status": "pending",
5 "created_at": "2024-01-15T09:30:00Z",
6 "org_id": "string",
7 "session_id": "string",
8 "identity_id": "string",
9 "classification": "string",
10 "mime_type": "string",
11 "file_size_bytes": 1,
12 "original_filename": "string",
13 "page_count": 1,
14 "metadata": {},
15 "upload_source": "string",
16 "download_url": "string",
17 "preview_url": "string",
18 "extracted_fields": {
19 "insurer_name": "Acme Insurance",
20 "policy_number": "POL-12345678",
21 "vin": "1HGBH41JXMN109186",
22 "expiry_date": "2027-01-15"
23 },
24 "extracted_fields_confidence": {
25 "insurer_name": 0.997,
26 "policy_number": 0.981,
27 "vin": 0.95,
28 "expiry_date": 0.997
29 },
30 "updated_at": "2024-01-15T09:30:00Z"
31}

Returns full metadata for a single document. The response includes preview_url and download_url fields with short-lived HMAC-signed URLs for accessing the document file.

Required scope: documents:read

Was this page helpful?
Previous

Redact a document

Next
Built with

Authentication

X-API-Keystring

Organization API key. Keys are prefixed with vk_live_ (production) or vk_sandbox_ (sandbox).

Path parameters

document_idstringRequired

Document ID (doc_*).

Headers

Verifa-VersiondateOptional

API version date string (e.g. 2026-02-01). If omitted, the version pinned to your API key is used.

Response

Document metadata.
idstring

Document ID (doc_*).

document_typeenum
Allowed values:
statusenum
Allowed values:
created_atdatetime
org_idstring
Organization ID.
session_idstring or null
Associated session ID, if any.
identity_idstring or null
Associated identity ID, if any.
classificationstring or null

Detected or assigned document classification (e.g. passport, drivers_license).

mime_typestring or null
MIME type of the uploaded file.
file_size_bytesinteger or null
File size in bytes.
original_filenamestring or null
Original filename at upload time.
page_countinteger or null

Number of pages (for multi-page documents).

metadatamap from strings to any

Arbitrary key-value metadata.

upload_sourcestring or null

How the document was uploaded (api, capture, dashboard).

download_urlstring or null

HMAC-signed download URL (when available).

preview_urlstring or null

Server-side JPEG preview URL for page 1. Works for both PDFs (rendered via PyMuPDF) and images. Same HMAC signature as download_url. Null for redacted documents.

extracted_fieldsmap from strings to any or null

Structured field extraction produced by Verifa’s document extractor. Populated when the document’s matched document_type has non-empty extraction_hints. Each key is one of the field names from the type’s extraction_hints, and each value is either the extracted string or null if the field was not visible in the document. null until the verification pipeline has run.

extracted_fields_confidencemap from strings to doubles or null

Per-field token-presence confidence (0.0-1.0) for the corresponding entries in extracted_fields. Computed by checking whether each extracted value’s tokens actually appear in the underlying OCR text. Values below ~0.5 are likely hallucinations and should be flagged for reviewer attention. null until extraction has run.

updated_atdatetime or null

Errors

401
Unauthorized Error
404
Not Found Error