Reference Data
ADR

ADR 1.1.3.6 Exemption Calculator (single item)

Check one line of dangerous goods carried in packages against the ADR 1.1.3.6 small-load exemption: quantity × transport-category multiplier within 1,000 points and within the category's 1.1.3.6.3 maximum; category 0 never qualifies. ID-prefixed numbers (ID8000) route AIR_ONLY_ID.

get/api/adr-calculator

Request

  • Base URL: https://www.freightutils.com
  • URL: https://www.freightutils.com/api/adr-calculator
  • Auth: none declared

Query parameters

unstring required

UN number of the substance — or an ID-prefixed air-only number (e.g. ID8000): no ADR Table A entry, so it is routed AIR_ONLY_ID and nothing is counted for it — the ADR answer for limited-quantity packages to the ICAO TI (3.4.9, 3.4.10, 1.1.3.6.5), as its warning states.

qtynumber required

Quantity on the ADR 1.1.3.6.3 basis: net kg for solids and liquefied, refrigerated or dissolved gases; litres for liquids; receptacle water capacity in litres for compressed or adsorbed gases and chemicals under pressure; articles as the mass of the articles without their packagings, in kg.

packing_group'I' | 'II' | 'III'

Packing group (I, II or III) — only needed for a UN number with more than one ADR Table A row (e.g. UN 1789); ignored for single-row UNs. Without it a multi-variant UN returns candidates[] and no verdict. Enough alone when the rows it leaves agree on the verdict fields (UN 1790 PG I).

variant_indexinteger

ADR Table A variant index (as returned by /api/adr) — pins one row when a UN number has several variants sharing a packing group (concentration bands). Ignored for single-row UN numbers. Digits only; anything else is a 400.

unit'L' | 'kg'

OPTIONAL dimension of qty. Omit it and qty is taken as already on the 1.1.3.6.3 basis (unchanged). Supply it and it is checked against the dimension the row is counted in; a mismatch returns points, total_points and exempt all null with basis_mismatch true. Case-insensitive; else 400.

basis'net' | 'gross'

OPTIONAL. ADR 1.1.3.6.3 counts the dangerous goods themselves, never the packaging, so a figure declared "gross" returns no points in ANY unit — send the net quantity instead.

Response

ADR 1.1.3.6 result; items[].state names each line's route (COUNTED, AIR_ONLY_ID, NOT_SUBJECT_TO_ADR, BLOCKED). All lines ambiguous: human_review_required + blocking_errors[AMBIGUOUS_UN_VARIANT] + candidates[], no verdict; a mixed load withholds that line only. Agreeing rows resolve.

total_pointsnumber nullable required

Sum of all item points. Null when no load verdict was reached — a line is withheld (items[].withheld), declared on a basis 1.1.3.6.3 does not count (items[].basis_mismatch), or carries no transport category in Table A column (15) (items[].category_unresolved).

thresholdinteger required

1.1.3.6 threshold (always 1000).

exemptboolean nullable required

Whether the shipment qualifies for 1.1.3.6 exemption. Null when no load verdict was reached, never false as a stand-in. false with total_points null = already NOT exempt on the resolved lines (carriage prohibited, category 0, a maximum exceeded, or a partial sum over 1,000) while a line is withheld.

has_category_zeroboolean required

Whether any item is transport category 0 (never exempt).

has_quantity_exceedanceboolean required

Whether any single item exceeds its maximum quantity per transport unit.

warningsstring[] required

Any warnings about the calculation.

messagestring required

Human-readable verdict. For loads whose entries are outside ADR scope this is a dedicated scope verdict (e.g. 'Not subject to ADR (road). Section 5.5.3 applies: ...' or 'Carriage prohibited by ADR (road). ...'), never a 1.1.3.6 claim.

not_subject_to_adrboolean

Present and true when EVERY item in the load is NOT SUBJECT TO ADR (Table A) — the 1.1.3.6 calculation was not applied.

conditions_refstring

ADR section whose carriage conditions still apply to a not-subject load (e.g. 5.5.3 for dry ice).

carriage_prohibitedboolean

Present and true when the load contains a CARRIAGE PROHIBITED Table A entry — exempt is false and the load may not be carried by road under ADR, whether or not another line is withheld.

human_review_requiredboolean

Present and true when at least one line is withheld for an unpinned multi-variant UN. candidates[] then lists that line's rows.

Example response

{
  "blocking_errors": [
    {
      "code": "AMBIGUOUS_UN_VARIANT"
    }
  ],
  "items": [
    {
      "un_number": "1203",
      "state": "COUNTED",
      "proper_shipping_name": "MOTOR SPIRIT or GASOLINE or PETROL",
      "class": "3",
      "transport_category": "2",
      "packing_group": "II",
      "quantity": 200,
      "multiplier": 3,
      "points": 600,
      "basis_mismatch": true,
      "category_unresolved": true,
      "withheld": true,
      "equivalent_variants": [
        {
          "variant_index": 1
        }
      ],
      "not_subject_to_adr": true,
      "carriage_prohibited": true,
      "conditions_ref": "5.5.3",
      "air_only_id": true
    }
  ],
  "total_points": 600,
  "threshold": 1000,
  "exempt": true,
  "warnings": [],
  "message": "1.1.3.6 exemption applies",
  "not_subject_to_adr": true,
  "conditions_ref": "5.5.3",
  "conditions": [
    {
      "ref": "5.5.3.3.3",
      "heading": "Ventilation"
    }
  ],
  "carriage_prohibited": true,
  "human_review_required": true,
  "candidates": [
    {
      "item_index": 1,
      "un_number": "1789",
      "packing_group": "II",
      "transport_category": "2",
      "multiplier": 3
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.