curl --request POST \
--url https://api.sandbox.lead.bank/v2/simulate/card_network_settlements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"settlement_reporting_id": "123456789",
"settlement_date": "2026-06-01",
"currency_code": "USD",
"card_network": "visa",
"network_settlement_amount_breakdown": {
"transactions": 250000,
"refunds": -5000,
"interchange": -3000,
"fees": 1200,
"disputes": -800
}
}
'import requests
url = "https://api.sandbox.lead.bank/v2/simulate/card_network_settlements"
payload = {
"settlement_reporting_id": "123456789",
"settlement_date": "2026-06-01",
"currency_code": "USD",
"card_network": "visa",
"network_settlement_amount_breakdown": {
"transactions": 250000,
"refunds": -5000,
"interchange": -3000,
"fees": 1200,
"disputes": -800
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
settlement_reporting_id: '123456789',
settlement_date: '2026-06-01',
currency_code: 'USD',
card_network: 'visa',
network_settlement_amount_breakdown: {
transactions: 250000,
refunds: -5000,
interchange: -3000,
fees: 1200,
disputes: -800
}
})
};
fetch('https://api.sandbox.lead.bank/v2/simulate/card_network_settlements', 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.lead.bank/v2/simulate/card_network_settlements",
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([
'settlement_reporting_id' => '123456789',
'settlement_date' => '2026-06-01',
'currency_code' => 'USD',
'card_network' => 'visa',
'network_settlement_amount_breakdown' => [
'transactions' => 250000,
'refunds' => -5000,
'interchange' => -3000,
'fees' => 1200,
'disputes' => -800
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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.sandbox.lead.bank/v2/simulate/card_network_settlements"
payload := strings.NewReader("{\n \"settlement_reporting_id\": \"123456789\",\n \"settlement_date\": \"2026-06-01\",\n \"currency_code\": \"USD\",\n \"card_network\": \"visa\",\n \"network_settlement_amount_breakdown\": {\n \"transactions\": 250000,\n \"refunds\": -5000,\n \"interchange\": -3000,\n \"fees\": 1200,\n \"disputes\": -800\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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.sandbox.lead.bank/v2/simulate/card_network_settlements")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"settlement_reporting_id\": \"123456789\",\n \"settlement_date\": \"2026-06-01\",\n \"currency_code\": \"USD\",\n \"card_network\": \"visa\",\n \"network_settlement_amount_breakdown\": {\n \"transactions\": 250000,\n \"refunds\": -5000,\n \"interchange\": -3000,\n \"fees\": 1200,\n \"disputes\": -800\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.lead.bank/v2/simulate/card_network_settlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"settlement_reporting_id\": \"123456789\",\n \"settlement_date\": \"2026-06-01\",\n \"currency_code\": \"USD\",\n \"card_network\": \"visa\",\n \"network_settlement_amount_breakdown\": {\n \"transactions\": 250000,\n \"refunds\": -5000,\n \"interchange\": -3000,\n \"fees\": 1200,\n \"disputes\": -800\n }\n}"
response = http.request(request)
puts response.read_body{
"settlement_reporting_id": "123456789",
"settlement_date": "2026-06-01",
"currency_code": "USD",
"card_network": "visa",
"network_settlement_amount_breakdown": {
"transactions": 250000,
"refunds": -5000,
"interchange": -3000,
"fees": 1200,
"disputes": -800
}
}{
"code": "request_malformed",
"message": "The request is invalid and cannot be parsed by the server.",
"errors": [
{
"code": "payload_invalid",
"message": "The request body is not valid JSON."
}
]
}{
"code": "authentication_missing",
"message": "The request has no authentication credentials. Send your API token in the Authorization header.",
"errors": [
{
"code": "authentication_missing",
"message": "The Authorization header is missing. Send your API token as a bearer token.",
"parameters": [
"Authorization"
]
}
]
}{
"code": "object_not_found",
"message": "No object exists at the requested ID, or it is not visible to this caller."
}{
"code": "idempotency_key_in_use",
"message": "A concurrent request using this Idempotency-Key is still in flight."
}{
"code": "parameters_invalid",
"message": "One or more parameters are invalid.",
"errors": [
{
"code": "out_of_range",
"message": "network_settlement_amount_breakdown.transactions must be greater than or equal to 0.",
"parameters": [
"network_settlement_amount_breakdown.transactions"
]
},
{
"code": "out_of_range",
"message": "network_settlement_amount_breakdown.refunds must be less than or equal to 0.",
"parameters": [
"network_settlement_amount_breakdown.refunds"
]
}
]
}{
"code": "rate_limit_exceeded",
"message": "You have exceeded the rate limit for this endpoint. Retry with backoff."
}{
"code": "internal_server_error",
"message": "An unexpected error occurred. Contact support with the Request-Id header value."
}Simulate a Card Network Settlement
Simulate a Card Network Settlement for your program, as if Lead received the settlement file from the network, and trigger the related downstream behavior. A Card Network Settlement cannot be created twice for the same settlement reporting ID, settlement_date, currency_code, and card_network. Available in Sandbox only.
curl --request POST \
--url https://api.sandbox.lead.bank/v2/simulate/card_network_settlements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"settlement_reporting_id": "123456789",
"settlement_date": "2026-06-01",
"currency_code": "USD",
"card_network": "visa",
"network_settlement_amount_breakdown": {
"transactions": 250000,
"refunds": -5000,
"interchange": -3000,
"fees": 1200,
"disputes": -800
}
}
'import requests
url = "https://api.sandbox.lead.bank/v2/simulate/card_network_settlements"
payload = {
"settlement_reporting_id": "123456789",
"settlement_date": "2026-06-01",
"currency_code": "USD",
"card_network": "visa",
"network_settlement_amount_breakdown": {
"transactions": 250000,
"refunds": -5000,
"interchange": -3000,
"fees": 1200,
"disputes": -800
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
settlement_reporting_id: '123456789',
settlement_date: '2026-06-01',
currency_code: 'USD',
card_network: 'visa',
network_settlement_amount_breakdown: {
transactions: 250000,
refunds: -5000,
interchange: -3000,
fees: 1200,
disputes: -800
}
})
};
fetch('https://api.sandbox.lead.bank/v2/simulate/card_network_settlements', 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.lead.bank/v2/simulate/card_network_settlements",
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([
'settlement_reporting_id' => '123456789',
'settlement_date' => '2026-06-01',
'currency_code' => 'USD',
'card_network' => 'visa',
'network_settlement_amount_breakdown' => [
'transactions' => 250000,
'refunds' => -5000,
'interchange' => -3000,
'fees' => 1200,
'disputes' => -800
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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.sandbox.lead.bank/v2/simulate/card_network_settlements"
payload := strings.NewReader("{\n \"settlement_reporting_id\": \"123456789\",\n \"settlement_date\": \"2026-06-01\",\n \"currency_code\": \"USD\",\n \"card_network\": \"visa\",\n \"network_settlement_amount_breakdown\": {\n \"transactions\": 250000,\n \"refunds\": -5000,\n \"interchange\": -3000,\n \"fees\": 1200,\n \"disputes\": -800\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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.sandbox.lead.bank/v2/simulate/card_network_settlements")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"settlement_reporting_id\": \"123456789\",\n \"settlement_date\": \"2026-06-01\",\n \"currency_code\": \"USD\",\n \"card_network\": \"visa\",\n \"network_settlement_amount_breakdown\": {\n \"transactions\": 250000,\n \"refunds\": -5000,\n \"interchange\": -3000,\n \"fees\": 1200,\n \"disputes\": -800\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.lead.bank/v2/simulate/card_network_settlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"settlement_reporting_id\": \"123456789\",\n \"settlement_date\": \"2026-06-01\",\n \"currency_code\": \"USD\",\n \"card_network\": \"visa\",\n \"network_settlement_amount_breakdown\": {\n \"transactions\": 250000,\n \"refunds\": -5000,\n \"interchange\": -3000,\n \"fees\": 1200,\n \"disputes\": -800\n }\n}"
response = http.request(request)
puts response.read_body{
"settlement_reporting_id": "123456789",
"settlement_date": "2026-06-01",
"currency_code": "USD",
"card_network": "visa",
"network_settlement_amount_breakdown": {
"transactions": 250000,
"refunds": -5000,
"interchange": -3000,
"fees": 1200,
"disputes": -800
}
}{
"code": "request_malformed",
"message": "The request is invalid and cannot be parsed by the server.",
"errors": [
{
"code": "payload_invalid",
"message": "The request body is not valid JSON."
}
]
}{
"code": "authentication_missing",
"message": "The request has no authentication credentials. Send your API token in the Authorization header.",
"errors": [
{
"code": "authentication_missing",
"message": "The Authorization header is missing. Send your API token as a bearer token.",
"parameters": [
"Authorization"
]
}
]
}{
"code": "object_not_found",
"message": "No object exists at the requested ID, or it is not visible to this caller."
}{
"code": "idempotency_key_in_use",
"message": "A concurrent request using this Idempotency-Key is still in flight."
}{
"code": "parameters_invalid",
"message": "One or more parameters are invalid.",
"errors": [
{
"code": "out_of_range",
"message": "network_settlement_amount_breakdown.transactions must be greater than or equal to 0.",
"parameters": [
"network_settlement_amount_breakdown.transactions"
]
},
{
"code": "out_of_range",
"message": "network_settlement_amount_breakdown.refunds must be less than or equal to 0.",
"parameters": [
"network_settlement_amount_breakdown.refunds"
]
}
]
}{
"code": "rate_limit_exceeded",
"message": "You have exceeded the rate limit for this endpoint. Retry with backoff."
}{
"code": "internal_server_error",
"message": "An unexpected error occurred. Contact support with the Request-Id header value."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Idempotency key
5 - 255Body
A card network settlement submitted to the simulation endpoint. When returned, this echoes the values that were submitted; it is not the full Card Network Settlement record.
In Sandbox this is not checked against your program's configuration and does not have to match a production reporting ID; any non-empty value is accepted.
1 - 64"123456789"
The date this network settlement is for.
"2026-06-01"
A three-letter currency code as defined in ISO 4217.
USD "USD"
The card network the settlement came from.
visa, mastercard, pulse, accel, maestro, tabapay, amex, star, interlink "visa"
The gross and net components that make up a card network settlement, in minor units.
Show child attributes
Show child attributes
Response
The card network settlement was accepted. The response echoes the settlement that was submitted; it is not the full Card Network Settlement record.
A card network settlement submitted to the simulation endpoint. When returned, this echoes the values that were submitted; it is not the full Card Network Settlement record.
In Sandbox this is not checked against your program's configuration and does not have to match a production reporting ID; any non-empty value is accepted.
1 - 64"123456789"
The date this network settlement is for.
"2026-06-01"
A three-letter currency code as defined in ISO 4217.
USD "USD"
The card network the settlement came from.
visa, mastercard, pulse, accel, maestro, tabapay, amex, star, interlink "visa"
The gross and net components that make up a card network settlement, in minor units.
Show child attributes
Show child attributes
Was this page helpful?

