im.search.user.list
Найти пользователей
Описание
Метод im.search.user.list выполняет поиск пользователей по имени, фамилии, должности и подразделению.
Параметры
FIND
string
обязательный
Поисковая фраза. Минимальное количество символов для поиска — 2
BUSINESS
string
необязательный
Искать только среди бизнес-пользователей.
Допустимые значения:
- Y — да
- N — нет
Значение по умолчанию — N
OFFSET
integer
необязательный
Смещение выборки пользователей. По умолчанию 0
LIMIT
integer
необязательный
Количество элементов в выборке. По умолчанию 10. Максимальное значение 50
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"FIND":"Иван","BUSINESS":"N","OFFSET":0,"LIMIT":10}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/im.search.user.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"FIND":"Иван","BUSINESS":"N","OFFSET":0,"LIMIT":10,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/im.search.user.list
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of each user returned in result[]
type UserResult = {
id: number
name: string
first_name: string
last_name: string
work_position: string
color: string
avatar: string | null
gender: string
birthday: string | false
extranet: boolean
network: boolean
bot: boolean
connector: boolean
external_auth_id: string
status: string
idle: ISODate | false
last_activity_date: ISODate | false
mobile_last_date: ISODate | false
departments: number[]
absent: ISODate | false
phones: {
work_phone: string
personal_mobile: string
inner_phone: string
} | false
}
try {
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
const response = await $b24.actions.v2.call.make<UserResult[]>({
method: 'im.search.user.list',
params: {
FIND: 'Ivan',
BUSINESS: 'N',
OFFSET: 0,
LIMIT: 10,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Found users:', result.length, result[0]?.name)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function searchUserList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
const response = await $b24.actions.v2.call.make({
method: 'im.search.user.list',
params: {
FIND: 'Ivan',
BUSINESS: 'N',
OFFSET: 0,
LIMIT: 10,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Found users:', result.length, result[0]?.name)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', searchUserList)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.im.search.user.list(
find="Иван",
business=False,
offset=0,
limit=10,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service->core->call(
'im.search.user.list',
[
'FIND' => 'Иван',
'BUSINESS' => 'N',
'OFFSET' => 0,
'LIMIT' => 10,
]
);
$result = $response->getResponseData()->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
var_dump($result->data());
}
} catch (Throwable $exception) {
echo $exception->getMessage();
}
BX24.callMethod(
'im.search.user.list',
{
FIND: 'Иван',
BUSINESS: 'N',
OFFSET: 0,
LIMIT: 10,
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data(), result.total(), result.next());
}
}
);
require_once('crest.php');
$result = CRest::call(
'im.search.user.list',
[
'FIND' => 'Иван',
'BUSINESS' => 'N',
'OFFSET' => 0,
'LIMIT' => 10,
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
var_dump($result['result']);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "im.search.user.list", b24.Params{
"FIND": "Иван",
"BUSINESS": "N",
"OFFSET": 0,
"LIMIT": 10,
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("im.search.user.list: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
{
"result": {
"103": {
"id": 103,
"name": "Светлана Иванова",
"first_name": "Светлана",
"last_name": "Иванова",
"work_position": "Руководитель ИТ-отдела",
"color": "#4ba984",
"avatar": "https://example.bitrix24.ru/upload/main/avatar.png",
"gender": "F",
"birthday": "08-03",
"extranet": false,
"network": false,
"bot": false,
"connector": false,
"external_auth_id": "socservices",
"status": "online",
"idle": false,
"last_activity_date": "2026-03-04T15:40:56+03:00",
"mobile_last_date": false,
"departments": [1, 7],
"absent": false,
"phones": {
"work_phone": "79123456789",
"personal_mobile": "81234567890",
"inner_phone": "78"
}
}
},
"total": 2,
"time": {
"start": 1772628089,
"finish": 1772628089.061656,
"duration": 0.06165599822998047,
"processing": 0,
"date_start": "2026-03-04T15:41:29+03:00",
"date_finish": "2026-03-04T15:41:29+03:00",
"operating_reset_at": 1772628689,
"operating": 0
}
}
Возвращаемые данные
result
object
Найденные пользователи. Ключ каждого элемента равен идентификатору пользователя. Если ничего не найдено, метод возвращает пустой массив.
Структура объекта пользователя подробно описана ниже
total
integer
Общее количество найденных пользователей
next
integer
Смещение следующей страницы. Поле возвращается, если есть следующая страница
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "FIND_SHORT",
"error_description": "Too short a search phrase."
}
| Код | Описание | Значение |
|---|---|---|
FIND_SHORT |
Too short a search phrase | Поисковая фраза не передана или слишком короткая для внутреннего фильтра поиска |

