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

# Verify a PAN

> Verify a PAN and the holder details claimed for it against official PAN records.



## OpenAPI

````yaml /suite/api-reference/openapi.json post /pan/v1/verify
openapi: 3.1.0
info:
  title: Privue API Suite
  description: >-
    Identity and account verification against government and banking sources.


    **Authentication.** Every request takes your API key as a bearer token:
    `Authorization: Bearer <your-key>`. A successful call to a billed endpoint
    deducts one credit; a call that fails is not charged.


    **Versioning.** Each endpoint is versioned on its own, directly in its path.
    A new version of one endpoint never moves another, so no release requires
    migrating every integration at once.


    **Retention.** Nothing you send and nothing we return is stored. Documents
    are returned as the issuer's own download links, and the response is the
    only copy, so retrieve what you need when you receive it. We record that a
    call happened, for billing and audit, never what it was about.
  version: 1.0.0
servers:
  - url: https://api.privue.ai
    description: Production
security: []
paths:
  /pan/v1/verify:
    post:
      tags:
        - PAN
      summary: Verify a PAN
      description: >-
        Verify a PAN and the holder details claimed for it against official PAN
        records.
      operationId: verify_pan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyPanRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PanVerificationResponse'
        default:
          description: The request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    VerifyPanRequest:
      properties:
        pan:
          type: string
          pattern: ^[A-Z]{5}[0-9]{4}[A-Z]$
          title: Pan
          description: Permanent Account Number to verify against official records
        name_as_per_pan:
          type: string
          minLength: 2
          title: Name As Per Pan
          description: Full name of the holder exactly as printed on the PAN card
        date_of_birth:
          type: string
          format: date
          title: Date Of Birth
          description: Date of birth, or date of incorporation for a non-individual holder
        reason:
          type: string
          minLength: 20
          title: Reason
          description: Purpose for requesting PAN verification
      type: object
      required:
        - pan
        - name_as_per_pan
        - date_of_birth
        - reason
      title: VerifyPanRequest
      description: Request to verify a PAN and the holder details claimed for it.
    PanVerificationResponse:
      properties:
        code:
          type: integer
          title: Code
          description: HTTP status code of the response
        timestamp:
          type: integer
          title: Timestamp
          description: Unix millisecond timestamp of when the response was produced
        transaction_id:
          type: string
          title: Transaction Id
          description: Identifier for this call. Quote it when raising a query about one
        data:
          $ref: '#/components/schemas/PanVerification'
      type: object
      required:
        - code
        - timestamp
        - transaction_id
        - data
      title: PanVerificationResponse
      description: Response to a PAN verification.
    ErrorResponse:
      properties:
        code:
          type: integer
          title: Code
          description: HTTP status code of the response
        timestamp:
          type: integer
          title: Timestamp
          description: Unix millisecond timestamp of when the response was produced
        message:
          type: string
          title: Message
          description: What went wrong, in one sentence
        transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Transaction Id
          description: >-
            Identifier for the call, present when it reached the source. Quote
            it when raising a query
      type: object
      required:
        - code
        - timestamp
        - message
      title: ErrorResponse
      description: Why a request failed.
    PanVerification:
      properties:
        pan:
          type: string
          title: Pan
          description: The PAN that was verified
        category:
          type: string
          title: Category
          description: >-
            Holder category the PAN was issued under, such as individual or
            company
        status:
          type: string
          title: Status
          description: The PAN's standing in official records
        remarks:
          anyOf:
            - type: string
            - type: 'null'
          title: Remarks
          description: >-
            Any note on the holder, such as a deceased individual or a merged
            company
        name_as_per_pan_match:
          type: boolean
          title: Name As Per Pan Match
          description: Whether the submitted name matches the record
        date_of_birth_match:
          type: boolean
          title: Date Of Birth Match
          description: Whether the submitted date of birth matches the record
        aadhaar_seeding_status:
          $ref: '#/components/schemas/AadhaarSeedingStatus'
      type: object
      required:
        - pan
        - category
        - status
        - name_as_per_pan_match
        - date_of_birth_match
        - aadhaar_seeding_status
      title: PanVerification
      description: >-
        What official records say about a PAN and the details claimed for it.


        ``name_as_per_pan_match`` and ``date_of_birth_match`` are the source's
        own comparison against

        what was submitted. ``remarks`` carries any note on the holder, such as
        a deceased individual or

        a merged or liquidated company.
    AadhaarSeedingStatus:
      type: string
      enum:
        - 'y'
        - 'n'
        - na
      title: AadhaarSeedingStatus
      description: Whether the PAN is linked to an Aadhaar.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````