Delete a platform customer
curl --request DELETE \
--url https://api.ebrc.in/api/v1/platform-customers/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.ebrc.in/api/v1/platform-customers/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.ebrc.in/api/v1/platform-customers/{id}', 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/platform-customers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"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.ebrc.in/api/v1/platform-customers/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
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.delete("https://api.ebrc.in/api/v1/platform-customers/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ebrc.in/api/v1/platform-customers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Platform customers
Delete Customer
Delete a platform customer and all of its filing history from your account by id. This is permanent and cascades to the stored DGFT connection, remittances, generation requests and certificate details.
DELETE
/
platform-customers
/
{id}
Delete a platform customer
curl --request DELETE \
--url https://api.ebrc.in/api/v1/platform-customers/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.ebrc.in/api/v1/platform-customers/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.ebrc.in/api/v1/platform-customers/{id}', 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/platform-customers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"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.ebrc.in/api/v1/platform-customers/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
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.delete("https://api.ebrc.in/api/v1/platform-customers/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ebrc.in/api/v1/platform-customers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Delete a platform customer. Use this when an exporter offboards from your platform.
The operation returns
This is permanent and it cascades. Deleting a client also deletes, in a single transaction:
- the stored DGFT connection for that client
- every IRM record held for that client
- every eBRC generation request submitted for that client
- every certificate detail record enriched for that client
200 with a success flag, not 204.
Delete is not deactivate
The API has no deactivate. If you want to stop filing for an exporter while keeping their history, do not call this endpoint. Stop sending IRMs for that client, or deactivate them from the eBRC console, which has a status toggle for exactly this case and does not offer delete at all.Request example
curl --location --request DELETE 'https://api.ebrc.in/api/v1/platform-customers/ee849a90-7a28-49b4-8cb2-8e31041650a2' \
--header 'x-api-key: <YOUR_API_KEY>'
Response example
{
"success": true,
"data": {
"success": true
},
"statusCode": 200,
"timestamp": "2026-07-22T11:10:44.120Z"
}
Errors
401No API key providedorInvalid API key. See authentication errors.404Customer not foundwhen no client with that id belongs to your account in the mode your key selects. Adev_key cannot delete a live client, which is what stops a test integration from destroying live filing history.500Error removing platform customerif the transaction fails. The whole cascade is one transaction, so a partial delete cannot happen.
Next steps
- List remaining customers.
- Create a new customer.
- Questions about data retention: amin@eximfiles.io.