Get a shipment
Returns one shipment.
Secret and trusted tokens can read any shipment on the account. A limited token can read a shipment only when it is bound to it, and meta is left out for it.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
shipment_id*stringThe shipment id.
expand?stringComma-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.
show?stringComma-separated fields to return; all others are left out. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
hide?stringComma-separated fields to leave out of the response. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
formatted?booleanWhen true, the object also has a formatted child with amounts and dates as display text in the shopper's language and currency (for example $19.99 or November 7, 2026). The default is false. See Localized formatting.
falsetimezone?stringAn IANA time zone name, such as America/New_York or UTC. It sets how date_start and date_end are read and the time zone of every date in the response. The default is the account's time zone (Settings, Technical), or UTC when it has none. A name that is not known is a 400.
The shipment.
application/json- response
A parcel sent for an order: which items and how many, the carrier and the tracking number. Creating shipments marks order items fulfilled.
object*"shipment"The object type. Always shipment.
"shipment"url*stringThe full URL of the shipment.
urishipment_id*stringThe shipment id.
date_created*stringWhen the shipment was created.
date-timedate_modified*stringWhen the shipment was last changed.
date-timedate_shipped*stringWhen the parcel left or will leave. Defaults to the time the shipment was created.
date-timetest*booleanTrue for a test shipment.
account_id*stringThe account the shipment belongs to.
items*array<>The order items in this shipment.
order?|A link to the order, or the order when you send expand=order. The response has no separate order_id field: take it from this link.
courier*|The carrier, up to 50 characters. For UPS, FedEx, USPS, DHL USA, DHL eCommerce, OnTrac, ICC Worldwide, LaserShip, Canada Post, Australia Post and Royal Mail (written exactly so), the API fills in tracking_url for you when you leave it empty.
tracking_number*|The tracking number.
tracking_url*|The tracking page, up to 256 characters. Filled in from courier and tracking_number when you leave it empty and the carrier is a known one.
notifications?|A link to the emails sent about this shipment, or the list when you send expand=notifications on a single shipment.
meta?||Your own data for the shipment, a string or an object. Not for limited tokens.
formatted?Display dates. Only present when you send formatted=true.
curl -X GET 'https://api.comecero.com/api/v1/shipments/string'{ "object": "shipment", "url": "https://api.comecero.com/api/v1/shipments/0093718200417ShQ2xN8kL", "shipment_id": "0093718200417ShQ2xN8kL", "date_created": "2026-11-04T09:30:00Z", "date_modified": "2026-11-04T09:30:00Z", "date_shipped": "2026-11-04T09:30:00Z", "test": true, "account_id": "AB1234", "items": [ { "object": "shipment_item", "item_id": "1", "product_id": "lens-cloth.test", "name": "Lens cleaning cloth", "quantity": 2, "product": "https://api.comecero.com/api/v1/products/lens-cloth.test" } ], "order": "https://api.comecero.com/api/v1/orders/2979-KXVST-674", "courier": "UPS", "tracking_number": "1Z999AA10123456784", "tracking_url": "http://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=1Z999AA10123456784", "notifications": "https://api.comecero.com/api/v1/shipments/0093718200417ShQ2xN8kL/notifications", "meta": null}List shipments GET
Lists the shipments on your account, oldest first unless you send `desc=true`. To create one, use `POST /orders/{order_id}/shipments`. The list is cursor-based: use `after_item` and `before_item` (or the `next_page_url` and `previous_page_url` in the response). It is ordered by the date named in `date_type`: `date_created` (default) or `date_modified`. `sort_by` is ignored. Needs a secret or trusted token. Limited tokens get `403`.
Update a shipment POST
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`.