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

# Verify GSTIN

> Use this API to verify whether the GSTIN information is valid. If the GSTIN is valid, the associated details are sent in the response.

View the [test data](https://www.cashfree.com/docs/api-reference/vrs/data-to-test-integration#gstin) and use the information to trigger the validations. The test data can be used only in the sandbox environment.



## OpenAPI

````yaml post /gstin
openapi: 3.0.0
info:
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    email: developers@cashfree.com
    name: API Support
    url: https://discord.com/invite/QdZkNSxXsB
  title: Cashfree Verification API's.
  version: '2023-12-18'
  description: >-
    Cashfree's Verification APIs provide different types of verification to our
    merchants.
servers:
  - description: Sandbox Server
    url: https://sandbox.cashfree.com/verification
  - description: Production Server
    url: https://api.cashfree.com/verification
security: []
tags:
  - name: Aadhaar
    description: Operations related to Aadhaar verification.
  - name: BAV V2
    description: Operations related to Bank account verification v2.
  - name: PAN
    description: Operations related to PAN verification.
  - name: Digilocker
    description: Operations related to Digilocker verification.
  - name: E-sign
    description: Operations related to E-sign verification.
  - name: Reverse Penny Drop
    description: Operations related to Reverse Penny Drop verification.
  - name: UPI Penny Drop
    description: Operations related to UPI Penny Drop verification.
  - name: Mobile Penny Drop
    description: Operations related to Mobile Penny Drop verification.
  - name: IP
    description: Operation related to IP verification.
  - name: UPI
    description: Operations related to UPI verification.
  - name: Passport
    description: Operation related to Passport verification.
  - name: CIN
    description: Operation related to CIN verification.
  - name: Name Match
    description: Operation related to Name Match verification.
  - name: PAN to GSTIN
    description: Operation related to PAN to GSTIN.
  - name: Face Match
    description: Operation related to Face Match verification.
  - name: Voter ID
    description: Operation related to Voter ID verification.
  - name: Reverse Geocoding
    description: Operation related to Reverse Geocoding.
  - name: Vehicle RC
    description: Operation related to Vehicle RC verification.
  - name: Driving License
    description: Operation related to Driving License verification.
  - name: GSTIN
    description: Operation related to GSTIN verification.
  - name: Account Aggregator
    description: Operations related to Account aggregator.
  - name: OTPLess
    description: Operations related to OTPLess Verification.
  - name: 1-Click
    description: Operations related to 1-Click.
  - name: Smart OCR
    description: Operations related to Smart OCR.
  - name: Geocoding
    description: Operations related to Geocoding.
  - name: Udyam
    description: Operation related to Udyam verification.
  - name: PAN to Udyam
    description: Operation related to PAN to Udyam.
paths:
  /gstin:
    post:
      tags:
        - GSTIN
      summary: Verify GSTIN
      description: >-
        Use this API to verify whether the GSTIN information is valid. If the
        GSTIN is valid, the associated details are sent in the response.


        View the [test
        data](https://www.cashfree.com/docs/api-reference/vrs/data-to-test-integration#gstin)
        and use the information to trigger the validations. The test data can be
        used only in the sandbox environment.
      operationId: VrsGstinVerification
      parameters:
        - $ref: '#/components/parameters/x_cf_signature'
      requestBody:
        $ref: '#/components/requestBodies/GstinVerificationRequest'
      responses:
        '200':
          $ref: '#/components/responses/GstinSuccessResponse'
        '400':
          $ref: '#/components/responses/Response400Gstin'
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/Response403'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500AllCases'
      security:
        - XClientID: []
          XClientSecret: []
components:
  parameters:
    x_cf_signature:
      description: >-
        Send the signature if two-factor authentication is selected as Public
        Key.  [More
        details](https://www.cashfree.com/docs/api-reference/vrs/getting-started#2fa-api-signature-generation).
      name: x-cf-signature
      in: header
      required: false
      schema:
        type: string
      example: ''
  requestBodies:
    GstinVerificationRequest:
      description: Find the request parameters to retrieve GSTIN information.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GstinRequestSchema'
  responses:
    GstinSuccessResponse:
      description: Success response for retrieving GSTIN information.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GstinResponseSchema'
          examples:
            GSTIN Exists:
              value:
                reference_id: 19
                GSTIN: 29AAICP2912R1ZR
                legal_name_of_business: UJJIVAN SMALL FINANCE BANK LIMITED
                trade_name_of_business: UJJIVAN SMALL FINANCE BANK
                center_jurisdiction: I-A RANGE
                state_jurisdiction: GUWAHATI - A - 1
                date_of_registration: '2017-09-30'
                constitution_of_business: Public Limited Company
                taxpayer_type: Regular
                gst_in_status: Active
                last_update_date: '2022-03-01'
                nature_of_business_activities:
                  - Retail Business
                  - Supplier of Services
                  - Recipient of Goods or Services
                  - Office / Sale Office
                  - Others
                principal_place_address: >-
                  First Floor 3512-DISPUR Prithivi Mansion opp. KFC building
                  G.S. Road, Lachit Nagar Assam 781007
                principal_place_split_address:
                  building_name: Prithivi Mansion
                  street: G.S. Road
                  location: Lachit Nagar
                  building_number: 3512-DISPUR
                  district: Guwahati
                  state: Assam
                  city: Dispur
                  flat_number: First Floor
                  latitude: '26.1445'
                  longitude: '91.7362'
                  pincode: '781007'
                additional_address_array:
                  - address: >-
                      Mirza Santipur NH-37 Dist-Kamrup Rural PS-Palashbari, PO 
                      Mirza Kamrup Assam 781125
                    split_address:
                      building_name: ''
                      street: NH-37
                      location: Santipur, Mirza
                      building_number: ''
                      district: Kamrup Rural
                      state: Assam
                      city: Palashbari
                      flat_number: ''
                      latitude: '26.0926'
                      longitude: '91.5069'
                      pincode: '781125'
                  - address: >-
                      N.A.C.C.I. Foundation 3559-Tezpur CHAMBER BHAWAN Binjraj
                      Road, P. o. and P.S. - Tezpur, Dist. Binjraj Road, P. o.
                      and P.S. - Tezpur, Dist. Sonitpur Assam 784154
                    split_address:
                      building_name: CHAMBER BHAWAN
                      street: Binjraj Road
                      location: Tezpur
                      building_number: 3559-Tezpur
                      district: Sonitpur
                      state: Assam
                      city: Tezpur
                      flat_number: ''
                      latitude: '26.6338'
                      longitude: '92.8006'
                      pincode: '784154'
                valid: true
                message: GSTIN Exists
            GSTIN Doesn't Exist:
              value:
                reference_id: 20
                GSTIN: 22ABCDE1234F1Z5
                message: GSTIN Doesn't Exist
    Response400Gstin:
      description: Validation errors for Verify GSTIN API.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            GSTIN Invalid Format:
              $ref: '#/components/examples/WrongFormatOfGstin'
            GSTIN Missing:
              $ref: '#/components/examples/GstinMissingInRequest'
            Business Name Length Exceeded:
              $ref: '#/components/examples/BusinessNameLengthError'
            Business Name Invalid Format:
              $ref: '#/components/examples/BusinessNameFormatError'
            Client ID/Client Secret in Missing:
              $ref: '#/components/examples/XClientIdMissing'
            Using Test Credentials In Prod:
              $ref: '#/components/examples/UsingTestCredentialsInProd'
    Response401:
      description: Invalid client ID and client secret combination.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Invalid client ID and client secret combination:
              value:
                type: authentication_error
                code: authentication_failed
                message: Invalid clientId and clientSecret combination
    Response403:
      description: Authentication error (IP not whitelisted).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            IP not whitelisted:
              value:
                type: authentication_error
                code: ip_validation_failed
                message: >-
                  IP not whitelisted your current ip is 106.51.91.104.For IP
                  whitelisting assistance, visit our guide at
                  https://www.cashfree.com/docs/secure-id/get-started/integration/ip-whitelisting-verification
            x-cf-signature header missing:
              value:
                type: validation_error
                code: authentication_failed
                message: x-cf-signature missing in the request header
    Response422:
      description: >-
        Validation error because of insufficient balance to process this
        request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Insufficient balance:
              value:
                type: validation_error
                code: insufficient_balance
                message: Insufficient balance to process this request
    Response429:
      description: Rate limit exceed error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Rate limit error per operation:
              value:
                type: rate_limit_error
                code: too_many_requests_per_operation
                message: Too many requests for this operation, rate limit reached
            Rate limit error per IP:
              value:
                type: rate_limit_error
                code: too_many_requests_per_ip
                message: Too many requests from the IP, rate limit reached
    Response500AllCases:
      description: Internal errors.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseSchema'
          examples:
            Internal Server Error:
              value:
                type: internal_error
                code: verification_failed
                message: Unable to validate, please retry later
                error:
                  refId: 209
            Unknown Error Occured:
              value:
                type: internal_error
                code: api_error
                message: something went wrong, please try after some time
  schemas:
    GstinRequestSchema:
      type: object
      example:
        GSTIN: 29AAICP2912R1ZR
        business_name: UJJIVAN SMALL FINANCE BANK
      required:
        - GSTIN
      properties:
        GSTIN:
          description: >-
            It is the unique number assigned to businesses registered under the
            Goods and Services Tax (GST) system in India.
          type: string
          example: 29AAICP2912R1ZR
          default: 29AAICP2912R1ZR
        business_name:
          description: >-
            It is the name of the business to which the GSTIN is issued. The
            maximum character limit is 200.
          type: string
          example: UJJIVAN SMALL FINANCE BANK
          default: UJJIVAN SMALL FINANCE BANK
    GstinResponseSchema:
      type: object
      properties:
        reference_id:
          format: int64
          type: integer
          description: >-
            It displays the unique ID created by Cashfree Payments for reference
            purposes.

            format: `int64`
          example: 12345
        GSTIN:
          type: string
          description: >-
            Unique identification number assigned to businesses registered under
            the Goods and Services Tax (GST) system in India.
          example: 29AAICP2912R1ZR
        legal_name_of_business:
          type: string
          description: Legal name of the business registered under the GST system.
          example: UJJIVAN SMALL FINANCE BANK LIMITED
        trade_name_of_business:
          type: string
          description: Trade name of the business registered under the GST system.
          example: UJJIVAN SMALL FINANCE BANK
        center_jurisdiction:
          type: string
          description: Center jurisdiction under which the business falls.
          example: I-A RANGE
        state_jurisdiction:
          type: string
          description: State jurisdiction under which the business falls.
          example: GUWAHATI - A - 1
        date_of_registration:
          type: string
          description: Date of GST registration for the business.
          example: '2017-09-30'
        constitution_of_business:
          type: string
          description: >-
            Constitution type of the business, such as Private Limited,
            Proprietorship, etc.
          example: Public Limited Company
        taxpayer_type:
          type: string
          description: >-
            Taxpayer type, indicating whether the business is a Regular
            taxpayer, Composition taxpayer, etc.
          example: Regular
        gst_in_status:
          type: string
          description: Current status of the GSTIN.
          example: Active
        last_update_date:
          type: string
          description: Date when the GST details were last updated.
          example: '2022-03-01'
        nature_of_business_activities:
          items:
            type: string
            description: >-
              Activity performed by the business, such as Retail Business,
              Supplier of Services, etc.
          type: array
          description: >-
            List of activities performed by the business, such as Retail
            Business, Supplier of Services, etc.
        principal_place_address:
          type: string
          description: Complete principal place address of the business.
          example: >-
            First Floor 3512-DISPUR Prithivi Mansion opp. KFC building G.S.
            Road, Lachit Nagar Assam 781007
        principal_place_split_address:
          type: object
          description: Split components of the principal place address.
          properties:
            building_name:
              type: string
              description: Name of the building.
              example: Prithivi Mansion
            street:
              type: string
              description: Name of the street.
              example: G.S. Road
            location:
              type: string
              description: Location or area of the address.
              example: Lachit Nagar
            building_number:
              type: string
              description: Number or identifier of the building.
              example: 3512-DISPUR
            district:
              type: string
              description: District of the address.
              example: Guwahati
            state:
              type: string
              description: State of the address.
              example: Assam
            city:
              type: string
              description: City of the address.
              example: Dispur
            flat_number:
              type: string
              description: Flat or floor number.
              example: First Floor
            latitude:
              type: string
              description: Latitude coordinate of the address.
              example: '26.1445'
            longitude:
              type: string
              description: Longitude coordinate of the address.
              example: '91.7362'
            pincode:
              type: string
              description: Pincode or ZIP code of the address.
              example: '781007'
        additional_address_array:
          type: array
          description: List of additional addresses associated with the business.
          minItems: 0
          items:
            properties:
              address:
                type: string
                description: Complete additional address.
                example: >-
                  N.A.C.C.I. Foundation 3559-Tezpur CHAMBER BHAWAN Binjraj Road,
                  P. o. and P.S. - Tezpur, Dist. Binjraj Road, P. o. and P.S. -
                  Tezpur, Dist. Sonitpur Assam 784154
              split_address:
                type: object
                description: Split components of the additional address.
                properties:
                  building_name:
                    type: string
                    description: Name of the building.
                    example: CHAMBER BHAWAN
                  street:
                    type: string
                    description: Name of the street.
                    example: Binjraj Road
                  location:
                    type: string
                    description: Location or area of the address.
                    example: Tezpur
                  building_number:
                    type: string
                    description: Number or identifier of the building.
                    example: 3559-Tezpur
                  district:
                    type: string
                    description: District of the address.
                    example: Sonitpur
                  state:
                    type: string
                    description: State of the address.
                    example: Assam
                  city:
                    type: string
                    description: City of the address.
                    example: Tezpur
                  flat_number:
                    type: string
                    description: Flat or floor number.
                    example: First Floor
                  latitude:
                    type: string
                    description: Latitude coordinate of the address.
                    example: '26.6338'
                  longitude:
                    type: string
                    description: Longitude coordinate of the address.
                    example: '92.8006'
                  pincode:
                    type: string
                    description: Pincode or ZIP code of the address.
                    example: '784154'
        valid:
          type: boolean
          description: Indicates whether the GSTIN is valid.
        message:
          type: string
          description: The message indicates whether the GSTIN exists.
    ErrorResponseSchema:
      type: object
      properties:
        code:
          type: string
          example: x-client-id_missing
        error:
          type: object
          example:
            ref_id: 102
        message:
          type: string
          example: x-client-id is missing in the request.
          description: It displays the outcome of the error.
        type:
          type: string
          example: validation_error
          description: It displays the type of error.
  examples:
    WrongFormatOfGstin:
      value:
        type: validation_error
        code: GSTIN_value_invalid
        message: >-
          GSTIN first 2 digits should be numeric and length should not exceed 15
          and should be alphanumeric.
    GstinMissingInRequest:
      value:
        type: validation_error
        code: GSTIN_missing
        message: GSTIN is missing in the request.
    BusinessNameLengthError:
      value:
        type: validation_error
        code: business_name_length_exceeded
        message: business_name can include a maximum of 200 characters.
    BusinessNameFormatError:
      value:
        type: validation_error
        code: business_name_value_invalid
        message: business_name should be alphanumeric.
    XClientIdMissing:
      value:
        type: validation_error
        code: x-client-id_missing
        message: x-client-id is missing in the request.
    UsingTestCredentialsInProd:
      value:
        type: validation_error
        code: x-client-secret_value_invalid
        message: Client secret belongs to test environment
  securitySchemes:
    XClientID:
      type: apiKey
      in: header
      name: x-client-id
      description: >-
        Your unique client identifier issued by Cashfree. You can find this in
        your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).
    XClientSecret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        The secret key associated with your client ID. Use this to authenticate
        your API requests. You can find this in your [Merchant
        Dashboard](https://merchant.cashfree.com/verificationsuite/developers/api-keys).

````