Pix Out
Withdrawals — lifecycle and error codes for both initiation methods.
API: POST /v1/pix/withdraw/pix-key, POST /v1/pix/withdraw/manual, GET /v1/pix/withdraw/{externalId}
After create (POST)
| Status | Meaning |
|---|---|
INITIATED | Request accepted, withdraw intent created |
CONFIRMED | Payment request sent to BACEN |
PROCESSING | Withdraw in progress, payment intent created, sent to BACEN and awaiting settlement (most common) |
SUCCESS | Completed in the same response (uncommon) |
FAILED | Failed at initiation |
When querying (GET)
| Status | Meaning |
|---|---|
INITIATED | Request accepted, withdraw intent created |
CONFIRMED | Payment request sent to BACEN |
SUCCESS | Payment accepted by counterparty and settled successfully |
REJECTED | Payment rejected by counterparty |
CANCELED | Payment request could not be sent to BACEN |
FAILED | Processing error |
EXPIRED | Confirmation window expired |
When status is FAILED, REJECTED, CANCELED, or EXPIRED, the response may include errorCode and errorDescription.
Webhook statuses for Pix Out: see Webhook events.
Error codes
BAD_REQUEST (400)
| Error code | Description |
|---|---|
InvalidContentType | POST body must be sent as application/json. |
MalformedRequest | Withdraw payload failed validation (amount, externalId, Pix key, or manual account fields). |
InvalidJSON | Withdraw request body could not be parsed. |
InvalidParameter | externalId on GET is malformed or exceeds 100 characters. |
NOT_FOUND (404)
| Error code | Description |
|---|---|
NotFound | No withdrawal exists for the given externalId. |
PIX_KEY_NOT_FOUND | Pix key withdraw only — key not found in DICT. |
UNPROCESSABLE_ENTITY (422)
| Error code | Description |
|---|---|
IGAMING_CPF_MISMATCH | Pix key CPF does not match account holder. |
SECURE_LOOP_ACCOUNT_MISMATCH | Secure Loop rules rejected the withdraw. |
See also HTTP errors.