Skip to content
POSTAPI key

Compute a load plan

POSTapi.loadingmcp.com/v1/plan

Pack a list of items into equipment and get a 3D plan plus a compliance verdict: utilisation, centre of gravity, crush and securing.

Request body

itemsarrayrequired

The cargo: each item has dimensions, weight and a quantity.

equipmentCodestring

Target equipment, for example 40HC. Omit to auto-size.

modestring

ocean, road or air.

optionsobject

Solver options, for example stacking or DG rules.

Response fields

Derived from the example response.

okboolean

Whether the request succeeded.

enginestring

Solver that produced the plan.

equipmentCodestring

Target equipment code.

autoSizedboolean

True when equipment was chosen automatically.

planobject

On LoadingMCP, the computed load plan. Inside a tracking observability lens, true when we hold a schedule for the shipment.

plan.utilisation_pctnumber

Volume utilisation, percent.

plan.loadednumber

Items placed in the equipment.

plan.unloadednumber

Items that did not fit.

plan.cogobject

Centre of gravity, normalised 0 to 1.

plan.cog.xnumber
plan.cog.ynumber
plan.cog.znumber
plan.violationsany[]

Compliance violations, if any.

plan.securingstring[]

Securing checklist.

curl -X POST 'https://api.loadingmcp.com/v1/plan' \
  -H "Authorization: Bearer lmcp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"equipmentCode":"40HC","mode":"ocean","items":[{"sku":"PLT-A","l_cm":120,"w_cm":100,"h_cm":145,"weight_kg":640,"qty":18}]}'
Response
{
  "ok": true,
  "engine": "packing-solver",
  "equipmentCode": "40HC",
  "autoSized": false,
  "plan": {
    "utilisation_pct": 84,
    "loaded": 18, "unloaded": 0,
    "cog": { "x": 0.51, "y": 0.49, "z": 0.38 },
    "violations": [],
    "securing": [ "Bracing at door end", "Dunnage row 3" ]
  }
}