---
title: "List a fulfillment order's tracking events (chronological timeline)"
method: GET
path: "/api/v1/fulfillment-orders/{fulfillmentOrderId}/tracking-events"
tags: ["fulfillment-order-tracking-events"]
---

# List a fulfillment order's tracking events (chronological timeline)

`GET /api/v1/fulfillment-orders/{fulfillmentOrderId}/tracking-events`

## Request

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

Returns every tracking event of the fulfillment order ordered by occurred_at ascending — the full timeline, not paginated. Read-only: events are written on each fulfillment order status transition and on cancellation. Each event carries the status change (previous_status -> new_status), the actor (user or service account) and any metadata (e.g. a cancellation reason). Validates that the parent fulfillment order exists. accountCode comes from the JWT.

## Path parameters

- `fulfillmentOrderId` string, uuid, required

## Response `200`

The fulfillment order's tracking events ordered by occurred_at ascending.

- FulfillmentOrderTrackingEventListResponse
  - `data` FulfillmentOrderTrackingEventListItemResponse[], required
    - `metadata` object, nullable, required
    - `id` string, required
    - `previous_status` string, nullable, required
    - `new_status` string, required
    - `user_id` string, nullable, required
    - `service_account_id` string, nullable, required
    - `occurred_at` string, required

## Other responses

- `400`: Invalid path parameter: fulfillmentOrderId is not a UUID v4.
- `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`: 6 info
  - added the required property `data/items/id` to the response with the `200` status
  - added the required property `data/items/new_status` to the response with the `200` status
  - added the required property `data/items/occurred_at` to the response with the `200` status
  - added the required property `data/items/previous_status` to the response with the `200` status
  - …2 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/tracking-events/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)
