Create a BRE-B payout
curl --request POST \
--url http://localhost:3000/api/integrations/breb/payouts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userAddress": "0x2222222222222222222222222222222222222222",
"destinationCop": "10000",
"breBKey": "31234567890",
"accountOwnerName": "Ana Pérez"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
userAddress: '0x2222222222222222222222222222222222222222',
destinationCop: '10000',
breBKey: '31234567890',
accountOwnerName: 'Ana Pérez'
})
};
fetch('http://localhost:3000/api/integrations/breb/payouts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "http://localhost:3000/api/integrations/breb/payouts"
payload = {
"userAddress": "0x2222222222222222222222222222222222222222",
"destinationCop": "10000",
"breBKey": "31234567890",
"accountOwnerName": "Ana Pérez"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"payoutId": "<string>",
"status": "<string>",
"fromToken": "<string>",
"sourceAmount": "<string>",
"fees": [
{
"code": "swap",
"amountUsd": "<string>",
"to": "<string>",
"status": "quoted"
}
],
"quote": {
"display": "<string>",
"effectiveUsdCop": "<string>"
},
"receipt": {
"title": "Retiro Bre-B",
"status": "<string>",
"completedAt": "<string>",
"transactionType": "withdrawal",
"payoutId": "<string>",
"breBKey": "<string>",
"breBKeyLast4": "<string>",
"beneficiaryName": "<string>",
"totalPaid": {
"amount": "<string>",
"currency": "USD"
},
"exchangeRate": {
"display": "1 USD = 3000 COP",
"effectiveUsdCop": "<string>",
"sellRateUsdCop": "<string>"
},
"commission": {
"mode": "included_in_rate",
"displayAmount": "0",
"displayCurrency": "COP",
"note": "<string>"
},
"totalReceived": {
"amount": "<string>",
"currency": "COP"
},
"feesItemized": [
{
"code": "swap",
"amountUsd": "<string>",
"to": "<string>",
"status": "quoted"
}
]
},
"deposit": {
"chain": "<string>",
"currency": "<string>",
"address": "<string>",
"amount": "<string>"
},
"transaction": {
"approvalTarget": "<string>",
"to": "<string>",
"data": "<string>",
"value": "0"
},
"feeTransaction": {
"approvalTarget": "<string>",
"to": "<string>",
"data": "<string>",
"value": "0"
},
"destinationPreview": {
"accountOwnerName": "<string>",
"bankName": "<string>",
"documentLast4": "<string>"
}
}{
"error": "<string>",
"errorCode": "below_minimum"
}{
"error": "<string>",
"errorCode": "below_minimum"
}BRE-B
Create a BRE-B payout
Requires an approved customer. Creates a Bre-B external account and
verifies name + key before returning the deposit transaction.
409 destination_mismatch if verify does not match. 409 needs_kyc if KYC is incomplete.
POST
/
api
/
integrations
/
breb
/
payouts
Create a BRE-B payout
curl --request POST \
--url http://localhost:3000/api/integrations/breb/payouts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userAddress": "0x2222222222222222222222222222222222222222",
"destinationCop": "10000",
"breBKey": "31234567890",
"accountOwnerName": "Ana Pérez"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
userAddress: '0x2222222222222222222222222222222222222222',
destinationCop: '10000',
breBKey: '31234567890',
accountOwnerName: 'Ana Pérez'
})
};
fetch('http://localhost:3000/api/integrations/breb/payouts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "http://localhost:3000/api/integrations/breb/payouts"
payload = {
"userAddress": "0x2222222222222222222222222222222222222222",
"destinationCop": "10000",
"breBKey": "31234567890",
"accountOwnerName": "Ana Pérez"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"payoutId": "<string>",
"status": "<string>",
"fromToken": "<string>",
"sourceAmount": "<string>",
"fees": [
{
"code": "swap",
"amountUsd": "<string>",
"to": "<string>",
"status": "quoted"
}
],
"quote": {
"display": "<string>",
"effectiveUsdCop": "<string>"
},
"receipt": {
"title": "Retiro Bre-B",
"status": "<string>",
"completedAt": "<string>",
"transactionType": "withdrawal",
"payoutId": "<string>",
"breBKey": "<string>",
"breBKeyLast4": "<string>",
"beneficiaryName": "<string>",
"totalPaid": {
"amount": "<string>",
"currency": "USD"
},
"exchangeRate": {
"display": "1 USD = 3000 COP",
"effectiveUsdCop": "<string>",
"sellRateUsdCop": "<string>"
},
"commission": {
"mode": "included_in_rate",
"displayAmount": "0",
"displayCurrency": "COP",
"note": "<string>"
},
"totalReceived": {
"amount": "<string>",
"currency": "COP"
},
"feesItemized": [
{
"code": "swap",
"amountUsd": "<string>",
"to": "<string>",
"status": "quoted"
}
]
},
"deposit": {
"chain": "<string>",
"currency": "<string>",
"address": "<string>",
"amount": "<string>"
},
"transaction": {
"approvalTarget": "<string>",
"to": "<string>",
"data": "<string>",
"value": "0"
},
"feeTransaction": {
"approvalTarget": "<string>",
"to": "<string>",
"data": "<string>",
"value": "0"
},
"destinationPreview": {
"accountOwnerName": "<string>",
"bankName": "<string>",
"documentLast4": "<string>"
}
}{
"error": "<string>",
"errorCode": "below_minimum"
}{
"error": "<string>",
"errorCode": "below_minimum"
}Authorizations
Integration API key. Send as Bearer copby_live_pk_….
Headers
Replays the same payout when reused by this integration
Body
application/json
Response
Prepared payout
Consumer receipt (REQ-INT-RCPT-01). Fees are included in exchangeRate.effectiveUsdCop.
Use feesItemized only for partner backoffice / disputes.
Hide child attributes
Hide child attributes
Example:
"Retiro Bre-B"
Available options:
withdrawal Masked key (last4), e.g. ···3143