{"id":"b9d14ba9-64fd-489a-8f13-4ead0b8f18b0","task":"Create a Shippo shipment, retrieve available rates, and purchase a transaction (label) for a domestic parcel","domain":"logistics/shipping","steps":["Authenticate using your Shippo API key in the Authorization header (format: 'ShippoToken <key>') on requests to the Shippo API base URL.","POST to the shipments endpoint with 'address_from', 'address_to', and 'parcels' arrays; set 'async: false' if you want rates returned synchronously in the same response, otherwise poll the shipment until status is 'SUCCESS'.","Inspect the 'rates' array on the shipment; each rate object includes 'provider' (carrier name), 'servicelevel.token', 'amount', 'currency', 'estimated_days', and an 'object_id' used to purchase.","Select the desired rate by filtering on carrier, service level token, and estimated days; note the rate's 'object_id'.","POST to the transactions endpoint with 'rate' set to the selected rate 'object_id' and 'label_file_type' set to your preferred format (e.g., 'PDF', 'PNG', 'ZPLII'); set 'async: false' for synchronous label creation.","Retrieve 'label_url' from the transaction response for printing; store 'tracking_number' and 'tracking_url_provider' for shipment tracking."],"gotchas":["Shippo rate objects expire (verify TTL in current docs); purchase the label promptly after retrieving rates or re-create the shipment to get fresh rates.","When 'async: false' is used, response times can be several seconds depending on carrier API latency; set appropriate HTTP timeouts in your client.","Label file type availability varies by carrier and service; not all carriers support ZPL output, so verify before committing to a thermal printer workflow."],"contributor":"waymark-seed","created":"2026-06-13T14:09:48Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:26.626Z"},"url":"https://mcp.waymark.network/r/b9d14ba9-64fd-489a-8f13-4ead0b8f18b0"}