Hazardous Materials
Designate the contents of a package as hazmat when calling the Shipium APIs.
About hazardous materials
Hazardous material (hazmat) is any substance that can pose an unreasonable risk to health, safety, and property when transported in commerce. Due to its potential safety concerns, hazmat often must meet packaging and labeling requirements set by the U.S. Department of Transportation (DOT). Shipium suggests providing as much information as possible when shipping hazmat to meet any rules and regulations related to their transport and checking with your carrier representative for carrier-specific requirements.
Shipium handles shipping the most common types of hazmat, including:
- Limited quantities (LQ) products. LQ is also known as ORMD, although this term was phased out in January 2021. Examples include small cosmetics and some healthcare products.
- Lithium ion products. A common example is lithium ion batteries found in many electronics items, for which we simplify some details for you.
- Generalized hazardous material. You can specify International Air Transport Association (IATA) and DOT details for any hazardous materials directly.
productDetails reference
The productDetails field within orderItemQuantities allows you to flag products with special shipping characteristics. Shipium uses these values to filter carrier options, apply appropriate handling, and trigger carrier-specific surcharges.
Accepted values
| Value | Aliases | Use case | Effect |
|---|---|---|---|
limited_quantity | lq | Items classified as Limited Quantity (LQ) or ORM-D hazmat, such as aerosols, small batteries, or consumer-ready hazardous goods | Restricts carrier selection to ground-only service methods (air travel prohibited without full hazmat documentation); triggers LQ handling fees with supported carriers |
bound_printed_matter | bpm | Books, catalogs, directories, and other printed materials meeting USPS BPM eligibility requirements | Enables selection of USPS Bound Printed Matter service methods for discounted postal rates; see Bound Printed Matter for eligibility details. |
perishable | — | Temperature-sensitive items such as food, pharmaceuticals, or biological materials | Prioritizes faster service methods to minimize transit time; see Perishable Items for configuration options. |
ormd | orm-d | Legacy value for ORM-D hazmat items | Same effect as limited_quantity; use limited_quantity for new implementations. |
Usage notes
- Preferred terminology. Use
limited_quantity(orlq) for LQ/ORM-D items. The valueormdis still accepted for backward compatibility, butlimited_quantityis recommended for new implementations. - Multiple values. You can pass multiple values in the array if a product has more than one special characteristic. For example, a perishable item that is also limited quantity hazmat:
"orderItemQuantities": [
{
"productId": "PROD-12345",
"quantity": 1,
"productDetails": ["limited_quantity", "perishable"]
}
]- Full hazmat shipments. For items requiring complete hazmat documentation beyond LQ classification, use the
hazmatInfoobject instead of or in addition toproductDetails. See the hazmatInfo documentation for detailed hazmat shipping requirements.
LQ/ORMD for U.S. domestic shipping
As a shortcut, Shipium supports adding a productDetails array entry of limited_quantity. See the LQ example below.
Specify hazardous materials using hazmatInfo
Hazmat information is provided within shipments as part of the orderItemProperties map, either using the standard Shipment construction or using the more popular Carrier and Method Selection & Shipment Labels mechanism.
Shipium generally recommends including as much data as you have for hazmat information as requirements differ among carriers. At a minimum, though, the following fields should be provided in your shipping request: category, quantity, quantityType, quantityUnits, and containerType.
In addition to these and other item properties that are passed, such as productId, you can specify a set of hazmat-related properties to ensure that these products are properly handled at the carrier level and during carrier selection.
There are two ways to do this:
-
For common hazmat classes, Shipium provides a shortcut mechanism and does much of the lookup on your behalf. The most common of these is the lithium ion classes for common electronics items, specified by the
categoryproperty. The properties are included in the Pre-Configured Hazmat Properties section of this document. -
You can specify detailed hazardous materials properties using the properties defined in the Detailed Hazmat Properties section of this document and setting the
categoryproperty to the valuedefined.
Pre-configured hazmat properties
The following table includes properties for common hazmat classes covered by the shortcut mechanism.
property | propertyContents | parentProperty |
|---|---|---|
"hazmat" | Boolean |
|
"hazmatInfo" | JSON object (map) See properties below that have a |
|
"category" | Hazmat category for this For any of these hazmat categories, values must be provided for the |
|
"quantity" | Float value |
|
"quantityType" | String enumeration |
|
"quantityUnits" | String enumeration |
|
The following table provides information about Shipium's hazmat categories, including their proper shipping name, United Nations (UN) number, and transport mode. For each of the categories listed, the hazard class is class_9_miscellaneous.
| Category name | Proper shipping name | UN number | Transport mode |
|---|---|---|---|
aerosols_flammable | Aerosols, flammable | UN1950 | passenger_and_cargo_aircraft |
contains_lithium_ion | Lithium ion batteries contained in equipment | UN3481 | passenger_and_cargo_aircraft |
contains_lithium_metal | Lithium metal batteries contained in equipment | UN3091 | passenger_and_cargo_aircraft |
lithium_ion_battery_only | Lithium ion batteries (refers to lithium ion batteries that are not packed with or installed in equipment) | UN3480 | cargo_aircraft_only |
lithium_metal_battery_only | Lithium metal batteries (refers to lithium metal batteries that are not rechargeable and are shipped by themselves) | UN3090 | cargo_aircraft_only |
packaged_lithium_ion | Lithium ion batteries packed with equipment | UN3481 | passenger_and_cargo_aircraft |
packaged_lithium_metal | Lithium metal batteries packed with equipment | UN3091 | passenger_and_cargo_aircraft |
dry_ice | Dry ice | UN1845 | passenger_and_cargo_aircraft |
Detailed hazmat properties
If your shipment contains hazardous materials that cannot be included using the above pre-configured interface, you can use the properties in the following table to specify the details and set the category property to the value defined.
property | propertyContents | parentProperty |
|---|---|---|
"hazmat" | Boolean |
|
"hazmatInfo" | JSON object (map) |
|
"category" | String enumeration |
|
"hazmatId" | String |
|
"containerType" | String enumeration |
|
"packingGroup" | String enumeration |
|
"packingInstructionCode" | String |
|
"properShippingName" | String |
|
"hazardClass" | String enumeration |
|
"subsidiaryClasses" | Array of strings |
|
"quantity" | Float value |
|
"quantityType" | string enumeration |
|
"quantityUnits" | String enumeration |
|
"transportMode" | String enumeration |
|
Examples
Non-hazmat example
This example in JavaScript Object Notation (JSON) shows a sample orderItems entry for a shipment that contains no hazmat items.
"orderItemQuantities": [
{
"productId": "PRODUCTID001",
"quantity": 1
},
{
"productId": "PRODUCTID002",
"quantity": 2
},
]Hazmat example: Limited quantity (LQ)/ORMD via ground transport
This example in JSON shows an orderItems entry for a ground shipment that contains two items: one with no hazmat properties and one LQ/ORMD product.
"orderItemQuantities": [
{
"productId": "PRODUCTID001",
"quantity": 1
},
{
"productId": "PRODUCTID002",
"quantity": 2,
"productDetails": ["limited_quantity"]
}
]Hazmat example: Limited quantity (LQ)/ORMD via air transport
This example in JSON shows an orderItems entry for an air shipment that contains two items: one with no hazmat properties and one LQ/ORMD product (dry ice). Hazmat information is generally required for dangerous goods shipments being transported via air service methods, even those with LQ/ORMD classification, so providing the hazmat information for items being shipped via air is highly recommended.
"orderItemQuantities": [
{
"productId": "PRODUCTID001",
"quantity": 1
},
{
"hazmat": true,
"hazmatInfo": {
"category": "dry_ice",
"quantity": 2.0,
"quantityType": "gross",
"quantityUnits": "g",
"containerType": "fiberboard_box"
},
"productId": "PRODUCTIDHAZ3",
"quantity": 3
}
]Hazmat example: Product containing lithium ion batteries
This example in JSON shows an orderItems entry for a shipment that contains two items: one with no hazmat properties and one with a lithium ion battery.
"orderItemQuantities": [
{
"productId": "PRODUCTID001",
"quantity": 1
},
{
"hazmat": true,
"hazmatInfo": {
"category": "contains_lithium_ion",
"quantity": 1.0,
"quantityType": "gross",
"quantityUnits": "g",
"containerType": "wooden_box"
},
"productId": "PRODUCTIDHAZ1",
"quantity": 3
}
]Hazmat example: Detailed hazmat properties
This example in JSON shows an orderItems entry for a shipment containing two items, one with a chromic acid solution and one with no hazmat properties. Note that category is set to "defined".
"orderItemQuantities": [
{
"hazmat": true,
"hazmatInfo": {
"category": "defined",
"hazmatId": "UN1755",
"containerType": "aluminum_jerrican",
"packingGroup": "ii",
"packingInstructionCode": "851",
"properShippingName": "chromic acid solution",
"hazardClass": "class_8_corrosive_material",
"subsidiaryClasses": [
"8.1"
],
"quantity": 5.0,
"quantityType": "net",
"quantityUnits": "l",
"transportMode": "ground"
},
"productDetails": [],
"productId": "PRODUCTID001",
"quantity": 3
}
]Resources
Your Shipium team member is available to help along the way. However, you might find these resources helpful:
Updated 14 days ago
