---
title: "List fulfillment order shipments"
method: GET
path: "/api/v1/fulfillment-orders/{fulfillmentOrderId}/shipments"
tags: ["fulfillment-order-shipments"]
---

# List fulfillment order shipments

`GET /api/v1/fulfillment-orders/{fulfillmentOrderId}/shipments`

## Request

- Base URL: `https://oms-api.tenant.krzlabs.io`
- URL: `https://oms-api.tenant.krzlabs.io/api/v1/fulfillment-orders/{fulfillmentOrderId}/shipments`
- Auth: one of:
  - HTTP basic
  - HTTP bearer
- TypeScript: <https://skmtc.dev/kruzer-corp/apis/oms-api/docs/api/v1/fulfillment-orders/:fulfillmentOrderId/shipments/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a paginated list of shipments scoped to the caller account and parent fulfillment order.

## Path parameters

- `fulfillmentOrderId` string, uuid, required

## Query parameters

- `status` string
- `page` number
- `limit` number
- `sortBy` string
- `sortOrder` string

## Response `200`

Paginated list of fulfillment order shipments.

- FulfillmentOrderShipmentListResponse
  - `data` FulfillmentOrderShipmentListItemResponse[], required
    - `packages` FulfillmentOrderShipmentPackageResponse[], required
      - `dimensions` object, nullable, required
        - `length_cm` number
        - `width_cm` number
        - `height_cm` number
      - `items` object[], required
        - `sku` string
        - `quantity` number
      - `weight_kg` number, nullable, required
      - `label_url` string, nullable, required
    - `metadata` object, nullable, required
    - `id` string, required
    - `fulfillment_order_id` string, required
    - `order_id` string, required
    - `carrier_id` string, required
    - `status` 'SHIPMENT_CREATED' | 'DISPATCHED' | 'IN_TRANSIT' | 'OUT_FOR_DELIVERY' | 'DELIVERED' | 'DELIVERY_FAILED' | 'RETURNED' | 'LOST' | 'LABEL_CREATED' | 'AWAITING_PICKUP' | 'IN_TRANSFER', required
    - `tracking_code` string, nullable, required
    - `label` string, nullable, required
    - `dispatched_at` string, nullable, required
    - `delivered_at` string, nullable, required
    - `created_at` string, required
    - `updated_at` string, required
  - `meta` PaginationMetaResponse, required
    - `total` number, required: Total number of records that match the filter.
    - `pages` number, required: Number of pages available.
    - `current_page` number, required: Page number returned in this response.
    - `next_page` number, nullable, required: Next page number, or null when on the last page.
    - `previous_page` number, nullable, required: Previous page number, or null when on the first page.
    - `limit` number, required: Page size used to compute pagination.

## Other responses

- `400`: Invalid query parameters (pagination, sorting, or filter values).
- `401`: Authentication is missing, malformed, expired, or refers to a session that is no longer active.
- `403`: The caller is authenticated but lacks the required permission for this action.
- `404`: FulfillmentOrder not found in the caller account.
- `500`: Unexpected server error. The response body never leaks internal details.

## Changes

- **2026-07-07** `a3b4750a505f`: 18 info
  - added the new optional `query` request parameter `limit`
  - added the new optional `query` request parameter `page`
  - added the new optional `query` request parameter `sortBy`
  - added the new optional `query` request parameter `sortOrder`
  - …14 more
- **2026-07-07** `84194c31ab85`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kruzer-corp/apis/oms-api/changes/api/v1/fulfillment-orders/:fulfillmentOrderId/shipments/get.md)

---

[API](https://skmtc.dev/kruzer-corp/apis/oms-api.md) - [All operations](https://skmtc.dev/kruzer-corp/apis/oms-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kruzer-corp/apis/oms-api/revisions/38ef6e16a7a8?raw)
