Skip to main content
POST
/
gst
/
analytics
/
gstr-2a-reconciliation
Reconcile GSTR-2A Job
curl --request POST \
  --url https://test-api.sandbox.co.in/gst/analytics/gstr-2a-reconciliation \
  --header 'Content-Type: application/json' \
  --header 'authorization: <authorization>' \
  --header 'x-api-key: <x-api-key>' \
  --data '
{
  "@entity": "in.co.sandbox.gst.analytics.gstr-2a_reconciliation.request",
  "gstin": "24ABKCS2033B1ZV",
  "year": 2026,
  "month": 3,
  "reconciliation_criteria": "strict"
}
'
{
  "code": 200,
  "timestamp": 1777273620309,
  "data": {
    "created_at": 1777273620951,
    "@entity": "in.co.sandbox.gst.analytics.gstr-2a_reconciliation.job",
    "job_id": "f42e3d84-409a-4351-a9d7-9697750e7f98",
    "gstin": "24ABKCS2033B1ZV",
    "year": 2026,
    "month": 3,
    "reconciliation_criteria": "strict",
    "purchase_ledger_url": "https://in-co-sandbox-gst-test-storage.s3.ap-south-1.amazonaws.com/gstr-2a-reconciliation/purchase-ledger.json",
    "gstr_2a_url": "https://in-co-sandbox-gst-test-storage.s3.ap-south-1.amazonaws.com/gstr-2a-reconciliation/gstr-2a.json",
    "status": "created"
  },
  "transaction_id": "f42e3d84-409a-4351-a9d7-9697750e7f98"
}
This endpoint is part of a job-based async workflow. See the job-based API workflow guide for job creation, payload upload, and status polling.
You upload two files after the job is created: the GSTR-2A JSON export and the purchase ledger workbook.

Upload file schemas

Use these schemas to validate both files before you upload them to the signed URLs returned by this endpoint.

View GSTR-2A upload schema

View purchase ledger schema

The GSTR upload schema file lists the available schema versions with their valid_from dates.

Headers

authorization
string
required

JWT access token

x-api-key
string
required

API key for identification

x-api-version
string
default:1.0.0

API version

Body

application/json
@entity
string
required

Entity name

Allowed value: "in.co.sandbox.gst.analytics.gstr-2a_reconciliation.request"
gstin
string
required

GSTIN of the taxpayer

Pattern: ^([0-9]{2}[0-9A-Z]{13})$
year
integer
required

Year e.g. 2020

month
integer
required

Month e.g. 10

reconciliation_criteria
enum<string>
required

Preference for the reconciliation strictness. Possible values: strict, moderate, flexible

Available options:
strict,
moderate,
flexible

Response

200 - application/json

200 Job Created

code
integer

HTTP-like status code returned by the API.

Example:

200

transaction_id
string<uuid>
data
object
timestamp
integer