Get users API

edit

Retrieves information about users in the native realm and built-in users.

Request

edit

GET /_security/user

GET /_security/user/<username>

Prerequisites

edit
  • To use this API, you must have at least the read_security cluster privilege.

Description

edit

For more information about the native realm, see Realms and Native user authentication.

Path parameters

edit
username
(Optional, string) An identifier for the user. You can specify multiple usernames as a comma-separated list. If you omit this parameter, the API retrieves information about all users.

Query parameters

edit
with_profile_uid
(Optional, boolean) Determines whether to retrieve the user profile uid, if exists, for the users. Defaults to false.

Response body

edit

A successful call returns an array of users with the JSON representation of the users. Note that user passwords are not included.

Response codes

edit

If the user is not defined in the native realm, the request 404s.

Examples

edit

To retrieve a native user, submit a GET request to the /_security/user/<username> endpoint:

resp = client.security.get_user(
    username="jacknich",
)
print(resp)
const response = await client.security.getUser({
  username: "jacknich",
});
console.log(response);
GET /_security/user/jacknich
{
  "jacknich": {
    "username": "jacknich",
    "roles": [
      "admin", "other_role1"
    ],
    "full_name": "Jack Nicholson",
    "email": "jacknich@example.com",
    "metadata": { "intelligence" : 7 },
    "enabled": true
  }
}

To retrieve the user profile_uid as part of the response:

resp = client.security.get_user(
    username="jacknich",
    with_profile_uid=True,
)
print(resp)
const response = await client.security.getUser({
  username: "jacknich",
  with_profile_uid: "true",
});
console.log(response);
GET /_security/user/jacknich?with_profile_uid=true
{
  "jacknich": {
    "username": "jacknich",
    "roles": [
      "admin", "other_role1"
    ],
    "full_name": "Jack Nicholson",
    "email": "jacknich@example.com",
    "metadata": { "intelligence" : 7 },
    "enabled": true,
    "profile_uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0"
  }
}

Omit the username to retrieve all users:

resp = client.security.get_user()
print(resp)
const response = await client.security.getUser();
console.log(response);
GET /_security/user