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

# Passport v2

> Verify Indian passport details using passport file number and date of birth

Verifies an Indian passport by validating the passport file number and date of birth against government records via the IDFY provider. Returns passport holder details, application status, and credit usage for the request.


## OpenAPI

````yaml POST /v2/verification/passport/
openapi: 3.0.0
info:
  title: KonnectNXT API Store
  description: >-
    A sample API that uses a plant store as an example to demonstrate features
    in the OpenAPI specification
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://bgv.konnectnxt.com/api
    description: Production
  - url: https://testbgv.konnectnxt.com/api
    description: QA
security:
  - bearerAuth: []
paths:
  /v2/verification/passport/:
    post:
      tags:
        - Identity Verification
      summary: Passport Verification (v2)
      description: >-
        Verifies Indian passport details using passport file number and date of
        birth via the IDFY provider.
      operationId: verifyPassportV2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PassportVerificationV2Request'
            examples:
              valid_request:
                summary: Valid passport verification request
                value:
                  passport_file_number: HY1061281423925
                  date_of_birth: '2000-01-01'
              minimal_length:
                summary: Minimum valid passport file number (10 chars)
                value:
                  passport_file_number: HY10612814
                  date_of_birth: '1995-03-15'
              maximum_length:
                summary: Maximum valid passport file number (20 chars)
                value:
                  passport_file_number: HY1061281423925123456
                  date_of_birth: '1988-11-22'
      responses:
        '200':
          description: Passport verification successful - Passport found and verified
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/APIBaseResponse'
                  - type: object
                    required:
                      - data
                    properties:
                      data:
                        $ref: '#/components/schemas/PassportVerificationV2SuccessData'
                  - $ref: '#/components/schemas/Credits'
              examples:
                Success:
                  summary: Valid Data
                  value:
                    status: success
                    code: 200
                    message: Operation completed successfully
                    data:
                      status: SUCCESS
                      nameOnPassport: RAJESH KUMAR SHARMA
                      customerLastName: SHARMA
                      passportNumber: AJ596544
                      dateOfBirth: 02-07-2002
                      passportAppliedDate: 13-10-2025
                      message: >-
                        Passport AJ596544 has been dispatched and will be sent
                        to the applicant
                    credits_used: 10
                    credits_left: 4040
        '400':
          description: Bad Request - Invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorWithoutCredits'
              examples:
                missing_passport_file_number:
                  summary: Missing passport file number
                  value:
                    status: failed
                    code: 400
                    message: '`passport_file_number` is required.'
                    data: null
                passport_too_short:
                  summary: Passport file number too short
                  value:
                    status: failed
                    code: 400
                    message: '`passport_file_number` must be at least 10 characters.'
                    data: null
                passport_too_long:
                  summary: Passport file number exceeds maximum length
                  value:
                    status: failed
                    code: 400
                    message: '`passport_file_number` must be at most 20 characters.'
                    data: null
                non_alphanumeric_passport:
                  summary: Passport contains invalid characters
                  value:
                    status: failed
                    code: 400
                    message: >-
                      `passport_file_number` must contain only alphanumeric
                      characters.
                    data: null
                missing_date_of_birth:
                  summary: Missing date of birth
                  value:
                    status: failed
                    code: 400
                    message: '`date_of_birth` is required.'
                    data: null
                invalid_date_format:
                  summary: Invalid date format (not YYYY-MM-DD)
                  value:
                    status: failed
                    code: 400
                    message: '`date_of_birth` must be in YYYY-MM-DD format.'
                    data: null
        '401':
          $ref: '#/components/responses/401'
        '402':
          $ref: '#/components/responses/402'
        '404':
          description: Not Found - No matching passport record found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                passport_not_found:
                  summary: Passport not found in government records
                  value:
                    status: failed
                    code: 404
                    message: No matching passport record found
                    data: null
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    PassportVerificationV2Request:
      type: object
      required:
        - passport_file_number
        - date_of_birth
      properties:
        passport_file_number:
          type: string
          minLength: 10
          maxLength: 20
          pattern: ^[A-Z0-9]+$
          description: Passport file number (alphanumeric, 10-20 characters).
          example: BL1065981427925
        date_of_birth:
          type: string
          format: date
          pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
          description: Date of birth in YYYY-MM-DD format (ISO 8601).
          example: '2002-07-02'
    APIBaseResponse:
      type: object
      required:
        - status
        - code
        - message
      properties:
        status:
          $ref: '#/components/schemas/APIStatus'
        code:
          $ref: '#/components/schemas/HTTPCode'
        message:
          $ref: '#/components/schemas/APIMessage'
    PassportVerificationV2SuccessData:
      type: object
      required:
        - status
        - nameOnPassport
        - customerLastName
        - passportNumber
        - dateOfBirth
        - passportAppliedDate
        - message
      properties:
        status:
          type: string
          enum:
            - SUCCESS
          description: Verification status
          example: SUCCESS
        nameOnPassport:
          type: string
          description: Full name as it appears on the passport
          example: RAJESH KUMAR SHARMA
        customerLastName:
          type: string
          description: Last name / Surname of the passport holder
          example: SHARMA
        passportNumber:
          type: string
          description: Passport number (8-9 alphanumeric characters)
          example: AJ596544
        dateOfBirth:
          type: string
          description: Date of birth in DD-MM-YYYY format
          example: 02-07-2002
        passportAppliedDate:
          type: string
          description: Date when passport was applied in DD-MM-YYYY format
          example: 13-10-2025
        message:
          type: string
          description: Detailed verification message with passport status
          example: Passport Found and verified successfully
    Credits:
      type: object
      properties:
        credits_used:
          $ref: '#/components/schemas/CreditsUsed'
        credits_left:
          $ref: '#/components/schemas/CreditsLeft'
      required:
        - credits_used
        - credits_left
    ErrorWithoutCredits:
      allOf:
        - $ref: '#/components/schemas/Error'
        - $ref: '#/components/schemas/APIErrorData'
    Error:
      allOf:
        - $ref: '#/components/schemas/APIBaseResponse'
    APIStatus:
      type: string
      enum:
        - success
        - error
      description: Overall status of the API
    HTTPCode:
      type: integer
      description: HTTP status code
      example: 400
    APIMessage:
      type: string
      description: Description of the response or error
      example: Invalid request parameters
    CreditsUsed:
      type: integer
      description: Represents the total number of credits used in this request.
      example: 3
    CreditsLeft:
      type: integer
      description: 'Represents the remaining credits available for use. '
      example: 4040
    APIErrorData:
      type: object
      properties:
        data:
          type: object
          nullable: true
          example: null
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Error'
              - $ref: '#/components/schemas/APIErrorData'
          examples:
            Missing Token:
              summary: Bearer token is missing or invalid.
              value:
                status: error
                code: 401
                message: Bearer token is missing or invalid.
                data: null
            Incorrect Token Format:
              summary: Token format is incorrect
              value:
                status: error
                code: 401
                message: Token format is incorrect
                data: null
            No Admin Found:
              summary: No admin found for this request
              value:
                status: error
                code: 401
                message: No admin user found for this organization
                data: null
            Invalid API Key:
              summary: Invalid API Key
              value:
                status: error
                code: 401
                message: Invalid API key (organization ID)
                data: null
            User not Found:
              summary: User not found
              value:
                status: error
                code: 401
                message: User not found.
                data: null
    '402':
      description: Payment Required
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Error'
              - $ref: '#/components/schemas/APIErrorData'
          examples:
            Credit Limit Exceed:
              summary: Credit Limit Exceeded.
              value:
                status: error
                code: 402
                message: Credit Limit Exceeded.
                data: null
            Insufficient Credits:
              summary: Insufficient credits
              value:
                status: error
                code: 402
                message: 'Insufficient credits: 2 required, 1 remaining.'
                data: null
    '500':
      description: Internal Server Error
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Error'
              - $ref: '#/components/schemas/APIErrorData'
          examples:
            Internal Server Error:
              summary: Internal Server Error.
              value:
                status: error
                code: 500
                message: Internal Server Error.
                data: null
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key issued by KonnectNXT. Pass as `Authorization: Bearer
        <your_api_key>`.

````