# `order.shipment.cancel` Cancel a shipment before carrier handoff completes — resets the order to unfulfilled when nothing else is active. - **scope**: `orders:write` - **storefront-visible** (bumps the catalog generation): no - **destructive**: yes — supports dryRun preview ## Payload | field | type | required | notes | |---|---|---|---| | `shipmentId` | string (/^shp_[a-zA-Z0-9]{1,32}$/) | yes | | ### JSON Schema ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "shipmentId": { "type": "string", "pattern": "^shp_[a-zA-Z0-9]{1,32}$" } }, "required": [ "shipmentId" ], "additionalProperties": false } ```