EasyRoutes API

Update imported stop items

PUT
/stops/imports/{id}/items

Updates the items 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 items on the stop is replaced with the items provided in the request body. The ID can be the EasyRoutes id returned on import or the client-provided clientStopId. Items are validated to ensure they meet the following constraints: maximum 499 items per stop, item names up to 1500 characters, quantities up to 100,000, and weight up to 1,000,000,000 grams. Note that this only updates the imported stop record; if the stop has already been added to a route, use UpdateRouteStopItems to update its items on that route.

Authorization

bearerAuth
AuthorizationBearer <token>

Access token from /authenticate

In: header

Path Parameters

id*string

The ID of the imported stop to update items for. You provide the EasyRoutes id returned on import or the client-provided clientStopId.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

[index: integer]?

An item to be delivered at a stop.

Response Body

application/json

application/json

curl -X PUT "https://example.com/stops/imports/ist-123e4567-e89b-12d3-a456-426614174000/items" \  -H "Content-Type: application/json" \  -d '[    {}  ]'
{  "id": "ist-123e4567-e89b-12d3-a456-426614174000",  "clientStopId": "test-order-1234",  "address": {    "address1": "123 Main St",    "address2": "Apt 3B",    "city": "New York",    "provinceCode": "NY",    "countryCode": "US",    "zip": "10001"  },  "contact": {    "firstName": "John",    "lastName": "Doe",    "company": "Roundtrip Systems Inc",    "phone": "+14265551000",    "email": "john.doe@roundtrip.ai"  },  "coordinates": {    "latitude": 40.7128,    "longitude": -74.006  },  "items": [    {      "name": "Bananas",      "quantity": 5,      "grams": 500,      "sku": "BANANA-001"    }  ],  "note": "Leave at door.",  "duration": "300s",  "priority": 5,  "orderName": "#1234",  "importedAt": "2026-03-28T10:00:00Z",  "timeWindows": [    {      "start": {        "hours": 9      },      "end": {        "hours": 17      }    }  ],  "deliveryDate": {    "year": 2025,    "month": 12,    "day": 16  },  "attributes": [    {      "key": "color",      "value": "blue"    }  ],  "tags": [    "foo",    "bar"  ],  "tasks": [    {      "title": "Delivery checklist",      "type": "CHECKBOXES",      "items": [        {          "title": "Pick up package"        }      ],      "requiredToMarkStopAsDelivered": true,      "requiredToMarkStopAsAttempted": true    }  ],  "type": "DELIVERY",  "customSignatureDisclosure": "I acknowledge that I have received this delivery."}
{  "code": 0,  "message": "string",  "details": [    {      "@type": "string"    }  ]}