Skip to main content

Cancel a dispatch last mile delivery order

POST /v2/fulfillment/lastmile/orders/{order_id}/cancel

warning

This endpoint works only with dispatch last mile delivery orders.

Cancels a dispatch last mile delivery order.

To successfully perform this operation, the order's status value must be brand_new. In other words, once a shopper is assigned and status moves to acknowledged, you can no longer use this endpoint to cancel the order.

Security

NameInDescription
AuthorizationheaderThe Authorization header with the bearer token acquired during authentication.

Parameters

NameInTypeRequiredDescription
order_idpathstringRequired

The ID of the order.

Request

FieldTypeRequiredDescription
user_idstringOptional

The ID of the user.

Request examples

curl --request POST \
--url 'https://connect.instacart.com/v2/fulfillment/lastmile/orders/{order_id}/cancel' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"user_id": "string"
}'

Response

FieldTypeRequiredDescription
idstringRequired

The ID of the order.

statusstringRequired

The current order status.

order_urlstringOptional

Link to view the order.

created_atstringOptional

The time of order creation in ISO 8601 format.

cancellation_reasonstringOptional

The reason the order was canceled.

localestringOptional

The order's locale in POSIX format. Example: en_US.

is_expressbooleanOptional

Deprecated. Use is_instacartplus instead. Indicates whether the order received Instacart+ membership benefits. Defaults to false.

is_instacartplusbooleanOptional

Indicates whether the order received Instacart+ membership benefits. Defaults to false.

metadataHashOptional

The order-level metadata.

fulfillment_detailsOrderFulfillmentDetailsOptional

The order delivery details.

OrderFulfillmentDetails Object

FieldTypeRequiredDescription
store_locationstringOptional

The location code of the store where the order was fulfilled. The store_location is often the same as the location_code that was used to create the order. However, orders can be fulfilled from a different store location.

window_starts_atstringRequired

The start time of the delivery window in ISO 8601 format.

window_ends_atstringRequired

The end time of the delivery window in ISO 8601 format.

delivered_atstringOptional

The time the order was delivered in ISO 8601 format.

bag_countintegerOptional

The number of bags in the order.

handoff_window_starts_atstringOptional

The start time of the handoff window in ISO 8601 format.

handoff_window_ends_atstringOptional

The end time of the handoff window in ISO 8601 format.

Response examples

200 Success

{
"id": "12345676789012345678780",
"status": "canceled",
"order_url": "https://example.com/example-order",
"created_at": "2018-02-22T00:00:00Z",
"cancellation_reason": "shopper_driven",
"locale": "en_US",
"is_express": true,
"is_instacartplus": true,
"fulfillment_details": {
"window_starts_at": "2018-02-22T00:00:00Z",
"window_ends_at": "2018-02-22T00:30:00Z"
}
}

4XX Errors

Error responses return either a single error or multiple errors.

HTTP CodeCauseError MessageError CodeError Meta
400Order could not be cancelled at this time"The order could not be cancelled at this time, try again later."2003{"wait":"30"}
400Too late to cancel order"too_late"1001{"key":"order_id"}
400Request could not be processed at this time"The request could not be completed at this time, try again later."2003{"wait":"30"}
400User Not Found"User Not Found"1001{"key":"user_id"}
404Order not found"Resource not found"4000Not applicable