# Get Transfer

Retrieve a single stock transfer by ID, including from/to locations, listing, and batch details. Use this before receiving to show the receiver what quantity is expected.

## Request

```
GET /v1/inventory/transfers/:transfer_id
Authorization: Bearer <token>
```

## Response

```json
{
  "transfer": {
    "id": 1,
    "tenant_id": 1228,
    "from_location_id": 5,
    "to_location_id": 6,
    "listing_id": 509342,
    "quantity": 50,
    "received_qty": null,
    "status": "in_transit",
    "note": "Weekly restock",
    "created_by": 7708,
    "received_by": null,
    "expected_at": null,
    "received_at": null,
    "from_location": { "id": 5, "name": "Cold Storage", "code": "CS-01" },
    "to_location":   { "id": 6, "name": "Retail Floor",  "code": "RF-01" },
    "listing":       { "id": 509342, "sku": "R67513509342", "barcode": "" },
    "batch":         { "id": 6, "lot_number": "FM-2026-09A", "expiry_date": "2026-10-15", "condition": "good", "uom": "kg" }
  }
}
```

## Transfer statuses

| Status | Meaning |
|---|---|
| `draft` | Created, not yet dispatched |
| `in_transit` | Dispatched, awaiting receipt |
| `received` | Received with full quantity |
| `received_discrepancy` | Received with fewer units than sent |
| `cancelled` | Cancelled before receipt |
