GSTR-1A B2B
curl --request GET \
--url https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month} \
--header 'authorization: <authorization>' \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}"
headers = {
"authorization": "<authorization>",
"x-api-key": "<x-api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {authorization: '<authorization>', 'x-api-key': '<x-api-key>'}
};
fetch('https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}', 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://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>",
"x-api-key: <x-api-key>"
],
]);
$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://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}")
.header("authorization", "<authorization>")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"code": 200,
"timestamp": 1763446641000,
"transaction_id": "41bb8041-fb83-4654-8d75-85a19f329158",
"data": {
"status_cd": "1",
"data": {
"b2b": [
{
"ctin": "01AABCE2207R1Z5",
"cfs": "Y",
"inv": [
{
"chksum": "BBUIBUIUIJKKBJKGUYFTFGUY",
"updby": "S",
"inum": "S008400",
"idt": "24-11-2016",
"val": 729248.16,
"pos": "06",
"rchrg": "N",
"etin": "01AABCE5507R1Z4",
"inv_typ": "R",
"cflag": "N",
"diff_percent": 0.65,
"opd": "2016-12",
"srctyp": "EInvoice",
"irn": "897ADG56RTY78956HYUG90BNHHIJK453GFTD99845672FDHHHSHGFH4567FG56TR",
"irngendate": "24-12-2019",
"itms": [
{
"num": 1,
"itm_det": {
"rt": 5,
"txval": 10000,
"iamt": 325,
"camt": 0,
"samt": 0,
"csamt": 10
}
}
]
}
]
}
]
}
}
}GSTR-1A B2B
API call for getting all B2B invoices for a return period.
GET
/
gst
/
compliance
/
tax-payer
/
gstrs
/
gstr-1a
/
b2b
/
{year}
/
{month}
GSTR-1A B2B
curl --request GET \
--url https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month} \
--header 'authorization: <authorization>' \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}"
headers = {
"authorization": "<authorization>",
"x-api-key": "<x-api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {authorization: '<authorization>', 'x-api-key': '<x-api-key>'}
};
fetch('https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}', 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://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: <authorization>",
"x-api-key: <x-api-key>"
],
]);
$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://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("x-api-key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}")
.header("authorization", "<authorization>")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.co.in/gst/compliance/tax-payer/gstrs/gstr-1a/b2b/{year}/{month}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"code": 200,
"timestamp": 1763446641000,
"transaction_id": "41bb8041-fb83-4654-8d75-85a19f329158",
"data": {
"status_cd": "1",
"data": {
"b2b": [
{
"ctin": "01AABCE2207R1Z5",
"cfs": "Y",
"inv": [
{
"chksum": "BBUIBUIUIJKKBJKGUYFTFGUY",
"updby": "S",
"inum": "S008400",
"idt": "24-11-2016",
"val": 729248.16,
"pos": "06",
"rchrg": "N",
"etin": "01AABCE5507R1Z4",
"inv_typ": "R",
"cflag": "N",
"diff_percent": 0.65,
"opd": "2016-12",
"srctyp": "EInvoice",
"irn": "897ADG56RTY78956HYUG90BNHHIJK453GFTD99845672FDHHHSHGFH4567FG56TR",
"irngendate": "24-12-2019",
"itms": [
{
"num": 1,
"itm_det": {
"rt": 5,
"txval": 10000,
"iamt": 325,
"camt": 0,
"samt": 0,
"csamt": 10
}
}
]
}
]
}
]
}
}
}Response body schema
View response body schema
Headers
GST taxpayer access token. For token-generation steps, refer to the Generate Taxpayer Session flow and pass the token in the authorization header.
Compliance API version.
API key for identification.
Path Parameters
Return year, for example 2025.
Return month, for example 04.
Query Parameters
Optional from date in DD/MM/YYYY format.
Response
200 - application/json
Success
The response is of type object.
Was this page helpful?
āI