Retrieve a warehouse transfer

Operation ID: getWarehouseTransfer

Group: Inventory › Warehouse Transfers

Open in the interactive reference

GET /inventory/warehouse-transfers/{id}

Read-only: Reads and returns; changes nothing.

Retrieves a warehouse transfer, with its lines. Each line includes its batch, serial and bin details. The collection GET inventory/warehouse-transfers returns the same fields without the lines.

A draft has no costs yet. transferCost and the batch and serial unitCost are set when the transfer is committed, and so are sourceAmount and destinationAmount on an intercompany transfer.

Parameters

Name In Type Required Description
Api-Version header string · v1 yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.
id path string yes The unique identifier of the transfer you want to retrieve.

Response

200 Success

Under data (getWarehouseTransferOutput):

Field Type Required Description
id string yes The unique identifier for the transfer. Example: "c41f9a08-6b23-4e57-90d8-2f7a5c31e0b6".
documentNumber string no The transfer's number, for example 'WTR-2291'. Example: "WTR-2291".
documentStatus string yes The status of the transfer. Possible values: 'DRAFT', 'COMMITTED', 'CANCELLED'. Example: "DRAFT".
documentDate date no The date the transfer is dated. Format YYYY-MM-DD. Example: "2026-08-18".
referenceNumber string no Your own reference on the transfer.
transferType string no The type of transfer. Possible values: 'NORMAL', 'INTERCOMPANY', 'INTERCOMPANY_RETURN'. An intercompany transfer sells the goods to another legal entity and can be billed. Example: "NORMAL".
entityId string no The legal entity the goods leave. See id on GET base/entities. Example: "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43".
entityName string no The name of that legal entity. Example: "Acme Netherlands B.V.".
toEntityId string no The legal entity receiving the goods, on an intercompany transfer. See id on GET base/entities.
toEntityName string no The name of that legal entity.
locationId string no The warehouse the goods leave. See id on GET inventory/warehouses/:id. Example: "b6f0d2a4-77c1-4e39-8a52-0c4e1f9b73d5".
locationCode string no The code of that warehouse. Example: "WH-CENTRAL".
locationName string no The name of that warehouse.
targetLocationId string no The warehouse the goods go to. See id on GET inventory/warehouses/:id. Example: "e94a17c3-5b28-4d60-91f7-3a8c2e05b6d1".
targetLocationCode string no The code of that warehouse. Example: "WH-NORTH".
targetLocationName string no The name of that warehouse.
billingStatus string no The billing status of the transfer. Possible values: 'NOT_BILLED', 'BILLED'. Only an intercompany transfer is billed, through POST inventory/warehouse-transfers/:id/bill.
intercompanyBillId string no The numeric id of the intercompany bill this transfer created, not a UUID. It does not match id on GET accounting/intercompany-bills/:id.
contractualCurrency string no The currency an intercompany transfer is contracted in. Format ISO 4217, for example 'EUR'. Each line's unitTransferValue is stated in it.
currency string no The currency sourceAmount is stated in, the source entity's functional currency. Format ISO 4217, for example 'EUR'. Example: "EUR".
sourceAmount decimal no What the goods were worth leaving the source entity, in currency. Written by the commit.
destinationCurrency string no The currency destinationAmount is stated in, the destination entity's functional currency. Format ISO 4217, for example 'GBP'. Differs from currency on an intercompany transfer between entities with different functional currencies.
destinationAmount decimal no What the goods were worth arriving at the destination entity, in destinationCurrency. Written by the commit. On an intercompany transfer it differs from sourceAmount; when both share a currency, the difference is the margin.
notes string no Free text on the document.
lineCount number no The number of lines on the transfer. Example: 1.
createdDate date-time no The date and time the transfer was created, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
lastModifiedDate date-time no The date and time the transfer record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-18T09:14:22.517Z".
lines array<object> no The lines of the transfer. The collection GET inventory/warehouse-transfers returns lineCount in place of these. Example: [{"id":"7d2b48e1-95c3-4a06-8f17-3e5a9c06b2d4","itemId":"517a93e4-cbb4-4571-9e3d-2343e56cfd84","itemCode":"WIDGET-01","unitCode":"EA","quantity":"24","inventoryQuantity":"24"}].
lines[].id string yes The unique identifier for the transfer line. updateLines and deleteLines address lines by it.
lines[].itemId string no The item being moved. See id on GET inventory/items/:id.
lines[].itemCode string no The code of that item.
lines[].itemName string no The name of that item.
lines[].locationId string no The warehouse this line draws from, the document's warehouse applied to every line. See id on GET inventory/warehouses/:id.
lines[].locationCode string no The code of that warehouse.
lines[].locationName string no The name of that warehouse.
lines[].targetLocationId string no The warehouse this line delivers to. See id on GET inventory/warehouses/:id.
lines[].targetLocationCode string no The code of that warehouse.
lines[].targetLocationName string no The name of that warehouse.
lines[].unitId string no The unit the quantity is in. See id on GET inventory/unit-of-measures/:id.
lines[].unitCode string no The code of that unit.
lines[].quantity decimal no How much moves, in the line's unit.
lines[].inventoryQuantity decimal no The same amount in the item's stocking unit, which is what the warehouse counts.
lines[].transferCost decimal no What one unit left the source warehouse at, in the transfer's currency. The valuation method sets it at commit. Absent on a draft.
lines[].unitTransferValue decimal no The contractual price of one unit on an intercompany transfer, in the contractual currency. Supplied on create.
lines[].totalTransferValue decimal no The line's total on an intercompany transfer, in the contractual currency: totalTransferValue = unitTransferValue x quantity. Written by the platform.
lines[].returnedQuantity decimal no How much of this line has come back on an intercompany return.
lines[].status string no The status of the line.
lines[].notes string no Free text on the line.
lines[].batches array<object> no The batches that make up the line's quantity.
lines[].batches[].batchNumberId string no The unique identifier for the batch number. See id on GET inventory/batch-numbers/:id.
lines[].batches[].batchNumber string no The batch number.
lines[].batches[].quantity decimal no How much of the line this batch accounts for.
lines[].batches[].inventoryQuantity decimal no The same amount in the item's stocking unit.
lines[].batches[].unitCost decimal no What this batch moved at, in the transfer's currency. Set at commit.
lines[].serials array<object> no The serialized units that move.
lines[].serials[].serialNumberId string no The unique identifier for the serial number. See id on GET inventory/serial-numbers/:id.
lines[].serials[].serialNumber string no The serial number.
lines[].serials[].quantity decimal no Always one, for a serialized unit.
lines[].serials[].unitCost decimal no What this unit moved at, in the transfer's currency. Set at commit.
lines[].binLocations array<object> no The bins the goods leave and arrive in. Each entry names both ends of the move, and the batch or serial it belongs to where it belongs to one.
lines[].binLocations[].fromBinLocationId string no The bin the goods leave, in the source warehouse. See id on GET inventory/bins/:id.
lines[].binLocations[].fromBinLocationCode string no The code of that bin.
lines[].binLocations[].toBinLocationId string no The bin the goods arrive in, in the target warehouse. See id on GET inventory/bins/:id.
lines[].binLocations[].toBinLocationCode string no The code of that bin.
lines[].binLocations[].quantity decimal no How much moves between these two bins.
lines[].binLocations[].inventoryQuantity decimal no The same amount in the item's stocking unit.
lines[].binLocations[].batchNumber string no The batch this entry belongs to, when it belongs to one of the line's batches.
lines[].binLocations[].serialNumber string no The serialized unit this entry belongs to, when it belongs to one of the line's serials.
{
  "data": {
    "id": "c41f9a08-6b23-4e57-90d8-2f7a5c31e0b6",
    "documentNumber": "WTR-2291",
    "documentStatus": "DRAFT",
    "documentDate": "2026-08-18",
    "referenceNumber": "<referenceNumber>",
    "transferType": "NORMAL",
    "entityId": "1a9c4e70-38b5-4d26-9f01-7c2e5b8a6d43",
    "entityName": "Acme Netherlands B.V.",
    "toEntityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "toEntityName": "<toEntityName>",
    "locationId": "b6f0d2a4-77c1-4e39-8a52-0c4e1f9b73d5",
    "locationCode": "WH-CENTRAL",
    "locationName": "<locationName>",
    "targetLocationId": "e94a17c3-5b28-4d60-91f7-3a8c2e05b6d1",
    "targetLocationCode": "WH-NORTH",
    "targetLocationName": "<targetLocationName>",
    "billingStatus": "<billingStatus>",
    "intercompanyBillId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "contractualCurrency": "<contractualCurrency>",
    "currency": "EUR",
    "sourceAmount": "19.99",
    "destinationCurrency": "<destinationCurrency>",
    "destinationAmount": "19.99",
    "notes": "<notes>",
    "lineCount": 1,
    "createdDate": "2026-01-15T09:30:00.000Z",
    "lastModifiedDate": "2026-08-18T09:14:22.517Z",
    "lines": [
      {
        "id": "7d2b48e1-95c3-4a06-8f17-3e5a9c06b2d4",
        "itemId": "517a93e4-cbb4-4571-9e3d-2343e56cfd84",
        "itemCode": "WIDGET-01",
        "unitCode": "EA",
        "quantity": "24",
        "inventoryQuantity": "24"
      }
    ]
  },
  "diagnostics": [
    {
      "code": "<code>",
      "message": "<message>",
      "severity": "error",
      "path": [
        "<path>"
      ],
      "details": "<details>"
    }
  ]
}

Errors

Code Status
NOT_FOUND 400

Statuses