---
title: "Retrieve a withdrawal"
method: GET
path: "/withdrawals/{withdrawal_id}"
tags: ["Accounts"]
---

# Retrieve a withdrawal

`GET /withdrawals/{withdrawal_id}`

## Request

- Base URL: `https://developers.ozav.io/v2`
- URL: `https://developers.ozav.io/v2/withdrawals/{withdrawal_id}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

The withdrawal and its status: `pending` until the payment institution
classifies the outcome, `accepted` when it took the order, `settled` when
the money arrived, `rejected` when it did not leave (`balance_restored: true`:
the amount is back in the customer's balance).

## Path parameters

- `withdrawal_id` string, required

## Response `200`

The withdrawal.

- Withdrawal
  - `id` string, required
  - `object` 'withdrawal', required
  - `customer_id` string, required
  - `payout_destination_id` string, required
  - `amount` object, required
    - `currency` 'BRL'
    - `value` string
  - `reference` string, required
  - `status` 'pending' | 'accepted' | 'settled' | 'rejected', required
  - `balance_restored` boolean, required: true when the Pix did not leave and the amount is back in the customer's balance.
  - `created_at` string, date-time, nullable

## Other responses

- `401`: Missing or invalid API key.
- `403`: The organization lacks the entitlement (code ENTITLEMENT_REQUIRED) or the key lacks the scope (code INSUFFICIENT_SCOPE). On money-moving requests (POST /transfers, POST /wallets/{wallet_id}/transfers) a compliance hold on the customer answers with code COMPLIANCE_HOLD: the hold is reviewed and lifted on OZAV's side; retrying does not clear it. When the only hold is a pause until pending onboarding documents are received, a withdrawal answers CUSTOMER_DOCUMENTS_PENDING instead: send what `requirements` on GET /customers/{id} lists; OZAV lifts the pause after reviewing it. On OZAV Services (live without the platform's KYB), any API outside decisions, screenings, lists and self-custody wallets answers with code PRODUCTION_NOT_ACTIVATED.
- `404`: The resource does not exist, is not visible to the caller, or the id was malformed for this position (see "Resource ids" under Errors). These share one status; `code` and `message` tell them apart.
- `503`: A dependency OZAV needs (storage, a resource lookup) could not be reached, so OZAV fails closed rather than guess. Safe to retry with the same `Idempotency-Key` where the operation accepts one.

---

[API](https://skmtc.dev/ozav/apis/ozav-api.md) - [All operations](https://skmtc.dev/ozav/apis/ozav-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ozav/apis/ozav-api/revisions/4133dc2109d7?raw)
