Download OpenAPI specification:Download
To manage restaurants, menus, delivery people and orders with the Uberoo REST API.
You can find out more about Uberoo at uberoo.eat and developer documentation at developers.uberoo.eat.
To authenticate you need to send a Bearer <JWT>
token in the Authorization
header.
To find more information about JWT, you can find out more at https://jwt.io.
You can generate a JWT token using the /account/login
endpoint.
Retrieve all the information about all the restaurants
is_open required | boolean Default: true Filter restaurants by their open status (based on the current time) |
nearest required | string Default: "48.8701419,2.271431" Filter the resource by their distance from a specified location. The specified location is specified by longitude and latitude. The distance is specified in meters. |
filter | string [ 3 .. 255 ] characters Example: filter=(firstname:John or firstname:Kevin) and age:>18 and name:Du*t The (advanced) filter to apply to the data (e.g. 'name:John'). We can use :
|
fields | Array of strings Example: fields=id The fields to return |
limit required | integer <int32> [ 1 .. 100 ] Default: 50 The numbers of items to return |
offset | string Example: offset=YXJyYXljb25uZWN0aW9uOjE The offset of returned data |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "data": [
- {
- "id": "507f1f77bcf86cd799919011",
- "name": "Le Cinq",
- "tag": [
- "gastronomy",
- "french"
], - "openingHours": [
- "1:11",
- "1:12",
- "1:13",
- "1:14"
], - "address": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
], - "pagination": {
- "endCursor": "",
- "hasNextPage": false
}
}
Create a new restaurant. The restaurant will be returned in the response
Restaurant object
name required | string |
address required | string |
tag required | Array of strings A list of tag of the restaurant |
openingHours required | Array of strings [ 0 .. 168 ] items The opening hours of the restaurant |
{- "name": "McDonald's",
- "address": "5 rue Charlot, 75003 Paris",
- "tag": [
- "fast-food",
- "american"
], - "openingHours": [
- "0:20",
- "0:21",
- "0:22",
- "0:23"
]
}
{- "message": "Bad Request",
- "code": 400,
- "details": "The request was malformed, please check the request body reference and example. The request body should be a valid JSON"
}
Retrieve all the information about a given restaurant by its id
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
fields | Array of strings Example: fields=id The fields to return |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "id": "507f1f77bcf86cd799919011",
- "name": "Le Cinq",
- "tag": [
- "gastronomy",
- "french"
], - "openingHours": [
- "1:11",
- "1:12",
- "1:13",
- "1:14"
], - "address": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
Deletes the restaurant with the specified ID
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
{- "message": "Not Modified",
- "code": 304,
- "details": "The requested resource has not been modified since the last request and we use the cached version of the resource"
}
Update the restaurant with the specified ID
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
Restaurant object
name required | string |
address required | string |
tag required | Array of strings A list of tag of the restaurant |
openingHours required | Array of strings [ 0 .. 168 ] items The opening hours of the restaurant |
{- "name": "McDonald's",
- "address": "5 rue Charlot, 75003 Paris",
- "tag": [
- "fast-food",
- "american"
], - "openingHours": [
- "0:20",
- "0:21",
- "0:22",
- "0:23"
]
}
{- "id": "507f1f77bcf86cd799919011",
- "name": "Le Cinq",
- "tag": [
- "gastronomy",
- "french"
], - "openingHours": [
- "1:11",
- "1:12",
- "1:13",
- "1:14"
], - "address": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
Recovers the list of all foods and menu associated with a specific restaurant
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
is_gluten_free | boolean Default: false Filter foods by their gluten-free status |
is_vegetarian | boolean Default: false Filter foods by their vegetarian status |
is_vegan | boolean Default: false Filter foods by their vegan status |
is_lactose_free | boolean Default: false Filter foods by their lactose-free status |
fields | Array of strings Example: fields=id The fields to return |
limit required | integer <int32> [ 1 .. 100 ] Default: 50 The numbers of items to return |
offset | string Example: offset=YXJyYXljb25uZWN0aW9uOjE The offset of returned data |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "data": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
], - "pagination": {
- "endCursor": "",
- "hasNextPage": false
}
}
Creates a new food associated with a restaurant
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
Food object
name required | string The name of the food, can be a menu |
price required | number <float> The price of the food |
isGlutenFree | boolean Default: false Indicates if the food is gluten free |
isVegetarian | boolean Default: false Indicates if the food is vegetarian |
isVegan | boolean Default: false Indicates if the food is vegan |
required | string or Restaurant (object) |
{- "name": "Pizza Margherita",
- "price": 10.5,
- "restaurant": "93321f77bcf86cd799439055"
}
{- "message": "Bad Request",
- "code": 400,
- "details": "The request was malformed, please check the request body reference and example. The request body should be a valid JSON"
}
Updates the list of foods associated with a restaurant. If a food is not present in the list, it will be deleted.
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
List of foods objects
id required | string The id of the food |
name required | string The name of the food, can be a menu |
price required | number <float> The price of the food |
isGlutenFree | boolean Default: false Indicates if the food is gluten free |
isVegetarian | boolean Default: false Indicates if the food is vegetarian |
isVegan | boolean Default: false Indicates if the food is vegan |
required | string or Restaurant (object) |
[- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "restaurant": "93321f77bcf86cd799439055"
}
]
[- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
]
Retrieve all the information about a given food
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
foodId required | string Example: 60f1l27bcf126cd799439011 The id of the food to retrieve. Check Food schema for more information. |
fields | Array of strings Example: fields=id The fields to return |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
Delete a food item with the specified ID from the restaurant
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
foodId required | string Example: 60f1l27bcf126cd799439011 The id of the food to retrieve. Check Food schema for more information. |
{- "message": "Not Modified",
- "code": 304,
- "details": "The requested resource has not been modified since the last request and we use the cached version of the resource"
}
Update a food item for the restaurant
restaurantId required | string Example: 62f1l77bcf86cd799439011 The id of the restaurant to retrieve. Check Restaurant schema for more information. |
foodId required | string Example: 60f1l27bcf126cd799439011 The id of the food to retrieve. Check Food schema for more information. |
Information about the food item
id required | string The id of the food |
name required | string The name of the food, can be a menu |
price required | number <float> The price of the food |
isGlutenFree | boolean Default: false Indicates if the food is gluten free |
isVegetarian | boolean Default: false Indicates if the food is vegetarian |
isVegan | boolean Default: false Indicates if the food is vegan |
required | string or Restaurant (object) |
{- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "restaurant": "93321f77bcf86cd799439055"
}
{- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
Retrieve all the information about a given user's cart
userId required | string Example: 68f1l77bcf86cd799439011 The id of the user to retrieve. It exist a special value "me" that can be used to retrieve the current user. Check User schema for more information. |
fields | Array of strings Example: fields=id The fields to return |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "user": "507f1f77bcf86cd799439011",
- "items": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
], - "total": 10.5,
- "createdAt": "2020-01-01T00:00:00Z",
- "updatedAt": "2020-01-01T00:00:00Z"
}
Add a food item to the cart of the user passed in the path
userId required | string Example: 68f1l77bcf86cd799439011 The id of the user to retrieve. It exist a special value "me" that can be used to retrieve the current user. Check User schema for more information. |
Cart item object
foodId required | string The id of the food to add. Check Food schema for more information. |
{- "foodId": "60f1l27bcf126cd799439011"
}
{- "message": "Bad Request",
- "code": 400,
- "details": "The request was malformed, please check the request body reference and example. The request body should be a valid JSON"
}
Update or create the cart of the user passed in the path and return the updated cart. If an item does not exist, it will be created. If an item exists, it will be updated. If an item is not present (anymore) in the list, it will be deleted.
userId required | string Example: 68f1l77bcf86cd799439011 The id of the user to retrieve. It exist a special value "me" that can be used to retrieve the current user. Check User schema for more information. |
Update Cart object
items required | Array of strings [ 0 .. 10 ] items Cart item object |
{- "items": [
- "60f1l27bcf126cd799439011"
]
}
{- "user": "507f1f77bcf86cd799439011",
- "items": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
], - "total": 10.5,
- "createdAt": "2020-01-01T00:00:00Z",
- "updatedAt": "2020-01-01T00:00:00Z"
}
Delete the cart of the user with the specified ID
userId required | string Example: 68f1l77bcf86cd799439011 The id of the user to retrieve. It exist a special value "me" that can be used to retrieve the current user. Check User schema for more information. |
{- "message": "Authentication required",
- "code": 401,
- "details": "You must be authenticated to access this resource"
}
Retrieve all the information about orders according to the query parameters. You can use the 'filter' parameter to filter the results.
restaurantId | Array of arrays Example: restaurantId=507f1f77bcf86cd799439011&restaurantId=507f191e810c19729de860ea Filter orders by their restaurant id |
personId | Array of arrays Example: personId=507f1f77bcf86cd799439011&personId=507f191e810c19729de860ea Filter orders by their customer id |
filter | string [ 3 .. 255 ] characters Example: filter=(firstname:John or firstname:Kevin) and age:>18 and name:Du*t The (advanced) filter to apply to the data (e.g. 'name:John'). We can use :
|
fields | Array of strings Example: fields=id The fields to return |
limit required | integer <int32> [ 1 .. 100 ] Default: 50 The numbers of items to return |
offset | string Example: offset=YXJyYXljb25uZWN0aW9uOjE The offset of returned data |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "data": [
- {
- "id": "62a286acf7efe2aca2f8289e",
- "customerId": "70a286b5f7efe2aca2f828a1",
- "courierId": "87b8f7efe2aca2f828a262a2",
- "restaurantId": "93321f77bcf86cd799439055",
- "foods": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
], - "total": 12.5,
- "status": "pending",
- "acceptedAt": "2020-01-01T00:00:00.000Z",
- "preparingTime": 10,
- "deliveryTime": 15,
- "deliveredAt": "2020-01-01T00:00:00.000Z",
- "canceledAt": "2020-01-01T00:00:00.000Z",
- "paymentId": "62a286acf7efe2aca2f8289e",
- "deliveryAddress": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
], - "pagination": {
- "endCursor": "",
- "hasNextPage": false
}
}
Create a new order. The order will be returned in the response
Order object
customerId required | string The id of the customer who made the order. |
restaurantId required | string The id of the restaurant that serves the food |
foods required | Array of strings The list of foods id in the order |
deliveryAddress required | string The address of the delivery |
{- "customerId": "70a286b5f7efe2aca2f828a1",
- "restaurantId": "93321f77bcf86cd799439055",
- "foods": [
- "62a286acf7efe2aca2f8289e"
], - "deliveryAddress": "Pl. du Maréchal de Lattre de Tassigny, 75016 Paris"
}
{- "message": "Bad Request",
- "code": 400,
- "details": "The request was malformed, please check the request body reference and example. The request body should be a valid JSON"
}
Retrieve all the information about a given order by its id
orderId required | string Example: 62a286acf7efe2aca2f8289e The id of the order to retrieve. Check Order schema for more information. |
fields | Array of strings Example: fields=id The fields to return |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "id": "62a286acf7efe2aca2f8289e",
- "customerId": "70a286b5f7efe2aca2f828a1",
- "courierId": "87b8f7efe2aca2f828a262a2",
- "restaurantId": "93321f77bcf86cd799439055",
- "foods": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
], - "total": 12.5,
- "status": "pending",
- "acceptedAt": "2020-01-01T00:00:00.000Z",
- "preparingTime": 10,
- "deliveryTime": 15,
- "deliveredAt": "2020-01-01T00:00:00.000Z",
- "canceledAt": "2020-01-01T00:00:00.000Z",
- "paymentId": "62a286acf7efe2aca2f8289e",
- "deliveryAddress": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
Deletes the order with the specified ID. You must have the permission to delete the order
orderId required | string Example: 62a286acf7efe2aca2f8289e The id of the order to retrieve. Check Order schema for more information. |
{- "message": "Not Modified",
- "code": 304,
- "details": "The requested resource has not been modified since the last request and we use the cached version of the resource"
}
Update the order with the specified ID
orderId required | string Example: 62a286acf7efe2aca2f8289e The id of the order to retrieve. Check Order schema for more information. |
Order update object
foods | Array of strings The list of foods id in the order |
deliveryAddress | string The address of the delivery |
courierId | string or null The id of the courier who is handling the order. By default, the order is not handled. |
status | string Enum: "pending" "validated" "canceled" The status of the order |
acceptedAt | string <date-time> The date of the creation of the order |
preparingTime | number or null The time it takes to prepare the order (in minutes) |
deliveryTime | number or null The time it takes to deliver the order to the customer (in minutes) |
deliveredAt | string or null <date-time> The date of the delivery of the order |
canceledAt | string or null <date-time> The date of the cancellation of the order. By default, the order is not canceled. |
paymentId | string or null The payment of the order (by default, the order is not paid) |
{ }
{- "id": "62a286acf7efe2aca2f8289e",
- "customerId": "70a286b5f7efe2aca2f828a1",
- "courierId": "87b8f7efe2aca2f828a262a2",
- "restaurantId": "93321f77bcf86cd799439055",
- "foods": [
- {
- "id": "507f1f77bcf86cd799439011",
- "name": "Pizza Margherita",
- "price": 10.5,
- "isGlutenFree": false,
- "isVegetarian": false,
- "isVegan": false,
- "restaurant": "93321f77bcf86cd799439055"
}
], - "total": 12.5,
- "status": "pending",
- "acceptedAt": "2020-01-01T00:00:00.000Z",
- "preparingTime": 10,
- "deliveryTime": 15,
- "deliveredAt": "2020-01-01T00:00:00.000Z",
- "canceledAt": "2020-01-01T00:00:00.000Z",
- "paymentId": "62a286acf7efe2aca2f8289e",
- "deliveryAddress": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
Register a new user to Uberoo
User object needed to register
firstName | string |
lastName | string |
string <email> | |
password | string |
type | string Valid values are User's type. Depending on the type of account to be created, the user must have certain rights.For example, a customer account cannot create an admin account. |
address | string |
{ }
{- "message": "Bad Request",
- "code": 400,
- "details": "The request was malformed, please check the request body reference and example. The request body should be a valid JSON"
}
Login with email and password to get a JWT token
string <email> | |
password | string |
{ }
{- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
Change password
{- "password": "Azerty123@"
}
{- "message": "Bad Request",
- "code": 400,
- "details": "The request was malformed, please check the request body reference and example. The request body should be a valid JSON"
}
Manage users of Uberoo. Theses endpoints are for all users. Check specific type user for more information
Retrieve all the information about users according to the query parameters. You can use the 'filter' parameter to filter the results.
filter | string [ 3 .. 255 ] characters Example: filter=(firstname:John or firstname:Kevin) and age:>18 and name:Du*t The (advanced) filter to apply to the data (e.g. 'name:John'). We can use :
|
nearest required | string Default: "48.8701419,2.271431" Filter the resource by their distance from a specified location. The specified location is specified by longitude and latitude. The distance is specified in meters. |
fields | Array of strings Example: fields=id The fields to return |
limit required | integer <int32> [ 1 .. 100 ] Default: 50 The numbers of items to return |
offset | string Example: offset=YXJyYXljb25uZWN0aW9uOjE The offset of returned data |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "data": [
- {
- "id": "507f1f77bcf86cd799439011",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john@doe.com",
- "phone": "+33123456789",
- "createdAt": "2019-01-01T00:00:00.000Z",
- "password": "$2y$10$xO1hfZoxXHYKVv0yGwSDD.8Qfxa.hmSvhbvvKdtEmxIyRfSUBiQIC",
- "type": "consumer",
- "isAvailable": false,
- "orders": [
- "507f1f77bcf86cd799439011",
- "507f1f77bcf86cd799439012"
], - "address": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
], - "pagination": {
- "endCursor": "",
- "hasNextPage": false
}
}
Retrieve all the information about a given user by its id
userId required | string Example: 68f1l77bcf86cd799439011 The id of the user to retrieve. It exist a special value "me" that can be used to retrieve the current user. Check User schema for more information. |
fields | Array of strings Example: fields=id The fields to return |
order | string Default: "asc" Enum: "asc" "desc" The order of returned data (asc or desc) |
{- "id": "507f1f77bcf86cd799439011",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john@doe.com",
- "phone": "+33123456789",
- "createdAt": "2019-01-01T00:00:00.000Z",
- "password": "$2y$10$xO1hfZoxXHYKVv0yGwSDD.8Qfxa.hmSvhbvvKdtEmxIyRfSUBiQIC",
- "type": "consumer",
- "isAvailable": false,
- "orders": [
- "507f1f77bcf86cd799439011",
- "507f1f77bcf86cd799439012"
], - "address": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}
Deletes the user with the specified ID. You must have the permission to delete the user
userId required | string Example: 68f1l77bcf86cd799439011 The id of the user to retrieve. It exist a special value "me" that can be used to retrieve the current user. Check User schema for more information. |
{- "message": "Not Modified",
- "code": 304,
- "details": "The requested resource has not been modified since the last request and we use the cached version of the resource"
}
Update the user with the specified ID
userId required | string Example: 68f1l77bcf86cd799439011 The id of the user to retrieve. It exist a special value "me" that can be used to retrieve the current user. Check User schema for more information. |
User update object
firstName | string The first name of the user |
lastName | string The last name of the user |
string The email of the user | |
phone | string The phone of the user |
type | string Default: "consumer" Enum: "courier" "merchant" "consumer" "support" "admin" The type of the user. You need to have the right to update this field. |
address | string The address of the user |
{ }
{- "id": "507f1f77bcf86cd799439011",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john@doe.com",
- "phone": "+33123456789",
- "createdAt": "2019-01-01T00:00:00.000Z",
- "password": "$2y$10$xO1hfZoxXHYKVv0yGwSDD.8Qfxa.hmSvhbvvKdtEmxIyRfSUBiQIC",
- "type": "consumer",
- "isAvailable": false,
- "orders": [
- "507f1f77bcf86cd799439011",
- "507f1f77bcf86cd799439012"
], - "address": {
- "id": "507f1f77bcf86cd799439011",
- "number": 5,
- "street": "Rue Charlot",
- "city": "Paris",
- "postalCode": 75003,
- "state": "Île-de-France",
- "country": "France"
}
}