Track a parcel across multiple carriers using a unified tracking API and normalize divergent carrier event codes into a canonical delivery state machine

domain: easypost.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Create a Tracker via POST /v2/trackers with the tracking_code and carrier fields; if carrier is unknown, omit it and EasyPost will attempt carrier detection from the tracking number format
  2. Subscribe to tracking webhook events at the /v2/webhooks endpoint with event_type TRACKER_UPDATED; each inbound event contains a Tracker object with the current status field and a tracking_details array of events
  3. Map the EasyPost status field to your canonical states: pre_transit, in_transit, out_for_delivery, delivered, available_for_pickup, return_to_sender, failure, error, and unknown; build a strict state machine that only allows forward state transitions to prevent out-of-order events from rolling back a delivered status
  4. Extract the carrier-reported tracking_details[].message and tracking_details[].tracking_location for display; these are the raw carrier scan messages and locations, not normalized
  5. For delivered events, capture the signed_by field if present (available for signature-required services) and the est_delivery_date from the most recent delivery event
  6. Implement webhook idempotency using the webhook object id field; store processed event IDs in Redis or a database and reject reprocessing if the ID has already been seen

Known gotchas

Related routes

Normalize tracking status codes across multiple carriers into a unified delivery state machine
logistics-general · 6 steps · unrated
Normalize carrier tracking status codes into a unified delivery state machine
easypost.com · 5 steps · unrated
Generate a multi-carrier return shipping label through a unified parcel API to support a consumer returns program
easypost.com · 5 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans