User

The User API allows you to search, create and edit existing users, as well as set their user configuration values.

API SUBPATH: eva-user

Pagination and Listings

Search for all users through the organization informed.

get
Path parameters
orgUUIDstringRequired

It is the organization the user is in.

Query parameters
pageinteger · int32Required

It is the number of pages that will be returned, default value 0.

Default: 0Example: 1
linesPerPageinteger · int32Required

It is the number of users per page, default value 5.

Default: 5Example: 1
orderBystringRequired

It is the user attribute used for ordination the page, default attribute createdAt.

Default: createdAt
directionstringRequired

It is the sorting type, default value DESC.

Default: DESC
searchTermsstringRequired

It is the parameter that contains the user data entry, that will be used to filter the users.

Responses
200
Ok
*/*
get
GET /org/{orgUUID}/users?page=0&linesPerPage=5&orderBy=createdAt&direction=DESC&searchTerms=text HTTP/1.1
Host: 
Accept: */*
{
  "totalPages": 1,
  "totalElements": 1,
  "pageable": {
    "paged": true,
    "pageNumber": 1,
    "pageSize": 1,
    "offset": 1,
    "sort": {
      "sorted": true,
      "empty": true,
      "unsorted": true
    },
    "unpaged": true
  },
  "numberOfElements": 1,
  "size": 1,
  "content": [
    {
      "name": "text",
      "image": "text",
      "environments": [
        {
          "role": "text",
          "environment": {
            "uuid": "text",
            "name": "text"
          }
        }
      ],
      "email": "text",
      "company": "text",
      "admin": true,
      "orgUUID": "text",
      "createdAt": "2025-07-10T20:33:21.399Z",
      "rules": {
        "deletable": true
      },
      "uuid": "text"
    }
  ],
  "number": 1,
  "sort": {
    "sorted": true,
    "empty": true,
    "unsorted": true
  },
  "first": true,
  "last": true,
  "empty": true
}

Its service is used to search a users by name

get
Path parameters
orgUUIDstringRequired

It is the organization where the user is, used to filter the user by organization

Query parameters
namestringRequired

It is the parameter used to search for users related to the entered value

limitinteger · int32Optional

It is the max number of result, default value 6

Default: 6Example: 6
Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs

Responses
200
Ok
*/*
Responsestring[]
get
GET /org/{orgUUID}/users/quicksearch?name=text HTTP/1.1
Host: 
Accept: */*
[
  "text"
]

CRUD Operations

Performs user creation allowing access to the chosen environment and bots. The user is also registered with our Identity Provider

post
Path parameters
orgUUIDstringRequired

Is the organization that the user will be created.

Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

languagestringOptional

The language that the email arriving for their created user will be. Possible values: 'en' - English 'es' - Spanish 'ja' - Japanese 'pt' - Portuguese

Default: en
Body

A body containing all user data to be created, including the bots and environments the user has access to. See the template for instructions on how to build them.

namestringRequired

Name of the user.

imagestringOptional

Image of the user.

emailstringRequired

Email of the user.

companystringOptional

Company of the user.

adminbooleanOptional

Flag that identifies if the user is admin.

Responses
201
Ok
*/*
post
POST /org/{orgUUID}/users HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 177

{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true
}
{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text",
          "name": "text",
          "environmentUuid": "text",
          "image": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true,
  "orgUUID": "text",
  "createdAt": "2025-07-10T20:33:21.399Z",
  "uuid": "text"
}

Search for a user through the UUID and the organization informed.

get
Path parameters
orgUUIDstringRequired

It is the organization the user is in.

userIdstringRequired

It is the user id that will be used in the search process.

Responses
200
Ok
*/*
get
GET /org/{orgUUID}/users/{userId} HTTP/1.1
Host: 
Accept: */*
{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text",
          "name": "text",
          "environmentUuid": "text",
          "image": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true,
  "orgUUID": "text",
  "createdAt": "2025-07-10T20:33:21.399Z",
  "uuid": "text"
}

Updated the user's base data and accesses the chosen environment and bots. The user is also up to date on our Identity Provider.

put
Path parameters
orgUUIDstringRequired

It is the organization the user is in.

userIdstringRequired

It is the id that will be used to search the user in the database for the update.

Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

Body

A body containing all user data to be created, including the bots and environments the user has access to. See the template for instructions on how to build them.

namestringRequired

Name of the user.

imagestringOptional

Image of the user.

emailstringRequired

Email of the user.

companystringOptional

Company of the user.

adminbooleanOptional

Flag that identifies if the user is admin.

passwordstringOptional

Password of the user.

confirmPasswordstringOptional

Confirmation of the user's password, both must have the same value.

Responses
200
Ok
*/*
put
PUT /org/{orgUUID}/users/{userId} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 220

{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true,
  "password": "text",
  "confirmPassword": "text"
}
{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text",
          "name": "text",
          "environmentUuid": "text",
          "image": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true,
  "orgUUID": "text",
  "createdAt": "2025-07-10T20:33:21.399Z",
  "uuid": "text"
}

Service responsible for activating a deleted user, thus enabling the user's access to the system.

put
Path parameters
orgUUIDstringRequired

It is the organization the user is in.

Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

languagestringOptional

The language that the email arriving for their created user will be. Possible values: 'en' - English 'es' - Spanish 'ja' - Japanese 'pt' - Portuguese

Default: en
Body

A body containing all user data to be created, including the bots and environments the user has access to. See the template for instructions on how to build them.

namestringRequired

Name of the user.

imagestringOptional

Image of the user.

emailstringRequired

Email of the user.

companystringOptional

Company of the user.

adminbooleanOptional

Flag that identifies if the user is admin.

passwordstringOptional

Password of the user.

confirmPasswordstringOptional

Confirmation of the user's password, both must have the same value.

Responses
200
Ok
*/*
put
PUT /org/{orgUUID}/users/activate HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 220

{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true,
  "password": "text",
  "confirmPassword": "text"
}
{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text",
          "name": "text",
          "environmentUuid": "text",
          "image": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true,
  "orgUUID": "text",
  "createdAt": "2025-07-10T20:33:21.399Z",
  "uuid": "text"
}

Service responsible for deleting a user, the delete is logical thus enabling its activation in the future.

delete
Path parameters
orgUUIDstringRequired

It is the organization the user is in.

userUuidstringRequired
Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

Responses
204
No content
delete
DELETE /org/{orgUUID}/users/{userUuid} HTTP/1.1
Host: 
Accept: */*

No content

Auxiliary Methods

If you need to find a User and it's details by it's token, or to retrieve information abour the currently logged in user, this is the method you want.

Search for a user through the data in the informed token.

get
Path parameters
orgUUIDstringRequired

It is the organization the user is in.

Header parameters
AuthorizationstringRequired

Access Token

Example: Bearer access_token
Responses
200
Ok
*/*
get
GET /org/{orgUUID}/users/identity-provider HTTP/1.1
Host: 
Authorization: text
Accept: */*
{
  "name": "text",
  "image": "text",
  "environments": [
    {
      "role": "text",
      "environment": {
        "uuid": "text",
        "name": "text"
      },
      "bots": [
        {
          "uuid": "text",
          "name": "text",
          "environmentUuid": "text",
          "image": "text"
        }
      ]
    }
  ],
  "email": "text",
  "company": "text",
  "admin": true,
  "orgUUID": "text",
  "createdAt": "2025-07-10T20:33:21.399Z",
  "uuid": "text"
}

User Configurations

Its function is to save user settings.

post
Path parameters
orgUUIDstringRequired

Not used.

Body

A body containing the user's new configuration data.

keystringRequired

A User Configuration Key, which can be any String

valuestringRequired

The value being assigned to said key.

botUUIDstringOptional

Optional Value. If present, sets the configuration specifically for designated bot.

Responses
200
Ok
*/*
post
POST /org/{orgUUID}/configurations HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "key": "text",
  "value": "text",
  "botUUID": "text"
}
{
  "id": 1,
  "user": {
    "uuid": "text",
    "organizationUuid": "text",
    "identityProviderReference": "text",
    "name": "text",
    "email": "text",
    "imageUrl": "text",
    "company": "text",
    "admin": true,
    "removed": true,
    "createdBy": "text",
    "updatedBy": "text",
    "createdAt": "2025-07-10T20:33:21.399Z",
    "updatedAt": "2025-07-10T20:33:21.399Z"
  },
  "key": "text",
  "value": "text",
  "botUuid": "text"
}

Return all settings for a user.

get
Path parameters
orgUUIDstringRequired

Not used.

Responses
200
Ok
*/*
get
GET /org/{orgUUID}/configurations HTTP/1.1
Host: 
Accept: */*
[
  {
    "key": "text",
    "value": "text",
    "botUUID": "text"
  }
]

Checks if the user has a configuration.

get
Path parameters
orgUUIDstringRequired

Not used.

Query parameters
keystringRequired

A key that represents a configuration, is this key that will be checked.

Responses
200
Ok
*/*
Responseboolean
get
GET /org/{orgUUID}/configurations/userHasConf?key=text HTTP/1.1
Host: 
Accept: */*
true

Return all bot-specific settings for a user.

get
Path parameters
orgUUIDstringRequired

Not used.

botUUIDstringRequired

Bot containing this configuration

Responses
200
Ok
*/*
get
GET /org/{orgUUID}/configurations/{botUUID} HTTP/1.1
Host: 
Accept: */*
[
  {
    "key": "text",
    "value": "text",
    "botUUID": "text"
  }
]

Checks if the user has a bot-specific configuration.

get
Path parameters
orgUUIDstringRequired

Not used.

botUUIDstringRequired

Bot containing this configuration

Query parameters
keystringRequired

A key that represents a configuration, is this key that will be checked.

Responses
200
Ok
*/*
Responseboolean
get
GET /org/{orgUUID}/configurations/{botUUID}/userHasConf?key=text HTTP/1.1
Host: 
Accept: */*
true

Bulk Operations

Bulk Create

This endpoint is responsible for the mass creation of users, through a csv file, with each line containing the following data, as follows:

email;name;company;role;password;environmentUuid;environmentName;bot
  • Email: Email of the user being created.

  • Name: Name of the user being created

  • Company: It is company name

  • Password: The user's starting password.

  • Role: The Role assigned to each user.

  • EnvironmentUuid: Id of the environment that will be attached to role (viewer, editor or supervisor)

  • EnvironmentName: Environment Name

  • Bot: Bot uuid that will be attached to environment reported in the column "EnvironmentUuid"

A few rules to note:

  • User emails must be unique There may be no other user with the same email in a whole organization.

  • A user may only have one role.

  • The password must follow the designated Keycloak policies (By standard, at least one uppercase character, a lowercase character, a special or numeral and it must have a minimum of 6 characters)

  • When creating common users (viewer or editor) the environmentUuid, environmentName, and bot fields are mandatory

  • When creating a supervisor user the environmentUuid and environmentName fields are mandatory

  • The role column must be one of the following values: ADMIN, SUPERVISOR, EDITOR or VIEWER; and cannot be a null value.

  • EnvironmentUuid, environmentName, and bot must exist in the database, be active and be related

The request is a Multipart Form POST with a property "file" where its value will be the csv file to be processed.

It performs the creation of users in bulk, through a csv file, allowing access to the chosen environment and bots. The user is also registered with our Identity Provider

post
Path parameters
orgUUIDstringRequired

Is the organization that the user will be created.

Header parameters
languagestringOptional

The language that the email arriving for their created user will be. Possible values: 'en' - English 'es' - Spanish 'ja' - Japanese 'pt' - Portuguese

Default: en
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

Body
filestring · binaryRequired

It is the file that contains the users data.

Responses
200
OK
*/*
post
POST /org/{orgUUID}/users/bulk-create HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
{
  "errors": [
    {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  ]
}

If at least a single user was created, you'll receive a 200 success response, with a list of errors for whichever users failed to be created. Along with their emails, a message will inform the triggering issue, as follows:

{
    "errors":[
        {...},
        {
            "[email protected]": "triggering cause of error message"
        }
        {...}
    ]
}

Allows user removal through a body containing a list of emails that will be removed

delete
Path parameters
orgUUIDstringRequired

Is the organization that the user will be created.

Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

Bodystring[]
string[]Optional
Responses
200
OK
*/*
delete
DELETE /org/{orgUUID}/users/bulk-delete HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 8

[
  "text"
]
{
  "errors": [
    {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  ]
}

It performs the changes of users permissions in bulk, through a csv file, allowing access to the chosen environment and bots. The user is also registered with our Identity Provider

post
Path parameters
orgUUIDstringRequired

Is the organization that the user will be created.

Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

Body
filestring · binaryRequired

It is the file that contains the users data.

Responses
200
OK
*/*
post
POST /org/{orgUUID}/users/bulk-permissions HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
{
  "errors": [
    {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  ]
}

It performs the exclusion of users permissions in bulk, restricting access to the chosen environment and bots.

delete
Path parameters
orgUUIDstringRequired

Is the organization that the user will be created.

Header parameters
x-request-idstringOptional

It is an identifier provided by the API client that will be used to identify distributed logs.

Bodyobject[]
emailstringOptional
Responses
200
OK
*/*
delete
DELETE /org/{orgUUID}/users/bulk-permissions HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 101

[
  {
    "email": "text",
    "permissions": [
      {
        "role": "ADMIN",
        "envUUID": "text",
        "removeAll": true,
        "bots": [
          "text"
        ]
      }
    ]
  }
]
{
  "errors": [
    {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  ]
}

Last updated

Was this helpful?