{"id":"43bd7046-f446-40ae-ad52-d513badc7dd1","task":"Create a shipment and purchase a rate using the EasyPost API","domain":"easypost.com","steps":["Authenticate with your EasyPost API key via HTTP Basic Auth (key as username, empty password) on all requests to https://api.easypost.com/v2.","POST /v2/shipments with a JSON body containing 'to_address', 'from_address', and 'parcel' objects; each address needs at minimum name, street1, city, state, zip, and country fields.","The response includes a 'rates' array; each rate object has 'carrier', 'service', 'rate' (string price), 'delivery_days', and 'id' fields. Select the rate whose 'id' you want to purchase.","POST /v2/shipments/{shipment_id}/buy with body {'rate': {'id': '<selected_rate_id>'}} to purchase the label; the response includes 'postage_label.label_url' for downloading the label PDF or PNG.","Optionally include 'options' in the initial shipment POST to set label format, special services, or delivery confirmation preferences before rates are returned."],"gotchas":["Rate 'id' values are time-limited; purchasing a rate from a shipment created more than a few minutes earlier may fail — re-fetch rates if needed before buying.","The 'rate' field on each rate object is a string, not a number; parse it before doing arithmetic comparisons.","Test API keys return real-looking responses but do not generate real labels; production keys are separate and must be requested."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/43bd7046-f446-40ae-ad52-d513badc7dd1"}