What exists on each surface
Shipment detail header actions are Send Shipment / Retry Send (pending or error) and sometimes Create Return Shipment — never hold, cancel, or delete. Send a shipment.
Delete (list)
Open Shipments. Each row menu (data-testid="table.row-actions"):


Shipments row menu — View and Delete
Delete Shipment modal
modalId="global-delete-modal". Destructive.
If delete fails in the modal: Delete failed. Please try again. Toasts from the list mutation: Shipment deleted successfully / Failed to delete shipment.


Delete Shipment — type the reference to enable Delete
shipment.cancelled (payload status "cancelled"). That is the Shipment Cancelled automation trigger. Setting status to cancelled with Cancel Shipment does not emit that event. Automations · Webhooks.
Statuses: On Hold and Cancelled
Status filter on Shipments (?status=). Options include Draft, Pending, Processing, Dispatched, Partly Dispatched, Error, Cancelled, On Hold. Same labels as the row badge. Search and filters.


Shipments Status filter — Cancelled and On Hold are filter values, not buttons
On Hold is grouped with pending-like shipments on the dashboard pending count; it is not sendable until something else changes the status (there is no “release hold” button on detail).
Automations (hold and cancel)
Palette, category Shipments. No inspector fields on either action.
There is no “Also cancel at carrier” control on Carriers connect/edit in the client today. Do not look for it on shipment detail or on Carrier credentials.
To remove a shipment you have not sent: Shipments → row Delete → type the reference. To stop sending without deleting: use an automation Set Shipment On Hold or Cancel Shipment, then filter by On Hold / Cancelled.