Fetch eBRC details
curl --request POST \
--url https://api.ebrc.in/api/v1/genebrc/fetch-details \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"platformCustomerId": "ee849a90-7a28-49b4-8cb2-8e31041650a2",
"iecCode": "0123456789",
"eBRCIssueFromDt": "01012025",
"eBRCIssueToDt": "31032026"
}
'import requests
url = "https://api.ebrc.in/api/v1/genebrc/fetch-details"
payload = {
"platformCustomerId": "ee849a90-7a28-49b4-8cb2-8e31041650a2",
"iecCode": "0123456789",
"eBRCIssueFromDt": "01012025",
"eBRCIssueToDt": "31032026"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platformCustomerId: 'ee849a90-7a28-49b4-8cb2-8e31041650a2',
iecCode: '0123456789',
eBRCIssueFromDt: '01012025',
eBRCIssueToDt: '31032026'
})
};
fetch('https://api.ebrc.in/api/v1/genebrc/fetch-details', 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.ebrc.in/api/v1/genebrc/fetch-details",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'platformCustomerId' => 'ee849a90-7a28-49b4-8cb2-8e31041650a2',
'iecCode' => '0123456789',
'eBRCIssueFromDt' => '01012025',
'eBRCIssueToDt' => '31032026'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ebrc.in/api/v1/genebrc/fetch-details"
payload := strings.NewReader("{\n \"platformCustomerId\": \"ee849a90-7a28-49b4-8cb2-8e31041650a2\",\n \"iecCode\": \"0123456789\",\n \"eBRCIssueFromDt\": \"01012025\",\n \"eBRCIssueToDt\": \"31032026\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.ebrc.in/api/v1/genebrc/fetch-details")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"platformCustomerId\": \"ee849a90-7a28-49b4-8cb2-8e31041650a2\",\n \"iecCode\": \"0123456789\",\n \"eBRCIssueFromDt\": \"01012025\",\n \"eBRCIssueToDt\": \"31032026\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ebrc.in/api/v1/genebrc/fetch-details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"platformCustomerId\": \"ee849a90-7a28-49b4-8cb2-8e31041650a2\",\n \"iecCode\": \"0123456789\",\n \"eBRCIssueFromDt\": \"01012025\",\n \"eBRCIssueToDt\": \"31032026\"\n}"
response = http.request(request)
puts response.read_body[
{
"iec": "<string>",
"eBRCNumber": "<string>",
"eBRCDate": "<string>",
"eBRCStatus": "<string>",
"billNo": "<string>",
"sbCumInvoiceNumber": "<string>",
"sbCumInvoiceDate": "<string>",
"realisedValueFCC": 123,
"currencyCode": "<string>",
"realizationDt": "<string>",
"brcUtilStatus": "<string>",
"isGstAvailed": "<string>",
"gstin": "<string>",
"gstInvoiceNo": "<string>",
"gstInvoiceDate": "<string>"
}
]{
"code": "<string>",
"message": "<string>"
}eBRC generation
Fetch eBRC Details
Fetch generated eBRC details for a platform customer over an issue-date range, including certificate numbers, dates, realised values, and status.
POST
/
genebrc
/
fetch-details
Fetch eBRC details
curl --request POST \
--url https://api.ebrc.in/api/v1/genebrc/fetch-details \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"platformCustomerId": "ee849a90-7a28-49b4-8cb2-8e31041650a2",
"iecCode": "0123456789",
"eBRCIssueFromDt": "01012025",
"eBRCIssueToDt": "31032026"
}
'import requests
url = "https://api.ebrc.in/api/v1/genebrc/fetch-details"
payload = {
"platformCustomerId": "ee849a90-7a28-49b4-8cb2-8e31041650a2",
"iecCode": "0123456789",
"eBRCIssueFromDt": "01012025",
"eBRCIssueToDt": "31032026"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
platformCustomerId: 'ee849a90-7a28-49b4-8cb2-8e31041650a2',
iecCode: '0123456789',
eBRCIssueFromDt: '01012025',
eBRCIssueToDt: '31032026'
})
};
fetch('https://api.ebrc.in/api/v1/genebrc/fetch-details', 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.ebrc.in/api/v1/genebrc/fetch-details",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'platformCustomerId' => 'ee849a90-7a28-49b4-8cb2-8e31041650a2',
'iecCode' => '0123456789',
'eBRCIssueFromDt' => '01012025',
'eBRCIssueToDt' => '31032026'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ebrc.in/api/v1/genebrc/fetch-details"
payload := strings.NewReader("{\n \"platformCustomerId\": \"ee849a90-7a28-49b4-8cb2-8e31041650a2\",\n \"iecCode\": \"0123456789\",\n \"eBRCIssueFromDt\": \"01012025\",\n \"eBRCIssueToDt\": \"31032026\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.ebrc.in/api/v1/genebrc/fetch-details")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"platformCustomerId\": \"ee849a90-7a28-49b4-8cb2-8e31041650a2\",\n \"iecCode\": \"0123456789\",\n \"eBRCIssueFromDt\": \"01012025\",\n \"eBRCIssueToDt\": \"31032026\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ebrc.in/api/v1/genebrc/fetch-details")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"platformCustomerId\": \"ee849a90-7a28-49b4-8cb2-8e31041650a2\",\n \"iecCode\": \"0123456789\",\n \"eBRCIssueFromDt\": \"01012025\",\n \"eBRCIssueToDt\": \"31032026\"\n}"
response = http.request(request)
puts response.read_body[
{
"iec": "<string>",
"eBRCNumber": "<string>",
"eBRCDate": "<string>",
"eBRCStatus": "<string>",
"billNo": "<string>",
"sbCumInvoiceNumber": "<string>",
"sbCumInvoiceDate": "<string>",
"realisedValueFCC": 123,
"currencyCode": "<string>",
"realizationDt": "<string>",
"brcUtilStatus": "<string>",
"isGstAvailed": "<string>",
"gstin": "<string>",
"gstInvoiceNo": "<string>",
"gstInvoiceDate": "<string>"
}
]{
"code": "<string>",
"message": "<string>"
}Fetch eBRC details for a platform customer over an issue-date range. Results are fetched live and saved to your account. Use this after a request reaches
Processed to pull the certificate metadata into your system. Limited to 10 calls per minute.
Request body example
{
"platformCustomerId": "ee849a90-7a28-49b4-8cb2-8e31041650a2",
"iecCode": "0123456789",
"eBRCIssueFromDt": "01012026",
"eBRCIssueToDt": "31032026",
"sbCumInvoiceNumber": null,
"sbCumInvoiceDate": null
}
Field notes
| Field | Required | Description |
|---|---|---|
platformCustomerId | Yes | Platform customer UUID |
iecCode | Yes | IEC code linked to the customer’s DGFT credentials |
eBRCIssueFromDt | Yes | Start of eBRC issue date range (DDMMYYYY) |
eBRCIssueToDt | Yes | End of eBRC issue date range (DDMMYYYY). At most 3 months after eBRCIssueFromDt |
sbCumInvoiceNumber | No | Filter by shipping bill cum invoice number (max 25 characters) |
sbCumInvoiceDate | No | Filter by shipping bill cum invoice date (DDMMYYYY) |
DGFT accepts at most a 3-month window per call, so a wider range is refused with a
400 before the request is forwarded. To cover a longer period, request consecutive
windows of three months or less.
Response example
An array of certificates in thedata field. An invoice settled by several remittances returns several entries, one certificate per IRM record DGFT processed, each with its own eBRCNumber and realisedValueFCC:
{
"success": true,
"data": [
{
"iec": "0123456789",
"eBRCNumber": "EBRC0000012345",
"eBRCDate": "01042026",
"eBRCStatus": "Issued",
"billNo": "EXP-2024-0042",
"sbCumInvoiceNumber": "7654321",
"sbCumInvoiceDate": "15032026",
"realisedValueFCC": 25000,
"currencyCode": "USD",
"realizationDt": "01042026"
}
],
"statusCode": 200,
"timestamp": "2026-07-22T12:50:00.000Z"
}
Errors
422/409for DGFT credential problems. See DGFT credential error codes.429beyond 10 calls per minute. See rate limits.
Next steps
- Download the certificate PDF with the
eBRCNumber. - Get Request Status if a request is still processing.
- Currency Codes for
currencyCodevalues.
Authorizations
Body
application/json
Platform customer UUID
IEC code
Start of the eBRC issue date range, DDMMYYYY.
End of the eBRC issue date range, DDMMYYYY. At most 3 months after eBRCIssueFromDt (DGFT Technical Specs v1.3 §4.5); a wider window is refused with 400.
Optional filter by shipping bill cum invoice number
Maximum string length:
25Optional filter by shipping bill cum invoice date (DDMMYYYY)
Response
eBRC details from DGFT