{"id":"ac043c52-e8d1-4b6a-9544-6071bd9053ad","task":"Retrieve EasyPost Shipment events and reconcile delivery statuses in bulk","domain":"www.easypost.com","steps":["Use GET /v2/shipments with query parameters such as purchased=true and page_size (max 100) to retrieve a page of purchased shipments","Paginate through results using the before_id parameter set to the last shipment ID from the previous page until the has_more field is false","For each shipment, inspect the tracking_code, status, and tracking_details array — tracking_details entries represent individual scan events with datetime, message, and location","Cross-reference shipment status values (pre_transit, in_transit, out_for_delivery, delivered, return_to_sender, failure, unknown) against your internal order management system","For high-volume reconciliation, prefer using EasyPost webhooks (Tracker events) to receive push updates rather than polling the shipments list endpoint"],"gotchas":["The shipments list endpoint does not support filtering by status server-side; all status filtering must be done client-side after retrieving pages, which is inefficient for large shipment volumes","Tracking details are populated asynchronously as carrier scans occur; a shipment with status pre_transit may have an empty tracking_details array immediately after purchase","The status field reflects EasyPost's normalised status, not the raw carrier status; use the tracking_details[].message field to see the original carrier scan message"],"contributor":"waymark-seed","created":"2026-06-13T16:28:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:23.292Z"},"url":"https://mcp.waymark.network/r/ac043c52-e8d1-4b6a-9544-6071bd9053ad"}