curl --request POST \
--url https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '{}'import requests
url = "https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close"
payload = {}
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({})
};
fetch('https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close', 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/user_credit_balances/{user_credit_balance_id}/close",
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([
]),
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/user_credit_balances/{user_credit_balance_id}/close"
payload := strings.NewReader("{}")
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/user_credit_balances/{user_credit_balance_id}/close")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close")
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 = "{}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"user_account_id": "<string>",
"name": "Personal Loan - Jane Smith",
"status": "active",
"status_reason": "active",
"currency_code": "USD",
"amount": 123,
"amount_in_usd": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
},
"fees": {
"accrued": 123
},
"rewards": {
"amount": 123,
"unit": "USD"
},
"dispute": {
"amount": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
}
},
"charge_off": {
"amount": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
}
},
"past_due": {
"amount": 123,
"past_due_days": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
}
},
"interest": {
"rate": "<string>",
"effective_rate": "<string>",
"effective_apr": "<string>"
},
"autopay_method": "ach",
"details": {
"structure": "revolving",
"expected_maturity_date": "2023-12-25",
"repayment_details": {
"expected_payment_frequency": "business_daily",
"expected_payment_frequency_interval_days": 123,
"expected_number_of_payments": 123,
"expected_first_payment_date": "2023-12-25",
"expected_first_payment_amount": 123,
"expected_last_payment_date": "2023-12-25",
"expected_last_payment_amount": 123,
"expected_payment_amount": 123
},
"max_funding_amount": 123,
"term": {
"length": 123,
"unit": "days"
},
"expected_finance_charge_amount": 123
},
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"closed_at": "2023-11-07T05:31:56Z"
}{
"code": "idempotency_key_missing",
"message": "The Idempotency-Key header is required on this endpoint."
}{
"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": "object_state_conflict",
"message": "The object is not in the state this request assumed. Fetch its current state before retrying.",
"errors": [
{
"code": "object_balance_nonzero",
"message": "User Credit Balance user_credit_balance_xyz123 has a balance of 1250.00. Bring it to zero before closing."
}
]
}{
"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."
}{
"code": "endpoint_disabled",
"message": "This endpoint is temporarily disabled. Retry after the interval given in the Retry-After header."
}{
"code": "gateway_timeout",
"message": "An upstream system timed out. Retry with backoff."
}Close a User Credit Balance
Close an active or inactive User Credit Balance. Closing is terminal. Outstanding principal, interest, and fees must all be zero first, unless the User Credit Balance is charged off. Calling this on a closed User Credit Balance returns 200 with its current state.
curl --request POST \
--url https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '{}'import requests
url = "https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close"
payload = {}
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({})
};
fetch('https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close', 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/user_credit_balances/{user_credit_balance_id}/close",
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([
]),
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/user_credit_balances/{user_credit_balance_id}/close"
payload := strings.NewReader("{}")
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/user_credit_balances/{user_credit_balance_id}/close")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.lead.bank/v2/user_credit_balances/{user_credit_balance_id}/close")
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 = "{}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"user_account_id": "<string>",
"name": "Personal Loan - Jane Smith",
"status": "active",
"status_reason": "active",
"currency_code": "USD",
"amount": 123,
"amount_in_usd": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
},
"fees": {
"accrued": 123
},
"rewards": {
"amount": 123,
"unit": "USD"
},
"dispute": {
"amount": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
}
},
"charge_off": {
"amount": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
}
},
"past_due": {
"amount": 123,
"past_due_days": 123,
"amount_breakdown": {
"principal": 123,
"interest": 123,
"fees": 123
}
},
"interest": {
"rate": "<string>",
"effective_rate": "<string>",
"effective_apr": "<string>"
},
"autopay_method": "ach",
"details": {
"structure": "revolving",
"expected_maturity_date": "2023-12-25",
"repayment_details": {
"expected_payment_frequency": "business_daily",
"expected_payment_frequency_interval_days": 123,
"expected_number_of_payments": 123,
"expected_first_payment_date": "2023-12-25",
"expected_first_payment_amount": 123,
"expected_last_payment_date": "2023-12-25",
"expected_last_payment_amount": 123,
"expected_payment_amount": 123
},
"max_funding_amount": 123,
"term": {
"length": 123,
"unit": "days"
},
"expected_finance_charge_amount": 123
},
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"closed_at": "2023-11-07T05:31:56Z"
}{
"code": "idempotency_key_missing",
"message": "The Idempotency-Key header is required on this endpoint."
}{
"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": "object_state_conflict",
"message": "The object is not in the state this request assumed. Fetch its current state before retrying.",
"errors": [
{
"code": "object_balance_nonzero",
"message": "User Credit Balance user_credit_balance_xyz123 has a balance of 1250.00. Bring it to zero before closing."
}
]
}{
"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."
}{
"code": "endpoint_disabled",
"message": "This endpoint is temporarily disabled. Retry after the interval given in the Retry-After header."
}{
"code": "gateway_timeout",
"message": "An upstream system timed out. Retry with backoff."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Idempotency key
255Path Parameters
The Credit Balance's ID
^user_credit_balance_\w+$Body
entity_closed, client_closed, paid_off, charged_off, canceled Response
Credit Balance closed successfully (or already closed)
A user credit balance — a virtual end-customer credit position.
^user_credit_balance_\w+$The parent User Account's ID.
Human-readable name.
"Personal Loan - Jane Smith"
active, inactive, closed, reporting_stopped active, frozen, dormant, other, entity_closed, client_closed, paid_off, charged_off, canceled, receivables_sold_to_partner, data_not_available A three-letter currency code as defined in ISO 4217.
USD "USD"
Signed, minor units.
Signed, minor units, in USD.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
ach, debit_card, wire, virtual_wallet, credit_card, none Show child attributes
Show child attributes
A set of key-value pairs that can be used to store additional information related to this object.
Show child attributes
Show child attributes
Was this page helpful?

