Order/Item Weights & Dimensions

Burq supports specifying physical dimensions and weight for the items or package in an order. When provided, this data is forwarded to the delivery provider to assist with vehicle selection, route planning, and carrier pricing — particularly for freight and big & bulky deliveries.


Two Levels of Dimensions

Dimensions can be specified at two levels:

LevelWhat it representsWhen to use
Order-levelA single set of measurements for the entire package or OrderWhen you want to describe the overall dimensions of what is being picked up, regardless of how many individual items it contains.
Item-levelIndividual measurements per line itemWhen each item in the order has distinct physical properties that need to be communicated to the driver or provider

Both levels can coexist on the same order. If item-level dimensions are provided, every item in the order must have dimensions — partial coverage is not allowed.


User can click on +Add another item to add weights and dimensions for more items.



If the user is unsure of the exact measurements, weights and dimensions of the item/package, clicking on View sample item sizes will take the user to the Item size defaults page.


Accepted Units

Dimension unit (length, width, height):

ValueUnit
inInches (default if not specified)
cmCentimeters

Weight unit:

ValueUnit
lbPounds (default if not specified)
kgKilograms
gGrams

Via the API (V2)

Dimensions are supported on the V2 POST /orders endpoint. They are not supported on V1 API calls.

Order-level dimensions

Pass dimensions alongside the top-level order fields:

{
  "pickup": { ... },
  "dropoff": { ... },
  "items": [ ... ],
  "length": 24,
  "width": 18,
  "height": 12,
  "weight": 35,
  "dimension_unit": "in",
  "weight_unit": "lb"
            

Item-level dimensions

Pass dimensions on each item object. If you use item-level dimensions, every item must include all four fields:

{
  "pickup": { ... },
  "dropoff": { ... },
  "items": [
    {
      "name": "Monitor",
      "quantity": 1,
      "length": 24,
      "width": 18,
      "height": 12,
      "weight": 15,
      "dimension_unit": "in",
      "weight_unit": "lb"
    },
    {
      "name": "Keyboard",
      "quantity": 1,
      "length": 18,
      "width": 8,
      "height": 2,
      "weight": 2,
      "dimension_unit": "in",
      "weight_unit": "lb"
    }
  ]
}

Important: Dimensions are required on V2 order creation — if your order has no item-level or order-level dimensions, the API will return a dimensions_required error. If you need to create an order without dimensions, use the V1 API or the CSV upload without the dimensions template.

Updating dimensions

Dimensions can be updated via PUT /orders/{id}. On update, dimensions are optional — provide them only if you need to change them. Partial updates (providing some but not all four fields) are not allowed; if you update dimensions, all four fields must be present.

Via CSV Upload

When using the dimensions CSV template, replace the Item Size column with the numeric dimension and weight columns below. See Uploading Routes via CSV for the full column reference.

Item-level dimensions in CSV

Add dimension columns to each row. For orders with multiple items (rows sharing the same External Order Reference), item-level dimensions can appear on any row.

Order-level dimensions in CSV

Order-level dimensions must only appear on the first row of each order. Do not repeat them on subsequent item rows.

Validation rules for CSV

  • If any one of the four dimension fields is provided at a level, all four must be present at that level.
  • At least one level (item or order) must have a complete set of dimensions per order.
  • Order-level dimensions on a non-first row will be rejected.
  • If Dimension Unit or Weight Unit is provided, it must be one of the accepted values above.

Error Reference

ErrorCauseFix
dimensions_requiredV2 order creation was called without any dimensions (order-level or item-level).Add dimensions to the order or at least one item.
dimensions_not_supportedDimensions were provided on a V1 API call, which does not support them.Use the V2 API (POST /v2/orders) or remove dimensions from the request.
invalid_dimensionsA dimension set is incomplete — some but not all four fields (length, width, height, weight) were provided.Provide all four dimension fields, or omit all of them.
invalid_dimension_valuesA dimension value is zero, negative, or non-numeric.Provide positive numeric values for all dimension fields.
invalid_dimension_unitThe dimension_unit value is not recognised.Use one of: in, cm.
invalid_weight_unitThe weight_unit value is not recognised.Use one of: lb, kg, g.
order_and_item_dimensions_mutually_exclusive(Legacy) Order-level and item-level dimensions were provided in a context where they cannot coexist.Check that your request follows the current rules — both levels are supported on V2 create.
inconsistent_item_dimensionsItem-level dimensions were provided for some items but not all.Either provide dimensions for every item in the order, or omit them entirely.