/shipments/{shipmentId}/actions

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The ID of the shipment to perform an action on

Body Params

Create and execute a shipment action.

Alignment Strategies: Field-Based Requirements

For unrouted shipments: No alignment strategies are required for any field edits.

For routed shipments: Required alignment strategies depend on which fields you are editing:

Fields Requiring tourRouteAlignmentStrategy + productAlignment

When editing these fields on routed shipments, you MUST provide:

  • tourRouteAlignmentStrategy
  • productAlignment

Fields:

  • address (via shipment-stop): street, city, postalCode, country, coordinates, etc.
    • Partial updates supported - only changed fields need to be provided
    • stopType: 'pickup' or 'dropoff'
  • timeFrom (via shipment-stop): Start of time window (epoch seconds)
  • timeTo (via shipment-stop): End of time window (epoch seconds)
  • date (via shipment-date): Shipment date (epoch seconds, interpreted in Europe/Berlin)

Fields Requiring tourRouteAlignmentStrategy + tourVehicleClassAdjustmentStrategy + productAlignment

When editing these fields on routed shipments, you MUST provide:

  • tourRouteAlignmentStrategy
  • tourVehicleClassAdjustmentStrategy
  • productAlignment

Fields:

  • loads (via shipment-loads): Array of load objects with weight, volume, etc.

Fields Requiring tourExtrasAdjustmentStrategy + productAlignment

When editing these fields on routed shipments, you MUST provide:

  • tourExtrasAdjustmentStrategy
  • productAlignment

Fields:

  • extras (via shipment-extras): Array of ExtraType values

Fields Requiring tourRegionAdjustmentStrategy + productAlignment

When editing these fields on routed shipments, you MUST provide:

  • tourRegionAdjustmentStrategy
  • productAlignment

Fields:

  • region (via shipment-region): Region identifier

Fields Requiring NO Strategies (Strategies Forbidden)

When editing ONLY these fields, you MUST NOT provide any alignment strategies.
Providing strategies for these fields will result in a 400 Bad Request error.

Fields (via shipment-stop):

  • companyName: Company name at the stop
  • contact: Contact information (name, email, phone)
  • loadingPoint: Loading point identifier
  • note: Stop-specific note
  • proofRequirements: Array of proof requirement types
  • expectedWaitingTime: Expected waiting time in seconds

Other fields:

  • comment (via shipment-comment): Shipment comment
  • internalComment (via shipment-internal-comment): Internal comment
  • displayName (via shipment-display-name): Display name
  • properties (via shipment-properties): Custom properties
  • netGoodsValue (via shipment-edit-net-goods-value): Net goods value

Strategy Options

tourRouteAlignmentStrategy

  • rebuild-minimal-change: Rebuild tour with minimal changes (stop order preserved, stops may be split/merged)
  • rebuild-with-layout: Rebuild tour with custom layout (requires tourLayout field)
  • reoptimize: Rebuild tour using VRP optimizer

tourVehicleClassAdjustmentStrategy

  • preserve: Keep current vehicle class (may become invalid if loads exceed capacity)
  • recalculate: Recalculate vehicle class using LoadPlan

tourExtrasAdjustmentStrategy

  • recalculate: Recalculate tour extras from all shipments on the tour
  • preserve: Keep existing tour extras unchanged

tourRegionAdjustmentStrategy

  • set: Update tour region to match shipment region
  • preserve: Keep existing tour region unchanged

productAlignment

Required whenever any other alignment strategy is required.

Structure: { order: { strategy, onInfeasible? }, tour: { strategy, onInfeasible? } }

Both order and tour strategies are REQUIRED when productAlignment is provided.

strategy options:

  • recalculate: Recalculate pricing based on changes
  • preserve: Keep existing pricing unchanged

onInfeasible options (REQUIRED when strategy is 'recalculate', optional for 'preserve'):

  • detach: Remove pricing if recalculation fails
  • fail: Fail entire operation if recalculation is infeasible (returns 400)

Validation

The server validates that:

  1. Required strategies are provided for the fields being edited
  2. No strategies are provided for fields that don't require them
  3. Missing required strategies or providing forbidden strategies will result in a 400 Bad Request error
string
enum
required
Allowed:
string
required

Internal Tour id (5-character uppercase alphanumeric code) to route this shipment onto. A shipment sits on at most one tour at a time; routing files any previous tour into its history.

string | null
tourDetails
object | null
Responses

400

Bad request - invalid action or blocked action type

401

Unauthorized

404

Shipment not found

409

Conflict - action not applicable in current state (e.g. restricted action type, validation conflict).

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json