---
title: "Multi-item consignment calculator"
method: POST
path: "/api/consignment"
tags: ["Consignment"]
---

# Multi-item consignment calculator

`POST /api/consignment`

## Request

- Base URL: `https://www.freightutils.com`
- URL: `https://www.freightutils.com/api/consignment`
- Auth: none declared

Calculate total CBM, loading metres and mode-specific chargeable weight for a multi-item consignment, with per-line and grand totals plus flags (implausible density, mode/option mismatch, DG vs ADR 2025, ISO 6346 / IATA AWB check digits). Reference data only. Schema: /schema/consignment.v1.json.

## Request body

- union: Provide either `lines` (canonical) or `items` (legacy flat alias). `mode` defaults to road.
  - object
    - `mode` 'road' | 'air' | 'sea'
    - `lines` object[], required
      - `description` string
      - `quantity` integer, required
      - `dims` object, required
        - `l` number, required
        - `w` number, required
        - `h` number, required
        - `unit` 'mm' | 'cm' | 'm' | 'in', required
      - `weight` object, required
        - `value` number, required
        - `unit` 'kg' | 'g' | 't' | 'lb', required
      - `hs_code` string
      - `un_number` string
      - `stackable` boolean
    - `items` object[]: Legacy flat alias — dimensions in cm, weight in kg.
      - `description` string
      - `length` number, required
      - `width` number, required
      - `height` number, required
      - `quantity` integer
      - `gross_weight` number
      - `stackable` boolean
      - `pallet_type` 'none' | 'euro' | 'uk' | 'us' | 'custom'
    - `options` object
      - `air_volumetric_divisor` number
      - `container_number` string
      - `awb_number` string
  - object
    - `mode` 'road' | 'air' | 'sea'
    - `lines` object[]
      - `description` string
      - `quantity` integer, required
      - `dims` object, required
        - `l` number, required
        - `w` number, required
        - `h` number, required
        - `unit` 'mm' | 'cm' | 'm' | 'in', required
      - `weight` object, required
        - `value` number, required
        - `unit` 'kg' | 'g' | 't' | 'lb', required
      - `hs_code` string
      - `un_number` string
      - `stackable` boolean
    - `items` object[], required: Legacy flat alias — dimensions in cm, weight in kg.
      - `description` string
      - `length` number, required
      - `width` number, required
      - `height` number, required
      - `quantity` integer
      - `gross_weight` number
      - `stackable` boolean
      - `pallet_type` 'none' | 'euro' | 'uk' | 'us' | 'custom'
    - `options` object
      - `air_volumetric_divisor` number
      - `container_number` string
      - `awb_number` string

## Response `200`

Consignment calculation result (schema: /schema/consignment.v1.json)

- object
  - `schema_version` string
  - `mode` string
  - `air_volumetric_divisor` number
  - `per_line` object[]
  - `totals` object
  - `flags` object[]
  - `disclaimer` string

## Other responses

- `400`: Validation error

---

[API](https://skmtc.dev/freightutils/apis/freightutils-api.md) · [All operations](https://skmtc.dev/freightutils/apis/freightutils-api/llms.txt) · [OpenAPI document](https://skmtc.dev/freightutils/apis/freightutils-api/revisions/6607bb3cea90?raw)
