openapi: 3.0.3 info: title: ID Analyzer Scanner Account Docupass API description: REST API for scanning and performing OCR on government-issued identity documents including passports, driver licenses, and national ID cards from 190+ countries. Extracts structured data fields, performs anti-forgery analysis with 20+ fraud detection models, and validates MRZ codes, holograms, and watermarks. Supports full KYC scan with biometric face verification, quick OCR scan, and very-quick OCR scan variants. version: '2.0' contact: name: ID Analyzer Support url: https://www.idanalyzer.com/contact-us email: support@idanalyzer.com termsOfService: https://www.idanalyzer.com/en/terms-of-service license: name: Proprietary url: https://www.idanalyzer.com servers: - url: https://api2.idanalyzer.com description: US Region - url: https://api2-eu.idanalyzer.com description: EU Region security: - ApiKeyHeader: [] tags: - name: Docupass description: Hosted KYC verification sessions paths: /docupass: get: tags: - Docupass operationId: listDocupass summary: List Docupass sessions description: Retrieve a paginated list of Docupass verification sessions. parameters: - $ref: '#/components/parameters/order' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: List of Docupass sessions content: application/json: schema: $ref: '#/components/schemas/DocupassListResponse' '401': $ref: '#/components/responses/Unauthorized' post: tags: - Docupass operationId: createDocupass summary: Create Docupass session description: Create a new hosted Docupass identity verification session. Returns a URL that can be shared with the end user to complete their identity verification online or via QR code. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DocupassCreateRequest' responses: '200': description: Created Docupass session with verification URL content: application/json: schema: $ref: '#/components/schemas/DocupassResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /docupass/{reference}: get: tags: - Docupass operationId: getDocupass summary: Get Docupass session description: Retrieve a single Docupass session by reference ID. parameters: - name: reference in: path required: true description: Docupass reference ID schema: type: string responses: '200': description: Docupass session details content: application/json: schema: $ref: '#/components/schemas/DocupassResponse' '404': $ref: '#/components/responses/NotFound' delete: tags: - Docupass operationId: deleteDocupass summary: Delete Docupass session description: Delete a Docupass session by reference ID. parameters: - name: reference in: path required: true description: Docupass reference ID schema: type: string responses: '200': description: Docupass session deleted content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '404': $ref: '#/components/responses/NotFound' components: schemas: SuccessResponse: type: object properties: success: type: boolean description: Whether the operation was successful example: true DocupassListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/DocupassResponse' total: type: integer ErrorObject: type: object properties: code: type: integer description: Error code message: type: string description: Human-readable error message ErrorResponse: type: object properties: error: $ref: '#/components/schemas/ErrorObject' DocupassCreateRequest: type: object required: - profile properties: profile: type: string description: KYC Profile ID to apply to the verification mode: type: integer description: Docupass verification mode default: 0 contractFormat: type: string description: Generated contract format enum: - pdf - docx - html default: pdf contractGenerate: type: string description: Contract template ID(s) to auto-generate on completion reusable: type: boolean description: Whether the Docupass link can be reused by multiple users default: false contractPrefill: type: string description: Key-value data used to prefill the generated contract contractSign: type: string description: Contract signing configuration customData: type: string description: Arbitrary string to store alongside the resulting transaction language: type: string description: Display language for the Docupass page (e.g. "en") referenceDocument: type: string description: Reference document front image to verify against referenceDocumentBack: type: string description: Reference document back image to verify against referenceFace: type: string description: Reference face image to verify against userPhone: type: string description: User phone number verifyAddress: type: string description: Address to verify against submitted document verifyAge: type: string description: Age range to verify (e.g. "18-99") pattern: ^\d+-\d+$ verifyDOB: type: string description: Date of birth to verify (YYYY/MM/DD) pattern: ^\d{4}/\d{2}/\d{2}$ verifyDocumentNumber: type: string description: Document/ID number to verify verifyName: type: string description: Full name to verify verifyPostcode: type: string description: Postcode to verify DocupassResponse: type: object properties: reference: type: string description: Docupass session reference ID url: type: string description: Verification URL to share with the end user format: uri qrCode: type: string description: QR code image for the verification URL mode: type: integer profile: type: string reusable: type: boolean createdAt: type: string format: date-time error: $ref: '#/components/schemas/ErrorObject' responses: BadRequest: description: Bad request - invalid parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Unauthorized - invalid or missing API key content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: order: name: order in: query description: Sort results by newest (-1) or oldest (1) schema: type: integer enum: - -1 - 1 default: -1 limit: name: limit in: query description: Number of items to return per call (1-99) schema: type: integer minimum: 1 maximum: 99 default: 10 offset: name: offset in: query description: Start the list from this entry index schema: type: integer minimum: 0 default: 0 securitySchemes: ApiKeyHeader: type: apiKey in: header name: X-Api-Key description: API key obtained from portal2.idanalyzer.com