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

# Cancel a freight shipment

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

<aside class="access" aria-label="Endpoint access">
      <table class="access__table">
        <thead>
          <tr>
            <th class="access__table-header">Products</th>
            <th class="access__table-header">Plans</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="access__table-cell access__product">
              <img class="access__logo" src="/static/logos/shipstation-api-logo.svg" alt="ShipStation API Logo" loading="lazy" decoding="async"/>
              <div class="access__sub">Formerly ShipEngine</div>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-free.md" class="access__plan">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Advanced</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Enterprise</a>
            </td>
          </tr>
          <tr>
            <td class="access__table-cell">
              <img class="access__logo" src="/static/logos/shipstation-logo.svg" alt="ShipStation Logo" loading="lazy" decoding="async"/>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Starter</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Standard</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Premium</a>
            </td>
          </tr>
        </tbody>
      </table>
      <footer class="access__footer">
        <a class="access__help" href="/apis/@shipstation-v2/docs/getting-started/products-and-plans.md">
          Learn about products and plans
          <img src="/static/icons/external-link.svg" alt="External Link Icon" style="width: 16px;" loading="lazy" decoding="async"/>
        </a>
      </footer>
    </aside>

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 ShipStation 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` — The request was successful.

## Changes

- **2026-09-05** `17802d3fbe61` — 2 warning
  - added the new `freight_provider_already_connected` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_provider_already_connected` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
- **2026-08-28** `0936e1547da8` — 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** `e9b68942091c` — 1 info
  - endpoint added

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

---

[API](https://skmtc.dev/shipstation/apis/shipstation-api-v2.md) · [All operations](https://skmtc.dev/shipstation/apis/shipstation-api-v2/llms.txt) · [OpenAPI document](https://skmtc.dev/shipstation/apis/shipstation-api-v2/revisions/51a47c7cd583?raw)
