---
title: "List the caller's withdrawals"
url: https://docs.truemarkets.co/api/gateway/list-withdrawals
description: "Returns a paginated list of the caller's withdrawals, newest first."
---

Docs index: https://docs.truemarkets.co/llms.txt

# List the caller's withdrawals

```
GET https://api.truemarkets.co/v1/gateway/withdrawals
```

Returns a paginated list of the caller's withdrawals, newest first.

## Authentication

Bearer token in `Authorization`

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `TM-On-Behalf-Of` | header | string (uuid) | no | Act as one of your organization's users. The value is the `user_id` returned when the user was created; the request then reads and writes that user's account. Requires an organization token and a user your organization created: `400` for a personal token, a repeated header or a non-UUID, `403` for a user outside your organization. Not accepted on organization-scoped routes. |
| `status` | query | string, one of `debiting`, `completed`, `rejected`, `stranded` | no | Filter by withdrawal status |
| `cursor` | query | string | no | Opaque pagination cursor from the previous page's `next_cursor` |
| `limit` | query | integer | no | Maximum number of withdrawals to return |

## Responses

Every error status returns the same body, described in [Errors](https://docs.truemarkets.co/developer-resources/errors.md).

### 200

Withdrawals retrieved successfully

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | array of object | no | List of withdrawals |
| `data[].id` | string (uuid) | yes | Withdrawal identifier |
| `data[].status` | string, one of `debiting`, `completed`, `rejected`, `stranded` | yes | Where the withdrawal stands. * **debiting** — The exchange has been asked to withdraw the amount. * **completed** — The exchange released the allocation and debited the amount. * **rejected** — The exchange refused the withdrawal; the amount stays committed. * **stranded** — The outcome is unknown and an operator has to resolve it. |
| `data[].asset_id` | string (uuid) | yes | DeFi listing identifier (UUID) |
| `data[].asset_symbol` | string | yes | Symbol of the listing |
| `data[].amount` | string | yes | Amount taken out by this withdrawal, as a decimal string |
| `data[].transfer` | object | no | The CeFi transfer a deposit or withdrawal started, under the exchange's id |
| `data[].transfer.id` | string | yes | Exchange transfer identifier |
| `data[].transfer.status` | string, one of `INITIALIZED`, `PENDING`, `PROCESSING`, `COMPLETED`, `REJECTED`, `FAILED` | yes | Status as last seen from the exchange |
| `data[].failure_reason` | string | no | Why the withdrawal was refused or stranded |
| `data[].created_at` | string (date-time) | yes |  |
| `data[].updated_at` | string (date-time) | yes |  |
| `pagination` | object | no | Cursor-based pagination metadata. The cursor is opaque and must be passed back verbatim; never parse or construct one. |
| `pagination.next_cursor` | string, nullable | no | Opaque cursor for the next page, null when the feed is exhausted |
| `pagination.limit` | integer | no | Number of items per page |

### 400

Bad request

### 401

Unauthorized

### 403

Forbidden. On order creation this also covers an asset that is not available to trade from the country the request came from.

### 500

Internal server error
