Identify the UN number, proper shipping name, class/division, packing group, and quantity from the Safety Data Sheet (SDS) for each hazardous commodity
Verify the substance appears on the IATA Dangerous Goods Regulations (DGR) Table 4.2 and that the package complies with the applicable packing instruction (PI)
Populate the dangerousGoodsDetail array in the FedEx Ship API request body with unNumber, properShippingName, hazardClass, packingGroup, and quantity fields
Set the contentRecord[].itemDescription and include the shipper's declaration for dangerous goods reference number obtained from your DGR-certified staff or third party
Ensure the package label reflects the correct hazard class diamonds and required markings per IATA DGR; the API does not generate hazmat labels automatically
Test in sandbox mode; note that FedEx will validate DGR compliance and return specific error codes for incomplete or inconsistent dangerous goods declarations
Known gotchas
IATA DGR is updated annually; packing instructions, quantity limits, and permitted/forbidden lists change each edition, so automation must reference the current edition's data
Lithium battery shipments have particularly complex requirements including watt-hour limits, state of charge restrictions, and packaging requirements that vary by whether cells are packed with or in equipment
A shipper's declaration for dangerous goods must be signed by a IATA DGR-certified employee; the API call alone does not satisfy this legal requirement without the accompanying physical documentation
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