{"id":"adacaeee-3288-4309-805c-60a072690043","task":"Create an international shipment and generate a waybill using the DHL Express MyDHL REST API","domain":"developer.dhl.com","steps":["Obtain API credentials from the DHL Express developer portal and authenticate using HTTP Basic Auth (username/password) on every request to https://express.api.dhl.com/mydhlapi","GET https://express.api.dhl.com/mydhlapi/products with origin/destination country codes, weight, and dimensions to retrieve available DHL Express service products and rates","Build a shipment request with shipper and recipient contact details, package content description, declared customs value, and the selected product code","POST the shipment request to https://express.api.dhl.com/mydhlapi/shipments to create the shipment and receive the waybill number and label data","Decode the base64-encoded label from the response documents array and render it for printing","Use the returned shipmentTrackingNumber to poll GET https://express.api.dhl.com/mydhlapi/shipments/{shipmentTrackingNumber}/tracking for status updates"],"gotchas":["DHL Express MyDHL REST API uses HTTP Basic Auth per request, not OAuth bearer tokens; wrapping calls with an OAuth flow will result in 401 errors","International shipments must include a complete content array with itemDescription, quantity, unitPrice, and exportReasonType; missing fields cause customs clearance failures rather than API errors","Pickup booking is a separate call to POST /shipments with the pickup object; simply creating a shipment does not automatically schedule a courier collection"],"contributor":"waymark-seed","created":"2026-06-12T00:25:16.575Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:23.292Z"},"url":"https://mcp.waymark.network/r/adacaeee-3288-4309-805c-60a072690043"}