> ## 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.

# DigiLocker document types

> List every document DigiLocker can pull, with its issuer and the parameters it is pulled by.

Needs no consent and takes no body. Each entry's `doc_type`, `org_id` and the `parameter_name` of its search parameters are what `/digilocker/v1/pull-document.1` takes. The list is refreshed once a day, and where DigiLocker cannot be reached for a refresh, the last list read is answered.



## OpenAPI

````yaml /suite/api-reference/openapi.json post /digilocker/v1/document-types.1
openapi: 3.1.0
info:
  title: Privue API Suite
  version: 1.0.0
  description: >-
    Business, tax, registry, employment and identity verification against
    official Indian sources, a person's own documents read through DigiLocker
    with their consent, and an EPF member's passbook read with the OTP they
    receive.


    **Authentication.** Every request takes your API key as a bearer token:
    `Authorization: Bearer <your-key>`.


    **One envelope.** Every check returns the reasons behind a refusal and the
    record the source held, and an empty `reasons` means the check passed.
    Branch on `reasons` rather than on the status code, because a call the
    source answered returns `200` whatever it concluded.


    **DigiLocker and EPFO passbook.** A DigiLocker endpoint returns `details`
    alone: what it read, as the source holds it. So do submitting an EPFO
    passbook OTP and reading the passbook; sending the OTP answers like a check.


    **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.
servers:
  - url: https://api.privue.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Checks
    description: One check on one subject, answered in the envelope every check shares.
  - name: DigiLocker
    description: >-
      A person's own documents, read through the consent they give at
      DigiLocker.
  - name: EPFO passbook
    description: >-
      A member's EPF passbook, read with the OTP sent to the mobile number on
      their account.
  - name: Orchestrated flows
    description: Every check on one business, asked and answered together in a single call.
  - name: Usage
    description: What you have called, and when.
paths:
  /digilocker/v1/document-types.1:
    post:
      tags:
        - DigiLocker
      summary: DigiLocker document types
      description: >-
        List every document DigiLocker can pull, with its issuer and the
        parameters it is pulled by.


        Needs no consent and takes no body. Each entry's `doc_type`, `org_id`
        and the `parameter_name` of its search parameters are what
        `/digilocker/v1/pull-document.1` takes. The list is refreshed once a
        day, and where DigiLocker cannot be reached for a refresh, the last list
        read is answered.
      operationId: digilocker.document-types.1
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentTypesResponse'
              examples:
                documents:
                  summary: The documents DigiLocker can pull
                  value:
                    details:
                      documents:
                        - doc_type: PANCR
                          doc_description: PAN Verification Record
                          org_id: '001891'
                          org_name: Income Tax Department
                          search_parameters:
                            - parameter_name: panno
                              parameter_example: ABCDE1234F
                              is_parameter_value_a_list: 'No'
                              parameter_value_list: ''
                            - parameter_name: panName
                              parameter_example: Name as per PAN
                              is_parameter_value_a_list: 'No'
                              parameter_value_list: ''
        '401':
          description: The API key is missing, malformed or not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiteError'
        '403':
          description: The key is valid but is not entitled to this feature.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiteError'
        '422':
          description: >-
            The request failed validation, or the source would not accept the
            details in it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiteError'
        '429':
          description: >-
            The key is not cleared for this feature, or is sending too many
            requests. Nothing was called.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiteError'
        '503':
          description: >-
            The source could not be reached, or authentication is temporarily
            unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiteError'
        default:
          description: The request failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuiteError'
components:
  schemas:
    DocumentTypesResponse:
      properties:
        details:
          $ref: '#/components/schemas/DocumentTypes'
          description: The documents DigiLocker can pull
      type: object
      required:
        - details
      title: DocumentTypesResponse
      description: >-
        Every document DigiLocker can pull, with its issuer and what it is
        pulled by.
    SuiteError:
      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
      type: object
      required:
        - code
        - timestamp
        - message
      title: SuiteError
      description: Why a request failed.
    DocumentTypes:
      properties:
        documents:
          items:
            $ref: '#/components/schemas/DocumentType'
          type: array
          title: Documents
      type: object
      required:
        - documents
      title: DocumentTypes
      description: Every document DigiLocker can pull.
    DocumentType:
      properties:
        doc_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Doc Type
        doc_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Doc Description
        org_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Org Id
        org_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Org Name
        search_parameters:
          anyOf:
            - items:
                $ref: '#/components/schemas/SearchParameter'
              type: array
            - type: 'null'
          title: Search Parameters
      type: object
      title: DocumentType
      description: >-
        A document DigiLocker can pull, the issuer of it, and what it is pulled
        by.
    SearchParameter:
      properties:
        parameter_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Parameter Name
          description: The key to send in `search_parameters`
        parameter_example:
          anyOf:
            - type: string
            - type: 'null'
          title: Parameter Example
        is_parameter_value_a_list:
          anyOf:
            - type: string
            - type: 'null'
          title: Is Parameter Value A List
        parameter_value_list:
          anyOf:
            - type: string
            - type: 'null'
          title: Parameter Value List
      type: object
      title: SearchParameter
      description: One search parameter a document type is pulled by.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key, sent as `Authorization: Bearer <your-key>`.'

````

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