# Retrieve a public tracking timeline

**GET** `/v1/tracking/{tracking_number}`

Base URL: `https://api.parcel-events.example`

Tags: `Tracking`

## Authorization

This operation requires no authorization.

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `tracking_number` | `string` | Yes | — |

## Responses

| Status | Description | Media type |
| --- | --- | --- |
| `200` | Tracking timeline | `application/json` |
| `404` | The requested synthetic resource does not exist | `application/problem+json` |

### Example response: 200 — Tracking timeline

```json
{
  "events": [
    {
      "id": "evt_00000000000000000001",
      "location": {
        "city": "Samplehaven",
        "country": "ZZ"
      },
      "message": "Parcel scanned at synthetic sorting hub",
      "object": "tracking_event",
      "occurred_at": "2026-09-05T05:40:00Z",
      "shipment_id": "shp_00000000000000000001",
      "status": "canceled"
    }
  ],
  "shipment": {
    "created_at": "2026-09-04T08:15:30Z",
    "delivery_instructions": "string",
    "id": "shp_00000000000000000001",
    "metadata": {
      "additionalProp1": "string"
    },
    "object": "shipment",
    "parcels": [
      {
        "contents": [
          {
            "customs_code": "610910",
            "description": "Synthetic cotton shirt",
            "quantity": 2,
            "unit_value": {
              "amount": "12.50",
              "currency": "XTS"
            }
          }
        ],
        "height_cm": 12,
        "length_cm": 30.5,
        "weight_grams": 1750,
        "width_cm": 20
      }
    ],
    "recipient": {
      "city": "Exampleton",
      "company": "Northstar Supplies",
      "country": "ZZ",
      "line1": "14 Fictional Quay",
      "line2": "Unit 7",
      "name": "Rowan Example",
      "phone": "+00000000000",
      "postal_code": "EX4 2PL",
      "region": "Test Province"
    },
    "reference": "synthetic-order-1042",
    "sender": {
      "city": "Exampleton",
      "company": "Northstar Supplies",
      "country": "ZZ",
      "line1": "14 Fictional Quay",
      "line2": "Unit 7",
      "name": "Rowan Example",
      "phone": "+00000000000",
      "postal_code": "EX4 2PL",
      "region": "Test Province"
    },
    "service": "economy",
    "status": "canceled",
    "tracking_number": "PE-000000000001",
    "updated_at": "2026-09-04T08:16:12Z"
  }
}
```

### Example response: 404 — The requested synthetic resource does not exist

```json
{
  "request_id": "req_00000000000000000004",
  "status": 404,
  "title": "Synthetic resource was not found",
  "type": "https://parcel-events.example/problems/not-found"
}
```

## Related pages

- [Buy and render a shipping label](./createlabel.md)
- [Cancel a pickup](./cancelpickup.md)
- [Cancel a shipment before handoff](./cancelshipment.md)
- [Create a shipment](./createshipment.md)
- [Delete a webhook endpoint](./deletewebhookendpoint.md)
- [Labels](./tags/labels.md)
- [List scheduled pickups](./listpickups.md)
- [List shipments](./listshipments.md)
- [List tracking events for a shipment](./listshipmentevents.md)
- [List webhook endpoints](./listwebhookendpoints.md)

# Agent Instructions

This portal answers questions programmatically. To receive a synthesized,
source-cited answer instead of crawling page by page, append the `?ask=`
query parameter to any page URL on this site:

    /guides/quickstart?ask=how+do+I+authenticate

Optional parameters:

- `&goal=<what-you-are-trying-to-do>` steers the answer toward your
  objective (e.g. `&goal=write+a+python+client`).
- `&version=<label>` scopes the answer to a mounted version when the
  portal publishes more than one.

The response is `text/markdown`: the answer followed by a `# Sources` list
of the portal pages it was grounded in. Status codes are the contract:

- `200` — the answer; `402` — the portal owner’s plan or answer credits are
  exhausted (surface this to your operator; do NOT retry); `429` — you are
  rate-limited; back off for the `Retry-After` seconds; `503` — the answer
  lane is temporarily unavailable; fall back to crawling the `.md` pages.

For the full corpus map read `llms.txt` at the site root; for the tool
surface (search + page fetch as MCP tools) see `/mcp`.
