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

# Add TRACES credentials

> Add the TRACES login credentials for a TAN.



## OpenAPI

````yaml api-reference/tds/compliance/openapi.json POST /tds/traces/deductors/credential
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
  - url: https://api.sandbox.co.in
security: []
tags:
  - name: TDS Compliance Check
  - name: Download CSI
  - name: FVU Generation
  - name: E-File TDS Return
  - name: TDS
  - name: TDS Certificate
  - name: TRACES Credentials
paths:
  /tds/traces/deductors/credential:
    post:
      tags:
        - TRACES Credentials
      summary: Add TRACES credentials
      description: >-
        Add the TRACES login credentials for a TAN. APIs that require TRACES
        access use these credentials when processing requests for the TAN.
      operationId: AddTracesCredentials
      parameters:
        - name: Authorization
          in: header
          description: >-
            JWT access token. For token-generation steps, refer to the
            [Quickstart
            Guide](https://developer.sandbox.co.in/guides/get-started/quickstart).
          required: true
          example: '{{access_token}}'
          schema:
            type: string
        - name: x-api-key
          in: header
          description: API key used to identify and authenticate the client.
          required: true
          example: '{{api_key}}'
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                '@entity':
                  type: string
                  description: Entity identifier for the request.
                tan:
                  type: string
                  description: TAN for the TRACES account.
                password:
                  type: string
                  format: password
                  writeOnly: true
                  description: Password for the TRACES account.
              required:
                - '@entity'
                - tan
                - password
            examples:
              Success:
                value:
                  '@entity': in.co.sandbox.tds.traces.deductor.credential.request
                  tan: AHMS45586C
                  password: '{{password}}'
                summary: Success
              'Failure: Invalid Request Body':
                value:
                  '@entity': in.co.sandbox.tds.traces.deductor.credential.request
                  tan: AHMS45586C
                summary: 'Failure: Invalid Request Body'
              'Failure: Credential already exists':
                value:
                  '@entity': in.co.sandbox.tds.traces.deductor.credential.request
                  tan: AHMS45586C
                  password: '{{password}}'
                summary: 'Failure: Credential already exists'
      responses:
        '200':
          description: The TRACES credentials were added.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
              examples:
                Success:
                  summary: Success
                  value:
                    code: 200
                    timestamp: 1788414642383
                    transaction_id: 45a5d0e7-d428-47c3-906e-b039d0e4e157
          headers: {}
        '400':
          description: The request body is invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  message:
                    type: string
                  transaction_id:
                    type: string
                required:
                  - code
                  - timestamp
                  - message
                  - transaction_id
              examples:
                'Failure: Invalid Request Body':
                  summary: 'Failure: Invalid Request Body'
                  value:
                    code: 400
                    timestamp: 1788414799493
                    message: Invalid request body
                    transaction_id: 1113442c-0914-42d5-91e8-c372f67f902f
          headers: {}
        '409':
          description: >-
            Credentials already exist for the TAN. Delete the existing
            credentials before you add new credentials.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  message:
                    type: string
                  transaction_id:
                    type: string
                required:
                  - code
                  - timestamp
                  - message
                  - transaction_id
              examples:
                'Failure: Credential already exists':
                  summary: 'Failure: Credential already exists'
                  value:
                    code: 409
                    timestamp: 1788415156044
                    message: TRACES credential already exists
                    transaction_id: 57e1ee72-71ae-4c5d-bc6b-eab44cccab3c
          headers: {}
      deprecated: false
      security: []

````