---
title: "Get freight shipment by ID"
method: GET
path: "/v2/freight/shipments/{freight_shipment_id}"
tags: ["freight"]
---

# Get freight shipment by ID

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

## Request

- Base URL: `https://api.shipstation.com`
- URL: `https://api.shipstation.com/v2/freight/shipments/{freight_shipment_id}`
- Auth: API key in header `api-key`

<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>

Retrieve a single freight shipment, including its current status, carrier reference numbers, and the documents generated for it.

## Response `200`

The request was a success.

- FreightShipmentResponseBody: A freight shipment on your account.
  - `freight_shipment_id` string: A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
  - `shipment_id` string: A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
  - `freight_provider_account_id` string: A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
  - `freight_provider_code` string: The code of the freight provider the shipment was booked through.
  - `status` 'pending' | 'quoted' | 'booked' | 'in_transit' | 'delivered' | 'cancelled' | 'exception': The lifecycle status of a freight shipment. `exception` is also returned when the status cannot be determined.
  - `bol_number` string, nullable: The Bill of Lading number assigned to the shipment.
  - `pro_number` string, nullable: The carrier's PRO number for the shipment, or `null` until the carrier assigns one.
  - `confirmation_number` string, nullable: The carrier's pickup confirmation number. `null` when the carrier did not return one.
  - `created_at` string, date-time: The date and time the freight shipment was created, in UTC.
  - `documents` FreightShipmentDocument[], nullable: The documents stored for the shipment, each with a download URL. `null` when no documents have been stored yet.
    - `type` 'bill_of_lading' | 'bol_pallet_label_combined' | 'certificate_of_insurance' | 'certificate_of_insurance_instructions' | 'certificate_of_origin_us' | 'certificate_of_origin_usmca' | 'certificate_of_origin_usmca_instructions' | 'international_commercial_invoice' | 'packing_list' | 'pallet_label' | 'pallet_label_4x6' | 'proof_of_delivery' | 'quote' | 'weight_and_inspection': The type of document.
    - `url` string, nullable: The path to download the document as a PDF, relative to the API host. Resolve it against `https://api.shipstation.com` to get the full URL.
  - `notifications` FreightNotification[], nullable: The notification groups configured for this shipment. `null` when no notifications were configured.
    - `events` string[], required: The shipment events that trigger this notification group. Must contain at least one value and no duplicates.
    - `email_addresses` string[], required: The email addresses to notify when any of the listed events occur. Between 1 and 5 addresses per group.

## Other responses

- `400`: The request contained errors.
- `404`: The freight shipment does not exist on this account.
- `500`: An error occurred on ShipStation API's side.

## Changes

- **2026-10-27** `43d0f3c948ca`: 1 info
  - added the optional property `shipment_id` to the response with the `200` status
- **2026-10-22** `4e29670aa28d`: 6 warning
  - added the new `bring_your_own_label_not_supported` enum value to the `errors/items/error_code` response property for the response status `400`
  - added the new `bring_your_own_label_not_supported` enum value to the `errors/items/error_code` response property for the response status `404`
  - added the new `multiple_sales_orders` enum value to the `errors/items/error_code` response property for the response status `400`
  - added the new `multiple_sales_orders` enum value to the `errors/items/error_code` response property for the response status `404`
  - …2 more
- **2026-10-09** `934f5935dbea`: 2 breaking, 14 info
  - the `errors/items/` response's property type changed from no type to `object` for status `400`
  - the `errors/items/` response's property type changed from no type to `object` for status `404`
  - added the optional property `errors/items/field_name` to the response with the `400` status
  - added the optional property `errors/items/field_name` to the response with the `404` status
  - …12 more
- **2026-10-03** `a2526b711eab`: 1 info
  - added the optional property `notifications` to the response with the `200` status
- **2026-09-23** `5fd397fac417`: 1 info
  - added the optional property `created_at` to the response with the `200` status

[Operation history](https://skmtc.dev/shipstation/apis/shipstation-api-v2/changes/v2/freight/shipments/:freight_shipment_id/get.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/43d0f3c948ca?raw)
