---
title: "Edit a tracking request"
method: PATCH
path: "/tracking_requests/{id}"
tags: ["Tracking Requests"]
---

# Edit a tracking request

`PATCH /tracking_requests/{id}`

Update a tracking request

## Request body

- object
  - `data` object
    - `attributes` object, required
      - `ref_number` string — Tracking request ref number.

## Response `200`

OK

- object
  - `data` TrackingRequest
    - `id` string, uuid, required
    - `type` 'tracking_request', required
    - `attributes` object
      - `request_number` string, required
      - `ref_numbers` string[], nullable
      - `tags` string[]
      - `status` 'pending' | 'awaiting_manifest' | 'created' | 'failed' | 'tracking_stopped', required
      - `failed_reason` 'booking_cancelled' | 'duplicate' | 'expired' | 'internal_processing_error' | 'invalid_number' | 'not_found' | 'retries_exhausted' | 'shipping_line_unreachable' | 'unrecognized_response' | 'data_unavailable' | 'scac_auto_detect_failed' | 'null', nullable — If the tracking request has failed, or is currently failing, the last reason we were unable to complete the request. `scac_auto_detect_failed` means `auto_detect_vocc_scac` was set but no supported carrier SCAC could be inferred from the request number.
      - `request_type` 'bill_of_lading' | 'booking_number' | 'container', required
      - `scac` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time
      - `is_retrying` boolean
      - `retry_count` integer, nullable — How many times T49 has attempted to get the shipment from the shipping line
    - `relationships` object
      - `tracked_object` object
        - `data` object, nullable
          - `id` string, uuid
          - `type` 'shipment'
      - `customer` object — Account linked to the customer party, or `null` when the customer party has no linked account. Once the shipment exists, read the party through `GET /shipments/{shipment_id}/party_roles`.
        - `data` object, nullable
          - `id` string, uuid
          - `type` 'account'

## Changes

- **2026-09-02** `bebf7b9b8408` — 1 breaking, 1 warning, 1 info
  - the response property `data/relationships/customer/data` became nullable for the status `200`
  - added the new `account` enum value to the `data/relationships/customer/data/type` response property for the response status `200`
  - removed the `party` enum value from the `data/relationships/customer/data/type` response property for the response status `200`
- **2026-07-08** `142a0944ec43` — 1 warning
  - added the new `scac_auto_detect_failed` enum value to the `data/attributes/failed_reason` response property for the response status `200`
- **2026-05-20** `3b798d71b259` — 1 info
  - removed the `scac_auto_detect_failed` enum value from the `data/attributes/failed_reason` response property for the response status `200`
- **2026-03-30** `ba531dc63989` — 1 warning
  - added the new `scac_auto_detect_failed` enum value to the `data/attributes/failed_reason` response property for the response status `200`
- **2025-02-19** `f9637d387bc7` — 1 info
  - added the optional property `data/attributes/updated_at` to the response with the `200` status

[Full history](https://skmtc.dev/terminal49/apis/terminal49-api-reference/changes/tracking_requests/:id/patch.md)

---

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