ID Analyzer · Schema
ID Analyzer Scan Request
Request schema for the ID Analyzer /scan endpoint. Initiates a full KYC identity document scan with optional biometric face verification.
Identity VerificationKYCAMLDocument OCRBiometricsFace MatchingFraud DetectionPassportDriver LicenseLiveness Detection
Properties
| Name | Type | Description |
|---|---|---|
| document | string | Front of identity document image. Accepts a URL, base64-encoded image, local file path, or cache reference (ref:...). |
| documentBack | string | Back of identity document image (URL, base64, file path, or cache reference). |
| face | string | Selfie face photo for biometric verification (URL, base64, file path, or cache reference). |
| faceVideo | string | Selfie face video for liveness detection (URL, base64, or file path). Used if face is not provided. |
| profile | string | KYC Profile ID or preset profile name. |
| profileOverride | object | Per-request profile configuration overrides applied on top of the base profile. |
| verifyName | string | Full name to cross-check against the document data. |
| verifyDob | string | Date of birth to verify in YYYY/MM/DD format. |
| verifyAge | string | Age range to verify (minAge-maxAge format). |
| verifyAddress | string | Address to cross-check against the document. |
| verifyPostcode | string | Postal/ZIP code to cross-check against the document. |
| verifyDocumentNumber | string | Document or ID number to cross-check against the document. |
| restrictCountry | string | Comma-separated ISO ALPHA-2 country codes. Reject documents not issued by these countries. |
| restrictState | string | Comma-separated US/CA state names or abbreviations. Reject documents not issued by these states. |
| restrictType | string | Accepted document types: P=Passport, D=Driver License, I=Identity Card. |
| contractGenerate | string | Comma-separated contract template IDs (up to 5) for automatic document generation on scan completion. |
| contractFormat | string | Output format for auto-generated contract documents. |
| contractPrefill | object | Key-value pairs used to prefill dynamic fields in contract templates. |
| ip | string | User IP address for country cross-check. Uses HTTP connection IP if omitted. |
| customData | string | Arbitrary string stored alongside the transaction (e.g. internal customer reference). |
| client | string | Client library identifier, set automatically by official SDKs. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/idanalyzer/main/json-schema/idanalyzer-scan-request.json",
"title": "ID Analyzer Scan Request",
"description": "Request schema for the ID Analyzer /scan endpoint. Initiates a full KYC identity document scan with optional biometric face verification.",
"type": "object",
"required": ["document", "profile"],
"properties": {
"document": {
"type": "string",
"description": "Front of identity document image. Accepts a URL, base64-encoded image, local file path, or cache reference (ref:...)."
},
"documentBack": {
"type": "string",
"description": "Back of identity document image (URL, base64, file path, or cache reference)."
},
"face": {
"type": "string",
"description": "Selfie face photo for biometric verification (URL, base64, file path, or cache reference)."
},
"faceVideo": {
"type": "string",
"description": "Selfie face video for liveness detection (URL, base64, or file path). Used if face is not provided."
},
"profile": {
"type": "string",
"description": "KYC Profile ID or preset profile name.",
"examples": ["security_none", "security_low", "security_medium", "security_high"]
},
"profileOverride": {
"type": "object",
"description": "Per-request profile configuration overrides applied on top of the base profile.",
"additionalProperties": true
},
"verifyName": {
"type": "string",
"description": "Full name to cross-check against the document data."
},
"verifyDob": {
"type": "string",
"description": "Date of birth to verify in YYYY/MM/DD format.",
"pattern": "^\\d{4}/\\d{2}/\\d{2}$",
"examples": ["1990/01/15"]
},
"verifyAge": {
"type": "string",
"description": "Age range to verify (minAge-maxAge format).",
"pattern": "^\\d+-\\d+$",
"examples": ["18-99"]
},
"verifyAddress": {
"type": "string",
"description": "Address to cross-check against the document."
},
"verifyPostcode": {
"type": "string",
"description": "Postal/ZIP code to cross-check against the document."
},
"verifyDocumentNumber": {
"type": "string",
"description": "Document or ID number to cross-check against the document."
},
"restrictCountry": {
"type": "string",
"description": "Comma-separated ISO ALPHA-2 country codes. Reject documents not issued by these countries.",
"examples": ["US,CA,UK"]
},
"restrictState": {
"type": "string",
"description": "Comma-separated US/CA state names or abbreviations. Reject documents not issued by these states.",
"examples": ["CA,TX"]
},
"restrictType": {
"type": "string",
"description": "Accepted document types: P=Passport, D=Driver License, I=Identity Card.",
"examples": ["DIP", "P", "DI"]
},
"contractGenerate": {
"type": "string",
"description": "Comma-separated contract template IDs (up to 5) for automatic document generation on scan completion."
},
"contractFormat": {
"type": "string",
"description": "Output format for auto-generated contract documents.",
"enum": ["PDF", "DOCX", "HTML"],
"default": "PDF"
},
"contractPrefill": {
"type": "object",
"description": "Key-value pairs used to prefill dynamic fields in contract templates.",
"additionalProperties": true
},
"ip": {
"type": "string",
"description": "User IP address for country cross-check. Uses HTTP connection IP if omitted.",
"format": "ipv4"
},
"customData": {
"type": "string",
"description": "Arbitrary string stored alongside the transaction (e.g. internal customer reference).",
"maxLength": 1024
},
"client": {
"type": "string",
"description": "Client library identifier, set automatically by official SDKs."
}
},
"additionalProperties": false
}