> ## Documentation Index
> Fetch the complete documentation index at: https://developer.sandbox.co.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Get TRACES PAN verification status

> Check a TRACES PAN verification token number. Get the source status while processing or a signed JSON workbook download URL when available.

Pass the TRACES `token_number` as a query parameter and `deductor_access_token` in the `Authorization` header. This request has no body.

While the report is unavailable, `data` contains `token_number`, the TRACES `status` array, and `rejection_remarks`. Status values and rejection remarks retain the source text.

When the report is available, `data` contains only `output_json_url`. Download the [PAN verification workbook](https://developer.sandbox.co.in/api-reference/tds/compliance/pan-verification/vanilla_pan_verification_workbook.md) from this signed URL within 24 hours. Generated files are retained for 30 days.

If the deductor access token expires, [refresh the deductor session](https://developer.sandbox.co.in/api-reference/tds/compliance/traces/endpoints/refresh.md), then retry this request with the new access token.


## OpenAPI

````yaml api-reference/tds/compliance/openapi.json GET /tds/compliance/traces/deductors/pan/verify/status
openapi: 3.1.0
info:
  title: compliance
  description: >-
    Tax Deducted at Source (TDS) is an indirect method of collecting Income Tax.
    TDS is based on the principle of “Pay as you earn” which is beneficial for
    both the Government and the taxpayer. It is where a person making a payment
    of specified nature is liable to deduct tax at a prescribed rate. This
    ensures continuous revenue for the Government by way of Tax Deducted at the
    Source.


    The Payer making a payment is also responsible to deposit TDS with the
    Income Tax Department within a specified date and file a TDS Return. Once
    filed, the deposited amount will be shown in the Payee's Form 26AS which
    they can then use to claim tax credits when filing ITR.


    However, staying TDS compliant can be a hassle for businesses, as they are
    required to :


    1. Deduct TDS from payments that are liable for TDS Deduction at an
    appropriate rate.
        
    2. Deposit TDS to Government before the due date.
        
    3. File TDS Returns on a Quarterly basis.
        
    4. Issue a TDS Certificate by the deductor to the deductee.
        

    Organizations deducting TDS have to remain compliant with each of the steps.
    Failure to do so results in TDS Penalties by Authorities. Sandbox provides
    TDS Compliance APIs to help you automate end-to-end TDS compliance.
  version: 1.0.0
servers:
  - url: https://test-api.sandbox.co.in
    description: test
  - url: https://api.sandbox.co.in
    description: prod
security: []
tags:
  - name: TDS Compliance Check
  - name: Download CSI
  - name: FVU Generation
  - name: E-File TDS Return
  - name: TRACES
  - name: TRACES/TDS Certificate
  - name: TRACES/Credentials
  - name: TRACES/Challans
  - name: TDS
  - name: TDS Certificate
  - name: TRACES Credentials
  - name: Challans
paths:
  /tds/compliance/traces/deductors/pan/verify/status:
    get:
      tags:
        - TRACES
        - PAN verification
      summary: Get bulk PAN verification status
      description: >-
        Check a PAN verification request using its TRACES token number. While
        the report is unavailable, the response contains the TRACES status
        history and rejection remarks. When the report is available, data
        contains only output_json_url, a signed URL for the PAN verification
        workbook. The URL is valid for one day and the file is retained for 30
        days. The output contains PANs returned by TRACES, their source status
        text, and serial numbers assigned in report order.
      operationId: getTracesPanVerificationStatus
      parameters:
        - name: token_number
          in: query
          description: >-
            Token number returned when the PAN verification request was
            submitted.
          required: true
          schema:
            type: string
          examples:
            Verification report available:
              summary: Verification report available
              value: '26102348059'
            Token number not found:
              summary: Token number not found
              value: '99999999999999999999'
            Missing deductor access token:
              summary: Missing deductor access token
              value: '26102348059'
        - name: Authorization
          in: header
          description: >-
            Deductor access token returned by [Authenticate a TRACES
            deductor](https://developer.sandbox.co.in/api-reference/tds/compliance/traces/endpoints/authenticate).
            The token identifies the deductor TAN.
          required: true
          schema:
            type: string
          examples:
            Verification report available:
              summary: Verification report available
              value: '{{deductor_access_token}}'
            Token number not found:
              summary: Token number not found
              value: '{{deductor_access_token}}'
            Missing token number:
              summary: Missing token number
              value: '{{deductor_access_token}}'
        - name: x-api-key
          in: header
          description: Sandbox API key.
          required: true
          schema:
            type: string
          examples:
            Verification report available:
              summary: Verification report available
              value: '{{api_key}}'
            Token number not found:
              summary: Token number not found
              value: '{{api_key}}'
            Missing token number:
              summary: Missing token number
              value: '{{api_key}}'
            Missing deductor access token:
              summary: Missing deductor access token
              value: '{{api_key}}'
        - name: Content-Type
          in: header
          description: Request body format.
          required: true
          schema:
            type: string
          examples:
            Verification report available:
              summary: Verification report available
              value: application/json
            Token number not found:
              summary: Token number not found
              value: application/json
            Missing token number:
              summary: Missing token number
              value: application/json
            Missing deductor access token:
              summary: Missing deductor access token
              value: application/json
      responses:
        '200':
          description: >-
            The TRACES status history or the signed URL for the completed PAN
            verification workbook.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  timestamp:
                    type: integer
                    description: Unix timestamp in milliseconds.
                  transaction_id:
                    type: string
                  data:
                    oneOf:
                      - type: object
                        properties:
                          token_number:
                            type: string
                            description: >-
                              Token number assigned by TRACES to this PAN
                              verification request.
                          status:
                            type: array
                            items:
                              type: string
                            description: >-
                              Processing status history returned by TRACES.
                              Values are returned unchanged.
                          rejection_remarks:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Rejection remarks returned by TRACES, or null when
                              none are available.
                        required:
                          - token_number
                          - status
                          - rejection_remarks
                        additionalProperties: false
                      - type: object
                        properties:
                          output_json_url:
                            type: string
                            format: uri
                            description: >-
                              Signed download URL for the PAN verification
                              workbook. The URL is valid for one day.
                        required:
                          - output_json_url
                        additionalProperties: false
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - data
                additionalProperties: false
              examples:
                Verification report available:
                  summary: Verification report available
                  value:
                    code: 200
                    timestamp: 1792265454381
                    data:
                      output_json_url: >-
                        https://example-bucket.s3.ap-south-1.amazonaws.com/workspace-id/AHMS45586C/26102348059/pan-verification.json?X-Amz-Expires=86400&X-Amz-Signature=example
                    transaction_id: d14d4747-9478-4557-b357-fe143549939d
        '400':
          description: Required request data is missing or invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    enum:
                      - 400
                  timestamp:
                    type: integer
                    description: Unix timestamp in milliseconds.
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
                additionalProperties: false
              examples:
                Missing token number:
                  summary: Missing token number
                  value:
                    code: 400
                    timestamp: 1792265462163
                    message: 'Missing required request parameters: [token_number]'
                    transaction_id: 0b3bba3e-3cc6-49e8-9bb9-a2becd68809c
        '401':
          description: The deductor access token is not valid for this request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    enum:
                      - 401
                  timestamp:
                    type: integer
                    description: Unix timestamp in milliseconds.
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
                additionalProperties: false
              examples:
                Missing deductor access token:
                  summary: Missing deductor access token
                  value:
                    code: 401
                    message: Unauthorized
                    timestamp: 1792265462059
                    transaction_id: 95f1cca7-9751-4117-897e-7653dd81085a
        '403':
          description: Access to this API is denied.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    enum:
                      - 403
                  timestamp:
                    type: integer
                    description: Unix timestamp in milliseconds.
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
                additionalProperties: false
        '500':
          description: The request could not be completed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    enum:
                      - 500
                  timestamp:
                    type: integer
                    description: Unix timestamp in milliseconds.
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
                additionalProperties: false
        '503':
          description: TRACES could not complete the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    enum:
                      - 503
                  timestamp:
                    type: integer
                    description: Unix timestamp in milliseconds.
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
                additionalProperties: false
        '521':
          description: >-
            No PAN verification request matches the token number for the
            authenticated deductor.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    enum:
                      - 521
                  timestamp:
                    type: integer
                    description: Unix timestamp in milliseconds.
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
                additionalProperties: false
              examples:
                Token number not found:
                  summary: Token number not found
                  value:
                    code: 521
                    timestamp: 1792265461191
                    message: PAN verification request not found
                    transaction_id: ab61a481-a0cc-40de-adc1-d6b550c4c50a
      deprecated: false
      security: []

````

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