---
title: "Cancel a freight shipment"
method: DELETE
path: "/v1/freight/shipments/{freight_shipment_id}"
tags: ["freight"]
---

# Cancel a freight shipment

`DELETE /v1/freight/shipments/{freight_shipment_id}`

Cancel a booked freight shipment with the carrier. The response indicates whether the associated pickup was also cancelled.

Cancellation windows are set by the carrier. A shipment that has already been picked up usually cannot be cancelled, and the provider's rejection is returned as a `400 Bad Request`.

## Response `200`

The request was a success.

- CancelFreightShipmentResponseBody — The result of cancelling a freight shipment.
  - `freight_shipment_id` string — A string that uniquely identifies a ShipEngine resource, such as a carrier, label, shipment, etc.
  - `pickup_cancelled` boolean — `true` when the carrier also voided the associated pickup request. `false` when the shipment had no pickup or the carrier did not confirm the pickup was cancelled.

## Other responses

- `400` — The freight shipment ID is malformed, or the provider rejected the cancellation.
- `404` — The freight shipment does not exist on this account.
- `500` — An error occurred on ShipEngine's side. > This error will automatically be reported to our engineers.

## Changes

- **2026-08-29** `422fd75e1e35` — 1 warning, 1 info
  - removed the optional property `cancelled_transactions` from the response with the `200` status
  - added the optional property `pickup_cancelled` to the response with the `200` status
- **2026-08-15** `f3a66d204565` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/shipstation/apis/shipengine-api/changes/v1/freight/shipments/:freight_shipment_id/delete.md)

---

[API](https://skmtc.dev/shipstation/apis/shipengine-api.md) · [All operations](https://skmtc.dev/shipstation/apis/shipengine-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/shipstation/shipengine-api/revisions/45d27f8700ae/schema)
