Modify an existing order
Partially update an existing order. Allowed before fulfilment. Modifiable fields: products, shippingAddress, deliverToPersonId, deliverToOfficeId, status (CANCELLED only). Address validation workflow is unchanged by this endpoint (same as logistics modify-order: addressValidationNeeded is not set via PATCH). Each products[] line uses the same preferredCondition rules as create order (skus[]): NEW, USED, or omitted (defaults to NEW-only preference server-side). When products is sent, omitted existing line ids are left unchanged; cancel a line with cancelled: true and its id. New lines omit id. The response orderItems list includes cancelled rows—filter by status for active lines only.
Authorizations
Prefix the value with "ApiKey" to indicate the custom authorization type
Path Parameters
Body
Request body for modifying an existing order. All fields are optional. Omit a field to leave it unchanged. Explicit JSON null is honored only where noted on each field; other explicit nulls are ignored or rejected. Deliver-to person/office IDs do not support clear via explicit null—omit those keys to leave deliver-to unchanged.
When present, declares how order lines should look after this update (must contain at least one item). Lines that include id are kept for in-place edits (expedited / preferred condition) unless cancelled is true. Lines without id are treated as additions. Existing lines whose id is omitted from this array are left unchanged. To cancel a line, include its id with cancelled: true. Cancelled rows remain in storage and in GET/PATCH responses.
New shipping address (full replace).
Deliver-to person ID. Mutually exclusive with deliverToOfficeId when both are non-null. Omit to leave unchanged; explicit null is accepted but does not clear an existing deliver-to target.
Deliver-to office ID. Mutually exclusive with deliverToPersonId when both are non-null. Omit to leave unchanged; explicit null is accepted but does not clear an existing deliver-to target.
New status. Only CANCELLED is accepted. Omit the field to leave status unchanged; explicit null is invalid.
Response
Order updated
Order's ID
"123E4567-E89B-12D3-A456-426614174000"
Order's status
AWAITING_APPROVAL, ORDERED, PROCESSING, ORDERED_NOT_SHIPPED, SHIPPED, COMPLETED, PARTIALLY_SHIPPED, DECLINED, AWAITING_DELIVERY_SCHEDULING, DELIVERY_SCHEDULED, DELIVERED, NONE, APPROVED, AWAITING_FULFILLMENT, PENDING, RETURN_KIT_SENT, RETURN_KIT_DELIVERED, RETURN_KIT_SENT_BACK, RECEIVED_IN_WAREHOUSE, RETURNED, NOT_RETURNED, OUT_FOR_DELIVERY, DELIVERY_EXCEPTION, SUBMITTED, CANCELLED, CONFIRMED, NOT_COMPLETED, PARTIALLY_COMPLETED "COMPLETED"
All order item rows on the order, including lines in terminal states such as CANCELLED. Replacing products via PATCH cancels superseded rows rather than deleting them, so consumers should filter by each item's status when they care only about active lines.
Chronological history of status changes
Type of order based on lifecycle context
ONE_OFF, ONBOARDING, REPLACEMENT The ID of the Person
"d7d0d906-425f-402f-bde1-39031c67c40b"
The ID of the Office
"d7d0d906-425f-402f-bde1-39031c67c40b"
Order item's shipping address
Name of the person who submitted the order
"John S. (Firstbase)"
Name of the person who approved the order
"Jane Smith"
Date when the order was approved
"2026-02-26"
Office to which the order is delivered, when different from the assigned office
Person to whom the order is delivered, when different from the assigned person
UTC ISO-8601 timestamp when the order was created.
"2026-02-26T14:15:22.123Z"
UTC ISO-8601 timestamp when the order was last updated.
"2026-03-15T09:00:00.000Z"
Date by which the order is expected to be delivered (calendar date, no time component).
"2026-03-10"
Slug of the product package this order was created from, if any.
"engineering-onboarding"
The order's delivery location type (mirrors the FE Orders 'Delivery location' column, where PERSON is shown as 'Employee'). Derived from deliverToOffice / deliverToPerson: OFFICE when deliverToOffice is set, otherwise PERSON when deliverToPerson is set.
PERSON, OFFICE