Bitrix24 Users API
The Users API from Bitrix24 — 8 operation(s) for users.
The Users API from Bitrix24 — 8 operation(s) for users.
openapi: 3.0.3
info:
title: Bitrix24 REST BIconnector Users API
version: 1.0.0
description: 'Bitrix24 REST API provides access to CRM, tasks, drive, chats, telephony, e-commerce, automation, and other modules. Documentation: https://apidocs.bitrix24.com'
contact:
name: Bitrix24 Developer Support
url: https://apidocs.bitrix24.com/support.html
license:
name: MIT
url: https://github.com/bitrix-tools/b24-rest-docs/blob/main/LICENSE
x-logo:
url: https://apidocs.bitrix24.com/_images/bitrix24logo.svg
servers:
- url: https://{portal}.bitrix24.com/rest
description: Your Bitrix24 portal (cloud)
variables:
portal:
default: your-portal
description: Subdomain of your Bitrix24 portal
- url: https://{host}/rest
description: On-Premise Bitrix24 installation
variables:
host:
default: your-bitrix24.example.com
description: Host of your on-premise installation
security:
- AccessToken: []
tags:
- name: Users
paths:
/user.current:
post:
summary: Get Information About the Current User user.current
description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `user.current` retrieves information about the [current](*current_key*) user. 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 user data access can be found in the [article](index.md). The method has no parameters. However, by making a REST request using data from `$_REQUEST` to the domain `DOMAIN` and adding `AUTH_ID` to the request for access to Bitrix24, you can find out which user opened the page in the context of Bitrix24.
operationId: user_current
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/user-current.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
result:
type: object
description: '| The root element of the response that contains information about the user ||'
time:
type: string
description: '| Information about the request execution time ||'
application/x-www-form-urlencoded:
schema:
type: object
properties:
result:
type: object
description: '| The root element of the response that contains information about the user ||'
time:
type: string
description: '| Information about the request execution time ||'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user
/user.fields:
post:
summary: Get User Fields user.fields
description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The `user.fields` method allows you to retrieve a list of user field names. The method returns a standard list of fields, and the use of custom fields is not supported. 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](index.md). Without parameters.
operationId: user_fields
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/user-fields.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
result:
type: object
description: '| Root element of the response containing user fields ||'
time:
type: string
description: '| Information about the request execution time ||'
application/x-www-form-urlencoded:
schema:
type: object
properties:
result:
type: object
description: '| Root element of the response containing user fields ||'
time:
type: string
description: '| Information about the request execution time ||'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user
/user.search:
post:
summary: Get a List of Users with Search by Personal Data user.search
description: 'If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The `user.search` method allows you to retrieve a list of users with accelerated search based on personal data (first name, last name, patronymic, department name, job title). It operates in two modes: quickly using **Fulltext Index** and a slower option through [right LIKE](*key_right LIKE) (support is determined automatically). The list of user fields in Bitrix24 that will be returned 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](index.md). The method inherits the behavior of the [user.get](./user-get.md) method, and all parameters from this function are also available.'
operationId: user_search
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/user-search.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
FILTER:
type: string
description: '| The array can contain fields in any combination:'
sort:
type: string
description: '| The field by which the results are sorted. Sorting works on all fields from user.add ||'
order:
type: string
description: '| Sorting direction:'
ADMIN_MODE:
type: boolean
description: '| Key for operation in administrator mode. Used to retrieve data about any users ||'
start:
type: integer
description: '| This parameter is used for managing pagination.'
application/x-www-form-urlencoded:
schema:
type: object
properties:
FILTER:
type: string
description: '| The array can contain fields in any combination:'
sort:
type: string
description: '| The field by which the results are sorted. Sorting works on all fields from user.add ||'
order:
type: string
description: '| Sorting direction:'
ADMIN_MODE:
type: boolean
description: '| Key for operation in administrator mode. Used to retrieve data about any users ||'
start:
type: integer
description: '| This parameter is used for managing pagination.'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user
/user.userfield.add:
post:
summary: Add Custom Field user.userfield.add
description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `user.userfield.add` adds a custom field.
operationId: user_userfield_add
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/userfields/user-userfield-add.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
fields:
type: object
description: '| Values of the fields to add a new custom field ||'
FIELD_NAME:
type: string
description: '| Name (code) of the field. Prefixed with `UF_USR_`'
USER_TYPE_ID:
type: string
description: '| Type of the custom field. Possible values:'
XML_ID:
type: string
description: '| External code ||'
SORT:
type: integer
description: '| Sorting order ||'
MULTIPLE:
type: boolean
description: '| Is the field multiple. Possible values:'
MANDATORY:
type: boolean
description: '| Is the custom field mandatory. Possible values:'
SHOW_FILTER:
type: boolean
description: '| Show the field in the list filter. Possible values:'
SHOW_IN_LIST:
type: boolean
description: '| Show the field in the list. Possible values:'
SETTINGS:
type: object
description: '| Object in the format `{"field_1": "value_1", ... "field_N": "value_N"}` for passing additional settings for custom fields. Settings are described below ||'
EDIT_FORM_LABEL:
type: string
description: '| Label in the edit form. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_COLUMN_LABEL:
type: string
description: '| Column header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_FILTER_LABEL:
type: string
description: '| Filter header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
ERROR_MESSAGE:
type: string
description: '| Error message for invalid input. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
HELP_MESSAGE:
type: string
description: '| Help text for the field. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LABEL:
type: string
description: '| Default name of the custom field.'
required:
- fields
- FIELD_NAME
- USER_TYPE_ID
application/x-www-form-urlencoded:
schema:
type: object
properties:
fields:
type: object
description: '| Values of the fields to add a new custom field ||'
FIELD_NAME:
type: string
description: '| Name (code) of the field. Prefixed with `UF_USR_`'
USER_TYPE_ID:
type: string
description: '| Type of the custom field. Possible values:'
XML_ID:
type: string
description: '| External code ||'
SORT:
type: integer
description: '| Sorting order ||'
MULTIPLE:
type: boolean
description: '| Is the field multiple. Possible values:'
MANDATORY:
type: boolean
description: '| Is the custom field mandatory. Possible values:'
SHOW_FILTER:
type: boolean
description: '| Show the field in the list filter. Possible values:'
SHOW_IN_LIST:
type: boolean
description: '| Show the field in the list. Possible values:'
SETTINGS:
type: object
description: '| Object in the format `{"field_1": "value_1", ... "field_N": "value_N"}` for passing additional settings for custom fields. Settings are described below ||'
EDIT_FORM_LABEL:
type: string
description: '| Label in the edit form. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_COLUMN_LABEL:
type: string
description: '| Column header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_FILTER_LABEL:
type: string
description: '| Filter header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
ERROR_MESSAGE:
type: string
description: '| Error message for invalid input. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
HELP_MESSAGE:
type: string
description: '| Help text for the field. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LABEL:
type: string
description: '| Default name of the custom field.'
required:
- fields
- FIELD_NAME
- USER_TYPE_ID
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user.userfield
/user.userfield.delete:
post:
summary: Delete User Field user.userfield.delete
description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `user.userfield.delete` removes a user field.
operationId: user_userfield_delete
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/userfields/user-userfield-delete.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: '| Identifier of the user field.'
required:
- id
application/x-www-form-urlencoded:
schema:
type: object
properties:
id:
type: integer
description: '| Identifier of the user field.'
required:
- id
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user.userfield
/user.userfield.file.get:
post:
summary: Get File from User Field user.userfield.file.get
description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The page is hidden from the menu, and the method is not operational. Some data may be missing here — we will complete it shortly. - It may be necessary to list parameters or fields in a table.
operationId: user_userfield_file_get
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/userfields/user-userfield-file-get.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
application/x-www-form-urlencoded:
schema:
type: object
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user.userfield
/user.userfield.list:
post:
summary: Get a list of custom fields user.userfield.list
description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `user.userfield.list` retrieves a list of custom fields based on the filter.
operationId: user_userfield_list
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/userfields/user-userfield-list.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
order:
type: string
description: '\|`array` | Sorting of the selected custom fields in the format `{"field_1": "order_1", ... "field_N": "order_N"}`.'
filter:
type: array
items: {}
description: '| Filter for the selected custom fields in the format `{"field_1": "value_1", ... "field_N": "value_N"}`.'
application/x-www-form-urlencoded:
schema:
type: object
properties:
order:
type: string
description: '\|`array` | Sorting of the selected custom fields in the format `{"field_1": "order_1", ... "field_N": "order_N"}`.'
filter:
type: array
items: {}
description: '| Filter for the selected custom fields in the format `{"field_1": "value_1", ... "field_N": "value_N"}`.'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user.userfield
/user.userfield.update:
post:
summary: Update User Field user.userfield.update
description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `user.userfield.update` updates a user field.
operationId: user_userfield_update
tags:
- Users
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/user/userfields/user-userfield-update.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: integer
description: '| Identifier of the user field.'
fields:
type: object
description: '| Values of the fields to update the user field ||'
XML_ID:
type: string
description: '| External code ||'
SORT:
type: integer
description: '| Sort order ||'
MANDATORY:
type: boolean
description: '| Whether the user field is mandatory. Possible values:'
SHOW_FILTER:
type: boolean
description: '| Whether to show the field in the list filter. Possible values:'
SHOW_IN_LIST:
type: boolean
description: '| Whether to show the field in the list. Possible values:'
SETTINGS:
type: object
description: '| An object in the format `{"field_1": "value_1", ... "field_N": "value_N"}` for passing additional settings for user fields. Settings are described below ||'
EDIT_FORM_LABEL:
type: string
description: '| Label in the edit form. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_COLUMN_LABEL:
type: string
description: '| Column header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_FILTER_LABEL:
type: string
description: '| Filter header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
ERROR_MESSAGE:
type: string
description: '| Error message for invalid input. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
HELP_MESSAGE:
type: string
description: '| Help text for the field. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LABEL:
type: string
description: '| Default name of the user field.'
required:
- id
application/x-www-form-urlencoded:
schema:
type: object
properties:
id:
type: integer
description: '| Identifier of the user field.'
fields:
type: object
description: '| Values of the fields to update the user field ||'
XML_ID:
type: string
description: '| External code ||'
SORT:
type: integer
description: '| Sort order ||'
MANDATORY:
type: boolean
description: '| Whether the user field is mandatory. Possible values:'
SHOW_FILTER:
type: boolean
description: '| Whether to show the field in the list filter. Possible values:'
SHOW_IN_LIST:
type: boolean
description: '| Whether to show the field in the list. Possible values:'
SETTINGS:
type: object
description: '| An object in the format `{"field_1": "value_1", ... "field_N": "value_N"}` for passing additional settings for user fields. Settings are described below ||'
EDIT_FORM_LABEL:
type: string
description: '| Label in the edit form. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_COLUMN_LABEL:
type: string
description: '| Column header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LIST_FILTER_LABEL:
type: string
description: '| Filter header in the list. You can pass a string or an object with labels by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
ERROR_MESSAGE:
type: string
description: '| Error message for invalid input. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
HELP_MESSAGE:
type: string
description: '| Help text for the field. You can pass a string or an object with texts by languages in the format `{"de": "...", "en": "..."}`. When passing a string, the value will be set for all languages ||'
LABEL:
type: string
description: '| Default name of the user field.'
required:
- id
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixResponse'
4XX:
description: Request error (400, 401, 403)
content:
application/json:
schema:
$ref: '#/components/schemas/BitrixError'
security:
- AccessToken: []
- OAuth2:
- user.userfield
components:
schemas:
BitrixError:
type: object
description: Bitrix24 REST API error response
required:
- error
- error_description
properties:
error:
type: string
description: Error code
example: ACCESS_DENIED
error_description:
type: string
description: Human-readable error description
example: Access denied.
BitrixTime:
type: object
description: Request execution time information
properties:
start:
type: number
format: double
finish:
type: number
format: double
duration:
type: number
format: double
processing:
type: number
format: double
date_start:
type: string
format: date-time
date_finish:
type: string
format: date-time
operating_reset_at:
type: integer
operating:
type: number
format: double
BitrixResponse:
type: object
description: Standard Bitrix24 REST API response
properties:
result:
description: Method execution result
total:
type: integer
description: Total number of records (for list methods)
next:
type: integer
description: Next offset for pagination
time:
$ref: '#/components/schemas/BitrixTime'
securitySchemes:
AccessToken:
type: apiKey
in: query
name: auth
description: OAuth 2.0 access_token or incoming webhook token
OAuth2:
type: oauth2
description: OAuth 2.0 authorization
flows:
authorizationCode:
authorizationUrl: https://oauth.bitrix.info/oauth/authorize/
tokenUrl: https://oauth.bitrix.info/oauth/token/
scopes:
crm: CRM — leads, deals, contacts, companies, smart processes
task: Tasks and projects
disk: Drive — files and folders
im: Chats and notifications
imbot: Chatbots
imopenlines: Open Lines — messenger connectors
telephony: Telephony
sale: E-Commerce — orders, shipments
catalog: Trade Catalog — products, prices
calendar: Calendar
bizproc: Business processes and robots
user: Users
department: Company structure
timeman: Time tracking
landing: Sites and landing pages
pay_system: Payment systems
cashbox: Online cash registers
delivery: Delivery services
documentgenerator: Document generator
lists: Universal lists
entity: Data storage
log: News feed
sonet_group: Workgroups and projects
mailservice: Mail services
messageservice: Message providers (SMS)
biconnector: BIconnector — BI analytics
ai_admin: CoPilot / AI
sign.b2e: Signature — e-document signing
vote: Polls and voting
booking: Online booking
userconsent: User consent agreements
userfieldconfig: Custom field settings
basic: Basic access
placement: Widget placements
rpa: Robots process automation
sonet: Social network
intranet: Intranet
socialnetwork: Social network
workgroups: Workgroups
salescenter: Sales center
main: Main module
imconnector: IM connector
user.userfield: User custom fields
user_basic: Basic user access
userfieldconfig, module scope: Custom field config
externalDocs:
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitrix24/refs/heads/main/openapi/bitrix24-users-api-openapi.yml