Authenticate via UPS OAuth 2.0 client credentials flow from the UPS Developer Portal to obtain a Bearer token
In the UPS Shipping API request body, include a 'Package.PackageServiceOptions.HazMatPackageInformation' object with UN number, proper shipping name, hazard class, packing group, and quantity
Confirm the shipment service supports hazmat; UPS Ground handles many hazmat classes but air services restrict certain classes — consult the UPS Dangerous Goods guide for service eligibility
Set 'ShipmentServiceOptions.HazMatIndicator' at the shipment level in addition to the package-level declaration
Verify compliance with the 2026 IATA DGR (67th Edition) effective January 1 2026 for any air hazmat shipment; updated acceptance checklist rules and lithium battery regulations apply
Known gotchas
UPS requires shippers to be registered for hazmat shipping and to have completed carrier-required training; API acceptance does not substitute for regulatory compliance
Lithium battery regulations changed in the 2026 IATA DGR; verify watt-hour ratings and packaging requirements for Section II lithium batteries before submitting air shipments
UPS permanently retired legacy access-key authentication in June 2024; only OAuth 2.0 credentials from the Developer Portal are accepted
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