Rest API - Menu

The Menus resource allows you to interact with a restaurant's menus and products.

The resource allows unified management of all components of a store’s menu—menus, categories, and items—using the store identifier (storeId). This structure simplifies integration by centralizing information and operations related to the full menu within a single resource.

The store’s catalog is composed of two item types: ITEM, representing individual products or modifiers, and MODIFIER_GROUP, which represents groups of modifiers. Categories can only contain items of type ITEM, and item relationships are limited to combinations between different types, such as ITEMMODIFIER_GROUP and MODIFIER_GROUPITEM.

The following table describes the different contents of the Menu resource:

ResourceDescription
GET /v1/stores/{storeId}/store-menuRetrieves the complete store menu, including items, categories, and menu types, by store ID.
POST /v1/stores/{storeId}/store-menuUploads the complete store menu to an S3 bucket.
GET /v1/stores/{storeId}/menuRetrieves the menus of a store by Store ID.
POST /v1/stores/{storeId}/menuCreate or Update the menus by store ID.
DELETE /v1/stores/{storeId}/menuDelete the specified menus by store ID.
GET /v1/stores/{storeId}/menu/{menuId}Retrieves the specified menu with all relations of information by store ID.
GET /v1/stores/{storeId}/categoriesRetrieves the categories of a store by Store ID.
POST /v1/stores/{storeId}/categoriesCreate or Update the categories by store ID.
DELETE /v1/stores/{storeId}/categoriesDelete the specified categories by store ID.
GET /v1/stores/{storeId}/categories/{categoryId}Retrieves the specified category with all relations of information by store ID.
GET /v1/stores/{storeId}/itemsRetrieves the items of a store by Store ID.
POST /v1/stores/{storeId}/itemsCreate or Update the items by store ID.
DELETE /v1/stores/{storeId}/itemsDelete the specified items by store ID.
GET /v1/stores/{storeId}/items/{itemId}Retrieves the specified item with all relations of information by store ID.

GET Store Menu By Store ID

Use this endpoint to retrieve the store menu (the complete menus with items, categories, and menu types) by storeId.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/store-menu

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Path Parameter

ParameterTypeRequiredDescription
storeIduint64YesThe unique identifier of the store whose menu is being requested.

This parameter is used to specify which store's menu should be retrieved. The storeId should be a valid integer representing a store registered in the system.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{storeId}/store-menu

This is an example of the request:


String storeId = "232"; String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/"+storeId+"/store-menu"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); } System.out.println("Response Code : " + connection.getResponseCode());



Sample Response "Success 200"

This is an example of the response "Success 200":

{ "storeId": 232, "menus": [ { "id": 9, "storeId": 232, "super_store_id": 232, "menu_type": "DEFAULT", "categories": [ { "id": 1, "sku": "abc", "index": 8, "is_category_active": true, "storeId": 232 } ] } ], "categories": [ { "id": 1, "sku": "abc", "storeId": 232, "title": "Mccafé", "last_updated": "2025-03-14T14:24:11.345803Z", "items": [ { "id": 933, "sku": "def", "index": 1, "menuId": 9, "menu_type": "DEFAULT", "storeId": 232 } ], "menus": [ { "id": 9, "index": 8, "is_category_active": true, "menu_type": "DEFAULT", "storeId": 232 } ], "schedules": [] } ], "items": [ { "id": 933, "sku": "def", "storeId": 232, "last_updated": "2025-03-14T14:23:58.338248Z", "item_type": "ITEM", "title_info": { "title": "Cappuccino Regular + Croissant Con Lomito Y Queso", "overrides": [] }, "description_info": { "description": "Promo \"cappuccino regular + croissant con lomito y queso\"", "overrides": [] }, "images_info": { "images": [ { "id": 279, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com" } ], "overrides": [] }, "items_info": { "items": [ { "id": 11, "sku": "gfd", "index": 1 }, { "id": 12, "sku": "kjh", "index": 2 }, { "id": 94, "sku": "pol", "index": 3 }, { "id": 72, "sku": "rew", "index": 4 } ], "overrides": [] }, "price_info": { "price": 199, "overrides": [] }, "quantity_info": { "min_permitted": null, "max_permitted": null, "modifiers_type": null, "overrides": [] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [], "is_available": true }, "schedules_info": { "schedules": [], "overrides": [] } }, { "id": 11, "sku": "gfd", "storeId": 232, "last_updated": "2025-03-14T14:23:58.979715Z", "item_type": "MODIFIER_GROUP", "title_info": { "title": "Extra grand croissant relleno de lomito y queso", "overrides": [] }, "description_info": { "description": "Extra grand croissant relleno de lomito y queso", "overrides": [] }, "images_info": { "images": [], "overrides": [] }, "items_info": { "items": [], "overrides": [] }, "price_info": { "price": 0, "overrides": [] }, "quantity_info": { "min_permitted": 0, "max_permitted": 2, "modifiers_type": "inclusive", "overrides": [] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [], "is_available": true }, "schedules_info": { "schedules": [], "overrides": [] } }, { "id": 12, "sku": "kjh", "storeId": 232, "last_updated": "2025-03-14T14:23:58.85638Z", "item_type": "MODIFIER_GROUP", "title_info": { "title": "Extra cappuccino regular", "overrides": [] }, "description_info": { "description": "Extra cappuccino regular", "overrides": [] }, "images_info": { "images": [], "overrides": [] }, "items_info": { "items": [], "overrides": [] }, "price_info": { "price": 0, "overrides": [] }, "quantity_info": { "min_permitted": 0, "max_permitted": 8, "modifiers_type": "inclusive", "overrides": [] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [], "is_available": true }, "schedules_info": { "schedules": [], "overrides": [] } }, { "id": 94, "sku": "pol", "storeId": 232, "last_updated": "2025-03-14T14:23:58.829912Z", "item_type": "MODIFIER_GROUP", "title_info": { "title": "Personalizar grand croissant relleno de lomito y queso", "overrides": [] }, "description_info": { "description": "Personalizar grand croissant relleno de lomito y queso", "overrides": [] }, "images_info": { "images": [], "overrides": [] }, "items_info": { "items": [], "overrides": [] }, "price_info": { "price": 0, "overrides": [] }, "quantity_info": { "min_permitted": 0, "max_permitted": 1, "modifiers_type": "exclusive", "overrides": [] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [], "is_available": true }, "schedules_info": { "schedules": [], "overrides": [] } }, { "id": 72, "sku": "rew", "storeId": 232, "last_updated": "2025-03-14T14:23:58.342775Z", "item_type": "MODIFIER_GROUP", "title_info": { "title": "Personalizar cappuccino regular", "overrides": [] }, "description_info": { "description": "Personalizar cappuccino regular", "overrides": [] }, "images_info": { "images": [], "overrides": [] }, "items_info": { "items": [], "overrides": [] }, "price_info": { "price": 0, "overrides": [] }, "quantity_info": { "min_permitted": 0, "max_permitted": 2, "modifiers_type": "inclusive", "overrides": [] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [], "is_available": true }, "schedules_info": { "schedules": [], "overrides": [] } } ] }

This table describes the objects contained in the response example:

ObjectDescription
storeId
uint64
Identifier of the store in the Rappi application
menus
[]Menu
List of menus available in the store. Each menu contains categories.
menus[].id
uint64
Unique identifier of the menu.
menus[].storeId
uint64
Store ID associated with the menu.
menus[].super_store_id
uint64
Super store ID linked to the menu.
menus[].menu_type
string
Type of menu (e.g., "DEFAULT").
menus[].categories
[]Category
Categories contained within the menu.
categories
[]Category
List of categories available in the store.
categories[].id
uint64
Unique identifier of the category.
categories[].sku
string
Stock keeping unit of the category.
categories[].storeId
uint64
Store ID associated with the category.
categories[].title
string
Name of the category.
categories[].last_updated
string (ISO 8601)
Timestamp of last update for the category.
categories[].items
[]Item
List of items within the category.
categories[].menus
[]Menu
List of menus associated with the category.
items
[]Item
List of items available in the store.
items[].id
uint64
Unique identifier of the item.
items[].sku
string
Stock keeping unit of the item.
items[].storeId
uint64
Store ID associated with the item.
items[].last_updated
string (ISO 8601)
Timestamp of last update for the item.
items[].item_type
string
Type of item (e.g., "ITEM", "MODIFIER_GROUP").
items[].title_info.title
string
Name/title of the item.
items[].description_info.description
string
Description of the item.
items[].images_info.images
[]Image
List of images associated with the item.
items[].price_info.price
float
Price of the item.
items[].quantity_info.min_permitted
int
Minimum quantity allowed for purchase.
items[].quantity_info.max_permitted
int
Maximum quantity allowed for purchase.
items[].quantity_info.modifiers_type
string
Type of modifiers allowed (e.g., "inclusive", "exclusive").
items[].suspension_info.is_available
bool
Indicates if the item is available.

POST Upload Store Menu

Use this endpoint to upload the complete store menu, including items, categories, and menu types to an s3 Bucket and process it to save or update the menu

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/store-menu

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIduint64YesThe unique identifier of the store whose menu is being requested.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

POST https://api.dev.rappi.com/restaurants/menu/v1/stores/232/store-menu

This is an example of the request:


String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/232/store-menu"; String jsonInputString = "{ \"storeId\": 232, \"menus\": [{ \"id\": 62, \"storeId\": 232, \"super_store_id\": 232, \"menu_type\": \"DEFAULT\", \"categories\": [] }], \"categories\": [], \"items\": [] }"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setDoOutput(true); try (OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8); os.write(input, 0, input.length); } int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode);



GET Menus By Store ID

Use this endpoint to retrieve the menus of a store by Store ID.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/menu

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

This parameter is used to specify which store's menu should be retrieved. The storeId should be a valid integer representing a store registered in the system.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{storeId}/menu

This is an example of the request:


String storeId = "232"; String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/menu"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }



Sample Response "Success 200"

This is an example of the response "Success 200":

[ { "id": 9, "storeId": 232, "super_store_id": 232, "menu_type": "DEFAULT", "categories": [ { "id": 625, "sku": "abc", "index": 0, "is_category_active": true }, { "id": 637, "sku": "def", "index": 0, "is_category_active": true } ] } ]

POST Upsert Menu By Store ID

Use this endpoint to create or update the store´s menu.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/menu

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

Important Notes

Request Fields Description

FieldTypeDescription
idintUnique identifier of the store's menu.
menu_typestringType of menu (e.g., "DEFAULT"), indicating the menu classification.
categoriesarrayList of categories included in the store's menu.
categories[].idintUnique identifier of the category.
categories[].skustringStock Keeping Unit (SKU) associated with the category.
categories[].indexintPosition of the category within the menu.
categories[].is_category_activebooleanIndicates whether the category is active (true) or inactive (false).

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

POST https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu

This is an example of the request:


import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "[{\"id\": 9, \"menu_type\": \"DEFAULT\", \"categories\": [{\"id\": 6, \"sku\": \"abc\", \"index\": 0, \"is_category_active\": false }]}]"; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu") .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .addHeader"x-authorization", "Bearer YOUR_TOKEN") .post(body) .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }



Sample Response 'Success 200'

This is an example of the response "Success 200":

{ "message": "Your request has been accepted." }

DELETE Menu By Store ID

Use this endpoint allows the deletion of a specific list of menus from a store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/menu

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

The request must be sent in JSON format with an array of menu IDs to be deleted. This is an example of an API request using this endpoint:

DELETE https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu

This is an example of the request:


import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "[1,2]"; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/menu") .delete(body) .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }



Sample Response 'Success 200'

This is an example of the response "Success 200":

{ "message": "Your request has been accepted." }

GET Menu By Store ID

Use this endpoint to retrieve the details of a specific menu from a store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/menu/{menuId}

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Path Parameter

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.
menuIdintYesThe unique identifier of the menu that is requested.

This parameter is used to specify which store's menu should be retrieved. The storeId should be a valid integer representing a store registered in the system.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{storeId}/menu/{menuId}

This is an example of the request:


String storeId = "232"; String menuId = "9"; String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/menu/" + menuId; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }



Sample Response "Success 200"

This is an example of the response "Success 200":

{ "id": 9, "storeId": 232, "super_store_id": 232, "menu_type": "DEFAULT", "categories": [ { "id": 6, "sku": "abc", "index": 0, "is_category_active": true } ] }

This table describes the objects contained in the response example:

CampoTipoDescripción
idintUnique identifier of the store's menu
menu_typestringType of menu (e.g., "DEFAULT"), indicating the menu classification
storeIdintUnique identifier of the store within the Rappi application
super_store_idintUnique identifier of the super store within the Rappi application
categoriesarrayList of categories included in the store's menu
categories[].idintnique identifier of the category
categories[].skustringStock Keeping Unit (SKU) associated with the category"
categories[].indexintPosition of the category within the menu
categories[].is_category_activebooleanIndicates whether the category is active (true) or inactive (false)

GET Categories By Store ID

This endpoint retrieves the list of categories available in a specific store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/categories

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

This parameter is used to specify which store's menu should be retrieved. The storeId should be a valid integer representing a store registered in the system.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{storeId}/categories

This is an example of the request:


String storeId = "232"; String urlString = "hhttps://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/categories"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }



Sample Response "Success 200"

This is an example of the response "Success 200":

[ { "id": 9, "sku": "abc", "storeId": 232, "title": "Bebidas", "last_updated": "2025-02-19T17:19:50.78726Z", "items": [], "menus": [], "schedules": [ { "days_of_week": "fri", "time_periods": [ { "start_time": "12:00", "end_time": "10:00" } ] } ] } ]

POST Upsert Categories By Store ID

This endpoint allows creating or updating categories in a specific store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/categories

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

Important Notes

Request Fields Description

FieldTypeRequiredDescription
idintYesIdentifier of the category in the store's menu.
skustringNoStock Keeping Unit (SKU) identifier of the category.
storeIdintYesIdentifier of the store in the Rappi application.
titlestringYesName or title of the category.
itemsarrayNoList of items within this category
items[].idintYesID of the item in the category
items[].skustringNoSKU of the item in the category
items[].indexintYesPosition of the item in the category
items[].menu_typestringYesType of menu the item belongs to
menusarrayNoList of associated menus
menus[].idintYesID of the menu
menus[].menu_typestringYesType of menu (e.g. "DEFAULT")
menus[].indexintYesPosition of the menu
menus[].is_category_activebooleanYesIndicates if the category is active in this menu
schedulesarrayNoList of schedules that define category availability
schedules[].days_of_weekstringYesDays of the week when the schedule is active (e.g. "fri")
schedules[].time_periodsarrayYesList of time periods within the schedule
schedules[].time_periods[].start_timestringYesStart time of the schedule in HH:MM format
schedules[].time_periods[].end_timestringYesEnd time of the schedule in HH:MM format

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

POST https://api.dev.rappi.com/restaurants/menu/v1/stores/232/categories

This is an example of the request:


import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "[{\"id\": 9, \"sku\": \"abc\", \"storeId\": 232, \"title\": \"Bebidas22\", \"last_updated\": \"2025-02-19T17:19:50.78726Z\", \"items\": [], \"menus\": [], \"schedules\": [{\"id\": 182, \"days_of_week\": \"fri\", \"time_periods\": [{\"id\": 378, \"start_time\": \"12:00\", \"end_time\": \"10:00\"}]}]}]"; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/categories") .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .post(body) .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }



Sample Response 'Success 200'

This is an example of the response "Success 200":

{ "message": "Your request has been accepted." }

DELETE Categories By Store ID

Use this endpoint allows you to delete multiple categories from a store by providing their IDs.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/categories

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

The request must be sent in JSON format with an array of Categories IDs to be deleted. This is an example of an API request using this endpoint:

DELETE https://api.dev.rappi.com/restaurants/menu/v1/stores/232/categories

This is an example of the request:


import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "{\"ids\": [1, 2, 22]}"; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/categories") .delete(body) .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }



GET Category By Store ID

Use this endpoint to retrieve the details of a specific category from a store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/categories/{categoryId}

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.
categoryIdintYesThe unique identifier of the category that is requested.

This parameter is used to specify which store's menu should be retrieved. The storeId should be a valid integer representing a store registered in the system.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{storeId}/categories/{categoryId}

This is an example of the request:


String storeId = "232"; String categoryId = "10" String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/categories/" + categoryId}; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }



Sample Response "Success 200"

This is an example of the response "Success 200":

{ "id": 1, "sku": "abc", "storeId": 232, "title": "Platos Fuertes", "last_updated": "2025-01-10T15:40:31.464312Z", "items": [], "menus": [], "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri,sat,sun,hol", "time_periods": [ { "start_time": "18:08", "end_time": "22:39" } ] } ] }

This table describes the objects contained in the response example:

ObjectTypeDescription
idintUnique identifier of the category
skustringSKU (Stock Keeping Unit) of the category
storeIdintIdentifier of the store in the Rappi application
titlestringName of the category
last_updatedstringTimestamp of the last update (ISO 8601 format)
itemsarrayList of items under this category (currently empty in the response)
menusarrayList of menus associated with this category (currently empty in response)
schedulesarrayList of schedules when this category is available
schedules[].days_of_weekstringDays of the week when the schedule is active (e.g., mon,tue,wed, etc.)
schedules[].time_periodsarrayList of time periods defining category availability
schedules[].time_periods[].start_timestringStart time of the time period (HH:mm format)
schedules[].time_periods[].end_timestringEnd time of the time period (HH:mm format)

GET Items By Store ID

This endpoint retrieves the list of items available in a specific store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/items

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameter

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

This parameter is used to specify which store's menu should be retrieved. The storeId should be a valid integer representing a store registered in the system.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{storeId}/items

This is an example of the request:


String storeId = "232"; String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/items"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }



Sample Response "Success 200"

This is an example of the response "Success 200":

[ { "id": 100, "sku": "pastel_de_fresa", "storeId": 232, "last_updated": "2025-03-27T22:01:41.647471Z", "item_type": "ITEM", "title_info": { "title": "Pastel de fresa", "overrides": [ { "override_id": 641, "override_sku": "", "override_type": "STORE", "title": "Pastel de fresa deluxe" }, { "override_id": 714, "override_sku": "1248187953", "override_type": "ITEM", "title": "Acompañamiento: Pastel de fresa" } ] }, "description_info": { "description": "Delicioso pastel de fresa", "overrides": [ { "override_id": 641, "override_type": "STORE", "description": "Delicioso pastel de fresa deluxe", "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "description": "Delicioso acompañamiento: Pastel de fresa", "override_sku": "1248187953" } ] }, "images_info": { "images": [ { "id": 34, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com" } ], "overrides": [ { "override_id": 641, "override_type": "STORE", "images": [ { "id": 43, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com" } ], "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "images": [ { "id": 43544, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com" } ], "override_sku": "1248187953" } ] }, "items_info": { "items": [ { "id": 11743, "sku": "1248187964", "index": 1 } ], "overrides": [ { "override_id": 714, "override_type": "ITEM", "items": [ { "id": 11720, "sku": "1248187730", "index": 1 } ], "override_sku": "1248187953" }, { "override_id": 641, "override_type": "STORE", "items": [ { "id": 11716, "sku": "1248187776", "index": 1 } ], "override_sku": "" } ] }, "price_info": { "price": 179, "overrides": [ { "override_id": 641, "override_type": "STORE", "price": 200, "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "price": 0, "override_sku": "1248187953" } ] }, "quantity_info": { "min_permitted": 0, "max_permitted": 5, "modifiers_type": null, "overrides": [ { "override_id": 641, "override_type": "STORE", "min_permitted": 0, "max_permitted": 2, "modifiers_type": null, "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "min_permitted": 0, "max_permitted": 1, "modifiers_type": null, "override_sku": "1248187953" } ] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [ { "override_id": 641, "override_type": "STORE", "suspend_until": "2025-03-30T00:00:00Z", "suspend_reason": "Is stocked out", "created_at": "2025-03-27T22:01:41.647376Z", "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "suspend_until": "2025-03-30T00:00:00Z", "suspend_reason": "Is stocked out", "created_at": "2025-03-27T22:01:41.647376Z", "override_sku": "1248187953" } ], "is_available": true }, "schedules_info": { "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri", "time_periods": [ { "start_time": "16:00", "end_time": "22:00" } ] } ], "overrides": [ { "id": 26, "override_id": 641, "override_sku": "", "override_type": "STORE", "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri", "time_periods": [ { "start_time": "16:00", "end_time": "23:00" } ] } ] }, { "id": 27, "override_id": 714, "override_sku": "1248187953", "override_type": "ITEM", "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri", "time_periods": [ { "start_time": "16:00", "end_time": "20:00" } ] } ] } ] } }, { "id": 11, "sku": "1abc", "storeId": 232, "last_updated": "2024-12-18T14:58:24.552489Z", "item_type": "MODIFIER_GROUP", "title_info": { "title": "Eleccion cubiertos", "overrides": [] }, "description_info": { "description": "Eleccion cubiertos", "overrides": [] }, "images_info": { "images": [], "overrides": [] }, "items_info": { "items": [], "overrides": [] }, "price_info": { "price": 0, "overrides": [] }, "quantity_info": { "min_permitted": 0, "max_permitted": 1, "modifiers_type": "exclusive", "overrides": [] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [], "is_available": true }, "schedules_info": { "schedules": [], "overrides": [] } } ]

POST Upsert Items By Store ID

This endpoint allows creating or updating items in a specific store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/items

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

Important Notes

Request Fields Description

FieldTypeDescription
idintIdentifier of the item.
skustringStock Keeping Unit (SKU) identifier of the item. It's required unless the ID is sent.
storeIdintIdentifier of the store in the application.
last_updatedstringTimestamp of the last update in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
item_typestringType of the item (ITEM or MODIFIER_GROUP).
title_info.titlestringTitle of the item.
title_info.overridesarrayList of title overrides for specific conditions.
title_info.overrides[].override_idintIdentifier of the title override.
title_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
title_info.overrides[].override_typestringType of override (STORE or ITEM).
title_info.overrides[].titlestringOverride title.
description_info.descriptionstringDescription of the item.
description_info.overridesarrayList of description overrides for specific conditions.
description_info.overrides[].override_idintIdentifier of the description override.
description_info.overrides[].override_typestringType of override (STORE or ITEM).
description_info.overrides[].descriptionstringOverride description.
description_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
images_info.imagesarrayList of images associated with the item.
images_info.images[].idintIdentifier of the image.
images_info.images[].pathstringThe path where the image is in the CDN
images_info.images[].indexintThe position where that image should be positioned.
images_info.images[].hoststringThe image CDN host
images_info.overridesarrayList of image overrides for specific conditions.
images_info.overrides[].override_idintIdentifier of the image override.
images_info.overrides[].override_typestringType of override (STORE or ITEM).
images_info.overrides[].imagesarrayList of overridden images.
images_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
items_info.itemsarrayList of related items.
items_info.items[].idintIdentifier of the related item.
items_info.items[].skustringSKU of the related item. It’s required unless the ID is sent.
items_info.items[].indexintOrder index of the related item.
items_info.overridesarrayList of item overrides for specific conditions.
items_info.overrides[].override_idintIdentifier of the item override.
items_info.overrides[].override_typestringType of override (STORE or ITEM).
items_info.overrides[].itemsarrayList of overridden items.
items_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
price_info.pricefloatPrice of the item.
price_info.overridesarrayList of price overrides for specific conditions.
price_info.overrides[].override_idintIdentifier of the price override.
price_info.overrides[].override_typestringType of override (STORE or ITEM).
price_info.overrides[].pricefloatThe price that should be applied when the override complies.
price_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
quantity_info.min_permittedintThe minimum amount of items permitted of this item when the item is ITEM type. And the minimum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.max_permittedintThe maximum amount of items permitted of this item when the item is ITEM type. And the maximum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.modifiers_typestringType of modifier (nullable).
quantity_info.overridesarrayList of quantity overrides for specific conditions.
quantity_info.overrides[].override_idintIdentifier of the quantity override.
quantity_info.overrides[].override_typestringType of override (STORE or ITEM).
quantity_info.overrides[].min_permittedintThe minimum amount of items permitted of this item when the item is ITEM type. And the minimum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.overrides[].max_permittedintThe maximum amount of items permitted of this item when the item is ITEM type. And the maximum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.overrides[].modifiers_typestringOverridden type of modifier (nullable).
quantity_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
suspension_info.suspend_untilstringDate when the item is supposed to turn on. If null then is suspended permanently.
suspension_info.suspend_reasonstringReason why the item is suspended.
suspension_info.is_availableboolAvailability status of the item.
suspension_info.overridesarrayList of suspension overrides for specific conditions.
schedules_info.schedulesarrayList of schedules defining availability.
schedules_info.schedules[].days_of_weekstringDays of the week when the schedule is active.
schedules_info.schedules[].time_periodsarrayTime periods within the schedule.
schedules_info.schedules[].time_periods[].start_timestringStart time in HH:MM format.
schedules_info.schedules[].time_periods[].end_timestringEnd time in HH:MM format.
schedules_info.overridesarrayList of schedule overrides for specific conditions.
schedules_info.overrides[].override_idintIdentifier of the schedules override.
schedules_info.overrides[].override_typestringType of override (STORE CATEGORY or ITEM).
schedules_info.overrides[].schedulesarrayList of overridden schedules.
schedules_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

POST https://api.dev.rappi.com/restaurants/menu/v1/stores/232/items

This is an example of the request:


import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = """ { "id": 100, "sku": "pastel_de_fresa", "storeId": 232, "item_type": "ITEM", "title_info": { "title": "Pastel de fresa", "overrides": [ {"override_id": 641, "override_sku": "", "override_type": "STORE", "title": "Pastel de fresa deluxe"}, {"override_id": 714, "override_sku": "1248187953", "override_type": "ITEM", "title": "Acompañamiento: Pastel de fresa"} ] }, "description_info": { "description": "Delicioso pastel de fresa", "overrides": [ {"override_id": 641, "override_type": "STORE", "description": "Delicioso pastel de fresa deluxe", "override_sku": ""}, {"override_id": 714, "override_type": "ITEM", "description": "Delicioso acompañamiento: Pastel de fresa", "override_sku": "1248187953"} ] }, "images_info": { "images": [ {"id": 34, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com"} ], "overrides": [ {"override_id": 641, "override_type": "STORE", "images": [{"id": 43, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com"}], "override_sku": ""}, {"override_id": 714, "override_type": "ITEM", "images": [{"id": 43544, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com"}], "override_sku": "1248187953"} ] }, "items_info": { "items": [{"id": 11743, "sku": "1248187964", "index": 1}], "overrides": [ {"override_id": 714, "override_type": "ITEM", "items": [{"id": 11720, "sku": "1248187730", "index": 1}], "override_sku": "1248187953"}, {"override_id": 641, "override_type": "STORE", "items": [{"id": 11716, "sku": "1248187776", "index": 1}], "override_sku": ""} ] }, "price_info": { "price": 179, "overrides": [ {"override_id": 641, "override_type": "STORE", "price": 200, "override_sku": ""}, {"override_id": 714, "override_type": "ITEM", "price": 0, "override_sku": "1248187953"} ] }, "quantity_info": { "min_permitted": 0, "max_permitted": 5, "overrides": [ {"override_id": 641, "override_type": "STORE", "min_permitted": 0, "max_permitted": 2, "override_sku": ""}, {"override_id": 714, "override_type": "ITEM", "min_permitted": 0, "max_permitted": 1, "override_sku": "1248187953"} ] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [ {"override_id": 641, "override_type": "STORE", "suspend_until": "2025-03-30T00:00:00Z", "suspend_reason": "Is stocked out", "created_at": "2025-03-27T22:01:41.647376Z", "override_sku": ""}, {"override_id": 714, "override_type": "ITEM", "suspend_until": "2025-03-30T00:00:00Z", "suspend_reason": "Is stocked out", "created_at": "2025-03-27T22:01:41.647376Z", "override_sku": "1248187953"} ] }, "schedules_info": { "schedules": [ {"days_of_week": "mon,tue,wed,thu,fri", "time_periods": [{"start_time": "16:00", "end_time": "22:00"}]} ], "overrides": [ {"id": 26, "override_id": 641, "override_sku": "", "override_type": "STORE", "schedules": [{"days_of_week": "mon,tue,wed,thu,fri", "time_periods": [{"start_time": "16:00", "end_time": "23:00"}]}]}, {"id": 27, "override_id": 714, "override_sku": "1248187953", "override_type": "ITEM", "schedules": [{"days_of_week": "mon,tue,wed,thu,fri", "time_periods": [{"start_time": "16:00", "end_time": "20:00"}]}]} ] } } """; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/items") .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .post(body) .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }



Sample Response 'Success 200'

This is an example of the response "Success 200":

{ "message": "Your request has been accepted." }

DELETE Items By Store ID

Use this endpoint allows you to delete multiple items from a store by providing their IDs.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/items

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Parameters

This endpoint has the following parameters:

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

The request must be sent in JSON format with an array of items IDs to be deleted. This is an example of an API request using this endpoint:

DELETE https://api.dev.rappi.com/restaurants/menu/v1/stores/232/items

This is an example of the request:


import okhttp3.*; public class Main { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String json = "[1,2]"; RequestBody body = RequestBody.create(json, MediaType.get("application/json")); Request request = new Request.Builder() .url("https://api.dev.rappi.com/restaurants/menu/v1/stores/232/items") .delete(body) .addHeader("Content-Type", "application/json") .addHeader("x-authorization", "Bearer YOUR_TOKEN") .build(); try (Response response = client.newCall(request).execute()) { System.out.println(response.body().string()); } } }



GET Item By Store ID

Use this endpoint to retrieve the details of a specific item from a store.

Endpoint URL

Use this URL to make a request with this endpoint:

https://{NEW_DOMAIN}/restaurants/menu/v1/stores/{storeId}/items/{itemId}

{NEW_DOMAIN}: This is your Rappi Country Domain. See the list of Country Domains.

Endpoint Properties

This resource has the following properties:

Response formatsJSON
Authentication requirementsToken

Path Parameter

ParameterTypeRequiredDescription
storeIdintYesThe unique identifier of the store whose menu is being requested.
itemIdintYesThe unique identifier of the item that is requested.

This parameter is used to specify which store's menu should be retrieved. The storeId should be a valid integer representing a store registered in the system.

Status Codes

These are the possible status codes of the response for this endpoint:

Sample Request

This is an example of an API request using this endpoint:

GET https://api.dev.rappi.com/restaurants/menu/v1/stores/{storeId}/items/{itemId}

This is an example of the request:


String storeId = "232"; String ItemId = "10" String urlString = "https://api.dev.rappi.com/restaurants/menu/v1/stores/" + storeId + "/items/" + ItemId}; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("x-authorization", "Bearer YOUR_TOKEN"); int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { StringBuilder response = new StringBuilder(); String responseLine; while ((responseLine = br.readLine()) != null) { response.append(responseLine.trim()); } System.out.println("Response body: " + response.toString()); }



Sample Response "Success 200"

This is an example of the response "Success 200":

{ "id": 100, "sku": "pastel_de_fresa", "storeId": 232, "last_updated": "2025-03-27T22:01:41.647471Z", "item_type": "ITEM", "title_info": { "title": "Pastel de fresa", "overrides": [ { "override_id": 641, "override_sku": "", "override_type": "STORE", "title": "Pastel de fresa deluxe" }, { "override_id": 714, "override_sku": "1248187953", "override_type": "ITEM", "title": "Acompañamiento: Pastel de fresa" } ] }, "description_info": { "description": "Delicioso pastel de fresa", "overrides": [ { "override_id": 641, "override_type": "STORE", "description": "Delicioso pastel de fresa deluxe", "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "description": "Delicioso acompañamiento: Pastel de fresa", "override_sku": "1248187953" } ] }, "images_info": { "images": [ { "id": 34, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com" } ], "overrides": [ { "override_id": 641, "override_type": "STORE", "images": [ { "id": 43, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com" } ], "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "images": [ { "id": 43544, "path": "my/path/to/my/image.jpg", "index": 1, "host": "https://my.cdn.com" } ], "override_sku": "1248187953" } ] }, "items_info": { "items": [ { "id": 11743, "sku": "1248187964", "index": 1 } ], "overrides": [ { "override_id": 714, "override_type": "ITEM", "items": [ { "id": 11720, "sku": "1248187730", "index": 1 } ], "override_sku": "1248187953" }, { "override_id": 641, "override_type": "STORE", "items": [ { "id": 11716, "sku": "1248187776", "index": 1 } ], "override_sku": "" } ] }, "price_info": { "price": 179, "overrides": [ { "override_id": 641, "override_type": "STORE", "price": 200, "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "price": 0, "override_sku": "1248187953" } ] }, "quantity_info": { "min_permitted": 0, "max_permitted": 5, "modifiers_type": null, "overrides": [ { "override_id": 641, "override_type": "STORE", "min_permitted": 0, "max_permitted": 2, "modifiers_type": null, "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "min_permitted": 0, "max_permitted": 1, "modifiers_type": null, "override_sku": "1248187953" } ] }, "suspension_info": { "suspend_until": null, "suspend_reason": null, "overrides": [ { "override_id": 641, "override_type": "STORE", "suspend_until": "2025-03-30T00:00:00Z", "suspend_reason": "Is stocked out", "created_at": "2025-03-27T22:01:41.647376Z", "override_sku": "" }, { "override_id": 714, "override_type": "ITEM", "suspend_until": "2025-03-30T00:00:00Z", "suspend_reason": "Is stocked out", "created_at": "2025-03-27T22:01:41.647376Z", "override_sku": "1248187953" } ], "is_available": true }, "schedules_info": { "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri", "time_periods": [ { "start_time": "16:00", "end_time": "22:00" } ] } ], "overrides": [ { "id": 26, "override_id": 641, "override_sku": "", "override_type": "STORE", "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri", "time_periods": [ { "start_time": "16:00", "end_time": "23:00" } ] } ] }, { "id": 27, "override_id": 714, "override_sku": "1248187953", "override_type": "ITEM", "schedules": [ { "days_of_week": "mon,tue,wed,thu,fri", "time_periods": [ { "start_time": "16:00", "end_time": "20:00" } ] } ] } ] } }

Response Fields Description

This table describes the objects contained in the response example:

FieldTypeDescription
idintIdentifier of the item.
skustringStock Keeping Unit (SKU) identifier of the item. It’s required unless the ID is sent.
storeIdintIdentifier of the store in the application.
last_updatedstringTimestamp of the last update in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
item_typestringType of the item (ITEM or MODIFIER_GROUP).
title_info.titlestringTitle of the item.
title_info.overridesarrayList of title overrides for specific conditions.
title_info.overrides[].override_idintIdentifier of the title override.
title_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
title_info.overrides[].override_typestringType of override (STORE or ITEM).
title_info.overrides[].titlestringOverride title.
description_info.descriptionstringDescription of the item.
description_info.overridesarrayList of description overrides for specific conditions.
description_info.overrides[].override_idintIdentifier of the description override.
description_info.overrides[].override_typestringType of override (STORE or ITEM).
description_info.overrides[].descriptionstringOverride description.
description_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
images_info.imagesarrayList of images associated with the item.
images_info.images[].idintIdentifier of the image.
images_info.images[].pathstringThe path where the image is in the CDN
images_info.images[].indexintThe position where that image should be positioned.
images_info.images[].hoststringThe image CDN host
images_info.overridesarrayList of image overrides for specific conditions.
images_info.overrides[].override_idintIdentifier of the image override.
images_info.overrides[].override_typestringType of override (STORE or ITEM).
images_info.overrides[].imagesarrayList of overridden images.
images_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
items_info.itemsarrayList of related items.
items_info.items[].idintIdentifier of the related item.
items_info.items[].skustringSKU of the related item. It’s required unless the ID is sent.
items_info.items[].indexintOrder index of the related item.
items_info.overridesarrayList of item overrides for specific conditions.
items_info.overrides[].override_idintIdentifier of the item override.
items_info.overrides[].override_typestringType of override (STORE or ITEM).
items_info.overrides[].itemsarrayList of overridden items.
items_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
price_info.pricefloatPrice of the item.
price_info.overridesarrayList of price overrides for specific conditions.
price_info.overrides[].override_idintIdentifier of the price override.
price_info.overrides[].override_typestringType of override (STORE or ITEM).
price_info.overrides[].pricefloatThe price that should be applied when the override complies.
price_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
quantity_info.min_permittedintThe minimum amount of items permitted of this item when the item is ITEM type. And the minimum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.max_permittedintThe maximum amount of items permitted of this item when the item is ITEM type. And the maximum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.modifiers_typestringType of modifier (nullable).
quantity_info.overridesarrayList of quantity overrides for specific conditions.
quantity_info.overrides[].override_idintIdentifier of the quantity override.
quantity_info.overrides[].override_typestringType of override (STORE or ITEM).
quantity_info.overrides[].min_permittedintThe minimum amount of items permitted of this item when the item is ITEM type. And the minimum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.overrides[].max_permittedintThe maximum amount of items permitted of this item when the item is ITEM type. And the maximum amount of items inside permitted when the item is MODIFIER_GROUP type. This field is required when the item is MODIFIER_GROUP.
quantity_info.overrides[].modifiers_typestringOverridden type of modifier (nullable).
quantity_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.
suspension_info.suspend_untilstringDate when the item is supposed to turn on. If null then is suspended permanently.
suspension_info.suspend_reasonstringReason why the item is suspended.
suspension_info.is_availableboolAvailability status of the item.
suspension_info.overridesarrayList of suspension overrides for specific conditions.
schedules_info.schedulesarrayList of schedules defining availability.
schedules_info.schedules[].days_of_weekstringDays of the week when the schedule is active.
schedules_info.schedules[].time_periodsarrayTime periods within the schedule.
schedules_info.schedules[].time_periods[].start_timestringStart time in HH:MM format.
schedules_info.schedules[].time_periods[].end_timestringEnd time in HH:MM format.
schedules_info.overridesarrayList of schedule overrides for specific conditions.
schedules_info.overrides[].override_idintIdentifier of the schedules override.
schedules_info.overrides[].override_typestringType of override (STORE CATEGORY or ITEM).
schedules_info.overrides[].schedulesarrayList of overridden schedules.
schedules_info.overrides[].override_skustringThe SKU of the override entity, it’s required unless the override_id is sent.