Reconcile GSTR-2B Job Status
curl --request GET \
--url https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliationimport requests
url = "https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation")
.asString();require 'uri'
require 'net/http'
url = URI("https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"code": 200,
"transaction_id": "d3d19997-c48a-4867-95b9-5a77c3567098",
"data": {
"@entity": "in.co.sandbox.gst.analytics.gstr-2b_reconciliation.job",
"job_id": "d3d19997-c48a-4867-95b9-5a77c3567098",
"gstin": "24EGCAZ2081S7Z4",
"year": 2023,
"month": 12,
"filing_preference": "monthly",
"reconciliation_criteria": "strict",
"status": "succeeded",
"reconciliation_report_url": "https://in-co-sandbox-gst-test-storage.s3.ap-south-1.amazonaws.com/gstr-2b-reconciliation/gstr-2b-reconciliation-report.xlsx",
"created_at": 123,
"updated_at": 123
},
"timestamp": 1777273236000
}Poll Job
Poll GSTR-2B reconciliation job status and download reconciliation report on job’s successful completion.
GET
/
gst
/
analytics
/
gstr-2b-reconciliation
Reconcile GSTR-2B Job Status
curl --request GET \
--url https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliationimport requests
url = "https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation")
.asString();require 'uri'
require 'net/http'
url = URI("https://test-api.sandbox.co.in/gst/analytics/gstr-2b-reconciliation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"code": 200,
"transaction_id": "d3d19997-c48a-4867-95b9-5a77c3567098",
"data": {
"@entity": "in.co.sandbox.gst.analytics.gstr-2b_reconciliation.job",
"job_id": "d3d19997-c48a-4867-95b9-5a77c3567098",
"gstin": "24EGCAZ2081S7Z4",
"year": 2023,
"month": 12,
"filing_preference": "monthly",
"reconciliation_criteria": "strict",
"status": "succeeded",
"reconciliation_report_url": "https://in-co-sandbox-gst-test-storage.s3.ap-south-1.amazonaws.com/gstr-2b-reconciliation/gstr-2b-reconciliation-report.xlsx",
"created_at": 123,
"updated_at": 123
},
"timestamp": 1777273236000
}When the job succeeds, this endpoint returns a signed URL for the reconciliation report workbook.
Reconciliation report schema
Use this workbook schema to inspect or validate the downloaded report.View reconciliation report schema
If the job fails validation, use the
validation_report_url from the poll response to review the issues in the uploaded files.Was this page helpful?