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

> ## Agent Instructions
> Money amounts are always major-unit decimal strings (e.g. "1000.00"), never floats and never minor units, in every request, response, and webhook payload.
> Authentication is OAuth 2.0 client credentials: exchange the Client ID and Client Secret at the Token URL for a 24-hour JWT and cache it; do not request a token per call.
> Set a unique clientRef on every money-moving request; it is the idempotency key, and retries return the original resource.
> Quotes are single-use, intent-locked, and expire fast: always read expiresAt, consume the quote with the executor matching its intent, and re-quote on expiry instead of retrying.
> Prefer webhooks over polling for payout, order, application, and virtual-account status tracking.
> Use the sandbox (api.sandbox.zuba.com) with its deterministic magic values before touching production.

# Read the applicant's identity verification

> The outcome on record and the current attempt. While an attempt is pending, its decision is read (at most every 15 seconds) and applied, so the state does not wait on the webhook alone. A `verified` or `waived` outcome satisfies the identity requirement of POST /v2/applications/{id}/submit. The hosted link is not returned here; POST /v2/applications/{id}/identity-verification/session starts an attempt with a new one.



## OpenAPI

````yaml /openapi.json get /v2/applications/{id}/identity-verification
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Comprehensive payment platform API supporting fiat and crypto payments,
    currency conversion, and compliance management
  title: Zuba Payment Platform API
  version: '1.0'
servers: []
security: []
tags:
  - description: Manage M2M API keys and credentials
    name: API Keys
  - description: Per-country bank directories and bank-account enquiries
    name: Banks
  - description: Internal ledger accounts and transactions
    name: Ledger
  - description: Handle incoming payments and deposits
    name: Pay-ins
  - description: Manage payouts, beneficiaries, and SEPA transfers
    name: Payouts
  - description: Manage outbound webhook endpoints and deliveries
    name: Webhooks
paths:
  /v2/applications/{id}/identity-verification:
    get:
      tags:
        - Applications (v2)
      summary: Read the applicant's identity verification
      description: >-
        The outcome on record and the current attempt. While an attempt is
        pending, its decision is read (at most every 15 seconds) and applied, so
        the state does not wait on the webhook alone. A `verified` or `waived`
        outcome satisfies the identity requirement of POST
        /v2/applications/{id}/submit. The hosted link is not returned here; POST
        /v2/applications/{id}/identity-verification/session starts an attempt
        with a new one.
      operationId: ApplicationV2Controller_getIdentityVerification
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationIdentityVerificationDto'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: The application id is not a UUID
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: >-
            The application belongs to another account, which returns a generic
            body.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: Not found
      security:
        - bearer: []
components:
  schemas:
    ApplicationIdentityVerificationDto:
      properties:
        sessionId:
          description: >-
            The current attempt's session id; null for a waive, before any
            attempt, and in the sandbox, where starting a session verifies the
            applicant at once.
          nullable: true
          type: string
        status:
          description: >-
            The outcome on record. `pending` while an attempt is open;
            `verified` or `waived` satisfies the identity requirement of POST
            /v2/applications/{id}/submit; `rejected` ends an attempt without a
            pass, and a new session may be started. Null until an attempt is
            started or the step is waived, and after a change to the applicant’s
            identity details withdraws a pass.
          enum:
            - pending
            - verified
            - rejected
            - waived
          nullable: true
          type: string
        submittedAt:
          description: When the attempt reached its outcome or was waived.
          format: date-time
          nullable: true
          type: string
      required:
        - status
        - sessionId
        - submittedAt
      type: object
    GenericErrorResponseDto:
      properties:
        error:
          description: Error type identifier
          example: BAD_REQUEST
          type: string
        message:
          description: Error message
          example: Bad Request
          type: string
        path:
          description: Request path that generated the error
          example: /v1/resource
          type: string
        statusCode:
          description: HTTP status code
          example: 400
          type: number
        timestamp:
          description: ISO timestamp when the error occurred
          example: '2024-01-15T10:30:00.000Z'
          type: string
      required:
        - statusCode
        - message
        - error
        - timestamp
        - path
      type: object
  securitySchemes:
    bearer:
      bearerFormat: JWT
      description: Enter Auth0 JWT token
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.