Internal transfer
Create a internal transfer
Creates a internal transfer from the header and any items in the body, and returns the stored document (201, `Location` header set). Reserves the next internal document number. Requires `Permissions.InternalTransfer.Create`.
Search internal transfers
Returns one page of internal transfers matching the filter. Body is a `PaginationRequest` — see the *Filtering & pagination* concept in the developer docs. Sortable and limitable fields depend on the instance's data-grid view. Requires `Permissions.InternalTransfer.View`.
Get a internal transfer
Returns one internal transfer by `documentId`, with its header, items and item variants. Requires `Permissions.InternalTransfer.View`.
Delete a internal transfer
Deletes the internal transfer together with its items and item variants. Cannot be undone. Call `GET {documentId}/check-delete` first to find out whether the delete is allowed. Requires `Permissions.InternalTransfer.Delete`.
Update a internal transfer
Updates the internal transfer header and the items sent in the body. Pass `removeItemsNotInRequest=true` to also delete the items the body leaves out. Requires `Permissions.InternalTransfer.Update`.
Check whether a internal transfer can be deleted
Advisory pre-flight for `DELETE {documentId}`. `canBeDeleted` is false when `blockingReasons` holds `HEADER_BLOCKED` or `ITEMS_BLOCKED`. The delete re-checks inside its own transaction, so a positive answer here is an indication rather than a guarantee. Requires `Permissions.InternalTransfer.Delete`.
Process a internal transfer (deprecated)
**Deprecated.** Use `POST {documentId}/process` instead — this alias behaves identically and will be removed. Requires `Permissions.InternalTransfer.Update`.
Add items to a internal transfer
Appends the items in the body to an existing internal transfer and recalculates the document totals. Requires `Permissions.InternalTransfer.Create`.
Delete internal transfer items
Deletes the items listed in `itemIds` and recalculates the document totals. Call `GET {documentId}/items/check-delete` first to find out whether the delete is allowed. Requires `Permissions.InternalTransfer.Delete`.
Check whether internal transfer items can be deleted
Advisory pre-flight for `DELETE {documentId}/items`. `blockingReasons` holds `ITEMS_BLOCKED` when at least one id in `itemIds` is still referenced elsewhere. At most 1000 ids per call. Requires `Permissions.InternalTransfer.Delete`.
Update a internal transfer item
Replaces one item of the internal transfer, identified by `itemId`, and recalculates the document totals. Requires `Permissions.InternalTransfer.Update`.
Delete a internal transfer item variant
Deletes one variant row (a size/colour breakdown) of an item and recalculates the document totals. Call the matching `check-delete` endpoint first to find out whether the delete is allowed. Requires `Permissions.InternalTransfer.Delete`.
Check whether an item variant can be deleted
Advisory pre-flight for `DELETE {documentId}/items/{itemId}/variants/{variantId}`. `blockingReasons` holds `ITEM_VARIANT_BLOCKED` when the variant is still referenced elsewhere. Requires `Permissions.InternalTransfer.Delete`.
Get the lock state of a internal transfer
Returns whether the internal transfer is locked against concurrent edits and, when it is, the name of the user holding the lock. Requires `Permissions.InternalTransfer.View`.
Lock a internal transfer
Locks the internal transfer for the calling user so other users cannot edit or process it. Returns 400 when it is already locked. Release it with `DELETE {documentId}/lock`. Requires `Permissions.InternalTransfer.Update`.
Unlock a internal transfer
Releases the lock on the internal transfer. Returns 400 when the lock belongs to another user. Requires `Permissions.InternalTransfer.Update`.
Get a internal transfer as PDF
Renders the internal transfer with its configured print template and returns `application/pdf` inline. 404 when the document has no printable output. Requires `Permissions.InternalTransfer.View`.
Process a internal transfer
Posts the internal transfer to stock, applying the movement of every item, and marks the document as processed. Fails when the document is already processed, or when another user holds its lock. Processing cannot be reversed through this API. Requires `Permissions.InternalTransfer.Update`.
Process a intake POST
Posts the intake to stock, applying the movement of every item, and marks the document as processed. Fails when the document is already processed, or when another user holds its lock. Reverse a processed intake with `POST {documentId}/cancel`. Requires `Permissions.Intake.Update`.
Create a internal transfer POST
Creates a internal transfer from the header and any items in the body, and returns the stored document (201, `Location` header set). Reserves the next internal document number. Requires `Permissions.InternalTransfer.Create`.