The Cargoboard API supports the transmission of dangerous goods (ADR) information to ensure safe and legally compliant transportation. When shipping dangerous goods, additional ADR-specific information must be provided for each shipment line.
Dangerous goods are always assigned to the corresponding shipment line via the dangerousGoods array.
The information is based on the requirements of the European Agreement concerning the International Carriage of Dangerous Goods by Road (ADR) and is used for transport planning, carrier validation and legal compliance.
Example
The following example shows a shipment containing one package of UN 3480 – Lithium-ion batteries.
"lines": [
{
"unitQuantity": 1,
"unitPackageType": "KT",
"unitLength": 33,
"unitWidth": 31,
"unitHeight": 45,
"unitWeight": 11,
"content": "Batteries",
"wantsPalletExchange": false,
"isStackable": false,
"dangerousGoods": [
{
"unNo": "3480",
"substanceName": "LITHIUM-IONEN-BATTERIEN",
"packageType": "KISTE",
"quantity": 1,
"weightGross": 11,
"weightNetOrVolume": 9,
"weightNetOrVolumeUnit": "NGW",
"riskMain": "9A",
"pointsTotal": 27,
"pointsMultiplier": 3,
"adrVersion": "ADR2025",
"classificationCode": "M4",
"packagingGroup": null,
"isExemptedQuantity": false,
"isLimitedQuantity": false,
"isHighConsequencesDangerousGood": false,
"isSpecialProvision188": false,
"transportCategory": "2",
"tunnelRestriction": "(E)"
}
]
}
]ADR Fields
| Field | Description |
|---|---|
unNo | UN number of the dangerous goods. |
substanceName | Proper shipping name according to ADR. |
packageType | Human-readable description of the packaging used. See the supported package descriptions below. |
quantity | Number of dangerous goods packages of this type. |
weightGross | Gross weight of the dangerous goods package in kilograms. |
weightNetOrVolume | Net quantity or volume of the dangerous goods, depending on the value of weightNetOrVolumeUnit. |
weightNetOrVolumeUnit | Indicates whether weightNetOrVolume represents a net weight (NGW) or a volume in litres (LIT). |
riskMain | Primary hazard label according to ADR. |
pointsTotal | Total ADR points for the shipment. |
pointsMultiplier | ADR multiplier used to calculate transport points. |
adrVersion | ADR regulation version. Currently only ADR2025 is supported. Any other value will be rejected. |
classificationCode | ADR classification code. |
packagingGroup | ADR packing group, see example list below |
transportCategory | ADR transport category. |
tunnelRestriction | ADR tunnel restriction code. |
isLimitedQuantity | Indicates whether the shipment is transported as Limited Quantity (LQ). |
isExemptedQuantity | Indicates whether the shipment is transported as Excepted Quantity (EQ). |
isSpecialProvision188 | Indicates whether ADR Special Provision 188 applies. |
isHighConsequencesDangerousGood | Indicates whether the dangerous goods are classified as High Consequence Dangerous Goods. |
Weight / Volume Unit (weightNetOrVolumeUnit)
weightNetOrVolumeUnit)The field weightNetOrVolumeUnit specifies whether the value in weightNetOrVolume represents a net weight or a volume.
The following values are supported:
| Value | Description |
|---|---|
NGW | Net weight (value provided in kilograms) |
LIT | Liter / Volume (value provided in litres) |
Important
Only the values
NGWandLITare accepted.If your system stores the net quantity in kilograms, you must still send the unit as
NGW.Values such as
kg,KG,Kilogram,lorLiterare not supported.
Correct example:
{
"weightNetOrVolume": 9,
"weightNetOrVolumeUnit": "NGW"
}Incorrect examples:
{
"weightNetOrVolumeUnit": "kg"
}{
"weightNetOrVolumeUnit": "Kilogram"
}Package Type (packageType)
packageType)The packageType field must contain a human-readable packaging description.
The following package descriptions are supported:
- Drum
- Thin sheet metal packaging
- Pressure receptacle
- Gas cartridge
- Receptacle
- Large packaging
- Intermediate Bulk Container (IBC)
- Canister
- Box / Crate
- Combination packaging
- Cryogenic receptacle
- Sack
- Tank container
The package description may contain additional details as long as it begins with one of the supported package descriptions.
Valid examples
FASSFASS aus StahlFASS aus Stahl mit abnehmbarem DeckelKANISTERKANISTER aus AluminiumKISTEKOMBINATIONSVERPACKUNG
Invalid examples
| Value | Reason |
|---|---|
FAESSER aus Stahl | Package descriptions must be provided in singular form. Use FASS. |
KANI | Abbreviations are not permitted. Use KANISTER. |
4G | ADR packaging codes are not accepted. Use a descriptive package type such as KISTE. |
Recommendation
Whenever possible, provide the complete packaging description rather than only the package type. This improves interoperability with carriers and downstream ADR systems.
UN Number Lookup (Retrieve ADR Master Data)
Customers can retrieve ADR master data directly from the Cargoboard API by providing a UN number.
This removes the need to maintain a separate dangerous goods database and ensures that ADR information is always up to date.
Endpoint
GET /v1/dangerous-goods/un-numbers/{unNumber}Use Case
A customer wants to transport a vehicle powered by lithium-ion batteries (UN 3556).
Instead of maintaining ADR master data internally, the customer's system queries the Cargoboard API and immediately receives all information required to complete the booking.
If an unknown UN number is requested, the API returns a descriptive validation error.
Example Response
{
"unNumber": "3480",
"properShippingName": "LITHIUM-IONEN-BATTERIEN",
"adrClass": "9",
"packingGroup": null,
"classificationCode": "M4",
"adrRelease": "012",
"labels": {
"mainRisk": "9A",
"subRisks": []
},
"tunnelRestriction": "(E)",
"limitedQuantityCode": "LQ00",
"limitedQuantityQuantityText": "0",
"exemptedQuantityType": "E0",
"packagingInstructions": "P903 P908 P909 P910 P911 LP903 LP904 LP905 LP906",
"generalSpecialRegulations": "188 230 310 348 376 377 387 636 677",
"flags": {
"limitedQuantity": true,
"highConsequenceDangerousGoods": false,
"notOtherwiseSpecifiedRequired": false,
"specialRegulation274": false,
"specialRegulation61": false,
"specialRegulation640": false,
"allowedInCentralCrossDock": true,
"allowedOnLineHaul": true
}
}
