# Update a shipment (/api/shipments/update-shipment)

`POST https://api.comecero.com/api/v1/shipments/{shipment_id}`

Changes the date shipped, carrier, tracking number, tracking URL or `meta` of a shipment. The items cannot be changed. The `shipment:modified` event fires. The customer is not emailed again. Needs a secret or trusted token. Limited tokens get `403`.

## Parameters

- `shipment_id` (path, required): The shipment id.
- `expand` (query): Comma-separated child objects to return in full instead of as a URL, for example `customer,payments`. Use dot notation for nested objects (`items.product`), up to four levels deep. A single object takes up to 12 paths; a list takes up to 2, applied to every item. Extra paths are dropped without an error. See [Expanding objects](https://docs.comecero.com/docs/basic-concepts/expanding-objects).

Request body: the `shipment_update_request` schema.

Responses: 200, 400, 401, 403, 404, 500.

Full schemas: operation `update_shipment` in /openapi.json.