curl --request GET \
--url https://api.sandbox.trio.com.br/v2/documents/out/refunds \
--header 'Authorization: Basic <encoded-value>' \
--header 'Trio-Version: <trio-version>'import requests
url = "https://api.sandbox.trio.com.br/v2/documents/out/refunds"
headers = {
"Trio-Version": "<trio-version>",
"Authorization": "Basic <encoded-value>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Trio-Version': '<trio-version>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://api.sandbox.trio.com.br/v2/documents/out/refunds', 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.trio.com.br/v2/documents/out/refunds",
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: Basic <encoded-value>",
"Trio-Version: <trio-version>"
],
]);
$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.sandbox.trio.com.br/v2/documents/out/refunds"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Trio-Version", "<trio-version>")
req.Header.Add("Authorization", "Basic <encoded-value>")
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.sandbox.trio.com.br/v2/documents/out/refunds")
.header("Trio-Version", "<trio-version>")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.trio.com.br/v2/documents/out/refunds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Trio-Version"] = '<trio-version>'
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"data": [
{
"amount": {
"amount": 1,
"currency": "BRL"
},
"bank_account_id": "019ddfe9-e64b-b642-36fd-efdaef77d05e",
"counterparty": {
"bank_account_id": "0008d49c-e6d5-a58e-a742-449e9b38f795",
"id": "0008d49c-e6d5-4d86-232a-a6f4b9138f10",
"name": "John Doe",
"tax_number": "***982247**"
},
"description": "md06",
"end_to_end_id": "D60746948202610091618a4900N5mYsE",
"external_id": "Pix Console 01a1210c-076e-daf3-8d7b-8000a8e5c6fc",
"id": "01a12175-3994-6649-4e0b-f645e45459ea",
"inserted_at": "2026-10-09T16:18:13.012356Z",
"origin": {
"id": "d4abaabe-5ebf-4628-ba34-5a1b17da4c6b",
"type": "console_user"
},
"out_document_id": "01a1210c-4914-9972-f8a2-14b30f6b60f6",
"receipt_url": "https://receipts.trio.com.br/019489e6-f64f-5cfe-770b-79b671ec66f0/out_refund/01a12175-3994-6649-4e0b-f645e45459ea",
"reconciliation_id": "01a12175-3994-450a-4ff2-129a15a79b0b",
"stages": [
{
"error_code": null,
"error_message": null,
"id": "01a12175-3994-1769-f302-ff90c917b627",
"inserted_at": "2026-10-09T16:18:13.020169Z",
"status": "created"
},
{
"error_code": null,
"error_message": null,
"id": "01a12175-3994-c354-a724-745e098967f5",
"inserted_at": "2026-10-09T16:18:14.231252Z",
"status": "settled"
}
],
"status": "settled",
"transaction_date": "2026-10-09T16:18:13.361000Z",
"updated_at": "2026-10-09T16:18:14.231252Z"
}
],
"metadata": {
"after": null,
"before": null,
"has_more": false
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}List Payment Refunds
List out document refunds
curl --request GET \
--url https://api.sandbox.trio.com.br/v2/documents/out/refunds \
--header 'Authorization: Basic <encoded-value>' \
--header 'Trio-Version: <trio-version>'import requests
url = "https://api.sandbox.trio.com.br/v2/documents/out/refunds"
headers = {
"Trio-Version": "<trio-version>",
"Authorization": "Basic <encoded-value>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Trio-Version': '<trio-version>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://api.sandbox.trio.com.br/v2/documents/out/refunds', 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.trio.com.br/v2/documents/out/refunds",
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: Basic <encoded-value>",
"Trio-Version: <trio-version>"
],
]);
$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.sandbox.trio.com.br/v2/documents/out/refunds"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Trio-Version", "<trio-version>")
req.Header.Add("Authorization", "Basic <encoded-value>")
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.sandbox.trio.com.br/v2/documents/out/refunds")
.header("Trio-Version", "<trio-version>")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.trio.com.br/v2/documents/out/refunds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Trio-Version"] = '<trio-version>'
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"data": [
{
"amount": {
"amount": 1,
"currency": "BRL"
},
"bank_account_id": "019ddfe9-e64b-b642-36fd-efdaef77d05e",
"counterparty": {
"bank_account_id": "0008d49c-e6d5-a58e-a742-449e9b38f795",
"id": "0008d49c-e6d5-4d86-232a-a6f4b9138f10",
"name": "John Doe",
"tax_number": "***982247**"
},
"description": "md06",
"end_to_end_id": "D60746948202610091618a4900N5mYsE",
"external_id": "Pix Console 01a1210c-076e-daf3-8d7b-8000a8e5c6fc",
"id": "01a12175-3994-6649-4e0b-f645e45459ea",
"inserted_at": "2026-10-09T16:18:13.012356Z",
"origin": {
"id": "d4abaabe-5ebf-4628-ba34-5a1b17da4c6b",
"type": "console_user"
},
"out_document_id": "01a1210c-4914-9972-f8a2-14b30f6b60f6",
"receipt_url": "https://receipts.trio.com.br/019489e6-f64f-5cfe-770b-79b671ec66f0/out_refund/01a12175-3994-6649-4e0b-f645e45459ea",
"reconciliation_id": "01a12175-3994-450a-4ff2-129a15a79b0b",
"stages": [
{
"error_code": null,
"error_message": null,
"id": "01a12175-3994-1769-f302-ff90c917b627",
"inserted_at": "2026-10-09T16:18:13.020169Z",
"status": "created"
},
{
"error_code": null,
"error_message": null,
"id": "01a12175-3994-c354-a724-745e098967f5",
"inserted_at": "2026-10-09T16:18:14.231252Z",
"status": "settled"
}
],
"status": "settled",
"transaction_date": "2026-10-09T16:18:13.361000Z",
"updated_at": "2026-10-09T16:18:14.231252Z"
}
],
"metadata": {
"after": null,
"before": null,
"has_more": false
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}{
"error": {
"error_code": "INVALID_PARAMETER",
"error_message": "Invalid parameters: /amount: Invalid integer. Got: string",
"errors": [
{
"field": "/amount",
"message": "Invalid integer. Got: string"
}
]
}
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Headers
Version of the v2 contract the client is written against. Each breaking change publishes a new version.
2026-10-19.v2 ID of another org to act on instead of the API key's own org. The key's org must have been granted access to it, and the request is refused with 403 FORBIDDEN otherwise. When that access or the API key is read-only, only GET and HEAD requests may carry it. When the target org requires mTLS, so does the request. Leave it out to act on the key's own org.
Query Parameters
Bank account ID. When omitted, lists the refunds of every bank account of the organization. Unique identifier
From datetime Datetime schema
To datetime Datetime schema
Reconciliation ID Unique identifier
Parameter used for pagination. It is a base64 encoded param used to access the previous page of results. It is provided alongside a metadata section if there is a previous page.
Parameter used for pagination. It's a base64 encoded param used to access the previous page of results. Provided along with the data in the metadata section if there is a previous page.

