curl --request POST \
--url https://api.sandbox.co.in/gst/analytics/gstr-2a-reconciliation \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"@entity": "<string>",
"gstin": "<string>",
"year": 123,
"month": 123,
"reconciliation_criteria": "strict"
}
'{
"code": 200,
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {
"@entity": "in.co.sandbox.gst.analytics.gstr-2a_reconciliation.job",
"job_id": "d3d19997-c48a-4867-95b9-5a77c3567098",
"gstin": "24EGCAZ2081S7Z4",
"year": 2025,
"month": 12,
"filing_preference": "monthly",
"reconciliation_criteria": "strict",
"status": "created",
"gstr_2a_url": "<string>",
"purchase_ledger_url": "<string>",
"created_at": 123
},
"timestamp": 123
}Create GSTR-2A reconciliation job and get two signed URLs to upload GSTR-2A and purchase ledger.
curl --request POST \
--url https://api.sandbox.co.in/gst/analytics/gstr-2a-reconciliation \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"@entity": "<string>",
"gstin": "<string>",
"year": 123,
"month": 123,
"reconciliation_criteria": "strict"
}
'{
"code": 200,
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {
"@entity": "in.co.sandbox.gst.analytics.gstr-2a_reconciliation.job",
"job_id": "d3d19997-c48a-4867-95b9-5a77c3567098",
"gstin": "24EGCAZ2081S7Z4",
"year": 2025,
"month": 12,
"filing_preference": "monthly",
"reconciliation_criteria": "strict",
"status": "created",
"gstr_2a_url": "<string>",
"purchase_ledger_url": "<string>",
"created_at": 123
},
"timestamp": 123
}JWT access token
API key for identification
API version
Entity name
"in.co.sandbox.gst.analytics.gstr-2a_reconciliation.request"GSTIN of the taxpayer
^([0-9]{2}[0-9A-Z]{13})$Year e.g. 2020
Month e.g. 10
Preference for the reconciliation strictness. Possible values: strict, moderate, flexible
strict, moderate, flexible Was this page helpful?