curl --request GET \
--url https://api.qbank.cl/platform/v1/payouts/{payoutID} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qbank.cl/platform/v1/payouts/{payoutID}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qbank.cl/platform/v1/payouts/{payoutID}', 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.qbank.cl/platform/v1/payouts/{payoutID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.qbank.cl/platform/v1/payouts/{payoutID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"payout_id": "7d5c2f0a-1e9b-4a6d-8f3c-0b2a1d9e8c7f",
"account_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"idempotency_key": "invoice-8841",
"country": "MX",
"currency": "MXN",
"method": "bank_transfer",
"local_amount": "1500.00",
"fx_rate": "17.50",
"rate_source": "lot",
"usdt_amount": "85.714286",
"fee": "0.300000",
"total_debit": "86.014286",
"settlement_asset": "USDT",
"settlement_amount": "86.014286",
"settlement_rate": "1",
"beneficiary": {
"name": "Maria Lopez",
"account_type": "clabe",
"account_number": 12180001234567896
},
"description": "Invoice 8841",
"status": "completed",
"status_code": "",
"status_message": "",
"bank_reference": "00761123456",
"created_at": "2026-07-07T12:00:00Z",
"updated_at": "2026-07-07T12:00:00Z"
}{
"error": "unauthorized",
"message": "invalid or missing credentials"
}{
"error": "not_found",
"message": "resource not found"
}Get a payout
curl --request GET \
--url https://api.qbank.cl/platform/v1/payouts/{payoutID} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qbank.cl/platform/v1/payouts/{payoutID}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qbank.cl/platform/v1/payouts/{payoutID}', 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.qbank.cl/platform/v1/payouts/{payoutID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.qbank.cl/platform/v1/payouts/{payoutID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"payout_id": "7d5c2f0a-1e9b-4a6d-8f3c-0b2a1d9e8c7f",
"account_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"idempotency_key": "invoice-8841",
"country": "MX",
"currency": "MXN",
"method": "bank_transfer",
"local_amount": "1500.00",
"fx_rate": "17.50",
"rate_source": "lot",
"usdt_amount": "85.714286",
"fee": "0.300000",
"total_debit": "86.014286",
"settlement_asset": "USDT",
"settlement_amount": "86.014286",
"settlement_rate": "1",
"beneficiary": {
"name": "Maria Lopez",
"account_type": "clabe",
"account_number": 12180001234567896
},
"description": "Invoice 8841",
"status": "completed",
"status_code": "",
"status_message": "",
"bank_reference": "00761123456",
"created_at": "2026-07-07T12:00:00Z",
"updated_at": "2026-07-07T12:00:00Z"
}{
"error": "unauthorized",
"message": "invalid or missing credentials"
}{
"error": "not_found",
"message": "resource not found"
}Authorizations
Session JWT (from register/login) or API key (pk_...).
X-API-Key: <token> is accepted as an alternative header.
Path Parameters
Response
The payout.
Your account's rate at execution time (local units per 1 USDT).
Execution rate provenance. lot, blend or spot; omitted for historical rows without attribution.
lot, blend, spot Virtual balance the operation was actually debited from.
USD, USDT, USDC, BTC, GOLD, SILVER, PLATINUM Exact amount debited from the settlement asset's balance (in that asset's units). Equals total_debit when the asset is USDT. If the payout fails this exact amount is refunded — never re-quoted.
Effective USD price per unit of the settlement asset used to convert the USDT total ("1" for USDT/USDC).
pending with compliance_pending: true means technical beneficiary screening is queued before any debit or core dispatch. After screening passes, pending can use compliance_dispatch_pending, compliance_dispatching or core_unreachable while the debit remains held.
pending, processing, completed, failed Normalized state detail. compliance_pending is pre-debit; compliance_dispatch_pending, compliance_dispatching and core_unreachable are durable post-screening transition codes.
False before a pending technical-screening payout is debited. True after screening passes and the debit/hold exists, including pending dispatch transitions.
True when screening or a hard compliance gate ended the payout before any debit. It is distinct from a failed payout whose debit was later refunded.
True only while technical screening is queued before any debit or core dispatch; false after the screening process result is accepted.
Bank/rail transaction reference (e.g. the bank's transfer id, which the beneficiary can use to cross-check the payment with their bank). On US ACH/wire/SWIFT it is the CBF reference returned immediately at create; on other corridors it stays empty until the rail reports it.
UETR/SWIFT gpi tracking identifier reported by the bank after execution; empty until available.
Domestic wire/ACH tracking identifier reported by the bank after execution; empty until available.
Present (true) when the response is an idempotent replay.
Present only when a receipt exists, normally after debit and a final-state transition. Omitted while the payout is pending technical screening before debit.