PUT /api/v1/orders/{order_id}/cancel cancels it immediately. Valid from received, paused, or exception.
Already picked or verified — PUT /api/v1/orders/{order_id}/request_cancellation raises a request for pharmacy staff. It does not change the order’s status.
Requesting cancellation on a picked order
reason is optional but genuinely useful — it reaches the staff member who handles the request.
Why picked orders work differently
Once an order has been picked, its contents are physically off the shelf and inventory has already been decremented. Blend does not mark the order cancelled until staff have unpicked the products and returned them to stock, so that inventory stays accurate. The request is picked up at pharmacist verification or at shipping, the products are returned, and the order is then cancelled.Deciding which to call
Check the current status first with
GET /orders/{order_id}, or simply attempt /cancel and fall back to /request_cancellation on rejection.
An order that has already shipped cannot be cancelled. If the shipment was wrong, request a replacement instead.
Cancel an order
received, paused, exceptionRequest cancellation
picked, verifiedPause an order
Hold instead of cancel
Get an order's status history
Confirm what actually happened