curl --request GET \
--url https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automaticimport requests
url = "https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic', 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}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic",
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}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic"
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}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic")
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": "6729f3e1b4d3e80012c9a7c1",
"environment": "LIVE",
"realmId": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organizationId": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"accountId": "66f2a1c7b4d3e80012c9a0b4",
"walletId": "66f2a3d1b4d3e80012c9a0d2",
"pixDict": "financeiro@academiamovimento.com.br",
"status": "SCHEDULED",
"debitParty": {
"type": "INDIVIDUAL",
"name": "Juliana Ribeiro",
"email": "juliana.ribeiro@exemplo.com.br",
"document": "12345678909"
},
"paymentUrl": "https://pay.portao3.com.br/2d902e74-7ca0-4f6c-9c83-4b5e6f708192",
"schedule": {
"type": "MONTHLY",
"minAmount": 18990,
"maxAmount": 18990,
"startDate": "2026-12-08T00:00:00.000Z",
"endDate": "2027-11-11T00:00:00.000Z"
},
"external": {
"customerId": "0b7e0c52-5a8e-4d4a-9a61-2f3c4d5e6f70",
"recipientId": "1c8f1d63-6b9f-4e5b-8b72-3a4d5e6f7081",
"requestId": "2d902e74-7ca0-4f6c-9c83-4b5e6f708192"
},
"createdAt": "2026-11-05T14:20:31.402Z",
"updatedAt": "2026-11-05T14:31:07.118Z",
"description": "Mensalidade Academia Movimento",
"paymentLinkValidity": "2027-11-11T03:00:00.000Z",
"firstPayment": {
"_id": "6729f3e1b4d3e80012c9a7c2",
"amount": 18990,
"date": "2026-11-10T00:00:00.000Z",
"description": "Primeira mensalidade"
},
"__v": 0
}
],
"next": "NjcyOWYzZTFiNGQzZTgwMDEyYzlhN2Mx"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "ACCOUNT_NOT_FOUND",
"origin": "BANKING",
"message": "Account not found"
}{
"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": "debitPartyDocument",
"message": "Too big: expected string to have <=256 characters",
"code": "DEBITPARTYDOCUMENT_MAX"
}
]
}List a wallet's Pix Automatic authorizations
Lists the wallet’s Pix Automático authorizations, newest first.
curl --request GET \
--url https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automaticimport requests
url = "https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic', 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}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic",
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}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic"
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}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix-billing-automatic")
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": "6729f3e1b4d3e80012c9a7c1",
"environment": "LIVE",
"realmId": "f495ff0c-ab54-4f99-8e92-ca8682e4de9b",
"organizationId": "c4bd3f21-dfbd-44e8-8055-68ba15bed410",
"accountId": "66f2a1c7b4d3e80012c9a0b4",
"walletId": "66f2a3d1b4d3e80012c9a0d2",
"pixDict": "financeiro@academiamovimento.com.br",
"status": "SCHEDULED",
"debitParty": {
"type": "INDIVIDUAL",
"name": "Juliana Ribeiro",
"email": "juliana.ribeiro@exemplo.com.br",
"document": "12345678909"
},
"paymentUrl": "https://pay.portao3.com.br/2d902e74-7ca0-4f6c-9c83-4b5e6f708192",
"schedule": {
"type": "MONTHLY",
"minAmount": 18990,
"maxAmount": 18990,
"startDate": "2026-12-08T00:00:00.000Z",
"endDate": "2027-11-11T00:00:00.000Z"
},
"external": {
"customerId": "0b7e0c52-5a8e-4d4a-9a61-2f3c4d5e6f70",
"recipientId": "1c8f1d63-6b9f-4e5b-8b72-3a4d5e6f7081",
"requestId": "2d902e74-7ca0-4f6c-9c83-4b5e6f708192"
},
"createdAt": "2026-11-05T14:20:31.402Z",
"updatedAt": "2026-11-05T14:31:07.118Z",
"description": "Mensalidade Academia Movimento",
"paymentLinkValidity": "2027-11-11T03:00:00.000Z",
"firstPayment": {
"_id": "6729f3e1b4d3e80012c9a7c2",
"amount": 18990,
"date": "2026-11-10T00:00:00.000Z",
"description": "Primeira mensalidade"
},
"__v": 0
}
],
"next": "NjcyOWYzZTFiNGQzZTgwMDEyYzlhN2Mx"
}{
"traceId": "1-68ee2a1b-3c4d5e6f7a8b9c0d1e2f3a4b",
"code": "ACCOUNT_NOT_FOUND",
"origin": "BANKING",
"message": "Account not found"
}{
"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": "debitPartyDocument",
"message": "Too big: expected string to have <=256 characters",
"code": "DEBITPARTYDOCUMENT_MAX"
}
]
}debitPartyDocument, debitPartyEmail and debitPartyName each match part of the value —, by description, by status and scheduleType, which take their values comma-separated (?status=SCHEDULED,CREATED), and by the amount and date ranges of the first payment and of the recurrence. Page with limit + next. Only the authorizations of the environment in x-environment are listed, so send x-environment: LIVE for production ones. An unknown wallet has none. The items don’t carry their charges: read an authorization by ID for them. Use default as walletId for the organization’s main wallet.
Any member of the organization can list them.Headers
Environment whose authorizations you list: LIVE (production) or TEST (sandbox). When you omit it, you get the TEST ones; any other value is rejected.
LIVE, TEST Path Parameters
ID of your realm.
Format: UUID
ID of the organization.
Format: UUID
ID of the organization's account (24 hexadecimal characters).
^[0-9a-fA-F]{24}$ID of the wallet that receives the payments (24 hexadecimal characters), or default for the organization's main wallet.
^([0-9a-fA-F]{24}|default)$Query Parameters
Only authorizations whose payer's CPF or CNPJ contains this text (digits only, as stored).
256Only authorizations whose payer's e-mail contains this text, ignoring case.
256Only authorizations whose payer's name contains this text, ignoring case.
256Only authorizations whose description contains this text, ignoring case.
256Only authorizations in these statuses (case-insensitive): CREATED, INITIATED, SCHEDULED, CANCELED, EXPIRED, REVOKED or FAILED.
Example (comma-separated list): ?status=SCHEDULED,CREATED
CREATED, INITIATED, SCHEDULED, CANCELED, EXPIRED, REVOKED, FAILED Only authorizations with these frequencies (case-insensitive): WEEKLY, MONTHLY, QUARTERLY, SEMESTER or YEARLY.
Example (comma-separated list): ?scheduleType=MONTHLY,YEARLY
WEEKLY, MONTHLY, QUARTERLY, SEMESTER, YEARLY Only authorizations whose first payment is at least this amount, in cents.
x > 0Only authorizations whose first payment is at most this amount, in cents. Not less than firstPaymentAmountMin.
x > 0Only authorizations whose schedule.minAmount is at least this amount, in cents.
x > 0Only authorizations whose schedule.maxAmount is at most this amount, in cents. Not less than scheduleAmountMin.
x > 0Only authorizations whose first payment is on or after this date: an ISO 8601 date (2026-11-01, midnight UTC) or date-time.
Only authorizations whose first payment is on or before this date, in the same format. Not before firstPaymentStartDate.
Only authorizations whose authorization starts (schedule.startDate) on or after this date, in the same format.
Only authorizations whose authorization ends (schedule.endDate) on or before this date, in the same format. Not before scheduleStartDate.
Cursor returned as next by the previous page. Omit it for the first page.
Page size. Defaults to 15.
x > 0