EasyRoutes API

Update route stop Shopify order items

PUT
/routes/{routeId}/stops/{stopId}/shopify-order-items

Updates which of the Shopify order's line items a SHOPIFY_ORDER stop delivers, and how many of each, from the order's unfulfilled items or from one of its fulfillments. Use this to change the items that come from the Shopify order; use UpdateRouteStopItems to change the stop's custom items, which this leaves unchanged. Items are checked against the latest order in Shopify. If the order's line items or fulfillments change later, an order resync may reset the stop's items. The response will include the updated stop with the new items.

Authorization

bearerAuth
AuthorizationBearer <token>

Access token from /authenticate

In: header

Path Parameters

routeId*string

The ID of the route to update stop items.

stopId*string

The ID of the SHOPIFY_ORDER stop to update items for.

Header Parameters

Idempotency-Key?string

A unique key for safely retrying this operation. For more information read our guide.

Length1 <= length <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

[index: integer]?

A line item from a Shopify order to use as one of a stop's items.

Response Body

application/json

application/json

curl -X PUT "https://example.com/routes/rte-123e4567-e89b-12d3-a456-426614174000/stops/rst-123e4567-e89b-12d3-a456-426614174000/shopify-order-items" \  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \  -H "Content-Type: application/json" \  -d '[    {      "shopifyLineItemId": "14512345678901",      "quantity": 2    }  ]'
{  "id": "rst-123e4567-e89b-12d3-a456-426614174000",  "type": "DELIVERY",  "deliveryStatus": "ATTEMPTED_DELIVERY",  "breakStatus": "COMPLETED",  "updatedAt": "2026-03-30T13:15:00Z",  "duration": "300s",  "plannedArrival": "2026-03-30T13:00:00Z",  "note": "Leave at door.",  "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"  },  "plannedCoordinates": {    "latitude": 40.7128,    "longitude": -74.006  },  "items": [    {      "name": "Bananas",      "quantity": 5,      "grams": 500,      "sku": "BANANA-001",      "source": "SHOPIFY_ORDER",      "shopifyLineItemId": "14512345678901",      "shopifyFulfillmentId": "5812345678901",      "shopifyVariantId": "44512345678901",      "shopifyProductId": "8812345678901"    }  ],  "source": "IMPORTED_STOP",  "shopifyOrderId": "6229749334323",  "savedStopId": "sst-123e4567-e89b-12d3-a456-426614174000",  "deliveredCoordinates": {    "latitude": 0.1,    "longitude": 0.1  },  "proofOfDeliveryNote": "Left at door.",  "proofOfDeliveryPhotos": [    {      "id": "att-123e4567-e89b-12d3-a456-426614174000",      "createdAt": "2026-03-30T09:05:00Z",      "url": "https://example.com/stop-attachment/attachment-2025-06-03-1"    }  ],  "proofOfDeliverySignatures": [    {      "id": "att-123e4567-e89b-12d3-a456-426614174000",      "createdAt": "2026-03-30T09:05:00Z",      "url": "https://example.com/stop-attachment/attachment-2025-06-03-1"    }  ],  "tasks": [    {      "id": "tsk-123e4567-e89b-12d3-a456-426614174000",      "title": "Delivery checklist",      "type": "TEXT_INPUT",      "items": [],      "input": {        "value": "020123456789",        "updatedAt": "2026-03-30T13:00:00Z",        "inputMethod": "SCANNED"      },      "requiredToMarkStopAsDelivered": true,      "requiredToMarkStopAsAttempted": true    }  ],  "priority": 8,  "importedStopId": "ist-123e4567-e89b-12d3-a456-426614174000",  "orderName": "#1234",  "distanceMeters": 123.45,  "updatedArrival": "2026-03-30T13:05:00Z",  "timeWindows": [    {      "start": {        "hours": 9      },      "end": {        "hours": 17      }    }  ],  "deliveryDate": {    "year": 2025,    "month": 12,    "day": 16  },  "attributes": [    {      "key": "color",      "value": "blue"    }  ],  "clientStopId": "test-order-1234",  "tags": [    "foo",    "bar"  ],  "attemptedReason": "NOT_AVAILABLE",  "attemptedNote": "Customer did not answer the door.",  "customerRating": {    "rating": 5,    "comment": "Excellent delivery",    "createdAt": "2026-03-30T18:00:00Z"  },  "customSignatureDisclosure": "I acknowledge that I have received this delivery.",  "shopifyOrder": {    "orderNote": "Customer has paid.",    "customerNote": "Leave at door."  },  "proofOfDeliveryBarcodes": [    {      "value": "123456789012",      "createdAt": "2026-03-30T13:10:00Z"    }  ],  "proofOfDeliveryBarcodeIssues": [    {      "reason": "ITEM_MISSING",      "note": "Item was not packed.",      "createdAt": "2026-03-30T13:10:00Z"    }  ],  "orderReferenceUrl": "https://orders.example.com/orders/148977776"}
{  "code": 0,  "message": "string",  "details": [    {      "@type": "string"    }  ]}