Authenticate with your EasyPost API key by passing it as the HTTP Basic Auth username on all requests to https://api.easypost.com/v2/
Create or reuse validated address objects for both the customer (origin) and your warehouse (destination)
POST a Shipment object with the customer address as ship_from and the warehouse address as ship_to, plus parcel details; set is_return=true in the request body
Retrieve the rates array and select the appropriate service; POST the chosen rate's id to https://api.easypost.com/v2/shipments/{id}/buy to purchase the return label
Deliver the label_url from the transaction to the customer via email or a branded returns portal
Track the inbound return shipment using the tracker object returned alongside the purchased shipment
Known gotchas
Setting is_return=true swaps the billing direction so the shipper account is charged, not the customer; omitting this flag on a return shipment may cause the customer's address to be billed if a third-party billing arrangement exists
Return labels must be used within the carrier's validity window (typically 28 days for USPS, varies by carrier); generating labels too far in advance results in expired barcodes at drop-off
Some carriers restrict return label services to specific account types; if no rates are returned for a return shipment, verify that the carrier account has return label capability enabled
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp