Listar saques
curl --request GET \
--url https://api.sandbox.z2pay.com/v1/withdrawals \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/withdrawals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/withdrawals"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "wdr_cdo734b90lnwlndzd5e571d5r",
"amount": 500000,
"currency": "BRL",
"fee": 7867,
"netAmount": 492133,
"status": "paid",
"bankAccountId": "rba_mmw0ae28gelp9xz08x2czcgx0",
"paidAt": "2025-06-30T10:12:05.000Z",
"statusHistory": [
{
"status": "requested",
"changedBy": "api",
"changedAt": "2025-06-29T13:45:30.000Z",
"reason": null
},
{
"status": "approved",
"changedBy": "user_w9k2mx7qzt4rpf8hnc5ydv3bj",
"changedAt": "2025-06-29T18:20:11.000Z",
"reason": null
},
{
"status": "processing",
"changedBy": null,
"changedAt": "2025-06-30T09:00:00.000Z",
"reason": null
},
{
"status": "paid",
"changedBy": null,
"changedAt": "2025-06-30T10:12:05.000Z",
"reason": null
}
],
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-30T10:12:05.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 12,
"totalPages": 1
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}Saques
Listar saques
Lista paginada dos saques da sua conta, com filtro por etapa.
GET
/
withdrawals
Listar saques
curl --request GET \
--url https://api.sandbox.z2pay.com/v1/withdrawals \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sandbox.z2pay.com/v1/withdrawals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/withdrawals"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "wdr_cdo734b90lnwlndzd5e571d5r",
"amount": 500000,
"currency": "BRL",
"fee": 7867,
"netAmount": 492133,
"status": "paid",
"bankAccountId": "rba_mmw0ae28gelp9xz08x2czcgx0",
"paidAt": "2025-06-30T10:12:05.000Z",
"statusHistory": [
{
"status": "requested",
"changedBy": "api",
"changedAt": "2025-06-29T13:45:30.000Z",
"reason": null
},
{
"status": "approved",
"changedBy": "user_w9k2mx7qzt4rpf8hnc5ydv3bj",
"changedAt": "2025-06-29T18:20:11.000Z",
"reason": null
},
{
"status": "processing",
"changedBy": null,
"changedAt": "2025-06-30T09:00:00.000Z",
"reason": null
},
{
"status": "paid",
"changedBy": null,
"changedAt": "2025-06-30T10:12:05.000Z",
"reason": null
}
],
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-30T10:12:05.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 12,
"totalPages": 1
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}GET /withdrawals
Faz parte do recurso saques — o fluxo do saque e seus
pré-requisitos estão lá.
Retorna os saques da sua conta do mais recente para o mais antigo, paginados: limit vem 20
por padrão e aceita até 100. Nada no corpo avisa que houve corte — confira
pagination.totalPages antes de concluir que a lista acabou.
Filtro com valor inválido responde
400, não é ignorado. ?status=pendente recusa a
requisição inteira, sem devolver resultado parcial.amount é o valor solicitado e netAmount é o que cai na conta — a diferença é a fee,
todos em centavos. Para conferir a taxa antes de solicitar, use
Configuração de saque.cancelled e rejected não são a mesma coisa. cancelled é o saque que você cancelou
enquanto ele ainda podia ser interrompido; rejected é o que não passou na nossa análise. Em
ambos os casos o valor volta para a carteira. Já failed é falha no envio ao banco — vale
conferir os dados da conta bancária.Exemplo
curl -G https://api.sandbox.z2pay.com/v1/withdrawals -H "x-api-key: SUA_CHAVE_DE_SANDBOX" --data-urlencode "status=requested" --data-urlencode "limit=20"
{
"data": [
{
"id": "wdr_cdo734b90lnwlndzd5e571d5r",
"amount": 50000,
"currency": "BRL",
"fee": 367,
"netAmount": 49633,
"status": "requested",
"createdAt": "2026-06-20T09:00:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3,
"totalPages": 1
}
}
Authorizations
API Key da Credential (gerada no Backoffice)
Query Parameters
Página da listagem. Padrão: 1.
Required range:
x >= 1Itens por página. Padrão: 20. Máximo: 100.
Required range:
1 <= x <= 100Etapa do saque: requested (solicitado), approved (aprovado), processing (em processamento), paid (pago), cancelled (cancelado por você), rejected (recusado) ou failed (falhou). Um valor por requisição.
Available options:
requested, approved, processing, paid, cancelled, rejected, failed