{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/idanalyzer/main/json-schema/idanalyzer-docupass-request.json", "title": "ID Analyzer DocuPass Create Request", "description": "Request schema for the ID Analyzer POST /docupass endpoint. Creates a hosted KYC verification session that generates a shareable URL and QR code.", "type": "object", "required": ["profile"], "properties": { "profile": { "type": "string", "description": "KYC Profile ID to apply to the verification session." }, "mode": { "type": "integer", "description": "Docupass verification mode determining which steps are presented to the user.", "default": 0 }, "contractFormat": { "type": "string", "description": "Output format for auto-generated contract documents.", "enum": ["pdf", "docx", "html"], "default": "pdf" }, "contractGenerate": { "type": "string", "description": "Contract template ID(s) to auto-generate when the user completes verification." }, "reusable": { "type": "boolean", "description": "If true, the Docupass verification link can be used by multiple users.", "default": false }, "contractPrefill": { "type": "string", "description": "Key-value data to prefill dynamic fields in the generated contract." }, "contractSign": { "type": "string", "description": "Contract e-signature configuration." }, "customData": { "type": "string", "description": "Arbitrary string stored alongside the resulting transaction." }, "language": { "type": "string", "description": "Display language for the Docupass verification page (IETF language tag).", "examples": ["en", "fr", "de", "es", "zh"] }, "referenceDocument": { "type": "string", "description": "Reference document front image to verify the submitted document against." }, "referenceDocumentBack": { "type": "string", "description": "Reference document back image to verify against." }, "referenceFace": { "type": "string", "description": "Reference face image to verify the user's selfie against." }, "userPhone": { "type": "string", "description": "User phone number for SMS delivery of the verification link." }, "verifyAddress": { "type": "string", "description": "Address to cross-check against the submitted identity document." }, "verifyAge": { "type": "string", "description": "Acceptable age range (minAge-maxAge format).", "pattern": "^\\d+-\\d+$", "examples": ["18-99"] }, "verifyDOB": { "type": "string", "description": "Date of birth to cross-check against the submitted document (YYYY/MM/DD).", "pattern": "^\\d{4}/\\d{2}/\\d{2}$" }, "verifyDocumentNumber": { "type": "string", "description": "Document or ID number to cross-check against the submitted document." }, "verifyName": { "type": "string", "description": "Full name to cross-check against the submitted document." }, "verifyPostcode": { "type": "string", "description": "Postal/ZIP code to cross-check against the submitted document." } }, "additionalProperties": false }