WinShopAPI docs
ReferenceDocuments

Intakes

Create a intake

Creates a intake 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.Intake.Create`.

Search intakes

Returns one page of intakes 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.Intake.View`.

Get a intake

Returns one intake by `documentId`, with its header, items and item variants. Requires `Permissions.Intake.View`.

Delete a intake

Deletes the intake 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.Intake.Delete`.

Update a intake

Updates the intake header and the items sent in the body. Pass `removeItemsNotInRequest=true` to also delete the items the body leaves out. Requires `Permissions.Intake.Update`.

Cancel an intake

Reverses a processed intake: creates a copy with negated quantities, processes it so the stock movement is undone, marks the original as cancelled, and returns the reversing document. Requires `Permissions.Intake.Update`.

Check whether a intake 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.Intake.Delete`.

Add items to a intake

Appends the items in the body to an existing intake and recalculates the document totals. Requires `Permissions.Intake.Create`.

Delete intake 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.Intake.Delete`.

Check whether intake 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.Intake.Delete`.

Update a intake item

Replaces one item of the intake, identified by `itemId`, and recalculates the document totals. Requires `Permissions.Intake.Update`.

Delete a intake 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.Intake.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.Intake.Delete`.

Get the lock state of a intake

Returns whether the intake is locked against concurrent edits and, when it is, the name of the user holding the lock. Requires `Permissions.Intake.View`.

Lock a intake

Locks the intake 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.Intake.Update`.

Unlock a intake

Releases the lock on the intake. Returns 400 when the lock belongs to another user. Requires `Permissions.Intake.Update`.

Get a intake as PDF

Renders the intake with its configured print template and returns `application/pdf` inline. 404 when the document has no printable output. Requires `Permissions.Intake.View`.

Process a intake

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`.