Skip to main content
PATCH
Error

Authorizations

Authorization
string
header
required

Prefix the value with "ApiKey" to indicate the custom authorization type

Path Parameters

orderId
string<uuid>
required

Body

application/json

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.

products
object
required

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.

shippingAddress
object
required

New shipping address (full replace).

deliverToPersonId
object
required

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.

deliverToOfficeId
object
required

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.

status
object
required

New status. Only CANCELLED is accepted. Omit the field to leave status unchanged; explicit null is invalid.

Response

Order updated

id
string<uuid>
required

Order's ID

Example:

"123E4567-E89B-12D3-A456-426614174000"

status
enum<string>
required

Order's status

Available options:
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
Example:

"COMPLETED"

orderItems
object[]
required

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.

statusHistory
object[]
required

Chronological history of status changes

orderType
enum<string>
required

Type of order based on lifecycle context

Available options:
ONE_OFF,
ONBOARDING,
REPLACEMENT
personId
string<uuid>

The ID of the Person

Example:

"d7d0d906-425f-402f-bde1-39031c67c40b"

officeId
string<uuid>

The ID of the Office

Example:

"d7d0d906-425f-402f-bde1-39031c67c40b"

shippingAddress
object

Order item's shipping address

submittedBy
string

Name of the person who submitted the order

Example:

"John S. (Firstbase)"

approvedBy
string

Name of the person who approved the order

Example:

"Jane Smith"

approvedAt
string<date>

Date when the order was approved

Example:

"2026-02-26"

deliverToOffice
object

Office to which the order is delivered, when different from the assigned office

deliverToPerson
object

Person to whom the order is delivered, when different from the assigned person

createdAt
string<date-time>

UTC ISO-8601 timestamp when the order was created.

Example:

"2026-02-26T14:15:22.123Z"

updatedAt
string<date-time>

UTC ISO-8601 timestamp when the order was last updated.

Example:

"2026-03-15T09:00:00.000Z"

expectedBy
string<date>

Date by which the order is expected to be delivered (calendar date, no time component).

Example:

"2026-03-10"

packageSlug
string

Slug of the product package this order was created from, if any.

Example:

"engineering-onboarding"

deliveryLocation
enum<string>

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.

Available options:
PERSON,
OFFICE