Get a last mile delivery order
GET /v2/fulfillment/lastmile/orders/{order_id}
This endpoint has been replaced by the same Get an order endpoint that is used for delivery and pickup orders. This change reflects our commitment to making our API more intuitive to use when implementing multiple fulfillment workflows in your e-commerce site. The deprecated endpoint is still supported for existing implementations. For new implementations, use the shared endpoint.
Retrieves order details by order ID. Order details include the status, creation time, and time slot. For orders that have been fulfilled, the response includes the store location, how many bags were in the order, and when the customer received their order.
Security
| Name | In | Description |
|---|---|---|
Authorization | header | The Authorization header with the bearer token acquired during authentication. |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
order_id | path | string | The ID of the order. | |
user_id | query | string | The ID of the user. |
Request
None.Request examples
- cURL
- Java
- Python
- Go
curl --request GET \
--url 'https://connect.instacart.com/v2/fulfillment/lastmile/orders/{order_id}?user_id=string' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <token>'
HttpResponse<String> response = Unirest.get("https://connect.instacart.com/v2/fulfillment/lastmile/orders/{order_id}?user_id=string")
.header("Accept", "application/json")
.header("Authorization", "Bearer <token>")
.asString();
import http.client
conn = http.client.HTTPSConnection("connect.instacart.com")
headers = {
'Accept': "application/json",
'Authorization': "Bearer <token>"
}
conn.request("GET", "/v2/fulfillment/lastmile/orders/{order_id}?user_id=string", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://connect.instacart.com/v2/fulfillment/lastmile/orders/{order_id}?user_id=string"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
Response
| Field | Type | Required | Description |
|---|---|---|---|
id | string | The retailer-generated order ID. | |
status | string | The current status of the order. | |
order_url | string | The URL of the Instacart-hosted order status page. If the retailer has opted not to use this feature, this field will be | |
created_at | string | The time of order creation in ISO 8601 format. | |
cancellation_reason | string | The reason the order was canceled. Only present in canceled orders. One of the following:
| |
locale | string | Indicates how the order is localized. | |
is_express | boolean | Deprecated. Use | |
is_instacartplus | boolean | Indicates whether the order received Instacart+ membership benefits. Defaults to false. | |
metadata | Hash | The order-level metadata. | |
fulfillment_details | OrderFulfillmentDetails | The order's fulfillment details. |
OrderFulfillmentDetails Object
| Field | Type | Required | Description |
|---|---|---|---|
store_location | string | The location code of the store where the order was fulfilled. This field's value is often the same as the | |
window_starts_at | string | The start of the fulfillment window in ISO 8601 format. | |
window_ends_at | string | The end of the fulfillment window in ISO 8601 format. | |
delivered_at | string | The time the order was delivered to the customer in ISO 8601 format. Only present for completed deliveries. | |
bag_count | integer | The number of bags in the order, as reported by the shopper. | |
handoff_window_starts_at | string | The start of the store-associate-to-Instacart-shopper handoff window in ISO 8601 format. This field is only populated for last mile delivery (i.e., delivery only) orders. | |
handoff_window_ends_at | string | The end of the store-associate-to-Instacart-shopper handoff window in ISO 8601 format. This field is only populated for last mile delivery (i.e., delivery only) orders. |
Response examples
200 Success
200Order found
{
"id": "12345676789012345678780",
"status": "created",
"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"
},
"is_fallback_window": false
}
4XX Errors
Error responses return either a single error or multiple errors.
| HTTP Code | Cause | Error Message | Error Code | Error Meta |
|---|---|---|---|---|
400 | User Not Found | "User Not Found" | 1001 | {"key":"user_id"} |
404 | Order not found | "Resource not found" | 4000 | Not applicable |