Skip to main content
DELETE
Cancel a home kit order by setting its status to cancelled. The cancelled home kit order is returned in the response. Only a pending order can be cancelled. Once it is dispatched the kit has been packed and labelled by fulfilment, and cancelling returns 409 — as does an activated order. If the kit has already been ordered from fulfilment, we cancel it there before cancelling yours, and the call fails when they will not take it back: 409 when the kit is already packed and labelled, 502 when fulfilment refused the cancellation or could not be reached. In every failure case nothing is changed — the order stays live, and a 502 is safe to retry. Cancelling an order that is already cancelled returns 200 with that order, whatever status it was cancelled from. The response carries Idempotent-Replayed: true so you can tell a repeat from the call that did the work. See Idempotency. Requires the home_kit_orders_manage scope.

Request

Path parameters

string
required
Unique identifier (UUID) of the home kit order to cancel.

Response

On success, the API returns 200 OK with the cancelled home kit order and its embedded profile. An order that was already cancelled returns the same 200.
string
required
Unique home kit order identifier (UUID).
string
required
UUID of the profile this home kit order belongs to.
string
required
Home kit order status. Will be cancelled after a successful cancellation.
object
required
The address to mail the kit to — one of two shapes: either { location_id } referencing a known test location, or the inline address fields (name, street, city, postal_code, country_code; company_name / house_number / address_line_2 / state / phone / email optional — the same vocabulary as the locations API). Provide exactly one — a location reference or an inline address, not both.
string
Laboratory sample code the results report under — printed on the physical kit, and what the patient reads off the box as the activation code. null until the kit is packed. Read-only.
string
required
Collection timestamp reported via Activate — when the patient collected their sample. null until the kit is activated.
string
The home kit order this one replaces, when it is a replacement kit. null on a normal order. See Create Home Kit Order.
string
Why the replacement was sent. null on a normal order.
string[]
required
Addresses that each get one email once every lab result is final, lowercased. Empty when off. See Results-ready emails.
object
required
Partner-defined key/value pairs, echoed back verbatim. Always present — {} when unset.
string
required
ISO 8601 timestamp of when the home kit order was created.
string
ISO 8601 timestamp of the last update. May be null.
object
required
The patient profile associated with this home kit order.
HomeKitOrderPanel[]
required
The panel that was attached to this home kit order before cancellation — always exactly one (a home kit maps 1:1 onto a physical kit product). Look up panel details (name, biomarkers) via List Panels.
HomeKitOrderIndividualBiomarker[]
required
À-la-carte biomarkers that were attached to this home kit order before cancellation. Cross-reference each biomarker_id against List Biomarkers with home_kit=true for display data.
HomeKitOrderShipmentLink[]
required
Parcels that were linked to this home kit order before cancellation, oldest-link first. Read the full parcels with List Shipments and ?home_kit_order_id=.

Error responses