# Dangerous Goods Dangerous Goods (DGs) are declared at the parcel level when creating a delivery. Each parcel that contains dangerous goods must include `contains_dangerous_goods: true` and a `dangerous_goods` object with, at minimum, a reference to a pre-configured Dangerous Goods Definition. For an overview of how DG Definitions work and the two integration approaches (definition-only vs. field overrides), see [Dangerous Goods](/documentation/key-concepts/how-deliveries-work/dangerous-goods) in the Key Concepts section. *** ## Endpoint ``` POST {{domain}}/{{tenant_id}}/deliveries ``` **Authentication:** Bearer token required via the `Authorization` header. *** ## Minimal Example — Using a Definition ```json title="Parcels — Minimal DG Example" "parcels": [ { "reference": "PARCEL_001", "type": "carton", "description": "BOX A", "length_cm": 20, "width_cm": 20, "height_cm": 20, "weight_kg": 2, "quantity": 2, "contains_dangerous_goods": true, "dangerous_goods": { "dangerous_goods_definition": "ap_standard_parcels" } } ] ``` ## Full Example — With Field Overrides ```json title="Parcels — Full DG Example with Overrides" "parcels": [ { "reference": "PARCEL_002", "type": "carton", "description": "BOX B", "length_cm": 20, "width_cm": 20, "height_cm": 20, "weight_kg": 2, "quantity": 1, "contains_dangerous_goods": true, "dangerous_goods": { "dangerous_goods_definition": "dangerous_goods_1", "dangerous_goods_declaration": "UN2910_radioactive_excepted_limited_qty", "class_division": 2, "packing_group_designator": "III", "un_number": 1950, "technical_name": "technical name", "net_weight_kg": 2, "outer_packaging_type": "carton", "outer_packaging_quantity": 1 } } ] ``` *** ## Parcel-Level DG Fields The following fields are added to each parcel object when shipping dangerous goods. | Field | Required | Type | Description | | -------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------- | | `contains_dangerous_goods` | No | Boolean | Indicates the parcel contains dangerous goods. When `true`, the `dangerous_goods` object is required. Defaults to `false`. | | `dangerous_goods` | No | Object | The dangerous goods details for this parcel. Required when `contains_dangerous_goods` is `true`. | *** ## Dangerous Goods Object Fields | Field | Required | Type | Description | | ----------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `dangerous_goods_definition` | Yes | String | The name of a pre-configured Dangerous Goods Definition for your account (e.g. `ap_standard_parcels`). This resolves all required DG fields automatically. Other fields in this object are optional and will override the definition values if provided. | | `dangerous_goods_declaration` | No | String | A carrier pre-configured dangerous goods declaration identifier, where applicable. | | `transportable_by_air` | No | Boolean | Whether the dangerous good is permitted to be transported by air. | | `un_number` | No | Number | The UN number identifying the dangerous good (e.g. `1950` for aerosols). | | `technical_name` | No | String | The UN technical shipping name of the dangerous good. | | `net_weight_kg` | No | Number | The net weight of the dangerous goods in kilograms. | | `class_division` | No | Number | The hazard class or division of the dangerous good (e.g. `2` for gases). | | `subsidiary_risk` | No | Number | The subsidiary risk class, where the dangerous good has a secondary hazard classification. | | `packing_group_designator` | No | Enum | The packing group based on the degree of danger. Must be one of: `I`, `II`, `III`. | | `outer_packaging_type` | No | String | The outer packaging type for the shipment. Standard values: `carton`, `satchel`, `pallet`, `skid`, `jiffy`, `bag`. Contact Rendr for specific requirements outside these options. | | `outer_packaging_quantity` | No | Number | The number of outer packaging units. | The preferred integration approach is to use `dangerous_goods_definition` without overrides wherever possible. Definitions are agreed and validated during onboarding, ensuring compliance is enforced at the configuration level. Override fields should only be used where a shipment genuinely falls outside the scope of an existing definition. *** ## Manifesting Dangerous Goods Where DG and non-DG parcels must be manifested separately, include `contains_dangerous_goods: true` in the Create Manifest request. A separate manifest call with `contains_dangerous_goods: false` is required to manifest the non-DG parcels. ```json title="POST /{{tenant_id}}/manifests — DG Manifest" { "store_id": "your_store", "manifest_group": "Parcel POST", "contains_dangerous_goods": true } ``` *** ## Dangerous Goods Declaration Document Where a carrier generates a DGD document, Rendr automatically retrieves and stores it. The signed document URL is available in the Create Delivery and Get Delivery responses under `dangerous_goods_form_url`. To retrieve the DGD PDF directly: ``` GET {{domain}}/{{tenant_id}}/deliveries/{{delivery_id_or_reference}}/label/dgd ```