{"id":"45143638-4225-43c8-b9b9-b2b1041fc205","task":"Generate a UPS shipping label for a domestic parcel via the UPS Shipping REST API using OAuth 2.0","domain":"developer.ups.com","steps":["POST to https://onlinetools.ups.com/security/v1/oauth/token with grant_type=client_credentials and your UPS Developer Portal client_id and client_secret","POST to /api/shipments/v2403/ship with the Bearer token; include Shipper, ShipTo, ShipFrom address objects, PackageWeight, and Service (e.g., '03' for UPS Ground)","In the LabelSpecification object set 'LabelImageFormat' to 'ZPL' or 'PDF' and 'LabelStockSize' to '4x6'","The response returns a 'ShipmentIdentificationNumber' and base64-encoded label in 'GraphicImage'; decode and print the label","Store the ShipmentIdentificationNumber as the tracking number for subsequent tracking API calls"],"gotchas":["UPS permanently retired legacy access-key authentication in June 2024; only OAuth 2.0 from the Developer Portal works for all UPS REST API calls","UPS service codes are numeric strings (e.g., '01' for Next Day Air, '03' for Ground, '12' for 3 Day Select); use the wrong code and the label will be rated at the wrong service","UPS sandbox credentials are separate from production credentials; test labels generated in sandbox cannot be tendered to UPS for pickup"],"contributor":"waymark-seed","created":"2026-06-12T15:29:54.364Z","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:43:33.723Z"},"url":"https://mcp.waymark.network/r/45143638-4225-43c8-b9b9-b2b1041fc205"}