# Cancel Transfer

**PUT** `/v1/inventory/transfers/:transfer_id/cancel`

Cancels a transfer. If the transfer was already `in_transit`, the stock is returned to the source location and a `transfer_in` movement is recorded. `draft` transfers are cancelled without any stock adjustment.

Transfers with status `received` or already `cancelled` cannot be cancelled.

### Path parameters

| Field | Type | Description |
|---|---|---|
| `transfer_id` | integer | ID of the transfer to cancel |

### Response fields

| Field | Type | Description |
|---|---|---|
| `transfer` | object | The updated transfer object (status: `cancelled`) |
