# List Transfers

**GET** `/v1/inventory/transfers`

Returns stock transfers for the tenant.

### Query parameters

| Field | Type | Description |
|---|---|---|
| `status` | string | Filter by status: `draft`, `in_transit`, `received`, `cancelled` |
| `listing_id` | integer | Filter by listing |

### Response fields

| Field | Type | Description |
|---|---|---|
| `transfers` | array | List of transfer objects |

**Transfer object**

| Field | Type | Description |
|---|---|---|
| `id` | integer | Transfer ID |
| `listing_id` | integer | Listing being transferred |
| `from_location_id` | integer | Source location |
| `to_location_id` | integer | Destination location |
| `batch_id` | integer | Specific batch being transferred (nullable) |
| `quantity` | integer | Units being moved |
| `status` | string | `draft`, `in_transit`, `received`, or `cancelled` |
| `note` | string | Optional note |
| `expected_at` | timestamp | Expected arrival date |
| `received_at` | timestamp | When the transfer was received (nullable) |
| `created_by` | integer | User who created the transfer |
| `received_by` | integer | User who received the transfer (nullable) |
| `from_location` | object | Source location (`id`, `name`, `code`) |
| `to_location` | object | Destination location (`id`, `name`, `code`) |
| `listing` | object | Listing (`id`, `sku`, `barcode`) |
| `batch` | object | Batch (`id`, `lot_number`, `expiry_date`) if a specific batch was transferred |
