HyperVerge KYC OCR API

Document OCR and KYC field extraction for Indian identity documents.

OpenAPI Specification

hyperverge-kyc-ocr-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: HyperVerge Identity Verification Database Verification KYC OCR API
  description: "HyperVerge is an AI-based identity verification and customer onboarding platform. This document models HyperVerge's documented public REST surface for India, drawn from HyperVerge's official REST-API documentation repositories on GitHub. The surface spans three region hosts:\n\n\n  * `https://ind-docs.hyperverge.co/v2.0` - KYC document OCR / extraction.\n\n  * `https://ind-verify.hyperverge.co` - central database verification,\n    input validation, and field matching.\n\n  * `https://ind-faceid.hyperverge.co` - face match.\n\n\nAll requests authenticate with an `appId` and `appKey` pair issued by the HyperVerge team (headers are lowercase `appid`/`appkey` on the Face Match host). Credentials are provided after enterprise onboarding. Region hosts exist for other geographies (for example `apac.faceid.hyperverge.co` for Face Match in APAC); only the India hosts are modeled here.\n\nScope note: endpoint paths, methods, and auth are grounded in HyperVerge's published REST documentation. Request/response schemas are modeled representatively (multipart form-data and JSON bodies) rather than copied field-for-field, and are flagged where they are approximate. Liveness detection is delivered via HyperVerge's SDKs/Workflow and is not modeled as a REST operation here because a standalone public REST endpoint was not confirmed at review time."
  version: '1.0'
  contact:
    name: HyperVerge
    url: https://hyperverge.co
  x-modeled-note: Paths, methods, hosts, and appId/appKey auth are confirmed from HyperVerge's public REST-API repositories. Response schemas are representative models, not verbatim contracts.
servers:
- url: https://ind-verify.hyperverge.co
  description: India - Database Verification, Input Validation, Matching
- url: https://ind-docs.hyperverge.co/v2.0
  description: India - KYC OCR / Extraction
- url: https://ind-faceid.hyperverge.co
  description: India - Face Match
security:
- appIdKey: []
tags:
- name: KYC OCR
  description: Document OCR and KYC field extraction for Indian identity documents.
paths:
  /readKYC:
    servers:
    - url: https://ind-docs.hyperverge.co/v2.0
    post:
      operationId: readKYC
      tags:
      - KYC OCR
      summary: Extract KYC fields (auto-detect document)
      description: Auto-detects the supported Indian document type in the supplied image, PDF, or URL and extracts the relevant KYC fields.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OcrDocumentInput'
      responses:
        '200':
          description: Extraction result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /readPAN:
    servers:
    - url: https://ind-docs.hyperverge.co/v2.0
    post:
      operationId: readPAN
      tags:
      - KYC OCR
      summary: Extract PAN card fields
      description: Extracts fields from an Indian PAN card image, PDF, or URL.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OcrDocumentInput'
      responses:
        '200':
          description: Extraction result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /readAadhaar:
    servers:
    - url: https://ind-docs.hyperverge.co/v2.0
    post:
      operationId: readAadhaar
      tags:
      - KYC OCR
      summary: Extract Aadhaar card fields
      description: Extracts fields from an Aadhaar card image, PDF, or URL.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OcrDocumentInput'
      responses:
        '200':
          description: Extraction result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /readPassport:
    servers:
    - url: https://ind-docs.hyperverge.co/v2.0
    post:
      operationId: readPassport
      tags:
      - KYC OCR
      summary: Extract Indian passport fields
      description: Extracts fields from an Indian passport image, PDF, or URL.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OcrDocumentInput'
      responses:
        '200':
          description: Extraction result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /readVoterID:
    servers:
    - url: https://ind-docs.hyperverge.co/v2.0
    post:
      operationId: readVoterID
      tags:
      - KYC OCR
      summary: Extract Voter ID fields
      description: Extracts fields from a Voter ID (EPIC) card image, PDF, or URL.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OcrDocumentInput'
      responses:
        '200':
          description: Extraction result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OcrResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    OcrDocumentInput:
      type: object
      description: Supply exactly one of image, pdf, or url. Modeled representatively from HyperVerge KYC docs.
      properties:
        image:
          type: string
          format: binary
          description: Document image (JPEG, PNG, or TIFF).
        pdf:
          type: string
          format: binary
          description: Document as a PDF.
        url:
          type: string
          format: uri
          description: Publicly accessible URL to the document.
        qualityCheck:
          type: string
          enum:
          - 'yes'
          - 'no'
          description: Detect black/white or low-quality documents.
        faceCheck:
          type: string
          enum:
          - 'yes'
          - 'no'
          description: Verify a face is present on the document.
        outputImageUrl:
          type: string
          enum:
          - 'yes'
          - 'no'
          description: Return a cropped/aligned image URL.
    OcrResult:
      type: object
      description: Representative KYC extraction response (modeled).
      properties:
        status:
          type: string
          example: success
        statusCode:
          type: string
          example: '200'
        result:
          type: object
          additionalProperties: true
          description: Extracted document fields (fields vary by document type).
    Error:
      type: object
      properties:
        status:
          type: string
          example: failure
        statusCode:
          type: string
          example: '401'
        error:
          type: string
          example: Invalid credentials.
  responses:
    Unauthorized:
      description: Invalid or missing appId/appKey credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    appIdKey:
      type: apiKey
      in: header
      name: appId
      description: 'HyperVerge issues an appId and appKey pair after enterprise onboarding. Both are sent as request headers: `appId` and `appKey` on the ind-docs and ind-verify hosts, and lowercase `appid` and `appkey` on the ind-faceid (Face Match) host. Do not expose these credentials in browser applications.'