EasyRoutes API

Delete route stops

DELETE
/routes/{routeId}/stops/{stopIds}

Deletes one or more stops from a route by route ID and stop IDs. Note that the route may be in progress, completed, or archived and it is therefore up to the caller to decide when it is appropriate to delete stops from a route. The response will include the updated route with the stops removed. If a stop is not found, it will be ignored and the route will be returned without that stop. The route will not be optimized automatically after deleting stops, so the caller should reoptimize the route if needed via ReoptimizeRoute.

Authorization

bearerAuth
AuthorizationBearer <token>

Access token from /authenticate

In: header

Path Parameters

routeId*string

The ID of the route to delete stops from.

stopIds*array<string>

The IDs of the stops to delete from the route. Multiple stop IDs can be provided as a comma-separated list in the URL.

Response Body

application/json

application/json

curl -X DELETE "https://example.com/routes/rte-123e4567-e89b-12d3-a456-426614174000/stops/rst-123e4567-e89b-12d3-a456-426614174000"
{  "id": "rte-123e4567-e89b-12d3-a456-426614174000",  "name": "Morning route",  "driver": {    "id": "drv-123e4567-e89b-12d3-a456-426614174000",    "firstName": "John",    "lastName": "Doe",    "phone": "+14265551000",    "status": "ACTIVE"  },  "start": {    "address": {      "address1": "123 Main St",      "address2": "Apt 3B",      "city": "New York",      "provinceCode": "NY",      "countryCode": "US",      "zip": "10001"    },    "tasks": [      {        "id": "tsk-123e4567-e89b-12d3-a456-426614174000",        "title": "Delivery checklist",        "type": "TEXT_INPUT",        "items": [],        "input": {          "value": "020123456789",          "updatedAt": "2019-08-24T14:15:22Z",          "inputMethod": "SCANNED"        },        "requiredToMarkStopAsDelivered": true,        "requiredToMarkStopAsAttempted": true      }    ],    "status": "STARTED",    "updatedStart": "2019-08-24T14:15:22Z",    "scheduledStart": "2019-08-24T14:15:22Z",    "photos": [      {        "id": "att-123e4567-e89b-12d3-a456-426614174000",        "createdAt": "2019-08-24T14:15:22Z",        "url": "https://example.com/stop-attachment/attachment-2025-06-03-1"      }    ]  },  "end": {    "address": {      "address1": "123 Main St",      "address2": "Apt 3B",      "city": "New York",      "provinceCode": "NY",      "countryCode": "US",      "zip": "10001"    },    "tasks": [      {        "id": "tsk-123e4567-e89b-12d3-a456-426614174000",        "title": "Delivery checklist",        "type": "TEXT_INPUT",        "items": [],        "input": {          "value": "020123456789",          "updatedAt": "2019-08-24T14:15:22Z",          "inputMethod": "SCANNED"        },        "requiredToMarkStopAsDelivered": true,        "requiredToMarkStopAsAttempted": true      }    ],    "plannedArrival": "2019-08-24T14:15:22Z",    "distanceMeters": 1234.56,    "updatedArrival": "2019-08-24T14:15:22Z",    "status": "COMPLETED",    "photos": [      {        "id": "att-123e4567-e89b-12d3-a456-426614174000",        "createdAt": "2019-08-24T14:15:22Z",        "url": "https://example.com/stop-attachment/attachment-2025-06-03-1"      }    ]  },  "stops": [    {      "id": "rst-123e4567-e89b-12d3-a456-426614174000",      "type": "DELIVERY",      "deliveryStatus": "ATTEMPTED_DELIVERY",      "breakStatus": "COMPLETED",      "updatedAt": "2019-08-24T14:15:22Z",      "duration": "string",      "plannedArrival": "2019-08-24T14:15:22Z",      "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": 0.1,        "longitude": 0.1      },      "items": [        {          "name": "Bananas",          "quantity": 5,          "grams": 500,          "sku": "BANANA-001"        }      ],      "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": "2019-08-24T14:15:22Z",          "url": "https://example.com/stop-attachment/attachment-2025-06-03-1"        }      ],      "proofOfDeliverySignatures": [        {          "id": "att-123e4567-e89b-12d3-a456-426614174000",          "createdAt": "2019-08-24T14:15:22Z",          "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": "2019-08-24T14:15:22Z",            "inputMethod": "SCANNED"          },          "requiredToMarkStopAsDelivered": true,          "requiredToMarkStopAsAttempted": true        }      ],      "priority": 8,      "importedStopId": "ist-123e4567-e89b-12d3-a456-426614174000",      "orderName": "#1234",      "distanceMeters": 123.45,      "updatedArrival": "2019-08-24T14:15:22Z",      "timeWindows": [        {          "start": {            "hours": 13,            "minutes": 37,            "seconds": 16          },          "end": {            "hours": 13,            "minutes": 37,            "seconds": 16          }        }      ],      "deliveryDate": {        "year": 2019,        "month": 11,        "day": 15      },      "attributes": [        {          "key": "delivery_date",          "value": "2025-12-16"        }      ],      "clientStopId": "test-order-1234",      "tags": [        "foo",        "bar"      ],      "attemptedReason": "NOT_AVAILABLE",      "attemptedNote": "Customer did not answer the door.",      "customerRating": {        "rating": 5,        "comment": "Excellent delivery",        "createdAt": "2019-08-24T14:15:22Z"      },      "customSignatureDisclosure": "I acknowledge that I have received this delivery.",      "shopifyOrder": {        "orderNote": "Customer has paid.",        "customerNote": "Leave at door."      },      "proofOfDeliveryBarcodes": [        {          "value": "string",          "createdAt": "2019-08-24T14:15:22Z"        }      ],      "proofOfDeliveryBarcodeIssues": [        {          "reason": "ITEM_MISSING",          "note": "Item was not packed.",          "createdAt": "2019-08-24T14:15:22Z"        }      ]    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "archivedAt": "2019-08-24T14:15:22Z",  "scheduledFor": "2019-08-24T14:15:22Z",  "totalDistanceMeters": 2387.2,  "totalItemQuantity": 50,  "totalItemGrams": "6000",  "optimized": true,  "dispatchedUntil": "2019-08-24T14:15:22Z",  "note": "Fragile items.",  "tags": [    "foo",    "bar"  ],  "defaultStopDuration": "300s",  "maxDuration": "28800s",  "maxStops": 50,  "maxItemCount": 200,  "maxKilograms": 500,  "avoidTolls": true,  "avoidUTurns": true,  "speedFactor": 0.8}
{  "code": 0,  "message": "string",  "details": [    {      "@type": "string"    }  ]}