Skip to main content
POST
Create a PIX withdrawal
Asynchronous processing. Withdrawal creation returns a non-terminal status (pending or processing) — the definitive outcome is always delivered via webhook (withdrawal.completed or withdrawal.failed). Treat the webhook as the source of truth; do not treat the creation response as the final result.Validation errors (insufficient balance, limit exceeded, invalid data) return an error in the call itself.

Authorizations

Authorization
string
header
required

Access token obtained from POST /auth (client_id + client_secret). Valid for 300 seconds.

Headers

Idempotency-Key
string

Unique client-provided key (8-255 chars) that makes the request idempotent. Retries with the same key return the cached response (24h TTL). The same key with a different body returns 422.

Required string length: 8 - 255
X-Sub-Account
string

Reference of the sub-account the operation runs against. When omitted, the operation happens on the main account; the reserved value principal also resolves to the main account and is equivalent to omitting the header. Accepted on every endpoint except POST /auth and the /sub-accounts endpoints themselves, which always operate on the main account.

Possible errors: 404 SUB_ACCOUNT_NOT_FOUND, 403 SUB_ACCOUNT_FORBIDDEN, 403 SUB_ACCOUNT_SUSPENDED.

Requires the credential to have sub-account access enabled (Settings → Integration → API Credentials). It starts turned off and is not replaced by any permission, not even FULL_ACCESS: without it the response is 403 SUB_ACCOUNT_FORBIDDEN.

Pattern: ^[a-z0-9][a-z0-9_-]{1,31}$
Example:

"loja-centro"

Body

application/json

Data to create a PIX withdrawal. Provide exactly one of amount (gross amount debited from the balance) or netAmount (net amount the recipient should receive).

pixKey
string
required

Recipient's PIX key.

Example:

"12345678901"

pixKeyType
enum<string>
required

PIX key type.

Available options:
cpf,
cnpj,
email,
phone,
random
Example:

"cpf"

holderName
string
required

PIX account holder's name.

Example:

"João da Silva"

holderDocument
string
required

Account holder's CPF or CNPJ.

Example:

"12345678901"

holderDocumentType
enum<string>
required

Holder's document type.

Available options:
cpf,
cnpj
Example:

"cpf"

projectId
string<uuid>

ID of the project the withdrawal belongs to. If omitted, the withdrawal inherits the account's project when there is a single one; with multiple projects the withdrawal is created without a project — same behavior as PIX charge creation.

Example:

"3c90c3cc-0d44-4b50-8888-8dd25736052a"

amount
number

Gross amount in BRL debited from the balance. The recipient receives amount - feeAmount. Minimum R$ 1.00. Provide amount OR netAmount — never both.

Required range: x >= 1
Example:

150.75

netAmount
number

Net amount in BRL the recipient should receive. The API computes the required gross (gross = netAmount + feeAmount) and debits that total from the balance. Minimum R$ 1.00. Provide amount OR netAmount — never both.

Required range: x >= 1
Example:

150

externalReference
string

Your external reference ID (optional). It is returned in the response and in the withdrawal_completed and withdrawal_failed webhooks to make reconciliation with your internal systems easier.

Maximum string length: 255
Example:

"saque-empresa-001"

Response

Withdrawal created successfully

Details of the created withdrawal.

id
string<uuid>
required

Withdrawal ID

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

amount
number
required

Withdrawal amount in BRL

Example:

150.75

feeAmount
number
required

Fee amount in BRL

Example:

2.5

netAmount
number
required

Net amount in BRL

Example:

148.25

status
enum<string>
required

Withdrawal status

Available options:
pending,
processing,
completed,
failed
Example:

"completed"

snapshotHolderName
string
required

Holder's name at the time of the withdrawal

Example:

"João da Silva"

snapshotHolderDocument
string
required

Holder's document at the time of the withdrawal

Example:

"12345678901"

createdAt
string<date-time>
required

Creation date

Example:

"2026-02-10T14:30:00.000Z"

projectId
string<uuid> | null

Project ID of the withdrawal (null when not provided at creation and the account has 2+ projects)

snapshotPixKey
string | null

PIX key used at the time of the withdrawal

Example:

"12345678901"

snapshotPixKeyType
enum<string> | null

Type of the PIX key used at the time of the withdrawal

Available options:
cpf,
cnpj,
email,
phone,
random
Example:

"cpf"

failureReason
string | null

Failure reason (when status = failed)

Example:

null

pspReference
string | null

PSP (payment service provider) reference

Example:

null

processedAt
string<date-time> | null

Processing date

Example:

"2026-02-10T14:30:01.000Z"

externalReference
string | null

Your external reference sent when the withdrawal was created (optional)

Example:

"saque-empresa-001"