---
title: "Edit a shipment"
method: PATCH
path: "/shipments/{id}"
tags: ["Shipments"]
---

# Edit a shipment

`PATCH /shipments/{id}`

Update a shipment

## Request body

- object
  - `data` object
    - `attributes` object, required
      - `ref_numbers` string[] — Shipment ref numbers.
      - `shipment_tags` string[] — Tags related to a shipment

## Response `200`

OK

- object
  - `data` Shipment
    - `id` string, uuid, required
    - `relationships` object, required
      - `destination` object
        - `data` object, nullable
          - `type` 'port' | 'metro_area', required
          - `id` string, uuid, required
      - `port_of_lading` object
        - `data` object, nullable
          - `type` 'port', required
          - `id` string, uuid, required
      - `containers` object
        - `data` object[]
          - `type` 'container', required
          - `id` string, uuid, required
      - `port_of_discharge` object
        - `data` object, nullable
          - `type` 'port', required
          - `id` string, uuid, required
      - `pod_terminal` object
        - `data` object
          - `type` 'terminal', required
          - `id` string, uuid, required
      - `destination_terminal` object
        - `data` object
          - `type` 'terminal' | 'rail_terminal', required
          - `id` string, uuid, required
      - `line_tracking_stopped_by_user` object
        - `data` object
          - `type` 'user', required
          - `id` string, uuid, required
    - `attributes` object, required
      - `bill_of_lading_number` string, required
      - `normalized_number` string — The normalized version of the shipment number used for querying the carrier
      - `ref_numbers` string[], nullable
      - `created_at` string, date-time
      - `tags` string[]
      - `port_of_lading_locode` string, nullable — UN/LOCODE
      - `port_of_lading_name` string, nullable
      - `port_of_discharge_locode` string, nullable — UN/LOCODE
      - `port_of_discharge_name` string, nullable
      - `destination_locode` string, nullable — UN/LOCODE
      - `destination_name` string, nullable
      - `shipping_line_scac` string
      - `shipping_line_name` string
      - `shipping_line_short_name` string
      - `customer_name` string, nullable
      - `pod_vessel_name` string, nullable
      - `pod_vessel_imo` string, nullable
      - `pod_voyage_number` string, nullable
      - `pol_etd_at` string, date-time, nullable
      - `pol_atd_at` string, date-time, nullable
      - `pod_eta_at` string, date-time, nullable
      - `pod_original_eta_at` string, date-time, nullable
      - `pod_ata_at` string, date-time, nullable
      - `destination_eta_at` string, date-time, nullable
      - `destination_ata_at` string, date-time, nullable
      - `pol_timezone` string, nullable — IANA tz
      - `pod_timezone` string, nullable — IANA tz
      - `destination_timezone` string, nullable — IANA tz
      - `line_tracking_last_attempted_at` string, date-time, nullable — When Terminal49 last tried to update the shipment status from the shipping line
      - `line_tracking_last_succeeded_at` string, date-time, nullable — When Terminal49 last successfully updated the shipment status from the shipping line
      - `line_tracking_stopped_at` string, date-time, nullable — When Terminal49 stopped checking at the shipping line
      - `line_tracking_stopped_reason` 'all_containers_terminated' | 'past_arrival_window' | 'past_full_out_window' | 'no_updates_at_line' | 'cancelled_by_user' | 'booking_cancelled' | 'null', nullable — The reason Terminal49 stopped checking
    - `type` 'shipment', required
    - `links` object, required
      - `self` string, uri, required

## Changes

- **2025-10-31** `e80cf420b790` — 1 warning
  - added the new `past_full_out_window` enum value to the `data/attributes/line_tracking_stopped_reason` response property for the response status `200`
- **2024-07-03** `22e310ff5a89` — 5 warning, 9 info
  - removed the optional property `data/relationships/customer` from the response with the `200` status
  - removed the optional property `data/relationships/destination_terminal/id` from the response with the `200` status
  - removed the optional property `data/relationships/destination_terminal/type` from the response with the `200` status
  - removed the optional property `data/relationships/pod_terminal/id` from the response with the `200` status
  - …10 more
- **2024-06-19** `33ca5430a8bc` — 1 info
  - added the new optional request property `data/attributes/shipment_tags`

[Change history](https://skmtc.dev/terminal49/apis/terminal49-api-reference/changes/shipments/:id/patch.md)

---

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