Skip to content

Upload menu

POST
/api/v3/menu/upload
curl --request POST \
--url https://prod.store-management.glovo.alb.app.onlineservice.io/api/v3/menu/upload \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "store_id": "example", "store_environment": "example", "partner_name": "example", "super_category": { "name": "example", "position": 1, "image_url": "example", "display_super_category": true, "categories": [ { "name": "example", "position": 1, "image_url": "example", "sections": [ { "name": "example", "position": 1, "products": [ { "id": "example", "name": "example", "price": "example", "imageUrl": "example", "extraImageUrls": [ "example" ], "description": "example", "available": true, "attribute_groups": [ { "id": "example", "name": "example", "min": 1, "max": 1, "collapse": true, "attributes": [ { "id": "example", "name": "example", "available": true, "selected_by_default": false, "price": null } ], "multiple_selection": true } ] } ] } ] } ] }, "super_categories": [ { "name": "example", "position": 1, "image_url": "example", "display_super_category": true, "categories": [ { "name": "example", "position": 1, "image_url": "example", "sections": [ { "name": "example", "position": 1, "products": [ { "id": "example", "name": "example", "price": "example", "imageUrl": "example", "extraImageUrls": [ "example" ], "description": "example", "available": true, "attribute_groups": [ { "id": "example", "name": "example", "min": 1, "max": 1, "collapse": true, "attributes": [ { "id": "example", "name": "example", "available": true, "selected_by_default": false, "price": null } ], "multiple_selection": true } ] } ] } ] } ] } ] }'

This API endpoint allows users to upload or update the entire menu of a store in Glovo. The process is asynchronous, meaning that the endpoint returns a transaction_id that can be used to track the progress of the menu update process using the Verify menu upload endpoint.

Please note that there is a maximum of five menu updates allowed per day per store address. If this limit is reached, the endpoint will return a status code 429, indicating that too many requests have been made. For small updates to products and attributes, it is recommended to use individual or bulk endpoints.

In the event that the Glovo system encounters an error while updating the menu, no changes will be made to avoid inconsistencies.

Media typeapplication/json

The model for menu update request

object
store_id

The unique identifier of the store

string
store_environment

The store environment. Use ‘prod’

string
partner_name

The name of the partner

string
super_category

A “super-category” is the highest level of categorization in the Glovo menu.

object
name

The name of the super category

string
position

The position of the super category in the menu

integer format: int32
image_url

The URL of the image associated with the super category. Must use HTTPS schema

string
display_super_category

Whether or not the super category should be displayed

boolean
categories

The list of categories associated with the super category

Array<object>

A category is a secondary level of organization in the Glovo menu, and it is mandatory to have at least one collection in your menu. A collection is composed of sections and must have at least one section to contain other items. Examples of collections include beverages, burgers, salads, desserts, and pasta.

object
name

The name of the category

string
position

The position of the category in the menu

integer format: int32
image_url

The URL of the category image. Must use HTTPS schema

string
sections

The list of sections within the category

Array<object>

Model for a section component of the menu.

object
name

The name of the section.

string
position

The position of the section.

integer format: int32
products

List of products belonging to this section.

Array<object>

A product is a fundamental element of the Glovo menu, typically representing a physical item available in a store. However, the store has the freedom to decide what it wants to offer as products. Each product is associated with a section of the menu.

object
id

The ID of the product.

string
name

The name of the product.

string
price

The price of the product.

string
imageUrl

The URL of the main image of the product. Must use HTTPS schema.

string
extraImageUrls

A list of URLs of additional images of the product. Must use HTTPS schema.

Array<string>
description

The description of the product.

string
available

Whether the product is currently available.

boolean
Example
true
attribute_groups

A list of attribute groups of the product.

Array<object>

Attribute groups allow grouping similar customizations into generic sets, each of which can have a minimum and maximum number of options for the customer. For example, attribute groups can be used to categorize toppings, such as sauces, including mayonnaise, mustard, or ketchup, or beverages, such as water, cola, or lemonade.

object
id

The ID of the group

string
name

The name of the group

string
min

The minimum number of attributes that can be selected

integer format: int32
max

The maximum number of attributes that can be selected

integer format: int32
collapse

Whether the group should be collapsed or expanded by default

boolean
attributes

The list of attributes for this group

Array<object>

Products can be customized in various ways, such as adding mayonnaise, including a beverage, or adding extra meat, and each of these customizations is known as an attribute. Products are not required to have attributes, but each attribute can have a different impact on the price. Attribute groups are created to group similar attributes together.

object
id

The ID of the attribute

string
name

The name of the attribute

string
available

Whether the attribute is available

boolean
default: true
selected_by_default

Whether the attribute is selected by default

boolean
price

The price of the attribute

string
multiple_selection

Whether multiple attributes can be selected

boolean
super_categories

The list of super categories of the menu update

Array<object>

A “super-category” is the highest level of categorization in the Glovo menu.

object
name

The name of the super category

string
position

The position of the super category in the menu

integer format: int32
image_url

The URL of the image associated with the super category. Must use HTTPS schema

string
display_super_category

Whether or not the super category should be displayed

boolean
categories

The list of categories associated with the super category

Array<object>

A category is a secondary level of organization in the Glovo menu, and it is mandatory to have at least one collection in your menu. A collection is composed of sections and must have at least one section to contain other items. Examples of collections include beverages, burgers, salads, desserts, and pasta.

object
name

The name of the category

string
position

The position of the category in the menu

integer format: int32
image_url

The URL of the category image. Must use HTTPS schema

string
sections

The list of sections within the category

Array<object>

Model for a section component of the menu.

object
name

The name of the section.

string
position

The position of the section.

integer format: int32
products

List of products belonging to this section.

Array<object>

A product is a fundamental element of the Glovo menu, typically representing a physical item available in a store. However, the store has the freedom to decide what it wants to offer as products. Each product is associated with a section of the menu.

object
id

The ID of the product.

string
name

The name of the product.

string
price

The price of the product.

string
imageUrl

The URL of the main image of the product. Must use HTTPS schema.

string
extraImageUrls

A list of URLs of additional images of the product. Must use HTTPS schema.

Array<string>
description

The description of the product.

string
available

Whether the product is currently available.

boolean
Example
true
attribute_groups

A list of attribute groups of the product.

Array<object>

Attribute groups allow grouping similar customizations into generic sets, each of which can have a minimum and maximum number of options for the customer. For example, attribute groups can be used to categorize toppings, such as sauces, including mayonnaise, mustard, or ketchup, or beverages, such as water, cola, or lemonade.

object
id

The ID of the group

string
name

The name of the group

string
min

The minimum number of attributes that can be selected

integer format: int32
max

The maximum number of attributes that can be selected

integer format: int32
collapse

Whether the group should be collapsed or expanded by default

boolean
attributes

The list of attributes for this group

Array<object>

Products can be customized in various ways, such as adding mayonnaise, including a beverage, or adding extra meat, and each of these customizations is known as an attribute. Products are not required to have attributes, but each attribute can have a different impact on the price. Attribute groups are created to group similar attributes together.

object
id

The ID of the attribute

string
name

The name of the attribute

string
available

Whether the attribute is available

boolean
default: true
selected_by_default

Whether the attribute is selected by default

boolean
price

The price of the attribute

string
multiple_selection

Whether multiple attributes can be selected

boolean

Status check result

Media typeapplication/json
object
status
string
transaction_id
string
message
string
detail
string
Examplegenerated
{
"status": "example",
"transaction_id": "example",
"message": "example",
"detail": "example"
}

Internal error

Media typeapplication/json
string
Examplegenerated
example