Update route stop
Updates a stop on a route by route ID and stop ID. Only stops that were
previously imported via ImportStops (i.e. stops with an importedStopId)
or created from Shopify orders (i.e. stops with a shopifyOrderId) can be
updated through this endpoint; saved stops and manually created stops
cannot. This is a partial update: provide the fields to change in
routeStop and list their paths in updateMask. Only the paths listed in
updateMask are applied; omitted fields are left unchanged. Which paths
can be updated depends on how the stop was created; see updateMask. The
route must not be archived, though it may be in progress or completed, so
it is up to the caller to decide when it is appropriate to update a stop.
Authorization
bearerAuth Access token from /authenticate
In: header
Path Parameters
The ID of the route to update the stop on.
The ID of the stop to update.
Header Parameters
A unique key for safely retrying this operation. For more information read our guide.
1 <= length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PATCH "https://example.com/routes/rte-123e4567-e89b-12d3-a456-426614174000/stops/rst-123e4567-e89b-12d3-a456-426614174000" \ -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \ -H "Content-Type: application/json" \ -d '{ "routeStop": {}, "updateMask": "string" }'{ "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" } ]}