Get a List of Users by Filter user.get
Scope:
user,user_brief,user_basicWho can execute the method: any user
The user.get method allows you to retrieve a filtered list of users. The method returns all users except for: bots, email users, users for Open Channels, and Replica users.
The method does not return Bitrix24 Partners. The list of user fields in Bitrix24 that will be obtained as a result of executing the method depends on the application's/webhook's scope. Details about accessing user data can be found in the article.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
sort |
The field by which the results are sorted. Sorting works on all fields from user.add |
|
order |
Sorting direction:
|
|
FILTER |
You can additionally specify any parameters from user.add for filtering by their values. In addition to the main fields, additional ones are available:
Filtering parameters can take array values.
|
|
ADMIN_MODE |
Key for operation in administrator mode. Used to obtain data about any users |
|
start |
This parameter is used for managing pagination. The page size of results is always static: 50 records. To select the second page of results, you need to pass the value The formula for calculating the
|
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"UF_DEPARTMENT": 1,
"SORT": "ID",
"ORDER": "asc",
"start": 10
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/user.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"UF_DEPARTMENT": 1,
"SORT": "ID",
"ORDER": "asc",
"start": 10,
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/user.get
try
{
const response = await $b24.callMethod(
'user.get',
{
'UF_DEPARTMENT': 1,
'SORT': 'ID',
'ORDER': 'asc',
'start': 10
}
);
const result = response.getData().result;
console.dir(result);
}
catch( error )
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'user.get',
[
'UF_DEPARTMENT' => 1,
'SORT' => 'ID',
'ORDER' => 'asc',
'start' => 10,
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting users: ' . $e->getMessage();
}
BX24.callMethod(
"user.get",
{
"UF_DEPARTMENT": 1,
"SORT": "ID",
"ORDER": "asc",
"start": 10
},
function(result)
{
if(result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'user.get',
[
"UF_DEPARTMENT" => 1,
"SORT" => 'ID',
"ORDER" => 'asc',
"start" => 10
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Filtering by Name Starting with "Iva"
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"NAME":"Iva%"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/user.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"NAME":"Iva%"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/user.get
try
{
const response = await $b24.callMethod(
'user.get',
{
filter: {
"NAME": "Iva%"
}
}
);
const result = response.getData().result;
console.log(result);
}
catch( error )
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'user.get',
[
'filter' => [
'NAME' => 'Iva%'
]
}
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching user data: ' . $e->getMessage();
}
BX24.callMethod(
"user.get",
{
filter: {
"NAME": "Iva%"
}
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'user.get',
[
'filter' => [
'NAME' => 'Iva%'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Filtering by Last Name Not Containing "ov"
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"!%LAST_NAME":"ov"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/user.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"!%LAST_NAME":"ov"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/user.get
try
{
const response = await $b24.callMethod(
"user.get",
{
filter: {
"!%LAST_NAME": "ov"
}
}
);
const result = response.getData().result;
console.log(result);
}
catch( error )
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'user.get',
[
'filter' => [
'!%LAST_NAME' => 'ov',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting users: ' . $e->getMessage();
}
BX24.callMethod(
"user.get",
{
filter: {
"!%LAST_NAME": "ov"
}
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'user.get',
[
'filter' => [
'!%LAST_NAME' => 'ov'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Filtering by Multiple Cities of Residence
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"@PERSONAL_CITY":["New York","Los Angeles"]}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/user.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"@PERSONAL_CITY":["New York","Los Angeles"]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/user.get
try
{
const response = await $b24.callMethod(
'user.get',
{
filter: {
'@PERSONAL_CITY': ['New York', 'Los Angeles']
}
}
);
const result = response.getData().result;
console.log(result);
}
catch( error )
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'user.get',
[
'filter' => [
'@PERSONAL_CITY' => ['New York', 'Los Angeles']
]
}
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting users: ' . $e->getMessage();
}
BX24.callMethod(
"user.get",
{
filter: {
"@PERSONAL_CITY": ["New York", "Los Angeles"]
}
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'user.get',
[
'filter' => [
'@PERSONAL_CITY' => ['New York', 'Los Angeles']
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP Status: 200
{
"result": [
{
"ID": "1",
"ACTIVE": true,
"NAME": "Vadim",
"LAST_NAME": "Valeev",
"SECOND_NAME": "",
"EMAIL": "v.r.valeev@bitrix.com",
"LAST_LOGIN": "2024-07-25T13:06:54+00:00",
"DATE_REGISTER": "2024-07-15T00:00:00+00:00",
"TIME_ZONE": "",
"IS_ONLINE": "Y",
"TIMESTAMP_X": {
},
"LAST_ACTIVITY_DATE": {
},
"PERSONAL_GENDER": "",
"PERSONAL_WWW": "",
"PERSONAL_BIRTHDAY": "2018-07-14T00:00:00+00:00",
"PERSONAL_MOBILE": "",
"PERSONAL_CITY": "",
"WORK_PHONE": "",
"WORK_POSITION": "",
"UF_EMPLOYMENT_DATE": "",
"UF_DEPARTMENT": [1],
"USER_TYPE": "employee"
},
{
"ID": "3",
"ACTIVE": true,
"NAME": "John",
"LAST_NAME": "Doe",
"EMAIL": "test@gmail.com",
"LAST_LOGIN": "2024-07-24T09:01:55+00:00",
"DATE_REGISTER": "2024-07-22T00:00:00+00:00",
"IS_ONLINE": "N",
"TIMESTAMP_X": {
},
"LAST_ACTIVITY_DATE": {
},
"PERSONAL_GENDER": "",
"PERSONAL_BIRTHDAY": "",
"WORK_POSITION": "",
"UF_EMPLOYMENT_DATE": "",
"UF_DEPARTMENT": [1],
"USER_TYPE": "employee"
}
],
"total": 2,
"time": {
"start": 1721913235.39648,
"finish": 1721913235.45078,
"duration": 0.05430006980896,
"processing": 0.0187909603118897,
"date_start": "2024-07-25T13:13:55+00:00",
"date_finish": "2024-07-25T13:13:55+00:00",
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
The root element of the response, which contains the filtered list of users |
|
total |
The total number of records found |
|
time |
Information about the execution time of the request |
Error Handling
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Invite User user.add
- Update User Data user.update
- Get Information About the Current User user.current
- Get a list of users with search by personal data user.search
- Get User Fields user.fields
- How to Filter Items by Stage Name
- How to Send an Email to a Client on Behalf of an Employee
- How to Get a List of Activities from Deals
'ADMIN_MODE': 'True'