Digio KYC API

DigiKYC - identity verification via CKYC, KRA, DigiLocker, and offline Aadhaar.

OpenAPI Specification

digio-kyc-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Digio Documents KYC API
  description: Digio is an India-based digital trust and paperwork automation platform offering legally-valid Aadhaar/OTP eSign, eStamping, KYC (CKYC, KRA, DigiLocker, offline Aadhaar, Video KYC), eNACH/NACH eMandates, UPI Autopay, AML/CFT screening, and document/agreement management over a REST API. All requests use HTTPS with HTTP Basic authentication (Base64 of client_id:client_secret). Asynchronous status updates are delivered via HTTP webhooks; there is no WebSocket surface.
  version: '1.0'
  contact:
    name: Digio Developer Support
    url: https://documentation.digio.in/
    email: tech@digio.in
  termsOfService: https://www.digio.in/
servers:
- url: https://api.digio.in
  description: Production
- url: https://ext.digio.in
  description: Sandbox / Test
security:
- basicAuth: []
tags:
- name: KYC
  description: DigiKYC - identity verification via CKYC, KRA, DigiLocker, and offline Aadhaar.
paths:
  /client/kyc/v2/request/with_template:
    post:
      operationId: createKycRequest
      tags:
      - KYC
      summary: Create a KYC request with a template
      description: Initiates a KYC verification workflow using a pre-configured DigiKYC template (Aadhaar offline, DigiLocker, ID proof, CKYC, KRA, Video KYC). Returns a request id prefixed with KID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KycRequest'
      responses:
        '200':
          description: KYC request created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KycResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /client/kyc/v2/{request_id}/response:
    get:
      operationId: getKycResponse
      tags:
      - KYC
      summary: Get KYC request response
      description: Fetches the collected identity data, extracted fields, and verification result for a completed KYC request.
      parameters:
      - name: request_id
        in: path
        required: true
        description: KYC request identifier (KID...).
        schema:
          type: string
      responses:
        '200':
          description: KYC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KycResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    KycResponse:
      type: object
      properties:
        id:
          type: string
          description: KYC request identifier (KID...).
        status:
          type: string
          enum:
          - requested
          - approval_pending
          - approved
          - rejected
        customer_identifier:
          type: string
        actions:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              status:
                type: string
              details:
                type: object
                additionalProperties: true
        created_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: string
    KycRequest:
      type: object
      properties:
        customer_identifier:
          type: string
          description: Customer email or phone number.
        customer_name:
          type: string
        template_name:
          type: string
          description: DigiKYC workflow template name.
        notify_customer:
          type: boolean
        generate_access_token:
          type: boolean
      required:
      - customer_identifier
      - template_name
  responses:
    Unauthorized:
      description: Missing or invalid Basic authentication credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic authentication. Send the header Authorization: Basic Base64(client_id:client_secret).'