API Changelog
New features, improvements, and fixes in the EasyRoutes API.
Endpoint changes
Added endpoint to resync route orders
Added the POST /routes/{routeId}/resync-orders endpoint to refresh order-backed stops from Shopify with the latest fulfillment statuses, item updates, notes, and tags.
Added the POST /routes/{routeId}/resync-orders endpoint to resync Shopify order data across a route's stops and return the updated route.
Endpoint changes
Added idempotency support to mutating endpoints
You can now safely retry route, stop, and webhook requests using idempotency headers. See our guide for more details.
Added the optional Idempotency-Key request header.
Added the Idempotency-Key response header on 200 responses.
Added the Idempotency-Replayed response header on 200 responses.
28 affected endpoints
Schema changes
Added order reference URL to imported stops
You can now view an external order reference URL on imported stops.
Added orderReferenceUrl to provide a reference HTTPS URL for the order associated with the stop, such as a link to an order management system.
7 affected endpoints
Imported stop update support for order reference URLs
You can now update the order reference URL for an imported stop.
Added the optional orderReferenceUrl request field to update the HTTPS reference link to the order in your external order management system.
Added order reference URL to RouteStop
You can now view an external order reference link directly on imported route stops.
Added optional orderReferenceUrl field providing a link to the order associated with the stop in an external system for imported stops.
23 affected endpoints
Added order reference URL when updating route stops
You can now update the external order reference URL for an existing stop on a route.
Added the optional orderReferenceUrl request field to update the stop's external order reference URL, such as a link to the order in your order management system (must be a valid HTTPS URL).
Added order reference URL to imported stops
You can now include an external order reference link when importing stops.
Added the optional orderReferenceUrl field to link an imported stop to an external order management system via an HTTPS URL.
Endpoint changes
Route sorting updates
You can now sort routes by their scheduled date and time.
Added the SCHEDULED_AT option to the sortKey query parameter.
Schema changes
Imported Stop Update
You can now update additional stop details including timing, sequencing, and custom disclosures.
Add a duration to the stop.
Specify an order name.
Set a delivery date.
Define the stop type.
Include a custom signature disclosure.
Route
You can now access vehicle information directly within route details.
Includes the assigned vehicle.
18 affected endpoints
Endpoint changes
Unassign route vehicle
A new endpoint has been added to unassign a vehicle from a route by its ID. The response returns the updated route without an assigned vehicle.
The endpoint DELETE /routes/{routeId}/vehicle has been added.
List vehicles
Fetch a paginated list of vehicles associated with the shop.
Added the GET /vehicles endpoint to retrieve a paginated list of vehicles.
Get vehicle
Fetch a single vehicle by ID.
Added the GET /vehicles/{id} endpoint to fetch a single vehicle by ID.
Assign route vehicle
Assigns a vehicle to a route by route ID. The response will include the updated route with the new vehicle assigned.
Added the PUT /routes/{routeId}/vehicle endpoint to assign a vehicle to a specific route.
Update imported stop tasks
Updates the tasks on an existing imported stop by ID, without needing to re-send the full stop payload via ImportStops. This is a full replacement: the entire list of tasks on the stop is replaced with the task templates provided in the request body.
Added the PUT /stops/imports/{id}/tasks endpoint to allow full replacement of tasks on an imported stop record.
Schema changes
Imported stop updates
You can now update time windows, attributes, and priority levels for imported stops.
Add optional time windows to the update request.
Include custom attributes when updating a stop.
Set or modify the priority level for the stop.
Endpoint changes
Update imported stop location
Updates the address and/or coordinates for an imported stop by ID. This partial update modifies the imported stop record itself using a provided update mask.
Added the UpdateImportedStopLocation endpoint to allow partial updates to an imported stop's address or coordinates.
Update route end tasks
Updates the tasks required to complete a route by route ID. This is a full replacement: the entire list of tasks on the route end is replaced with the task templates provided in the request body, so existing tasks not included in the request will be removed. Task and item IDs are always regenerated by the server, and any existing completion state, input, or timestamps are cleared, since only the driver (via the driver app) can mark a task or item complete or provide input. The route must have an end location and must not be archived. The response returns the full updated route.
Added the UpdateRouteEndTasks endpoint to replace tasks on a route's end location.
Update route start tasks
Updates the tasks required before starting a route by route ID. This is a full replacement: the entire list of tasks on the route start is replaced with the task templates provided in the request body, so existing tasks not included in the request will be removed. Task and item IDs are always regenerated by the server, and any existing completion state, input, or timestamps are cleared, since only the driver (via the driver app) can mark a task or item complete or provide input. The route must not be archived. The response returns the full updated route.
Added the PUT /routes/{routeId}/start/tasks endpoint.
Update imported stop items
Updates the items on an existing imported stop by ID. This is a full replacement of the item list and supports both the EasyRoutes ID or a client-provided ID.
Added the PUT /stops/imports/{id}/items endpoint to allow full replacement of items on an imported stop record.
Endpoint changes
Update imported stop
Updates top-level fields on an existing imported stop by ID without requiring a full payload. This partial update applies only the fields specified in the update mask.
Added the PATCH /stops/imports/{id} endpoint to allow partial updates to imported stops using an update mask.
Update route end location
A new endpoint has been added to update the address or coordinates for a route's end location. This partial update affects distances, ETAs, and optimization status.
Added the PATCH /routes/{routeId}/end/location endpoint to update or set a route's end location.
Update route start location
Updates the address and/or coordinates for a route's start location by route ID. This partial update requires an updateMask for address or coordinates and results in recalculated distances and ETAs.
Added the PATCH /routes/{routeId}/start/location endpoint to update a route's start location address or coordinates.
Schema changes
RouteUpdate
You can now configure additional constraints and preferences when updating a route.
Added optional maxDuration property.
Added optional maxStops property.
Added optional maxItemCount property.
Added optional maxKilograms property.
Added optional avoidTolls property.
Added optional avoidUTurns property.
Added optional speedFactor property.
Endpoint changes
Update route
Updates top-level fields on a route by route ID. This is a partial update: provide the fields to change in route and list their paths in updateMask. Only the paths listed in updateMask are applied; omitted fields are left unchanged. The route must not be archived. The response returns the full updated route.
Added the UpdateRoute endpoint to allow partial updates to route fields using a PATCH request.
Schema changes
Route
Access new route constraints and routing preferences.
Added maxDuration to specify the maximum allowed time for a route.
Added maxStops to limit the number of stops on a route.
Added maxItemCount to define the maximum number of items allowed.
Added maxKilograms to set the maximum weight capacity.
Added avoidTolls to indicate if toll roads should be bypassed.
Added avoidUTurns to indicate if U-turns should be restricted.
Added speedFactor to adjust travel time calculations.
11 affected endpoints
Endpoint changes
Update route stop tasks
Updates the tasks for an imported stop on a route. Allows you to set or replace the list of driver tasks for a stop that was previously imported via ImportStops.
Added the PUT /routes/{routeId}/stops/{stopId}/tasks endpoint to allow full replacement of driver tasks for imported stops.
Imported stops
Retrieve a list of imported stop locations.
The limit parameter now requires a minimum value of 1.
Schema changes
Route
Access route-level tags and default stop durations.
Added optional tags to the Route.
Added an optional default stop duration.
11 affected endpoints
Schema changes
Route
You can now view additional notes associated with your routes.
Includes an optional note.