Customers
Create a customer order
Creates a customer order 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.OrderCustomer.Create`.
Search customer orders
Returns one page of customer orders 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.OrderCustomer.View`.
Get a customer order
Returns one customer order by `documentId`, with its header, items and item variants. Requires `Permissions.OrderCustomer.View`.
Delete a customer order
Deletes the customer order 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.OrderCustomer.Delete`.
Update a customer order
Updates the customer order header and the items sent in the body. Pass `removeItemsNotInRequest=true` to also delete the items the body leaves out. Requires `Permissions.OrderCustomer.Update`.
Check whether a customer order 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.OrderCustomer.Delete`.
Add items to a customer order
Appends the items in the body to an existing customer order and recalculates the document totals. Requires `Permissions.OrderCustomer.Create`.
Delete customer order 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.OrderCustomer.Delete`.
Check whether customer order 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.OrderCustomer.Delete`.
Update a customer order item
Replaces one item of the customer order, identified by `itemId`, and recalculates the document totals. Requires `Permissions.OrderCustomer.Update`.
Delete a customer order 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.OrderCustomer.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.OrderCustomer.Delete`.
Get the lock state of a customer order
Returns whether the customer order is locked against concurrent edits and, when it is, the name of the user holding the lock. Requires `Permissions.OrderCustomer.View`.
Lock a customer order
Locks the customer order 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.OrderCustomer.Update`.
Unlock a customer order
Releases the lock on the customer order. Returns 400 when the lock belongs to another user. Requires `Permissions.OrderCustomer.Update`.
Get a customer order as PDF
Renders the customer order with its configured print template and returns `application/pdf` inline. 404 when the document has no printable output. Requires `Permissions.OrderCustomer.View`.
Get an invoice as PDF GET
Renders the invoice with its configured print template and returns `application/pdf` inline. 404 when the document has no printable output. Requires `Permissions.Invoice.View`.
Create a customer order POST
Creates a customer order 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.OrderCustomer.Create`.