---
title: "Get shipments by order id"
method: POST
path: "/shipment/by-order-id"
tags: ["Shipments"]
---

# Get shipments by order id

`POST /shipment/by-order-id`

Retrieve the tracking status of all shipments associated with a specific order id.

## Request body

- ByOrderIdRequest
  - `order_id` string, required — The unique id of the order.

## Response `200`

A list of shipments for the order, or an error object when the order id is not found.

- ByOrderIdResponse
  - `status` string — success or error.
  - `data` ShipmentData[] — Shipment tracking data for every shipment on the order.
    - `order_id` string
    - `tracking_number` string
    - `tracking_provider` string
    - `tracking_event_status` string — Current tracking status (e.g. pre_transit, in_transit, delivered).
    - `tracking_est_delivery_date` string, nullable
    - `origin_country` string, nullable
    - `destination_country` string, nullable
    - `delivery_number` string, nullable
    - `delivery_provider` string, nullable
    - `shipping_service` string, nullable
    - `last_event_time` string, nullable
    - `events` TrackingEvent[]
      - `object` string — Object type, e.g. TrackingDetail.
      - `message` string
      - `description` string
      - `status` string
      - `status_detail` string
      - `datetime` string
      - `source` string
      - `tracking_location` TrackingLocation
        - `object` string — Object type, e.g. TrackingLocation.
        - `city` string
        - `state` string
        - `country` string
        - `zip` string
    - `destination_events` TrackingEvent[], nullable
      - `object` string — Object type, e.g. TrackingDetail.
      - `message` string
      - `description` string
      - `status` string
      - `status_detail` string
      - `datetime` string
      - `source` string
      - `tracking_location` TrackingLocation
        - `object` string — Object type, e.g. TrackingLocation.
        - `city` string
        - `state` string
        - `country` string
        - `zip` string
  - `message` string — Response message (present on error, e.g. "Order ID not found").

## Other responses

- `400` — The requested parameter is missing (e.g. order id, tracking number, or shipping provider not found).
- `401` — Unauthorized API access. Causes include `ssl_error` (store URL is not HTTPS) or `unauthorized` (invalid API key or the store does not exist).
- `404` — The API route does not exist. Check the URL and try again.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.

---

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