Submit Job
curl --request POST \
--url https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases \
--header 'authorization: <api-key>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases"
headers = {
"authorization": "<api-key>",
"x-api-key": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<api-key>', 'x-api-key': '<api-key>'}
};
fetch('https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases', 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/e-invoices/{year}/{month}/purchases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"authorization: <api-key>",
"x-api-key: <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/e-invoices/{year}/{month}/purchases"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("authorization", "<api-key>")
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases")
.header("authorization", "<api-key>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<api-key>'
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 200,
"data": {
"@entity": "in.co.sandbox.gst.compliance.e-invoice.list.job",
"job_id": "412a22ee-2096-4ead-b06b-55143f560903",
"month": "10",
"recipient_gstin": "29AAACQ3770E000",
"status": "created",
"supply_type": "B2B",
"year": "2024"
},
"timestamp": 1763446641000,
"transaction_id": "0a5ff87f-74a9-479f-a219-add60764d1ae"
}List Purchase E-Invoices Job
Submit a job to get list of purchase e-Invoice details for the specified return period.
POST
/
gst
/
compliance
/
tax-payer
/
e-invoices
/
{year}
/
{month}
/
purchases
Submit Job
curl --request POST \
--url https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases \
--header 'authorization: <api-key>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases"
headers = {
"authorization": "<api-key>",
"x-api-key": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<api-key>', 'x-api-key': '<api-key>'}
};
fetch('https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases', 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/e-invoices/{year}/{month}/purchases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"authorization: <api-key>",
"x-api-key: <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/e-invoices/{year}/{month}/purchases"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("authorization", "<api-key>")
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases")
.header("authorization", "<api-key>")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.co.in/gst/compliance/tax-payer/e-invoices/{year}/{month}/purchases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<api-key>'
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": 200,
"data": {
"@entity": "in.co.sandbox.gst.compliance.e-invoice.list.job",
"job_id": "412a22ee-2096-4ead-b06b-55143f560903",
"month": "10",
"recipient_gstin": "29AAACQ3770E000",
"status": "created",
"supply_type": "B2B",
"year": "2024"
},
"timestamp": 1763446641000,
"transaction_id": "0a5ff87f-74a9-479f-a219-add60764d1ae"
}Only e-Invoices within the last 6 months can be fetched.
Authorizations
GST taxpayer access token returned by Verify OTP.
Sandbox API key from your Sandbox account.
Headers
API version
Query Parameters
Supply type. E.g. B2B, SEZWP, SEZWOP, DEXP, EXPWP, EXPWOP
Example:
"B2B"