ShippitDeveloper Centre

Dangerous goods orders

This section explains how to manage dangerous goods using the Shippit API. If you ship items classified as dangerous goods, declare them when you create the order. This ensures the order is allocated to a carrier that can safely ship your goods. It also ensures the necessary documentation, such as a dangerous goods declaration, is generated and sent to the carrier.

Dangerous Goods in Limited Quantities do not need to be declared in the order creation payload, but must be labelled appropriately.

Get approval to ship dangerous goods

Get pre-approval from Shippit and the carrier before you ship any dangerous goods.

WARNING: Shipping any class of restricted or dangerous goods must be pre-approved by Shippit and the carrier.

Check whether your carrier accepts the class of dangerous goods you want to ship. You can use the carrier matrix for an overview. For more detailed information about a specific carrier, see the know your carrier collection.

To activate a new dangerous goods carrier, download and complete the Dangerous Goods Request Form. For the form and further instructions, see the shipping prohibited and restricted goods article.

Declare dangerous goods in your order payload

Add a dangerous_goods object to each product line that contains dangerous goods, in the product_attributes (or parcel_attributes) of your /orders payload. This ensures Shippit identifies the shipment correctly and generates the required compliance documentation.

If you send dangerous_goods, fill in these fields:

  • code: the UN number, for example UN1993
  • class: the dangerous goods class, for example 3 (see Available dangerous goods classes)
  • text: the proper shipping name printed on the declaration, for example Flammable liquid, n.o.s.
  • packing_description: the packaging of one unit, for example Steel drum
  • amount: the amount of dangerous goods in one unit, for example 1, greater than 0
  • amount_unit: the unit for amount, for example L

You can also send these optional fields:

  • packing_group: I, II, or III, for example II (see Packing groups). Omit it when the UN number has none. Shippit stores an omitted or blank value as null. Shippit stores any casing of N/A and returns it as N/A.
  • packing_instruction: the packing instruction, for example 966, up to 20 characters. Omit it when it doesn't apply.
  • authorisation: the authorisation, such as a special provision or approval reference, for example A88, up to 40 characters. Omit it when it doesn't apply.

On POST /orders, leave a required field out and Shippit rejects the order with a 422 that lists what's missing. PUT /orders/{tracking_number} stays lenient, so you can send a GET response back.

packing_description, amount, and amount_unit describe a single unit, and packed says how many units are in the shipment. This product line declares two 1 L steel drums of flammable solvent. Send packing_group when the UN number has one. Omit packing_instruction and authorisation when they don't apply:

JSON
{
  "sku": "SOLVENT-1L",
  "title": "Flammable solvent 1 L",
  "quantity": 2,
  "packed": 2,
  "price": 24.50,
  "dangerous_goods": {
    "code": "UN1993",
    "class": "3",
    "text": "Flammable liquid, n.o.s.",
    "packing_group": "II",
    "packing_description": "Steel drum",
    "amount": 1,
    "amount_unit": "L"
  }
}

Paint is the same shape: UN1263 is class 3 and packing group III.

JSON
{
  "sku": "PAINT-500",
  "title": "Interior paint 500 ml",
  "quantity": 1,
  "packed": 1,
  "price": 18.00,
  "dangerous_goods": {
    "code": "UN1263",
    "class": "3",
    "text": "Paint",
    "packing_group": "III",
    "packing_description": "Fibreboard box",
    "amount": 0.5,
    "amount_unit": "L"
  }
}

For a full request, see the dangerous goods order example in the Order API reference.

The dangerous_goods_code, dangerous_goods_class, and dangerous_goods_text fields are deprecated. Shippit still accepts them, but they can't carry the packing group, packaging, or amount. Move to the dangerous_goods object.

Important: the dangerous_goods_code, dangerous_goods_class, and dangerous_goods_text fields are deprecated. Use the dangerous_goods object instead.

To ensure accurate surcharges (which are often weight-based), split your order if it contains both dangerous and non-dangerous goods.

You must also split your order if it contains dangerous goods with more than one dangerous goods code.

Carrier allocation for dangerous goods

When you add a dangerous goods code to your order, it will only be allocated to a carrier that is configured as being able to take dangerous goods.

The class of dangerous goods is not considered during carrier allocation. It is important to check which classes your carrier can ship, before you create your order and confirm that the allocated carrier supports the order’s dangerous goods class.

You can use the courier_allocation field as part of the order creation request to specify the exact carrier.

If you (1) have multiple carriers available that can accept dangerous goods and (2) specify a service level by using courier_type field, the order will be allocated based on your other preferences, such as the cheapest or the fastest. Using the rules engine, you can specify whether certain carriers are considered or excluded from courier allocation.

Contact Shippit support if your chosen carrier isn't being allocated as expected.

Dangerous goods documentation

When you add a dangerous goods code to your order, Shippit automatically creates a dangerous goods declaration using the information you provide. This document is electronically attached to the order, and sent on to the carrier. You can also view and print the document directly from your Shippit account.

Available dangerous goods classes

Dangerous goods classes are defined by international transport regulations. They are used to identify the hazard class of the dangerous goods you are shipping. Define the class in the class field of the dangerous_goods object.

These dangerous goods classes are internationally recognised:

ClassType of materialexamples
1Explosive substances and articlesFireworks, ammunition
2.1Flammable gasButane, propane
2.2Non-flammable and non-toxic gasesNitrogen, helium, oxygen
2.3Toxic gasesChlorine, phosgene
3Flammable liquidsPetrol, lighter fluid, alcohol
4.1Flammable solids, self-reactive substancesMatches, metal powders
4.2Substances liable to spontaneous combustionPhosphorus, activated carbon
4.3Substances which emit flammable gases in contact with waterSodium, calcium carbide
5.1Oxidising substancesHydrogen peroxide, nitrates
5.2Organic peroxidesBenzoyl peroxide
6.1Toxic substancesPesticides, certain chemicals
6.2Infectious substancesBiological samples, medical waste
7Radioactive materialMedical isotopes, nuclear materials
8Corrosive substancesAcids, alkalis, batteries
9Miscellaneous dangerous substances and articlesLithium batteries, dry ice, magnetised materials

Note: Class 1 (Explosives) has additional subdivisions identified by division numbers (1.1-1.6) and compatibility groups. You are responsible for correctly classifying dangerous goods according to these international standards.

If you use the deprecated fields and leave out dangerous_goods_class, the dangerous goods declaration falls back to the standard subsidiary risk number 9 (miscellaneous dangerous substances and articles).

Packing groups

Packing groups rank how dangerous the goods are within their class. The packing_group field of the dangerous_goods object is optional. Send I, II, or III when the UN number has one, for example II for UN1993. Omit it when the UN number has none.

Packing groupDegree of danger
IHigh
IIMedium
IIILow

Shippit accepts I, II, III, and N/A. I, II, and III are upper case. Shippit stores any casing of N/A and returns it as N/A. Omitted or blank means null. Any other value fails validation.

Prohibited and restricted items

Before you ship, verify that your items are not on the prohibited list and that you comply with all carrier-specific restrictions. Shippit supports various freight types, but some items require special procedures or are completely barred from the network.

For more information about prohibited items and restricted freight, see the shipping prohibited and restricted goods article.