Skip to content
innovorder
⌘K

Identity & access

User Management

System map · Account lifecycle
Administrator
User account
Granted access

Role Requirement

These endpoints require the brand or restaurant role unless otherwise noted.

Manage backoffice users within your brand or restaurant scope. Brand users can create and manage restaurant-level users, while restaurant users have limited management capabilities within their assigned locations.

List Users

GET/usersGet All Users

Retrieve all users matching the specified filters. Brand users can list users for their brand; restaurant users can list users for their assigned restaurants.

Parameters

NameTypeRequiredDescription
rolestringYesFilter by user role (e.g. "brand", "restaurant").
brandIdintegerNoFilter by brand ID.
include_disabledbooleanNoInclude disabled user accounts. Defaults to false.
restaurantsIdstringNoComma-separated list of restaurant IDs to filter by.
searchstringNoSearch term to filter users by name or email.
orderByLastConnectionbooleanNoOrder results by last connection date.

Response

json
{
  "status": 200,
  "code": "users_succeed",
  "message": "You can access to those users.",
  "data": [
    {
      "userId": 100500,
      "email": "manager@example.com",
      "firstName": "Jane",
      "lastName": "Doe",
      "phone": "0612345678",
      "role": "restaurant",
      "brandId": 100
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"users_succeed"Machine-readable application code for the result.
messagestring"You can access to those users."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].userIdinteger100500Identifier of the user.
data[].emailstring"manager@example.com"Email address.
data[].firstNamestring"Jane"The first name value.
data[].lastNamestring"Doe"The last name value.
data[].phonestring"0612345678"Phone number.
data[].rolestring"restaurant"The role value.
data[].brandIdinteger100Identifier of the brand.

Create User

POST/users/managerCreate a Manager User

Create a new backoffice user (brand or restaurant manager). If letUserChoosePassword is true, the password must be null and the user will receive an activation email to set their own password.

Request Body

json
{
  "brandId": 100,
  "email": "newuser@example.com",
  "password": "securePassword123",
  "firstName": "John",
  "lastName": "Smith",
  "phone": "0612345678",
  "role": "restaurant",
  "restaurantId": 200,
  "letUserChoosePassword": false
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
brandIdinteger100Identifier of the brand.
emailstring"newuser@example.com"Email address.
passwordstring"securePassword123"The password value.
firstNamestring"John"The first name value.
lastNamestring"Smith"The last name value.
phonestring"0612345678"Phone number.
rolestring"restaurant"The role value.
restaurantIdinteger200Identifier of the restaurant.
letUserChoosePasswordbooleanfalseThe let user choose password value.

Response

json
{
  "status": 201,
  "code": "user_create_succeed",
  "message": "User has been successfully created.",
  "data": {
    "userId": 100501,
    "email": "newuser@example.com",
    "firstName": "John",
    "lastName": "Smith",
    "phone": "0612345678",
    "role": "restaurant",
    "brandId": 100
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger201HTTP status code returned by the API.
codestring"user_create_succeed"Machine-readable application code for the result.
messagestring"User has been successfully created."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.userIdinteger100501Identifier of the user.
data.emailstring"newuser@example.com"Email address.
data.firstNamestring"John"The first name value.
data.lastNamestring"Smith"The last name value.
data.phonestring"0612345678"Phone number.
data.rolestring"restaurant"The role value.
data.brandIdinteger100Identifier of the brand.

Update User

PUT/users/{userId}Update User by ID

Update an existing user's profile information. All body fields are optional. Only the fields provided will be updated.

Parameters

NameTypeRequiredDescription
userIdstringYesThe ID of the user to update.

Request Body

json
{
  "email": "updated@example.com",
  "firstName": "Jane",
  "lastName": "Doe",
  "phone": "0698765432",
  "role": "restaurant"
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
emailstring"updated@example.com"Email address.
firstNamestring"Jane"The first name value.
lastNamestring"Doe"The last name value.
phonestring"0698765432"Phone number.
rolestring"restaurant"The role value.

Response

json
{
  "status": 200,
  "code": "user_update_succeed",
  "message": "User has been successfully updated.",
  "data": {
    "userId": 100501,
    "email": "updated@example.com",
    "firstName": "Jane",
    "lastName": "Doe",
    "phone": "0698765432",
    "role": "restaurant",
    "brandId": 100,
    "access_flags": {}
  }
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"user_update_succeed"Machine-readable application code for the result.
messagestring"User has been successfully updated."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.userIdinteger100501Identifier of the user.
data.emailstring"updated@example.com"Email address.
data.firstNamestring"Jane"The first name value.
data.lastNamestring"Doe"The last name value.
data.phonestring"0698765432"Phone number.
data.rolestring"restaurant"The role value.
data.brandIdinteger100Identifier of the brand.
data.access_flagsobject{…}Object containing access flags fields.

Assign Restaurants to User

PUT/users/{userId}/restaurants/bulkOverride Assigned Restaurants

Replace all restaurant assignments for a user. Brand users must have the CAN_MANAGE_BO_USERS access flag and ownership of the specified restaurants. This is a full replacement -- any restaurants not included will be unassigned.

Parameters

NameTypeRequiredDescription
userIdstringYesThe ID of the user whose restaurants to override.

Request Body

json
{
  "restaurantIds": [
    200,
    201,
    202
  ]
}
Request Body Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
restaurantIdsarray[…]List of restaurant ids entries.
restaurantIds[]integer200The restaurant ids value.

Response

json
{
  "status": 200,
  "code": "success",
  "message": "Success"
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"success"Machine-readable application code for the result.
messagestring"Success"Human-readable result message. Do not use this value for program logic.

Get User Restaurants

GET/users/{userId}/restaurantsGet Restaurants Assigned to a User

Retrieve the list of restaurants assigned to a specific user. Brand users must have the CAN_MANAGE_BO_USERS access flag, and the target user must belong to the same brand.

Parameters

NameTypeRequiredDescription
userIdintegerYesThe ID of the user.

Response

json
{
  "status": 200,
  "code": "user_restaurants_succeed",
  "message": "You can access to those user restaurants.",
  "data": [
    {
      "restaurantId": 200,
      "name": "Innovorder Burgers Paris"
    },
    {
      "restaurantId": 201,
      "name": "Innovorder Burgers Lyon"
    }
  ]
}
Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"user_restaurants_succeed"Machine-readable application code for the result.
messagestring"You can access to those user restaurants."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].restaurantIdinteger200Identifier of the restaurant.
data[].namestring"Innovorder Burgers Paris"The name value.