Update route stop tasks
Updates the tasks for a stop on a route. Allows you to set or replace the
list of driver tasks for a stop that was previously imported via
ImportStops (i.e. stops with an importedStopId) or created from a Shopify
order (i.e. stops with a shopifyOrderId). Saved stops and manually
created stops cannot be updated via this RPC. This is a full replacement:
the entire list of tasks on the stop 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 response will include the updated stop with the new
tasks.
Authorization
bearerAuth Access token from /authenticate
In: header
Path Parameters
The ID of the route to update stop tasks.
The ID of the stop to update tasks for.
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.
A template for creating tasks at a stop. Task templates may have one or more
items for CHECKBOXES or RADIO_BUTTONS. Imported stops may have task
templates that are used to create tasks when the stop is added to a route.
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/tasks" \ -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \ -H "Content-Type: application/json" \ -d '[ {} ]'{ "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" } ]}