List an organization's boleto charges
curl --request GET \
--url https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billingimport requests
url = "https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing', 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.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing"
req, _ := http.NewRequest("GET", url, nil)
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.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"items": [
{
"_id": "6727c3d4b4d3e80012c9b5c2",
"environment": "LIVE",
"realmId": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organizationId": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"accountId": "66f2a1c7b4d3e80012c9a0b4",
"walletId": "66f2a3d1b4d3e80012c9a0d2",
"status": "CREATED",
"txnCurrency": "986",
"txnAmount": 150000,
"txnDivergentAmountType": "NOT_ALLOW_DIFFERENT_AMOUNT",
"txnMaxAmount": 150000,
"txnMinAmount": 150000,
"txnDiscountAmount": [
{
"_id": "6727c3d4b4d3e80012c9b5c3",
"date": "2026-11-15T00:00:00.000Z",
"amount": 0.05,
"amountType": "PERCENT_UNTIL_INFORMED_DATE"
}
],
"dueDate": "2026-11-20T00:00:00.000Z",
"expiresAt": "2026-12-20T00:00:00.000Z",
"description": "Mensalidade de novembro",
"customer": {
"name": "Padaria Pao Dourado Ltda",
"document": "11222333000181",
"address": {
"street": "Rua das Laranjeiras",
"number": "250",
"neighborhood": "Centro",
"postalCode": "01310-100",
"city": "São Paulo",
"state": "SP",
"complement": "Loja 2"
}
},
"confirmedAmount": 0,
"createdAt": "2026-11-05T13:10:22.000Z",
"updatedAt": "2026-11-05T13:10:24.000Z",
"barcode": "34191162100001500001090000012345678901234567",
"digitableLine": "34191090080123456789001234567890116210000150000",
"txnAmountLimitType": "FIXED_VALUE",
"txnFineAmount": {
"date": "2026-11-21T00:00:00.000Z",
"amount": 0.02,
"amountType": "PERCENT"
},
"txnInterestAmount": {
"date": "2026-11-21T00:00:00.000Z",
"amount": 0.01,
"amountType": "PERCENT_POINT_PER_MONTH_CALENDAR_DAYS"
},
"finalBeneficiary": {
"document": "45678912000134",
"documentType": "CNPJ",
"name": "ACME COMERCIO LTDA"
},
"external": {
"boletoBillingId": "3c5e7a9b-1d2f-4b6a-8c0e-2f4a6b8c0d1e"
},
"confirmedAt": "2026-11-18T14:32:10.000Z",
"confirmedCurrency": "986",
"confirmedBalanceCategory": "FLEX_INTERNATIONAL",
"__v": 0
}
],
"next": "NjcyN2MzZDRiNGQzZTgwMDEyYzliNWMy"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "BAD_REQUEST",
"origin": "BANKING",
"message": "Bad Request: Your request is invalid or incomplete. Please make sure you are requesting with the right fields.",
"fields": [
{
"field": "limit",
"message": "Invalid input: expected integer, received string",
"code": "LIMIT_TYPE_ERROR"
}
]
}List an organization's boleto charges
Lists the boleto charges the organization’s wallets issued, newest first.
GET
/
realms
/
{realmId}
/
organizations
/
{organizationId}
/
boleto-billing
List an organization's boleto charges
curl --request GET \
--url https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billingimport requests
url = "https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing', 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.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing"
req, _ := http.NewRequest("GET", url, nil)
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.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/boleto-billing")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"items": [
{
"_id": "6727c3d4b4d3e80012c9b5c2",
"environment": "LIVE",
"realmId": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organizationId": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"accountId": "66f2a1c7b4d3e80012c9a0b4",
"walletId": "66f2a3d1b4d3e80012c9a0d2",
"status": "CREATED",
"txnCurrency": "986",
"txnAmount": 150000,
"txnDivergentAmountType": "NOT_ALLOW_DIFFERENT_AMOUNT",
"txnMaxAmount": 150000,
"txnMinAmount": 150000,
"txnDiscountAmount": [
{
"_id": "6727c3d4b4d3e80012c9b5c3",
"date": "2026-11-15T00:00:00.000Z",
"amount": 0.05,
"amountType": "PERCENT_UNTIL_INFORMED_DATE"
}
],
"dueDate": "2026-11-20T00:00:00.000Z",
"expiresAt": "2026-12-20T00:00:00.000Z",
"description": "Mensalidade de novembro",
"customer": {
"name": "Padaria Pao Dourado Ltda",
"document": "11222333000181",
"address": {
"street": "Rua das Laranjeiras",
"number": "250",
"neighborhood": "Centro",
"postalCode": "01310-100",
"city": "São Paulo",
"state": "SP",
"complement": "Loja 2"
}
},
"confirmedAmount": 0,
"createdAt": "2026-11-05T13:10:22.000Z",
"updatedAt": "2026-11-05T13:10:24.000Z",
"barcode": "34191162100001500001090000012345678901234567",
"digitableLine": "34191090080123456789001234567890116210000150000",
"txnAmountLimitType": "FIXED_VALUE",
"txnFineAmount": {
"date": "2026-11-21T00:00:00.000Z",
"amount": 0.02,
"amountType": "PERCENT"
},
"txnInterestAmount": {
"date": "2026-11-21T00:00:00.000Z",
"amount": 0.01,
"amountType": "PERCENT_POINT_PER_MONTH_CALENDAR_DAYS"
},
"finalBeneficiary": {
"document": "45678912000134",
"documentType": "CNPJ",
"name": "ACME COMERCIO LTDA"
},
"external": {
"boletoBillingId": "3c5e7a9b-1d2f-4b6a-8c0e-2f4a6b8c0d1e"
},
"confirmedAt": "2026-11-18T14:32:10.000Z",
"confirmedCurrency": "986",
"confirmedBalanceCategory": "FLEX_INTERNATIONAL",
"__v": 0
}
],
"next": "NjcyN2MzZDRiNGQzZTgwMDEyYzliNWMy"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "BAD_REQUEST",
"origin": "BANKING",
"message": "Bad Request: Your request is invalid or incomplete. Please make sure you are requesting with the right fields.",
"fields": [
{
"field": "limit",
"message": "Invalid input: expected integer, received string",
"code": "LIMIT_TYPE_ERROR"
}
]
}Filter by
status, which takes its values comma-separated (?status=CREATED,PAID), and page with limit + next. Any other query parameter filters by the exact value of that field of the charge (comma-separated values match any of them, so a value can’t itself contain a comma) — for example ?walletId=… or ?customer.document=11222333000181. Charges of the other environment are not listed, so send x-environment: LIVE for production charges.
Any member of the organization can list them.Headers
Environment whose charges you list: LIVE (production) or TEST (sandbox). When you omit it, you get the TEST charges; any other value is rejected.
Available options:
LIVE, TEST Path Parameters
ID of your realm.
Format: UUID
ID of the organization.
Format: UUID
Query Parameters
Only charges in these statuses (case-insensitive). A charge is usually CREATED (payable), PAID or CANCELED; it can also be INITIATED, REQUESTED, ENQUEUED, PROCESSING, PROCESSING_PAYMENT or ERROR. Other values match no charge.
Example (comma-separated list): ?status=CREATED,PAID
Maximum string length:
64Cursor returned as next by the previous page. Omit it for the first page.
Page size. Defaults to 15.
Required range:
x > 0