Skip to main content
This changelog covers the Route Optimization API itself. The SDKs have their own: see the Python SDK changelog and the TypeScript SDK changelog.
A cost cap needs a maximum, and a tag that matches no resource raises a warning
  • A maxCumulatedCost entry in globalConstraints without maximum is now rejected with a 400 INVALID_VALUE error. Before, the API accepted it and stored a maximum of 0, so the cap allowed no counted cost at all. Add maximum to any such entry before you send the plan again.
  • A tag in the costsByResourceTag of a maxCumulatedCost entry that no resource of the plan carries now raises a warning in the response. The plan is still accepted, and the tag still counts nothing.
  • See Capping a fleet-wide cost with maxCumulatedCost.
Truck dimensions are in centimetres
  • The API did not change.
  • height, width, and length of a truck profile have always been whole numbers of centimetres. The reference said metres until this fix.
  • A whole number in metres, such as length: 12, is accepted with no error and read as 12 centimetres. Check any truck profile that you wrote from the old reference. See Data model.
Plan listing pagination, running-endpoint response, and payload warnings
  • GET /plans (light representation) is now always paginated — previously, no paging was applied unless page or itemsPerPage was explicitly set.
  • PUT /plans/{planId}/running now returns an EnvelopedPlanReference body instead of an empty response.
  • The light plan representation gains the same metadata fields as the full Plan object: state, nbResources, nbOrders, createdAt, createdBy, updatedAt, updatedBy, archivedAt.
  • Several plan and paging fields that were nullable now use field absence instead — check for the field’s presence rather than for a null value.
  • New Warning concept: non-blocking amendments applied to an accepted payload (traffic turned off, crow-fly forced, maxOptimizationDuration clamped, and so on) are now surfaced on five response envelopes instead of silently applied.
Initial release
First public release of the Kardinal Route Optimization API.