---
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
      - `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
      - `customer` object — `unreleased`
        - `data` object
          - `type` 'account'
          - `id` string, uuid
      - `pod_terminal` object
        - `type` 'terminal'
        - `id` string, uuid
      - `destination_terminal` object
        - `type` 'terminal' | 'rail_terminal'
        - `id` string, uuid
    - `attributes` object
      - `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[] — `unreleased`
      - `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
      - `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_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' | 'no_updates_at_line' | 'cancelled_by_user' | 'booking_cancelled' | 'null', nullable — The reason Terminal49 stopped checking
    - `type` 'shipment', required

## Changes

- **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/126958c896e9/schema)
