Skip to main content
1

Authenticate and Get Taxpayer Session

Before filing Nil GSTR-1, you must authenticate and create a taxpayer session. Follow the steps in the Generate Taxpayer Session recipe to obtain a Taxpayer access token.This access token is required for all GST Taxpayer API calls and is valid for 6 hours.
2

Initialize Nil Filing

Initialize the Nil GSTR-1 filing process using the New Proceed endpoint with is_nil=Y to indicate this is a nil return.

cURL Request

curl --request POST \
  --url 'https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1/2023/12/new-proceed?is_nil=Y' \
  --header 'authorization: {taxpayer-access-token}' \
  --header 'x-api-key: xxxxxxxxxxxxxx' \
  --header 'x-api-version: 1.0.0' \
  --header 'Content-Type: application/json' \
  --data '{
  "gstin": "29AAACQ3770E000",
  "ret_period": "122023"
}'
The response will include a reference_id that you can use to track the filing initialization status. You can periodically check the status using the GST Return Status endpoint until it’s ready for filing.
3

Generate EVC OTP

To file Nil GSTR-1, you need to generate an EVC (Electronic Verification Code) OTP using the Generate EVC OTP endpoint.Provide the PAN (Permanent Account Number) associated with the taxpayer’s GST registration. The OTP will be sent to the registered mobile number or email.

cURL Request

curl --request POST \
  --url 'https://api.sandbox.co.in/gst/compliance/tax-payer/evc/otp?gstr=gstr-1' \
  --header 'authorization: {taxpayer-access-token}' \
  --header 'x-api-key: xxxxxxxxxxxxxx' \
  --header 'x-api-version: 1.0.0' \
  --header 'Content-Type: application/json' \
  --data '{
  "pan": "ABCCQ3123E"
}'
The OTP will be sent to the registered contact details. You’ll need this OTP in the next step to complete the filing.
4

File Nil GSTR-1

Once you have the EVC OTP, file your Nil GSTR-1 using the File GSTR-1 endpoint.Include the PAN and OTP as query parameters, along with the return period and isnil flag set to “Y” in the request body.

cURL Request

curl --request POST \
  --url 'https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1/2023/12/file?pan=AAACJ3770E&otp=123456' \
  --header 'authorization: {taxpayer-access-token}' \
  --header 'x-api-key: xxxxxxxxxxxxxx' \
  --header 'x-api-version: 1.0.0' \
  --header 'Content-Type: application/json' \
  --data '{
  "ret_period": "122023",
  "gstin": "29AAACQ3770E000",
  "isnil": "Y"
}'
Upon successful filing, the response will confirm that Nil GSTR-1 has been filed for the specified return period.