instacart · Schema
Instacart Order
Represents an order in the Instacart Connect system, covering delivery, pickup, and last mile fulfillment types with their associated items, service options, and status lifecycle.
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier for the order. |
| user_id | string | The retailer's unique identifier for the customer who placed the order. |
| status | string | The current status of the order in the fulfillment lifecycle. |
| fulfillment_type | string | The type of fulfillment for this order. |
| created_at | string | The timestamp when the order was created. |
| estimated_delivery_at | string | The estimated delivery or pickup time. |
| store | object | |
| service_option | object | |
| delivery_address | object | |
| delivery_instructions | string | Special instructions for the delivery driver or pickup process. |
| items | array | The items included in the order. |
| shopper | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://instacart.com/schemas/instacart/order.json",
"title": "Instacart Order",
"description": "Represents an order in the Instacart Connect system, covering delivery, pickup, and last mile fulfillment types with their associated items, service options, and status lifecycle.",
"type": "object",
"required": ["id", "status", "fulfillment_type"],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for the order."
},
"user_id": {
"type": "string",
"description": "The retailer's unique identifier for the customer who placed the order."
},
"status": {
"type": "string",
"enum": [
"brand_new",
"acknowledged",
"picking",
"staging",
"delivering",
"delivered",
"canceled",
"rescheduled"
],
"description": "The current status of the order in the fulfillment lifecycle."
},
"fulfillment_type": {
"type": "string",
"enum": ["delivery", "pickup", "last_mile"],
"description": "The type of fulfillment for this order."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The timestamp when the order was created."
},
"estimated_delivery_at": {
"type": "string",
"format": "date-time",
"description": "The estimated delivery or pickup time."
},
"store": {
"$ref": "#/$defs/Store"
},
"service_option": {
"$ref": "#/$defs/ServiceOption"
},
"delivery_address": {
"$ref": "#/$defs/Address"
},
"delivery_instructions": {
"type": "string",
"description": "Special instructions for the delivery driver or pickup process."
},
"items": {
"type": "array",
"description": "The items included in the order.",
"items": {
"$ref": "#/$defs/OrderItem"
}
},
"shopper": {
"$ref": "#/$defs/Shopper"
}
},
"$defs": {
"Store": {
"type": "object",
"description": "A retail store on the Instacart platform.",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for the store."
},
"name": {
"type": "string",
"description": "The name of the store."
},
"address": {
"$ref": "#/$defs/Address"
}
}
},
"ServiceOption": {
"type": "object",
"description": "A fulfillment time slot selected for the order.",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for the service option."
},
"date": {
"type": "string",
"format": "date",
"description": "The date of the service option."
},
"window_starts_at": {
"type": "string",
"format": "date-time",
"description": "The start time of the fulfillment window."
},
"window_ends_at": {
"type": "string",
"format": "date-time",
"description": "The end time of the fulfillment window."
},
"fulfillment_type": {
"type": "string",
"enum": ["delivery", "pickup", "last_mile"],
"description": "The fulfillment type for this service option."
}
}
},
"Address": {
"type": "object",
"description": "A physical address.",
"properties": {
"address_line_1": {
"type": "string",
"description": "The street address."
},
"address_line_2": {
"type": "string",
"description": "Additional address information such as apartment or suite number."
},
"city": {
"type": "string",
"description": "The city."
},
"state": {
"type": "string",
"description": "The state or province."
},
"postal_code": {
"type": "string",
"description": "The postal or ZIP code."
},
"latitude": {
"type": "number",
"description": "The latitude coordinate."
},
"longitude": {
"type": "number",
"description": "The longitude coordinate."
}
}
},
"OrderItem": {
"type": "object",
"description": "An item within an order.",
"required": ["product_id"],
"properties": {
"product_id": {
"type": "string",
"description": "The Instacart product identifier."
},
"upc": {
"type": "string",
"description": "The Universal Product Code."
},
"name": {
"type": "string",
"description": "The display name of the product."
},
"quantity": {
"type": "integer",
"description": "The ordered quantity.",
"minimum": 1
},
"status": {
"type": "string",
"enum": ["pending", "found", "replaced", "refunded", "not_found"],
"description": "The current status of the item during fulfillment."
},
"replacement": {
"$ref": "#/$defs/Replacement"
},
"replacement_status": {
"type": "string",
"enum": ["PENDING", "APPROVED", "REJECTED"],
"description": "The customer's decision on a suggested replacement."
},
"refunded": {
"type": "boolean",
"description": "Whether this item has been refunded."
}
}
},
"Replacement": {
"type": "object",
"description": "A replacement product suggested by the shopper.",
"properties": {
"product_id": {
"type": "string",
"description": "The product identifier of the replacement."
},
"name": {
"type": "string",
"description": "The name of the replacement product."
},
"quantity": {
"type": "integer",
"description": "The quantity of the replacement.",
"minimum": 1
}
}
},
"Shopper": {
"type": "object",
"description": "The Instacart shopper assigned to fulfill the order.",
"properties": {
"name": {
"type": "string",
"description": "The first name of the shopper."
},
"phone_number": {
"type": "string",
"description": "A masked phone number for contacting the shopper."
}
}
}
}
}