> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dataspike.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List existing verifications

> Allows to retrieve a collection of existing verifications within the system.



## OpenAPI

````yaml /api-reference/dataspike_openapi.yaml get /api/v3/verifications
openapi: 3.1.0
info:
  title: Dataspike API
  description: >
    # Introduction


    Welcome to the Dataspike API! You can use our API to access AML and Docver
    API endpoints.


    **Production API endpoint**: [api.dataspike.io](https://api.dataspike.io)


    **Sandbox API endpoint**:
    [sandboxapi.dataspike.io](https://sandboxapi.dataspike.io)


    All API requests must contain header `Content-Type: application/json`


    For both endpoints API Key is required and can be generated at
    [dash.dataspike.io](https://dash.dataspike.io/api) Developer section


    You have to include API Key in each request using `ds-api-token` Header name
  version: v3
servers:
  - url: https://api.dataspike.io
    description: Production
  - url: https://sandboxapi.dataspike.io
    description: Sandbox
security:
  - ApiKeyAuth: []
tags:
  - name: AML Screening
    description: >
      ### PEP & Sanctions Screening API


      **Key Features:**


      1. **Real-time Screening**: Perform instant screenings against constantly
      updated PEP and sanctions databases, ensuring you have the most current
      information at your fingertips.


      2. **Customizable Workflow**: Tailor the screening process to your
      specific needs, setting up thresholds and alerts that suit your risk
      appetite.


      3. **Easy Integration**: Our API is designed with simplicity in mind,
      making integration into your applications a seamless experience.


      4. **Data Security**: We prioritize data security and compliance,
      implementing industry-leading measures to protect your sensitive
      information.
  - name: Applicants
    description: >
      ### Applicant API


      The Applicant API provides a powerful and flexible solution for creating
      new applicants, conducting AML (Anti-Money Laundering) checks, performing
      document verifications, and enabling customizable applicant monitoring
      settings. This API is designed to seamlessly integrate with your existing
      systems, allowing you to efficiently manage applicant data and compliance
      processes.


      **Key Features:**


      1. **Create New Applicants**: The Applicant API enables you to
      programmatically create new applicant profiles by providing essential
      details such as name or identification data.

      2. **AML Checks**: Efficiently conduct Anti-Money Laundering checks on
      applicants to ensure compliance with regulatory requirements and prevent
      fraudulent activities. The API leverages industry-leading AML databases to
      screen applicants against sanctions lists and other watchlists.

      3. **Customizable Monitoring Settings**: With the Applicant API, you have
      the freedom to tailor applicant monitoring settings according to your
      specific compliance needs. You can configure the frequency of screening
      applicants against sanctions lists, enabling you to stay up-to-date with
      any changes in their status.
  - name: Verifications
    description: >
      ### Verification API


      The Document Verification API offers a cutting-edge and secure solution
      for verifying the authenticity and validity of identity documents
      submitted by applicants within application or platform. This powerful API
      leverages advanced document recognition and verification technologies to
      streamline the verification process and improve overall user onboarding
      experience.


      **Key Features:**


      1. **Identity Document Validation**: The API supports various types of
      identity documents, such as passports, driver's licenses and more. It
      automatically extracts relevant information from these documents, ensuring
      seamless and reliable validation.

      2. **Biometric Verification**: For added security and fraud prevention,
      the API can perform biometric verification by comparing the photo on the
      identity document with a selfie or live photo provided by the applicant.

      3. **Real-Time Verification Results**: Verification results are provided
      in real-time, enabling swift decision-making in onboarding processes and
      other critical operations.
  - name: Verification profiles
    description: >
      ### Verification profiles API


      Verification profiles is designed to configure verification flow.


      **Key Features:**


      1. Setup which documents, countries are valid for verification.

      2. Enable or disable required checks for verification. For example
      disable/enable cross check verification.

      3. Any other custom settings. Please contact us to negotiate required
      custom behaviour.
  - name: File management
    description: >
      ### File Management API


      File Management API combines essential file management functionalities,
      including file upload, preview, and download, to facilitate efficient and
      secure handling of documents submitted for verification purposes.


      **Key Features:**


      1. **File Upload**: The API enables seamless file upload, allowing
      end-users to submit various types of documents, such as passports,
      driver's licenses, identity cards, and other relevant identification
      papers.

      2. **File Preview**: This functionality assists users in verifying the
      accuracy of the uploaded documents before proceeding with the verification
      process.

      3. **File Download**: Upon successful verification or when needed this
      feature allows to retain a copy of submitted verified documents for future
      use.
  - name: Webhooks
    description: >
      ### Webhooks API


      The AML and Document Verification Webhooks API provide essential
      event-driven notifications to developers, enabling seamless integration
      with Dataspike system application's AML checks and document verification
      processes. By leveraging these Webhooks, developers can receive real-time
      updates about AML hits, document verification results, and other
      activities related to applicant screening.
  - name: SDK
    description: >
      ### SDK API

      By leveraging the SDK API, developers can accelerate development, simplify
      integration, and enhance the overall user experience.
  - name: Verification links
    description: >
      ### Verification links API


      Verification links is designed to configure easy verification flow without
      any development on self side.


      **Quick guide**


      Create verification link. All your applicants now is possible to pass
      verification via this link available at https://am.dataspike.io/$link_id.
      Results will be available via webhook.


      Verification link is embedded to verification profile. Only one link can
      be created for profile.
  - name: Bankbooks
    x-displayName: Bankbooks
    description: >
      ### Bankbooks API


      The Bankbooks API is a tool designed to streamline the extraction process
      of account names and numbers from bankbook images, catering to specific
      countries. With this API, developers and financial institutions can
      effortlessly retrieve essential financial information from scanned or
      photographed bankbooks.


      ### Recommendations


      1. **Filter Out-of-Domain (OOD) Images by Similarity Score**

      The API returns a maximum similarity score between the bankbook found in
      the uploaded image and the bankbook images in the database. A recommended
      threshold to filter out-of-domain (OOD) images, such as credit cards or
      unrelated documents, is 0.75-0.8. We recommend to only consider images
      with a similarity score equal to or higher than this threshold as valid
      bankbook images.

      2. **Consider Manual Checks When Detected a Scanned Document**

      The API provides a boolean flag where the True value indicates that the
      uploaded image is a scanned document or a screenshot. While this flag
      works well for distinguishing photos of physical bankbooks from the
      scanned documents, you should be aware that it may give false negatives
      for screenshots made not in the bank's mobile app. Therefore, it's
      recommended to exercise caution when interpreting this flag and consider
      additional validation steps if necessary.

      3. **Consider Approximate String Matching for Names in Thai Language**

      In Thai language some letters can be extremely similar to each other. For
      example, the letters "ข" (kho khai) and "ฃ" (kho khuat) may appear
      visually similar, so the OCR (optical character recognition) model can
      confuse them sometimes. To address this issue, it's recommended to use
      approximate string matching techniques when comparing the extracted
      account name and number from the bankbook with the reference data. This
      can help account for minor discrepancies or variations in the OCR output
      due to visual similarities in Thai characters.



      ### Requirements:

      * The bankbook in the uploaded image must occupy more than 40% of the
      total area

      * The text information on the bankbook must be clearly visible to
      accurately extract information from it



      ### Additional comments:

      **Handling of Rare Bankbook Designs**

      Some bankbook designs, such as those from TMB or UOB, were rare in our
      training dataset. Additionally, screenshots from mobile apps may change
      quite often. If we encounter any issues with detecting or extracting
      information from these rare designs, we will retrain our models. Our
      alerting system ensures that we are promptly notified of any issues that
      require attention.
  - name: Transmon
    x-displayName: Transaction monitoring API
    description: >
      ### What is Transaction Monitoring


      Transaction monitoring is a flexible and highly customizable system
      designed to check financial transactions (both payor to payee transfers
      and payments during checkout).


      The system based on rules, which you can set through API.


      Flexible custom rules can be used to:

      * Reject ineligible transactions, optionally causes can be provided

      * Flag suspicious transactions for further analysis


      For example, you can add rule for rejecting transaction if its sum three
      times more than average for last 30 days for this user. See examples with
      details below.


      ### How it works


      ![Transaction Monitoring
      Diagram](https://cdn.n37z.com/images/docs/kyt/70079905-dcbd-4510-a4de-0b4d57b7dbd0.png)


      1. Desired rules must be set through API

      2. Each received transaction or payment processed by Transaction
      Monitoring, your rules executed

      3. Result for each transaction/payment sent via Webhooks (see
      TransmonWebhookObject in [Webhooks schema](#tag/webhooks_payloads))


      In custom rules you can access:

      * all the data provided in
      [transaction](#tag/Transmon/operation/post-transmon-transaction)/[payment](#tag/Transmon/operation/post-transmon-payment)
      (amount, currency_code, checkout_price and so on)

      * some aggregated statistics (min/max/average and total sum, transactions
      count) for every applicant for last 1, 7 and 30 days


      ### Transaction Monitoring API


      Transaction Monitoring API combines:

      - essential rules management functionalities to
      create/edit/(de)activate/remove rules

      - endpoints for sending transaction/payment data to Transaction Monitoring


      ### Which data can be used

      Fields from original event data
      ([transaction](#tag/Transmon/operation/post-transmon-transaction)/[payment](#tag/Transmon/operation/post-transmon-payment))
      can be accessed by `event.<field_name>`, for example -
      `event.currency_code`.


      Aggregated statistics for applicant can be accessed in form
      `stats.<period>.<indicator>`.

      Allowed periods are:

      - `last1d` - last 1 day*

      - `last7d` - last 7 days*

      - `last30d` - last 30 days*.


      *"day" means calendar day from 00:00 UTC.


      So, `last1d` means aggregated statistic since today 00:00 UTC. `last7d` -
      includes today + additional 6 full calendar days before.


      Allowed indicators:

      - `sum` - total sum of all transactions and payments for period

      - `avg` - average sum of transaction/payment for period

      - `min` - minimal sum for period

      - `max` - maximal sum for period

      - `transactions_count` - count of all transactions (and payments) for
      period.


      For example, `stats.last30d.avg` - average amount of transaction/payment
      for last 30 days for current applicant.


      ### Rules expressions syntax and fields


      **Arithmetic operators**

      | Operator | Description | Example               |

      | -------- | ----------- | --------------------- |

      | `+`      | sum         | `event.amount + 100`  |

      | `-`      | difference  | `event.amount - 100`  |

      | `*`      | product     | `2 * event.amount`    |

      | `/`      | quotient    | `event.amount / 3`    |



      **Comparison operators**

      | Operator | Description      |
      Example                                     |

      | -------- | ---------------- |
      ------------------------------------------- |

      | `==`     | equal            | `event.amount ==
      100.45`                    |

      | `!=`     | not equal        | `event.amount !=
      0`                         |

      | `<`      | less             | `event.amount <
      0`                          |

      | `<=`     | less or equal    | `event.amount <=
      0`                         |

      | `>`      | greater          | `event.amount >
      0`                          |

      | `>=`     | greater or equal | `event.amount >=
      0`                         |



      **Logical operators**

      | Operator | Description     |
      Example                                       |

      | -------- | --------------- |
      --------------------------------------------- |

      | `&&`     | conditional AND | `event.amount > 100 && event.amount <
      200`    |

      | `\|\|`   | conditional OR  | `event.amount <= 0 \|\| event.amount >
      10000` |

      | `!`      | NOT             | `!(event.amount ==
      0)`                        |



      **Membership operators**

      | Operator | Description                                            |
      Example                                  |

      | -------- | ------------------------------------------------------ |
      ---------------------------------------- |

      | `in`     | checks that left operand exists in right operand array |
      `event.payee_country_cd in ["US", "UK"]` |



      ### Examples

      1. Check sum of transaction above 10000 or below or equal to zero

      ```

      event.amount > 10000 || event.amount <= 0

      ```

      2. Check currency is USD or EUR

      ```

      event.currency_code in ["USD", "EUR"]

      ```

      3. Check payee country is not US and not UK

      ```

      !(event.payee_country_cd in ["US", "UK"])

      ```

      4. Check if transactions sum 2.5 times more than average for last 30 days
      for this user.

      ```

      event.amount > 2.5 * stats.last30d.avg

      ```
  - name: KYT Crypto
    x-displayName: KYT Crypto API
    description: >
      The **KYT Crypto API** enables users to perform **Know Your Transaction
      (KYT)** checks on cryptocurrency wallets across multiple blockchain
      networks. This service provides risk assessment and transaction monitoring
      to ensure compliance with anti-money laundering (AML) regulations.


      ### Features


      - Perform KYT checks on **cryptocurrency wallets**.

      - Supports major blockchain networks:
        - **Bitcoin (BTC)**
        - **Ethereum (ETH)**
        - **TRON (TRX)**
      - Returns detailed risk scores and compliance insights.

      - Real-time and batch wallet screening capabilities.
  - name: Deepfake API
    x-displayName: Deepfake API
    description: >
      The **Deepfake API** is a powerful fraud-prevention tool that detects
      manipulated media across **images, documents, video, and audio**.  

      It is designed for high-stakes **identity verification** and **compliance
      workflows**, helping organizations stop deepfake-based fraud before it
      causes damage.  


      With advanced AI analysis, the API can:  

      - Verify the authenticity of **selfies and liveness checks**  

      - Detect tampering in **ID documents** such as passports or driver’s
      licenses  

      - Analyze **video calls and recordings** for synthetic face swaps or
      manipulations  

      - Identify **AI-generated or cloned voices** in audio files  


      **Why use the Deepfake API?**  

      - Reduce fraud losses from synthetic identities and impersonation  

      - Strengthen KYC/AML compliance and meet regulatory requirements  

      - Build user trust by securing digital onboarding and remote verification
      flows  

      - Integrate easily via a developer-friendly REST API  


      In short, the Deepfake API helps you protect your platform, your users,
      and your reputation against the rising threat of AI-generated media.  
  - name: search_request
    x-displayName: AML Search Request
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/SearchRequest" />
  - name: search_response
    x-displayName: AML Search Response
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/SearchResponse" />
  - name: search_entity
    x-displayName: AML Entity Record
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/EntityRecord" />
  - name: applicant_person_request
    x-displayName: New Applicant Person Request
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/CreatePersonApplicantRequest" />
  - name: applicant_org_request
    x-displayName: New Applicant Organization Request
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/CreateOrganizationApplicantRequest" />
  - name: applicant_person_object
    x-displayName: Applicant Person Object
    description: >
      <SchemaDefinition schemaRef="#/components/schemas/ApplicantPersonResponse"
      />
  - name: applicant_org_object
    x-displayName: Applicant Organization Object
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/ApplicantOrganizationResponse" />
  - name: verification_request
    x-displayName: New Verification Request
    description: >
      <SchemaDefinition
      schemaRef="#/components/schemas/CreateVerificationRequest" />
  - name: verification_object
    x-displayName: Verification Object
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/VerificationInfo" />
  - name: verification_error
    x-displayName: Verification Error codes
    description: >
      <SchemaDefinition schemaRef="#/components/schemas/VerificationErrorCode"
      />
  - name: webhooks_payloads
    x-displayName: AML & Docver & Transmon Webhook Payloads
    description: |
      <SchemaDefinition schemaRef="#/components/schemas/WebhookObject" />
  - name: Non-Document Verification
    x-displayName: Non-Document Verification
    description: >
      ### Non-Document Verification API


      The Non-Document Verification API allows initiating specific identity
      checks that do not rely on traditional document uploads. This includes
      verifying national identifiers like Brazil's CPF, Nigeria's NIN, or
      Nigeria's BVN against authoritative sources.


      **Key Features:**


      1.  **Targeted Checks**: Perform specific verification types relevant to
      the applicant's country and the required check.

      2.  **Real-time Results**: Obtain verification status (verified or failed)
      along with data returned from the source system.

      3.  **Integration**: Seamlessly integrate these checks into your
      onboarding or compliance workflows for existing applicants.
  - name: KYB Verification
    description: >
      ### KYB (Know Your Business) Verification API


      Verify company identity and legitimacy through document analysis and
      public registry checks. All KYB operations are asynchronous — submit a
      request and poll for results.


      **Verification methods:**


      1. **Document Verification** — upload and verify corporate documents
      (certificates of incorporation, shareholder certificates) to extract and
      validate company information.

      2. **US Company Registry Check** — look up a company in the US Secretary
      of State registry by name or SOS ID.
paths:
  /api/v3/verifications:
    get:
      tags:
        - Verifications
      summary: List existing verifications
      description: >-
        Allows to retrieve a collection of existing verifications within the
        system.
      operationId: list-verifications
      parameters:
        - name: page
          in: query
          description: Current page
          required: false
          schema:
            type: integer
            default: 0
        - name: limit
          in: query
          description: Limit of returned applicants per page
          required: false
          schema:
            type: integer
            default: 10
        - name: dob
          in: query
          description: Date of birth.
          required: false
          schema:
            type: string
            example: '1984-03-21T00:00:00.000Z'
            format: >-
              ISO-8601 or short format. For example only year 1984, or year with
              month 1984-03
        - name: from
          in: query
          description: Filter by creation time since this date
          required: false
          schema:
            type: string
            example: '2023-06-21T00:00:00.000Z'
            format: ISO-8601
        - name: to
          in: query
          description: Filter by creation time upon this date
          required: false
          schema:
            type: string
            example: 203-07-27
            format: ISO-8601
        - name: status
          in: query
          description: Filter by verification status
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/VerificationStatus'
        - name: profile
          in: query
          description: Filter by verification profiles
          required: false
          schema:
            type: array
            items:
              type: string
              format: UUID
        - name: document_type
          in: query
          description: Filter by document types used in verification
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/DocumentType'
        - name: name
          in: query
          description: Filter by name in parsed documents
          required: false
          schema:
            type: string
            example: John Doe
        - name: country
          in: query
          description: Filter by country in parsed documents
          required: false
          schema:
            type: string
            format: ISO 31661-1 alpha-2
      responses:
        '200':
          description: List of the verifications
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PagedResponse'
                  - properties:
                      data:
                        description: Object contains a list of an existing verifications
                        items:
                          $ref: '#/components/schemas/VerificationInfo'
components:
  schemas:
    VerificationStatus:
      type: string
      enum:
        - initial
        - pending
        - in_progress
        - verified
        - failed
        - canceled
        - expired
      description: >
        The First verification status is `initial`.


        Second one is `pending`, when some documents are uploaded to
        verification or applicant of verification, but not all required
        documents are uploaded.


        When all documents are uploaded and verification has been proceeded by
        api
        (https://docs.dataspike.io/api#tag/Verifications/operation/proceed-verification)
        or web sdk status becomes to `in_progress`.


        After `in_progress` status can be both `verified` or `failed` depending
        on the verification result.


        Transition to `canceled` status can be from any status if verification
        was canceled, except `verified` and `failed`.


        Transition to `expired` status can be from any status if verification
        has expired, except `verified`, `in_progress` and `failed`.


        ![Flow of status](/img/verification_status_flow.png "Verification status
        flow")
    DocumentType:
      type: string
      enum:
        - passport
        - id_card
        - residence_permit
        - driver_license
        - poa
        - selfie
        - liveness_photo
        - kyb_certificate_of_incorporation
        - kyb_ownership_document
      description: Possible document type
    PagedResponse:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          items:
            type: object
          description: List of an existing paginated items
        has_next:
          type: boolean
          default: false
          description: >-
            This property serves as an indicator of whether there is a next page
            available in the paginated result
    VerificationInfo:
      type: object
      description: Create Verification Response
      required:
        - id
        - applicant_id
        - status
        - checks
        - created_at
        - verification_url
        - verification_url_id
        - expires_at
        - is_sandbox
        - profile_id
        - settings
      properties:
        id:
          type: string
          format: uuid
          example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11
          description: Id of created verification
        applicant_id:
          type: string
          format: uuid
          example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11
          description: Id of applicant verification is linked to
        status:
          $ref: '#/components/schemas/VerificationStatus'
        documents:
          type: array
          description: List of prodived documents
          items:
            type: object
            properties:
              document_id:
                type: string
                format: uuid
                example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11
                description: Document id in the system
              document_type:
                $ref: '#/components/schemas/DocumentType'
        checks:
          $ref: '#/components/schemas/CheckObject'
        created_at:
          type: string
          format: ISO-8601
          example: '2023-07-18T15:32:13.000Z'
          description: Verification creation timestamp
        completed_at:
          type: string
          format: ISO-8601
          example: '2023-07-18T15:32:13.000Z'
          description: Time of completion
        verification_url:
          type: string
          description: >-
            Verification url that can be provided to the end user to perform
            online verification
          example: https://am.dataspike.io/VDBA1B2EA6A28A7D2
        verification_url_id:
          type: string
          description: Verification short id
          example: VDBA1B2EA6A28A7D2
        expires_at:
          type: string
          format: ISO-8601
          example: '2023-07-18T15:32:13.000Z'
          description: Verification expiration timestamp
        poi_data:
          $ref: '#/components/schemas/PoiData'
        is_sandbox:
          type: boolean
          default: false
          description: Flag indicates that verification is created in sandbox env
        profile_id:
          type: string
          format: uuid
          example: 01827ed4-c928-7a3c-9a30-7ab7cc169d11
          description: Verification profile id
        settings:
          $ref: '#/components/schemas/VerificationProfileSettings'
        aml_search_id:
          type: string
          format: uuid
          example: d358ace9-9e35-42cd-b8b7-837c1005d2f5
          description: AML search id operation
        manual_fields:
          $ref: '#/components/schemas/ManualFieldsValues'
        custom_files:
          $ref: '#/components/schemas/CustomFiles'
    CheckObject:
      type: object
      description: Object describes required checks and it`s current status
      properties:
        document_mrz:
          description: MRZ check
          type: object
          allOf:
            - $ref: '#/components/schemas/MRZ'
            - $ref: '#/components/schemas/CheckEntity'
        face_comparison:
          description: >-
            Face comparison check, can be within selfie or liveness_photo
            documents
          type: object
          allOf:
            - $ref: '#/components/schemas/CheckEntity'
        poa:
          description: Proof of Address check
          type: object
          allOf:
            - $ref: '#/components/schemas/CheckEntity'
        liveness:
          description: Liveness check, verify that provided image is not spoofed
          type: object
          allOf:
            - $ref: '#/components/schemas/LivenessData'
            - $ref: '#/components/schemas/CheckEntity'
    PoiData:
      type: object
      properties:
        parsed_type:
          $ref: '#/components/schemas/DocumentType'
        has_mrz:
          type: boolean
          description: Indicate document has mrz or not
          example: true
        raw_mrz_type:
          type: string
          example: P
          description: mrz type of document
        country:
          type: string
          description: >-
            Country of the document, reference
            [https://www.iban.com/country-codes](https://www.iban.com/country-codes)
          example: DEU
          format: ISO 3166-1 ALPHA-3 code
        full_name:
          type: string
          example: John Doe
          description: If present name and surname will be empty strings
        name:
          type: string
          description: Extracted name
          example: John
        surname:
          type: string
          description: Extracted surname
          example: Doe
        document_number:
          type: string
          description: Document number
          example: P-1234567890
        nationality:
          type: string
          description: Extracted nationality
          example: DEU
          format: ISO 3166-1 ALPHA-3 code
        birth_date:
          type: string
          description: Extracted birth date
          format: ISO-8601 date
          example: '1983-03-21'
        sex:
          type: string
          description: Extracted sex, M or F
          example: M
        expiry_date:
          type: string
          description: Extracted birth date
          format: ISO-8601 date
          example: '2021-02-24'
        issue_date:
          type: string
          description: Extracted birth date
          format: ISO-8601 date
          example: '2021-02-24'
        pin:
          type: string
          description: Pin of document.
        card_number:
          type: string
          description: Number of card.
        license_number:
          type: string
        license_type:
          type: string
        license_class:
          type: string
        cpf_number:
          type: string
        vin:
          type: string
        nin:
          type: string
        occupation:
          type: string
        polling_unit:
          type: string
        region:
          type: string
        restrictions:
          type: string
        height:
          type: string
        registration_date:
          type: string
        parents_names:
          type: string
        endorsements:
          type: string
        middle_name:
          type: string
          description: Extracted middle name (where present on the document).
          example: William
        patronymic_name:
          type: string
          description: |
            Extracted patronymic / father's name. Used by some
            jurisdictions (e.g. Russian internal passports).
          example: Ivanovich
        name_local:
          type: string
          description: >-
            Extracted given name in the document's local script (e.g. Cyrillic,
            Arabic, CJK).
          example: Иван
        surname_local:
          type: string
          description: Extracted surname in the document's local script.
          example: Иванов
        middle_name_local:
          type: string
          description: Extracted middle name in the document's local script.
        patronymic_name_local:
          type: string
          description: Extracted patronymic in the document's local script.
          example: Иванович
        doc_type_local:
          type: string
          description: >-
            Document-type label in the document's local language (vendor- and
            country-specific).
        place_of_birth:
          type: string
          description: Extracted place of birth (city / region / country, as printed).
        place_of_birth_local:
          type: string
          description: Extracted place of birth in the document's local script.
        issuing_authority:
          type: string
          description: Authority that issued the document.
        issuing_authority_local:
          type: string
          description: Issuing authority in the document's local script.
        address:
          type: string
          description: >-
            Address printed on the document (driver's licenses, residence
            permits).
        address_local:
          type: string
          description: Address in the document's local script.
        document_discriminator:
          type: string
          description: >-
            US driver's-license document discriminator (DD) — issuance
            identifier separate from `document_number`.
        code:
          type: string
          description: >-
            Document code (jurisdiction-specific; e.g. control or check digit
            code).
        can:
          type: string
          description: Card Access Number (CAN) used on some eMRTD chips.
        eyes_color:
          type: string
          description: Eye-color string printed on the document (driver's licenses).
        hair_color:
          type: string
          description: Hair-color string printed on the document (driver's licenses).
        weight:
          type: string
          description: Weight printed on the document (driver's licenses).
        blood_group:
          type: string
          description: Blood-group string printed on the document.
        citizenship:
          type: string
          description: Citizenship as printed (free-form; may differ from `nationality`).
        ssrn:
          type: string
          description: Special Security Registration Number (jurisdiction-specific).
        civil_status:
          type: string
          description: Civil status (e.g. single, married) where printed on the document.
        residence_certificate_number:
          type: string
          description: Residence-certificate number printed on residence permits.
        visa_type:
          type: string
          description: Visa class / category printed on a visa document.
        visa_issue_date:
          type: string
          format: ISO-8601 date
          description: Visa issue date.
        visa_expiry_date:
          type: string
          format: ISO-8601 date
          description: Visa expiry date.
        petitioner:
          type: string
          description: Petitioner printed on a US visa (for petition-based categories).
    VerificationProfileSettings:
      type: object
      description: Verification profile settings
      required:
        - poi_required
        - poi_allowed_documents
        - face_comparison_required
        - face_comparison_allowed_documents
        - poa_required
        - allow_desktop
        - allow_poi_manual_uploads
      properties:
        poi_required:
          type: boolean
          default: true
          description: POI (proof of identity) check is required.
        poi_allowed_documents:
          type: array
          items:
            type: string
            description: Allowed documents for POI check
            enum:
              - passport
              - driver_license
              - id_card
              - residence_permit
        face_comparison_required:
          type: boolean
          default: true
          description: Face comparison check is required
        face_comparison_allowed_documents:
          type: array
          items:
            type: string
            description: Allowed documents for face comparison check
            enum:
              - selfie
              - liveness_photo
        poa_required:
          type: boolean
          default: false
          description: POA (proof of address) check is required
        disable_cross_check_by_bio:
          type: boolean
          default: false
          description: >-
            Don't do cross check by name and birth date in POI document across
            organization.
        disable_cross_check_by_photo:
          type: boolean
          default: false
          description: Don't do cross check by photo of applicant across organization.
        disable_verify_poa_country_match_with_poi:
          type: boolean
          default: false
          description: >-
            Disable requirement that country in POA document should be match
            within country in POI document
        countries:
          type: array
          description: List of allowed countries
          items:
            type: string
            format: ISO 3166-1 ALPHA-2 code
            description: >-
              Two-letter ISO 3166-1 ALPHA-2 code, reference
              [https://www.iban.com/country-codes](https://www.iban.com/country-codes)
            example: FR
        allow_poi_manual_uploads:
          type: boolean
          default: false
          description: Allow manual upload POI documents from files (now live photo)
        allow_desktop:
          type: boolean
          default: false
          description: Allow uploads throught desktop. False means only mobile allowed
        ui_settings:
          $ref: '#/components/schemas/UISettings'
        manual_field_settings:
          $ref: '#/components/schemas/ManualFieldsSettings'
        finish_screen_settings:
          $ref: '#/components/schemas/LinkFinishScreenSettings'
    ManualFieldsValues:
      type: object
      description: Custom fields values
      properties:
        full_name:
          type: string
        email:
          type: string
        phone:
          type: string
        country:
          type: string
        dob:
          type: string
          description: Date of birth.
        gender:
          type: string
          enum:
            - M
            - F
        citizenship:
          type: string
        address:
          type: string
        custom_fields:
          $ref: '#/components/schemas/CustomFields'
    CustomFiles:
      type: object
      description: Mapping of custom field labels to uploaded document info
      additionalProperties:
        type: object
        description: Custom file properties
        required:
          - document_id
          - content_type
        properties:
          document_id:
            type: string
            format: UUID
            example: 507a6573-60ca-499e-8950-e2ca435dfe4f
          content_type:
            type: string
            description: mime type
            example: image/jpeg
    MRZ:
      type: object
      nullable: true
      description: |
        Recognized MRZ data of document. The `data` object contains the
        fields documented below plus any additional OCR/MRZ fields the
        recognizer produced for the document — readers should treat
        unknown keys as forward-compatible additions.
      properties:
        data:
          type: object
          nullable: true
          additionalProperties: true
          properties:
            document_type:
              type: string
              description: |
                Raw MRZ document class (first MRZ character). Common values: `P`
                (passport), `I` / `A` / `C` (ID/travel card), `V` (visa).
                For the high-level document family use `poi_data.parsed_type`.
              example: P
            country:
              type: string
              description: >-
                Country of the document, reference
                [https://www.iban.com/country-codes](https://www.iban.com/country-codes)
              example: DEU
              format: ISO 3166-1 ALPHA-3 code
            name:
              type: string
              description: Extracted name
              nullable: true
              example: John
            surname:
              type: string
              description: Extracted surname
              nullable: true
              example: Doe
            doc_number:
              type: string
              description: Document number
              example: P-1234567890
            nationality:
              type: string
              nullable: true
              description: Extracted nationality
              example: DEU
              format: ISO 3166-1 ALPHA-3 code
            birth_date:
              type: string
              nullable: true
              description: Extracted birth date
              format: ISO-8601 date
              example: '1983-03-21'
            sex:
              type: string
              nullable: true
              description: Extracted sex, typically M or F
              example: M
            expiry_date:
              type: string
              nullable: true
              description: Extracted expiry date
              format: ISO-8601 date
              example: '2021-02-24'
    CheckEntity:
      type: object
      description: Object describes verification check, required documents and status
      properties:
        status:
          $ref: '#/components/schemas/CheckStatus'
        pending_documents:
          type: array
          description: List of required documents, that were not uploaded yet
          items:
            $ref: '#/components/schemas/DocumentType'
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                $ref: '#/components/schemas/VerificationErrorCode'
              message:
                type: string
                description: Descriptive error for a corresponding error code
                example: document parsing failed
    LivenessData:
      type: object
      description: |
        Liveness check payload. The `data` object carries the estimated age
        derived from the liveness image. It is present only when the
        organization is entitled to age estimation and the model produced a
        result; otherwise it is absent.
      properties:
        data:
          type: object
          nullable: true
          properties:
            estimated_age:
              type: integer
              description: Estimated age, in years.
              example: 37
            age_interval:
              type: array
              description: >-
                Confidence interval `[min, max]` for the estimated age, in
                years.
              items:
                type: integer
              minItems: 2
              maxItems: 2
              example:
                - 32
                - 45
    UISettings:
      type: object
      description: ui settigns to customize SDK
    ManualFieldsSettings:
      type: object
      description: Manual field settings
      required:
        - enabled
      properties:
        enabled:
          type: boolean
        description:
          type: string
        full_name:
          $ref: '#/components/schemas/ManualFieldSetting'
        email:
          $ref: '#/components/schemas/ManualFieldSetting'
        phone:
          $ref: '#/components/schemas/ManualFieldSetting'
        country:
          $ref: '#/components/schemas/ManualFieldSetting'
        dob:
          $ref: '#/components/schemas/ManualFieldSetting'
        gender:
          $ref: '#/components/schemas/ManualFieldSetting'
        citizenship:
          $ref: '#/components/schemas/ManualFieldSetting'
        address:
          $ref: '#/components/schemas/ManualFieldSetting'
        certificate_of_incorporation:
          $ref: '#/components/schemas/ManualFieldSetting'
        ownership_document:
          $ref: '#/components/schemas/ManualFieldSetting'
        custom_fields:
          type: array
          items:
            type: object
            required:
              - label
            properties:
              label:
                type: string
              caption:
                type: string
              order:
                type: integer
              options:
                oneOf:
                  - $ref: '#/components/schemas/CustomFieldSelectOptions'
                  - $ref: '#/components/schemas/CustomFieldFileOptions'
    LinkFinishScreenSettings:
      type: object
      description: Verification finish screen settings
      required:
        - enabled
      properties:
        enabled:
          type: boolean
        settings:
          type: object
          required:
            - title
          properties:
            title:
              type: string
            main_text:
              type: string
            redirect_warning:
              type: string
            cta:
              type: string
            redirect_link:
              type: string
              description: Redirect to this url after verification has finished
    CustomFields:
      type: object
      description: Key - value object, values can be only strings
    CheckStatus:
      type: string
      enum:
        - pending
        - in_progress
        - verified
        - failed
        - canceled
        - expired
      description: Describes possible document check statuses for a specific verification
    VerificationErrorCode:
      type: integer
      example: 1001
      description: >
        Numeric error code returned when a verification check fails. Codes are
        grouped by category:


        | Range         | Category                                     |

        | ------------- | -------------------------------------------- |

        | 500 – 501     | Tampering and device-level edits             |

        | 1000 – 1099   | OCR and document detection                   |

        | 1100 – 1999   | Data field checks                            |

        | 2000 – 2999   | MRZ parsing and validation                   |

        | 3000 – 3099   | Document expiration                          |

        | 3100 – 3199   | Document mismatch                            |

        | 3200 – 3299   | Age and date of birth                        |

        | 4000 – 4499   | Face detection and comparison                |

        | 4500 – 4999   | Proof of Address                             |

        | 5000 – 5499   | Liveness                                     |

        | 6000 – 6499   | AML                                          |

        | 7000 – 7099   | Cross-check (duplicates)                     |

        | 8000 – 8099   | Verification flow                            |

        | 9000 – 9099   | Dependency failures                          |

        | 9500 – 9799   | KYB                                          |

        | 10000         | Device fingerprinting                        |

        | 11000 – 11099 | SSN                                          |


        See [Verification Error Codes](/api-reference/error-codes) for the full
        list of codes and messages.
    ManualFieldSetting:
      type: object
      description: Manual field setting
      properties:
        enabled:
          type: boolean
        caption:
          type: string
          description: Caption of field
        order:
          type: integer
          description: Position order in UI
        optional:
          type: boolean
          description: This field is optional for submitter when true
    CustomFieldSelectOptions:
      type: object
      description: Options for custom field with predefined choices
      properties:
        choices:
          type: array
          description: Available choices for this field
          items:
            type: string
        type:
          type: string
          description: should be select
          const: select
    CustomFieldFileOptions:
      type: object
      description: Options for custom field for custom files upload
      required:
        - type
      properties:
        type:
          type: string
          description: should be file
          const: file
        attachment_type_preset:
          type: string
          description: It just preset settings allowed_mime_types and max_size.
          enum:
            - document
            - video
            - image
        allowed_mime_types:
          type: array
          description: List of allowed mime types
          example:
            - image/jpeg
          items:
            type: string
            example: image/jpeg
        min_size:
          example: 100000
          description: Minimum file size in bytes
          type: integer
        max_size:
          example: 8388608
          description: Maximum file size in bytes. Can't be bigger than 32*1024*1024
          type: integer
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: ds-api-token

````