Doordash Item management API Specification (2.0)
API to manage item catalog, inventory, pricing and other attributes.
Add new items
Add new items managed by business. Items sold across all stores must be added to business first. Items must be uniquely identifiable across stores.
Request Body schema: application/json
object | |
Array of objects (Item) |
Responses
Request samples
- Payload
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_item_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "kg",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "manufacture_info": {
- "manufacturer_name": "string",
- "place_of_origin": "string"
}, - "fulfillment_info": {
- "pick_scan_strategy": "string",
- "pick_scan_code": "string",
- "ineligible_delivery_modes": [
- "BIKE"
]
}, - "ingredients": [
- {
- "type": "ACTIVE",
- "name": "string"
}
], - "dish_info": {
- "nutritional_info": {
- "calorific_info": {
- "display_type": "string",
- "lower_range": 0,
- "higher_range": 0
}, - "serving": {
- "servings_per_each": 0,
- "per_serving_details": {
- "quantity": 0,
- "unit": "cup",
- "quantity_as_weight": "string",
- "quantity_as_weight_unit": "gm"
}
}, - "nutrients": [
- {
- "nutrient_type": "total_carb",
- "quantity": 0,
- "unit": "gm",
- "dv_percent": 0,
- "note": "string"
}
], - "classification_info": {
- "traits": [
- "HOT"
], - "service_types": [
- "string"
], - "classification_tags": [
- "TAG_KEY_DIETARY_VEGETARIAN"
]
}
}
}, - "extras": [
- {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "statys": "ACTIVE",
- "options": [
- {
- "merchant_supplied_id": "string",
- "type": "EXTRAS",
- "sort_id": 0,
- "name": "string",
- "extras": {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "options": [
- {
- "merchant_supplied_id": null,
- "type": null,
- "sort_id": null,
- "name": null,
- "extras": null,
- "default": null
}
]
}, - "default": true
}
]
}
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "variant_info": [
- {
- "name": "string",
- "merchant_supplied_variant_group_id": "string",
- "description": "string",
- "sort_id": 0,
- "options": [
- {
- "merchant_supplied_id": "string",
- "sort_id": 0,
- "name": "string"
}
]
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
Response samples
- 201
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update existing items
Update existing items managed by business.
Request Body schema: application/json
object | |
Array of objects (Item) |
Responses
Request samples
- Payload
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_item_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "kg",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "manufacture_info": {
- "manufacturer_name": "string",
- "place_of_origin": "string"
}, - "fulfillment_info": {
- "pick_scan_strategy": "string",
- "pick_scan_code": "string",
- "ineligible_delivery_modes": [
- "BIKE"
]
}, - "ingredients": [
- {
- "type": "ACTIVE",
- "name": "string"
}
], - "dish_info": {
- "nutritional_info": {
- "calorific_info": {
- "display_type": "string",
- "lower_range": 0,
- "higher_range": 0
}, - "serving": {
- "servings_per_each": 0,
- "per_serving_details": {
- "quantity": 0,
- "unit": "cup",
- "quantity_as_weight": "string",
- "quantity_as_weight_unit": "gm"
}
}, - "nutrients": [
- {
- "nutrient_type": "total_carb",
- "quantity": 0,
- "unit": "gm",
- "dv_percent": 0,
- "note": "string"
}
], - "classification_info": {
- "traits": [
- "HOT"
], - "service_types": [
- "string"
], - "classification_tags": [
- "TAG_KEY_DIETARY_VEGETARIAN"
]
}
}
}, - "extras": [
- {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "statys": "ACTIVE",
- "options": [
- {
- "merchant_supplied_id": "string",
- "type": "EXTRAS",
- "sort_id": 0,
- "name": "string",
- "extras": {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "options": [
- {
- "merchant_supplied_id": null,
- "type": null,
- "sort_id": null,
- "name": null,
- "extras": null,
- "default": null
}
]
}, - "default": true
}
]
}
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "variant_info": [
- {
- "name": "string",
- "merchant_supplied_variant_group_id": "string",
- "description": "string",
- "sort_id": 0,
- "options": [
- {
- "merchant_supplied_id": "string",
- "sort_id": 0,
- "name": "string"
}
]
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
Response samples
- 200
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update existing store
path Parameters
store_location_id required | string <string> ID of store to be updated |
Request Body schema: application/json
update existing store
merchant_supplied_store_id | string |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "merchant_supplied_store_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
]
}
Response samples
- 200
{- "merchant_supplied_store_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
]
}
Add a new menu to present items at business level
Add a new menu to present items at business level
path Parameters
businessId required | string <string> ID of business for which the menu is created |
Request Body schema: application/json
Add new menu
merchant_supplied_menu_id | string |
Array of objects | |
Array of objects | |
name | string |
subtitle | string |
active | boolean |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "merchant_supplied_menu_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
], - "name": "string",
- "subtitle": "string",
- "active": true,
- "categories": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}, - "sort_id": 0
}
], - "item_category_associations": [
- {
- "merchant_supplied_item_id": "string",
- "merchant_supplied_category_ids": [
- "string"
]
}
]
}
Response samples
- 200
{- "merchant_supplied_menu_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
], - "name": "string",
- "subtitle": "string",
- "active": true,
- "categories": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}, - "sort_id": 0
}
], - "item_category_associations": [
- {
- "merchant_supplied_item_id": "string",
- "merchant_supplied_category_ids": [
- "string"
]
}
]
}
Update existing menu
Update menu at business level
path Parameters
businessId required | string <string> ID of business for which the menu is created |
menuMsId required | string <string> ID of menu that is being udpated |
Request Body schema: application/json
Add new menu
merchant_supplied_menu_id | string |
Array of objects | |
Array of objects | |
name | string |
subtitle | string |
active | boolean |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "merchant_supplied_menu_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
], - "name": "string",
- "subtitle": "string",
- "active": true,
- "categories": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}, - "sort_id": 0
}
], - "item_category_associations": [
- {
- "merchant_supplied_item_id": "string",
- "merchant_supplied_category_ids": [
- "string"
]
}
]
}
Response samples
- 200
{- "merchant_supplied_menu_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
], - "name": "string",
- "subtitle": "string",
- "active": true,
- "categories": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}, - "sort_id": 0
}
], - "item_category_associations": [
- {
- "merchant_supplied_item_id": "string",
- "merchant_supplied_category_ids": [
- "string"
]
}
]
}
Endpoints to manage inventory/pricing and other item attributes specific to this store
Add inventory/pricing and other in-store attributes of new item that is made available for sale in the store.
Add inventory/pricing and other in-store attributes of new item that is made available for sale in the store. base_price and status must be specified first time when an item is made available for sale in a store.
path Parameters
store_location_id required | string <string> ID of store where the item is physically sourced. |
Request Body schema: application/json
Array of objects (StoreItem) | |||||||||||||||||||||
Array
|
Responses
Request samples
- Payload
{- "items": [
- {
- "merchant_supplied_item_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}, - "balance_on_hand": 0,
- "status": "ACTIVE",
- "last_sold_datetime": "string",
- "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "in_store_extras_info": {
- "merchant_supplied_extras_id": "string",
- "options": [
- {
- "merchant_supplied_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}
}
]
}, - "name": "string",
- "description": "string"
}
]
}
Response samples
- 202
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update inventory/pricing and other in-store attributes of item that is already sold in the store.
path Parameters
store_location_id required | string <string> ID of store where the item is physically sourced. |
Request Body schema: application/json
Array of objects (StoreItem) | |||||||||||||||||||||
Array
|
Responses
Request samples
- Payload
{- "items": [
- {
- "merchant_supplied_item_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}, - "balance_on_hand": 0,
- "status": "ACTIVE",
- "last_sold_datetime": "string",
- "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "in_store_extras_info": {
- "merchant_supplied_extras_id": "string",
- "options": [
- {
- "merchant_supplied_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}
}
]
}, - "name": "string",
- "description": "string"
}
]
}
Response samples
- 202
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Endpoints to manage inventory/pricing and other item attributes at menu level if needed.
Add inventory/pricing and other in-store attributes of new item that is available for sale in this particular store
Returns a map of status codes to quantities
path Parameters
store_location_id required | string <string> ID of store where the item is physically sourced. |
menuMsId required | string <string> ID of menu for which the items are managed. |
Request Body schema: application/json
object | |
Array of objects (Item) |
Responses
Request samples
- Payload
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_item_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "kg",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "manufacture_info": {
- "manufacturer_name": "string",
- "place_of_origin": "string"
}, - "fulfillment_info": {
- "pick_scan_strategy": "string",
- "pick_scan_code": "string",
- "ineligible_delivery_modes": [
- "BIKE"
]
}, - "ingredients": [
- {
- "type": "ACTIVE",
- "name": "string"
}
], - "dish_info": {
- "nutritional_info": {
- "calorific_info": {
- "display_type": "string",
- "lower_range": 0,
- "higher_range": 0
}, - "serving": {
- "servings_per_each": 0,
- "per_serving_details": {
- "quantity": 0,
- "unit": "cup",
- "quantity_as_weight": "string",
- "quantity_as_weight_unit": "gm"
}
}, - "nutrients": [
- {
- "nutrient_type": "total_carb",
- "quantity": 0,
- "unit": "gm",
- "dv_percent": 0,
- "note": "string"
}
], - "classification_info": {
- "traits": [
- "HOT"
], - "service_types": [
- "string"
], - "classification_tags": [
- "TAG_KEY_DIETARY_VEGETARIAN"
]
}
}
}, - "extras": [
- {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "statys": "ACTIVE",
- "options": [
- {
- "merchant_supplied_id": "string",
- "type": "EXTRAS",
- "sort_id": 0,
- "name": "string",
- "extras": {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "options": [
- {
- "merchant_supplied_id": null,
- "type": null,
- "sort_id": null,
- "name": null,
- "extras": null,
- "default": null
}
]
}, - "default": true
}
]
}
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "variant_info": [
- {
- "name": "string",
- "merchant_supplied_variant_group_id": "string",
- "description": "string",
- "sort_id": 0,
- "options": [
- {
- "merchant_supplied_id": "string",
- "sort_id": 0,
- "name": "string"
}
]
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
Response samples
- 202
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update inventory/pricing and other in-store attributes of item that is already sold in this store.
Returns a map of status codes to quantities
path Parameters
store_location_id required | string <string> ID of store where the item is physically sourced. |
Request Body schema: application/json
object | |
Array of objects (Item) |
Responses
Request samples
- Payload
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_item_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "kg",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "manufacture_info": {
- "manufacturer_name": "string",
- "place_of_origin": "string"
}, - "fulfillment_info": {
- "pick_scan_strategy": "string",
- "pick_scan_code": "string",
- "ineligible_delivery_modes": [
- "BIKE"
]
}, - "ingredients": [
- {
- "type": "ACTIVE",
- "name": "string"
}
], - "dish_info": {
- "nutritional_info": {
- "calorific_info": {
- "display_type": "string",
- "lower_range": 0,
- "higher_range": 0
}, - "serving": {
- "servings_per_each": 0,
- "per_serving_details": {
- "quantity": 0,
- "unit": "cup",
- "quantity_as_weight": "string",
- "quantity_as_weight_unit": "gm"
}
}, - "nutrients": [
- {
- "nutrient_type": "total_carb",
- "quantity": 0,
- "unit": "gm",
- "dv_percent": 0,
- "note": "string"
}
], - "classification_info": {
- "traits": [
- "HOT"
], - "service_types": [
- "string"
], - "classification_tags": [
- "TAG_KEY_DIETARY_VEGETARIAN"
]
}
}
}, - "extras": [
- {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "statys": "ACTIVE",
- "options": [
- {
- "merchant_supplied_id": "string",
- "type": "EXTRAS",
- "sort_id": 0,
- "name": "string",
- "extras": {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "options": [
- {
- "merchant_supplied_id": null,
- "type": null,
- "sort_id": null,
- "name": null,
- "extras": null,
- "default": null
}
]
}, - "default": true
}
]
}
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "variant_info": [
- {
- "name": "string",
- "merchant_supplied_variant_group_id": "string",
- "description": "string",
- "sort_id": 0,
- "options": [
- {
- "merchant_supplied_id": "string",
- "sort_id": 0,
- "name": "string"
}
]
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
Response samples
- 202
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Create jobs to trigger various pull request flows. Job parameters should confirm to the schema defined for specific job.
Request Body schema: application/json
job_type | string Value: "PULL_STORE_ITEMS" |
object |
Responses
Request samples
- Payload
{- "job_type": "PULL_STORE_ITEMS",
- "job_parameters": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Create new promotion for store
path Parameters
store_location_id required | string <string> location ID of store |
Request Body schema: application/json
create new promotion
promotion_id | string Promotion Id to identify a promotion uniquely with a Mx. Required. |
promotion_type | string Enum: "BUY_X_FOR_Y" "BUY_X_SAVE_Y" "BUY_X_GET_Y_Z_PERCENT_OFF" Promotion types |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
start_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, start time of the promotion with local timezone, example 2024-04-03T10:15:30Z https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
end_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, end time of the promotion with local timezone https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
Responses
Request samples
- Payload
{- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
Update promotions in store
path Parameters
store_location_id required | string <string> location ID of store to be updated |
Request Body schema: application/json
update promotions in store
promotion_id | string Promotion Id to identify a promotion uniquely with a Mx. Required. |
promotion_type | string Enum: "BUY_X_FOR_Y" "BUY_X_SAVE_Y" "BUY_X_GET_Y_Z_PERCENT_OFF" Promotion types |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
start_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, start time of the promotion with local timezone, example 2024-04-03T10:15:30Z https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
end_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, end time of the promotion with local timezone https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
Responses
Request samples
- Payload
{- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 422
- 429
- 500
{- "operation_id": "string",
- "operation_status": "QUEUED",
- "message": "string"
}
merchant_supplied_item_id | string Merchant supplied Id to identify an item uniquely within business across all stores. Every item that is shopable by CX must be represented as an unique item |
name | string Name of the item |
description | string Description of the item |
product_traits | Array of strings (ProductTrait) Items Enum: "ALCOHOL" "MEDICATION" "WEIGHTED" Specifies type of product(s) represented by the item. These attributes will be used to validate product specific attributes in request and apply product specific business logic internally. For example, when WEIGHTED is specified as one of the product trait, presence of weighted_item_info will be validated in the request payload |
Array of objects Other identifiers associated with item. | |
Array of objects Images of the item, atleast one image must be specified | |
object | |
object attributes related to items that are sold by weights | |
object brand of the item if applicable | |
program_eligibility | Array of strings (ProgramEligibility) Items Enum: "SNAP" "HSA" "FSA" Program eligibility of the item |
object Manufacture related info of item if applicable | |
object Details specific to item fulfillment of Order during pick or delivery. | |
Array of objects | |
object Info related to food items. Nutrition Info, ingredients etc | |
Array of objects (Extras) Details on customizations for made to order item(Hot & Prepared food for example) | |
Array of objects One or more categories associated with the item | |
Array of objects (VariantGroup) Specifies relationship between items that are similar but vary only by few attributes, For example: Drinks that vary by size or flavor | |
Array of objects (ProductAttributes) product_attributes allow us to infer everything about an item necessary for customers to shop, dasher to fulfill, merchants to merchandise, and advertisers to advertise. See supported full attribute list: https://developer.doordash.com/en-US/docs/marketplace/retail/catalog_management/supported_attribute |
{- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_item_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "kg",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "manufacture_info": {
- "manufacturer_name": "string",
- "place_of_origin": "string"
}, - "fulfillment_info": {
- "pick_scan_strategy": "string",
- "pick_scan_code": "string",
- "ineligible_delivery_modes": [
- "BIKE"
]
}, - "ingredients": [
- {
- "type": "ACTIVE",
- "name": "string"
}
], - "dish_info": {
- "nutritional_info": {
- "calorific_info": {
- "display_type": "string",
- "lower_range": 0,
- "higher_range": 0
}, - "serving": {
- "servings_per_each": 0,
- "per_serving_details": {
- "quantity": 0,
- "unit": "cup",
- "quantity_as_weight": "string",
- "quantity_as_weight_unit": "gm"
}
}, - "nutrients": [
- {
- "nutrient_type": "total_carb",
- "quantity": 0,
- "unit": "gm",
- "dv_percent": 0,
- "note": "string"
}
], - "classification_info": {
- "traits": [
- "HOT"
], - "service_types": [
- "string"
], - "classification_tags": [
- "TAG_KEY_DIETARY_VEGETARIAN"
]
}
}
}, - "extras": [
- {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "statys": "ACTIVE",
- "options": [
- {
- "merchant_supplied_id": "string",
- "type": "EXTRAS",
- "sort_id": 0,
- "name": "string",
- "extras": {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "options": [
- {
- "merchant_supplied_id": "string",
- "type": "EXTRAS",
- "sort_id": 0,
- "name": "string",
- "extras": { },
- "default": true
}
]
}, - "default": true
}
]
}
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "variant_info": [
- {
- "name": "string",
- "merchant_supplied_variant_group_id": "string",
- "description": "string",
- "sort_id": 0,
- "options": [
- {
- "merchant_supplied_id": "string",
- "sort_id": 0,
- "name": "string"
}
]
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
merchant_supplied_store_id | string |
Array of objects | |
Array of objects |
{- "merchant_supplied_store_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
]
}
merchant_supplied_menu_id | string |
Array of objects | |
Array of objects | |
name | string |
subtitle | string |
active | boolean |
Array of objects | |
Array of objects |
{- "merchant_supplied_menu_id": "string",
- "open_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string"
}
], - "special_hours": [
- {
- "date": "string",
- "start_time": "string",
- "end_time": "string",
- "closed": true
}
], - "name": "string",
- "subtitle": "string",
- "active": true,
- "categories": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}, - "sort_id": 0
}
], - "item_category_associations": [
- {
- "merchant_supplied_item_id": "string",
- "merchant_supplied_category_ids": [
- "string"
]
}
]
}
merchant_supplied_item_id | string |
object (PriceInfo) | |
balance_on_hand | integer |
status | string Enum: "ACTIVE" "INACTIVE" |
last_sold_datetime | string DateTime in ISO8601 format of when the item was last sold at the store. |
object (ItemLocation) Default location of an item in the store across business. Can be specified at store level for any store specific customizations. | |
Array of objects (TimeBlock) Special hours on when item will be available | |
object (StoreItemExtras) | |
name | string |
description | string |
{- "merchant_supplied_item_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}, - "balance_on_hand": 0,
- "status": "ACTIVE",
- "last_sold_datetime": "string",
- "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "in_store_extras_info": {
- "merchant_supplied_extras_id": "string",
- "options": [
- {
- "merchant_supplied_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}
}
]
}, - "name": "string",
- "description": "string"
}
promotion_id | string Promotion Id to identify a promotion uniquely with a Mx. Required. |
promotion_type | string Enum: "BUY_X_FOR_Y" "BUY_X_SAVE_Y" "BUY_X_GET_Y_Z_PERCENT_OFF" Promotion types |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
object Purchase criteria to redeem this promotion | |
start_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, start time of the promotion with local timezone, example 2024-04-03T10:15:30Z https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
end_time | string <yyyy-MM-ddTHH:mm:ssXXX> required, end time of the promotion with local timezone https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#ISO_ZONED_DATE_TIME |
{- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
object | |
Array of objects (Item) |
{- "scope": {
- "business_ids": [
- "string"
]
}, - "items": [
- {
- "merchant_supplied_item_id": "string",
- "name": "string",
- "description": "string",
- "product_traits": [
- "ALCOHOL"
], - "other_identifiers": [
- {
- "identifier_type": "UPC",
- "identifier_value": "string"
}
], - "images": [
- {
- "url": "string",
- "sort_id": 0
}
], - "size": {
- "details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}, - "pack_item_size_details": {
- "count_per_pack": 0,
- "per_item_size_details": {
- "dimensions": {
- "length": {
- "value": 0,
- "unit": "inch"
}, - "width": {
- "value": 0,
- "unit": "inch"
}, - "height": {
- "value": 0,
- "unit": "inch"
}
}, - "weight": {
- "value": 0,
- "unit": "lbs"
}, - "volume": {
- "value": 0,
- "unit": "oz"
}, - "product_specific_size_definition": {
- "value": "string",
- "description": "string"
}
}
}
}, - "weighted_item_info": {
- "average_weight_per_each": 0,
- "average_weight_measurement_unit": "kg",
- "shop_by_measurement_unit": "kg",
- "price_by_measurement_unit": "kg"
}, - "brand_info": {
- "name": "string"
}, - "program_eligibility": [
- "SNAP"
], - "manufacture_info": {
- "manufacturer_name": "string",
- "place_of_origin": "string"
}, - "fulfillment_info": {
- "pick_scan_strategy": "string",
- "pick_scan_code": "string",
- "ineligible_delivery_modes": [
- "BIKE"
]
}, - "ingredients": [
- {
- "type": "ACTIVE",
- "name": "string"
}
], - "dish_info": {
- "nutritional_info": {
- "calorific_info": {
- "display_type": "string",
- "lower_range": 0,
- "higher_range": 0
}, - "serving": {
- "servings_per_each": 0,
- "per_serving_details": {
- "quantity": 0,
- "unit": "cup",
- "quantity_as_weight": "string",
- "quantity_as_weight_unit": "gm"
}
}, - "nutrients": [
- {
- "nutrient_type": "total_carb",
- "quantity": 0,
- "unit": "gm",
- "dv_percent": 0,
- "note": "string"
}
], - "classification_info": {
- "traits": [
- "HOT"
], - "service_types": [
- "string"
], - "classification_tags": [
- "TAG_KEY_DIETARY_VEGETARIAN"
]
}
}
}, - "extras": [
- {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "statys": "ACTIVE",
- "options": [
- {
- "merchant_supplied_id": "string",
- "type": "EXTRAS",
- "sort_id": 0,
- "name": "string",
- "extras": {
- "name": "string",
- "merchant_supplied_extras_id": "string",
- "description": "string",
- "sort_id": 0,
- "min_num_options": 0,
- "max_num_options": 0,
- "num_free_options": 0,
- "max_option_choice_quantity": 0,
- "min_option_choice_quantity": 0,
- "min_aggregate_option_quantity": 0,
- "max_aggregate_option_quantity": 0,
- "options": [
- {
- "merchant_supplied_id": null,
- "type": null,
- "sort_id": null,
- "name": null,
- "extras": null,
- "default": null
}
]
}, - "default": true
}
]
}
], - "item_categorizations": [
- {
- "category": {
- "name": "string",
- "sub_category": { }
}
}
], - "variant_info": [
- {
- "name": "string",
- "merchant_supplied_variant_group_id": "string",
- "description": "string",
- "sort_id": 0,
- "options": [
- {
- "merchant_supplied_id": "string",
- "sort_id": 0,
- "name": "string"
}
]
}
], - "product_attributes": [
- {
- "attribute_name": "string",
- "attribute_value": {
- "single_select_bool": true
}
}
]
}
]
}
Array of objects (StoreItem) | |||||||||||||||||||||
Array
|
{- "items": [
- {
- "merchant_supplied_item_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}, - "balance_on_hand": 0,
- "status": "ACTIVE",
- "last_sold_datetime": "string",
- "location": {
- "aisle": "string",
- "zone": "string",
- "shelf": "string",
- "side": "string",
- "additional_details": "string",
- "coordinates": {
- "x": 0,
- "y": 0
}
}, - "item_special_hours": [
- {
- "day_index": "MON",
- "start_time": "string",
- "end_time": "string",
- "start_date": "string",
- "end_date": "string"
}
], - "in_store_extras_info": {
- "merchant_supplied_extras_id": "string",
- "options": [
- {
- "merchant_supplied_id": "string",
- "price_info": {
- "base_price": 0,
- "sale_price": 0,
- "tax_rate": 0,
- "bottle_fee_deposit": 0,
- "environment_fee": 0
}
}
]
}, - "name": "string",
- "description": "string"
}
]
}
job_type | string Value: "PULL_STORE_ITEMS" |
object |
{- "job_type": "PULL_STORE_ITEMS",
- "job_parameters": {
- "property1": "string",
- "property2": "string"
}
}
store_location_id | string |
pull_mode | string Value: "REPLACE" |
{- "store_location_id": "string",
- "pull_mode": "REPLACE"
}
Array of objects (Promotion) | |||||||||||||||
Array
|
{- "promotions": [
- {
- "promotion_id": "string",
- "promotion_type": "BUY_X_FOR_Y",
- "purchase_criteria": {
- "purchase_items": [
- "string"
], - "purchase_quantity": 0
}, - "redemption_limit": {
- "limit_per_order": 0
}, - "discount_options": {
- "discount_total_price": 0,
- "discount_price_off": 0,
- "discount_percentage": 0,
- "discount_quantity": 0
}, - "start_time": "string",
- "end_time": "string"
}
]
}