curl --request POST \
--url https://app.sandbox.rio.trade/api/payouts/bank/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"payoutBankAccountId": "65ba521a4b3e1bd9eb6a5107"
}
'import requests
url = "https://app.sandbox.rio.trade/api/payouts/bank/bulk"
payload = { "payoutBankAccountId": "65ba521a4b3e1bd9eb6a5107" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({payoutBankAccountId: '65ba521a4b3e1bd9eb6a5107'})
};
fetch('https://app.sandbox.rio.trade/api/payouts/bank/bulk', 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://app.sandbox.rio.trade/api/payouts/bank/bulk",
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([
'payoutBankAccountId' => '65ba521a4b3e1bd9eb6a5107'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.sandbox.rio.trade/api/payouts/bank/bulk"
payload := strings.NewReader("{\n \"payoutBankAccountId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://app.sandbox.rio.trade/api/payouts/bank/bulk")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payoutBankAccountId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sandbox.rio.trade/api/payouts/bank/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payoutBankAccountId\": \"65ba521a4b3e1bd9eb6a5107\"\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2025-01-04T00:24:28.658Z",
"userId": "6757546b4c5d19bf3cd7b09c",
"orderIds": [],
"amount": 0,
"fiat": "MXN",
"country": "MX",
"bankName": "BBVA",
"CLABE": "012180015000000001",
"status": "awaitingOrders",
"payoutBankAccountId": "65ba521a4b3e1bd9eb6a5107",
"id": "677890d5d520f9ecb10e9c33"
}{
"errors": [
{
"code": 19,
"message": "Not authorized"
}
]
}Create bulk bank payout
Creates a bulk bank payout container to group multiple order payouts into a single consolidated payout.
curl --request POST \
--url https://app.sandbox.rio.trade/api/payouts/bank/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"payoutBankAccountId": "65ba521a4b3e1bd9eb6a5107"
}
'import requests
url = "https://app.sandbox.rio.trade/api/payouts/bank/bulk"
payload = { "payoutBankAccountId": "65ba521a4b3e1bd9eb6a5107" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({payoutBankAccountId: '65ba521a4b3e1bd9eb6a5107'})
};
fetch('https://app.sandbox.rio.trade/api/payouts/bank/bulk', 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://app.sandbox.rio.trade/api/payouts/bank/bulk",
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([
'payoutBankAccountId' => '65ba521a4b3e1bd9eb6a5107'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.sandbox.rio.trade/api/payouts/bank/bulk"
payload := strings.NewReader("{\n \"payoutBankAccountId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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://app.sandbox.rio.trade/api/payouts/bank/bulk")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"payoutBankAccountId\": \"65ba521a4b3e1bd9eb6a5107\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.sandbox.rio.trade/api/payouts/bank/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"payoutBankAccountId\": \"65ba521a4b3e1bd9eb6a5107\"\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2025-01-04T00:24:28.658Z",
"userId": "6757546b4c5d19bf3cd7b09c",
"orderIds": [],
"amount": 0,
"fiat": "MXN",
"country": "MX",
"bankName": "BBVA",
"CLABE": "012180015000000001",
"status": "awaitingOrders",
"payoutBankAccountId": "65ba521a4b3e1bd9eb6a5107",
"id": "677890d5d520f9ecb10e9c33"
}{
"errors": [
{
"code": 19,
"message": "Not authorized"
}
]
}Requirements to consume the endpoint.
Create and modify role
User approved
Authorizations
Body
The ID of the bank account where the payout will be sent.
"65ba521a4b3e1bd9eb6a5107"
Response
Created
The date and time the bulk payout was created.
"2025-01-04T00:24:28.658Z"
The unique identifier of the user.
"6757546b4c5d19bf3cd7b09c"
List of order IDs associated with this bulk payout.
[]
The total payout amount across all orders.
0
The fiat currency of the payout.
MXN, PEN, COP, USD The country of the payout.
MX, PE, CO The name of the destination bank.
"BBVA"
The CLABE number for Mexican bank accounts.
"012180015000000001"
The current status of the bulk bank payout.
awaitingOrders, awaitingPaymentForOrders, awaitingAsyncPayoutRequest, awaitingPayout, awaitingAsyncPayout, checkingLiquidity, sourcingLiquidity, liquiditySourced, complete, failed, cancelled "awaitingOrders"
The ID of the destination bank account.
"65ba521a4b3e1bd9eb6a5107"
The unique identifier of the bulk bank payout.
"677890d5d520f9ecb10e9c33"