{% note tip "" %}
If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.
{% endnote %}
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, e-mail users, Open Channels users, and Replica users.
By default, the method sorts users by ascending ID.
{% note info "" %}
The method does not return integrators. The list of Bitrix24 user fields that will be retrieved as a result of the method execution depends on the scope of the application/webhook. Details regarding access to user data can be found in the article.
{% endnote %}
{% include Note on required parameters %}
#|
|| Name
type | Description ||
|| sort
string | The field by which the results are sorted. Sorting works for all fields from user.add ||
|| order
string | Sorting direction:
ASC— ascendingDESC— descending || || FILTERstring| Additionally, you can specify any parameters from user.add to filter by their values. In addition to the main fields, the following additional ones are available:UF_DEPARTMENT— belonging to the company structure;UF_PHONE_INNER— internal telephone number;IS_ONLINE— [Y|N] allows showing only authorized or non-authorized users.NAME_SEARCH— quick search by personal data.USER_TYPE— user type. Can take the following values:employee— employee,extranet— extranet user,email— mail user
ACTIVE— when set to true, excludes terminated users from the request.
Filtering parameters can take array values. A key can be assigned an additional prefix that clarifies the filter behavior. Possible prefix values:
-
>=— greater than or equal to -
>— greater than -
<=— less than or equal to -
<— less than -
@— IN (an array is passed as a value) -
!@— NOT IN (an array is passed as a value) -
%— LIKE, substring search. The%symbol does not need to be passed in the filter value. The search looks for a substring in any position of the string -
=%— LIKE, substring search. The%symbol must be passed in the value. Examples:- "mol%" — searching for values starting with "mol"
- "%mol" — searching for values ending with "mol"
- "%mol%" — searching for values where "mol" can be in any position
-
%=— LIKE (see description above) -
!%— NOT LIKE, substring search. The%symbol does not need to be passed in the filter value. The search goes from both sides. -
!=%— NOT LIKE, substring search. The%symbol must be passed in the value. Examples:- "mol%" — searching for values that do not start with "mol"
- "%mol" — searching for values that do not end with "mol"
- "%mol%" — searching for values where the substring "mol" is not present in any position
-
!%=— NOT LIKE (see description above) -
=— equal, exact match (used by default) -
!=- not equal -
!— not equal
Pass the values of date and time fields in ISO 8601 format, for example 2020-01-01T00:00:00+02:00, or in the date format of your Bitrix24. This applies to the TIMESTAMP_X, DATE_REGISTER, LAST_LOGIN, LAST_ACTIVITY_DATE, PERSONAL_BIRTHDAY, UF_EMPLOYMENT_DATE fields and to custom fields of the date and date-time types. If the value is not recognized as a date, the condition retrieves no records
||
|| ADMIN_MODE
boolean | [Key for operation](*key_Key for operation) in administrator mode. Used to obtain data about any users ||
|| select
array | An array with the names of the fields to return in the response. Without this parameter, the method returns all fields available to the application or webhook scope.
When selecting, use masks:
*— all available fieldsUF_*— all available custom fields, including those created in Bitrix24
The method skips fields that are unavailable to the scope or do not exist, without returning an error ||
|| IMAGE_RESIZE
string | The size of the photo copy in the PERSONAL_PHOTO field:
small— 150 × 150 pixelsmedium— 300 × 300 pixelslarge— 1000 × 1000 pixels
Without this parameter, the method returns a link to the original image ||
|| start
integer | The parameter is used to control pagination.
The results page size is always static: 50 records.
To select the second page of results, you must pass the value 50. To select the third page of results — the value 100 and so on.
Formula for calculating the value of the start parameter:
start = (N-1) * 50, where N — the number of the desired page ||
|#
{% note tip "How to Speed Up List Retrieval" %}
- Pass only the fields you need in the
selectparameter. If none of them are custom fields, the method skips loading custom field data - Disable the total count calculation with
start = -1when you retrieve large volumes of data. In this mode, select pages by filtering on the last received identifier — How to Retrieve Large Volumes of Data
{% endnote %}
{% include Note on examples %}
{% list tabs %}
-
cURL (Webhook)
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 (OAuth)
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 -
JS (TS)
// 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 type UserData = { ID: string ACTIVE: boolean NAME: string LAST_NAME: string SECOND_NAME: string EMAIL: string LAST_LOGIN: ISODate | '' DATE_REGISTER: ISODate | '' TIME_ZONE: string IS_ONLINE: string PERSONAL_GENDER: string PERSONAL_BIRTHDAY: ISODate | '' PERSONAL_CITY: string WORK_PHONE: string WORK_POSITION: string UF_EMPLOYMENT_DATE: string UF_DEPARTMENT: number[] USER_TYPE: string } try { // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make<UserData[]>({ method: 'user.get', params: { UF_DEPARTMENT: 1, SORT: 'ID', ORDER: 'asc', start: 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME}`)) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }
-
JS (UMD)
<!-- 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 getUsers() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make({ method: 'user.get', params: { UF_DEPARTMENT: 1, SORT: 'ID', ORDER: 'asc', start: 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME}`)) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getUsers) </script>
-
Python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.user.get( filter={ "UF_DEPARTMENT": 1, }, sort="ID", order="asc", start=10, ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")
-
PHP
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.js
BX24.callMethod( "user.get", { "UF_DEPARTMENT": 1, "SORT": "ID", "ORDER": "asc" }, function(result) { if (result.error()) { console.error(result.error()); return; } console.dir(result.data()); if (result.more()) { result.next(); } } );
-
PHP CRest
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>';
{% endlist %}
{% list tabs %}
-
cURL (Webhook)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"filter":{"NAME":"Iv%"}}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/user.get
-
cURL (OAuth)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"filter":{"NAME":"Iv%"},"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/user.get
-
JS (TS)
// 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 type UserData = { ID: string ACTIVE: boolean NAME: string LAST_NAME: string EMAIL: string LAST_LOGIN: ISODate | '' DATE_REGISTER: ISODate | '' IS_ONLINE: string UF_DEPARTMENT: number[] USER_TYPE: string } try { // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make<UserData[]>({ method: 'user.get', params: { filter: { NAME: 'Iva%', }, }, 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME}`)) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }
-
JS (UMD)
<!-- 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 getUsersByName() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make({ method: 'user.get', params: { filter: { NAME: 'Iva%', }, }, 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME}`)) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getUsersByName) </script>
-
Python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.user.get( filter={ "NAME": "Iva%", }, ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")
-
PHP
try { $response = $b24Service ->core ->call( 'user.get', [ 'filter' => [ 'NAME' => 'Iv%' ] ] ); $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.js
BX24.callMethod( "user.get", { filter: { "NAME": "Iv%" } }, function(result) { if (result.error()) { console.error(result.error()); } else { console.log(result.data()); } } );
-
PHP CRest
require_once('crest.php'); $result = CRest::call( 'user.get', [ 'filter' => [ 'NAME' => 'Iv%' ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';
-
Go
// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "user.get", b24.Params{ "FILTER": b24.Params{ "NAME": "Iv%", }, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("user.get: %w", err) } var items []struct { ID b24.ID `json:"ID"` Active bool `json:"ACTIVE"` Name string `json:"NAME"` LastName string `json:"LAST_NAME"` SecondName string `json:"SECOND_NAME"` Email string `json:"EMAIL"` } if err := json.Unmarshal(res.Result, &items); err != nil { return fmt.Errorf("parse response: %w", err) } for _, it := range items { fmt.Println(it.ID, it.Active) }
{% endlist %}
{% list tabs %}
-
cURL (Webhook)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"filter":{"!%LAST_NAME":"an"}}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/user.get
-
cURL (OAuth)
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"filter":{"!%LAST_NAME":"an"},"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/user.get
-
JS (TS)
// 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 type UserData = { ID: string ACTIVE: boolean NAME: string LAST_NAME: string EMAIL: string LAST_LOGIN: ISODate | '' DATE_REGISTER: ISODate | '' IS_ONLINE: string UF_DEPARTMENT: number[] USER_TYPE: string } try { // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make<UserData[]>({ method: 'user.get', params: { filter: { '!%LAST_NAME': 'ov', }, }, 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME}`)) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }
-
JS (UMD)
<!-- 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 getUsersByLastName() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make({ method: 'user.get', params: { filter: { '!%LAST_NAME': 'ov', }, }, 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME}`)) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getUsersByLastName) </script>
-
Python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.user.get( filter={ "!%LAST_NAME": "ov", }, ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")
-
PHP
try { $response = $b24Service ->core ->call( 'user.get', [ 'filter' => [ '!%LAST_NAME' => 'an', ], ] ); $result = $response ->getResponseData() ->getResult(); echo 'Success: ' . print_r($result, true); } catch (Throwable $e) { error_log($e->getMessage()); echo 'Error getting users: ' . $e->getMessage(); }
-
BX24.js
BX24.callMethod( "user.get", { filter: { "!%LAST_NAME": "an" } }, function(result) { if (result.error()) { console.error(result.error()); } else { console.log(result.data()); } } );
-
PHP CRest
require_once('crest.php'); $result = CRest::call( 'user.get', [ 'filter' => [ '!%LAST_NAME' => 'an' ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';
-
Go
// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "user.get", b24.Params{ "FILTER": b24.Params{ "!%LAST_NAME": "er", }, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("user.get: %w", err) } var items []struct { ID b24.ID `json:"ID"` Active bool `json:"ACTIVE"` Name string `json:"NAME"` LastName string `json:"LAST_NAME"` SecondName string `json:"SECOND_NAME"` Email string `json:"EMAIL"` } if err := json.Unmarshal(res.Result, &items); err != nil { return fmt.Errorf("parse response: %w", err) } for _, it := range items { fmt.Println(it.ID, it.Active) }
{% endlist %}
{% list tabs %}
-
cURL (Webhook)
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 (OAuth)
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
-
JS (TS)
// 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 type UserData = { ID: string ACTIVE: boolean NAME: string LAST_NAME: string EMAIL: string LAST_LOGIN: ISODate | '' DATE_REGISTER: ISODate | '' IS_ONLINE: string PERSONAL_CITY: string UF_DEPARTMENT: number[] USER_TYPE: string } try { // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make<UserData[]>({ method: 'user.get', params: { filter: { '@PERSONAL_CITY': ['New York', 'Los Angeles'], }, }, 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME} (${u.PERSONAL_CITY})`)) } } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) }
-
JS (UMD)
<!-- 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 getUsersByCity() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() // user.get returns a single page (max 50 records). For the whole result set // 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). // NOTE: the list helpers do not accept `order` (it is excluded from their params, so // passing it is a TS error) — keep this call.make + `start` variant when sort matters. const response = await $b24.actions.v2.call.make({ method: 'user.get', params: { filter: { '@PERSONAL_CITY': ['New York', 'Los Angeles'], }, }, 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(`Fetched ${result.length} users:`, result.map(u => `${u.NAME} ${u.LAST_NAME} (${u.PERSONAL_CITY})`)) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getUsersByCity) </script>
-
Python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException try: bitrix_response = client.user.get( filter={ "@PERSONAL_CITY": [ "New York", "Los Angeles", ], }, ).response result = bitrix_response.result print(result) except BitrixAPIError as error: print( "Bitrix API error", f"error: {error.error}", f"error_description: {error.error_description}", sep="\n", ) except BitrixSDKException as error: print(f"Bitrix SDK error: {error.message}") except Exception as error: print(f"Unexpected error: {error}")
-
PHP
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.js
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()); } } );
-
PHP CRest
require_once('crest.php'); $result = CRest::call( 'user.get', [ 'filter' => [ '@PERSONAL_CITY' => ['New York', 'Los Angeles'] ] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';
-
Go
// client and ctx are already created — see the Go SDK section res, err := client.Core().Call(ctx, "user.get", b24.Params{ "FILTER": b24.Params{ "@PERSONAL_CITY": []string{"Berlin", "Munich"}, }, }, b24.WithIdempotent()) if err != nil { return fmt.Errorf("user.get: %w", err) } var items []struct { ID b24.ID `json:"ID"` Active bool `json:"ACTIVE"` Name string `json:"NAME"` LastName string `json:"LAST_NAME"` SecondName string `json:"SECOND_NAME"` Email string `json:"EMAIL"` } if err := json.Unmarshal(res.Result, &items); err != nil { return fmt.Errorf("parse response: %w", err) } for _, it := range items { fmt.Println(it.ID, it.Active) }
{% endlist %}
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": "Smith",
"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
}
}#|
|| Name
type | Description ||
|| result
object | The response root element, which contains the filtered list of users ||
|| total
integer | The total number of records found ||
|| time
time | Information about the request execution time ||
|#
{% include System errors %}
[*key_Key for work]: 'ADMIN_MODE': 'True'