Bitrix24 CRM API
The CRM API from Bitrix24 — 421 operation(s) for crm.
The CRM API from Bitrix24 — 421 operation(s) for crm.
openapi: 3.0.3
info:
title: Bitrix24 REST BIconnector CRM 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: CRM
paths:
/crm.activity.add:
post:
summary: Add System Activity crm.activity.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. Development of this method has been halted. Please use [crm.activity.todo.add](../todo/crm-activity-todo-add.md). The method `crm.activity.add` creates a new system activity.
operationId: crm_activity_add
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/activity-base/crm-activity-add.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
fields:
type: array
items: {}
description: '| An array of values for the activity fields in the following structure:'
Field:
type: string
description: '`type` | Description ||'
OWNER_ID:
type: integer
description: '| Identifier of the CRM entity ||'
OWNER_TYPE_ID:
type: integer
description: '| Identifier of the CRM object type ||'
TYPE_ID:
type: string
description: '| Type of the activity. To get available activity types, use the method crm.enum.activitytype.'
ASSOCIATED_ENTITY_ID:
type: integer
description: '| Identifier of the entity associated with the activity ||'
COMMUNICATIONS:
type: string
description: '| Description of communication ||'
DEADLINE:
type: string
format: date-time
description: '| Date and time of the activity''s deadline. This field is not set directly; the value is taken from START_TIME for calls and meetings and from END_TIME for tasks ||'
DESCRIPTION:
type: string
description: '| Text description of the activity ||'
DESCRIPTION_TYPE:
type: string
description: '| Type of description ||'
DIRECTION:
type: string
description: '| Direction of the activity: incoming/outgoing. Relevant for calls and emails, not used for meetings ||'
END_TIME:
type: string
format: date-time
description: '| Time of activity completion | ||'
FILES:
type: string
description: '| Files added to the activity ||'
LOCATION:
type: string
description: '| Location ||'
NOTIFY_TYPE:
type: string
description: '| Type of notification ||'
ORIGINATOR_ID:
type: string
description: '| Identifier of the data source, used only for linking to an external source ||'
ORIGIN_ID:
type: string
description: '| Identifier of the entity in the data source, used only for linking to an external source ||'
ORIGIN_VERSION:
type: string
description: '| Original version, used to protect data from accidental overwriting by an external system. If the data was imported and not modified in the external system, such data can be edited in CRM without fear that the next export will lead to data overwriting ||'
PRIORITY:
type: string
description: '| Priority ||'
PROVIDER_DATA:
type: string
description: '| Additional provider data ||'
PROVIDER_GROUP_ID:
type: string
description: '| Identifier of the provider group ||'
PROVIDER_ID:
type: string
description: '| Identifier of the provider ||'
PROVIDER_TYPE_ID:
type: string
description: '| Identifier of the provider type, status from the directory ||'
PROVIDER_PARAMS:
type: object
description: '| Additional provider parameters ||'
RESPONSIBLE_ID:
type: string
description: '| Identifier of the user responsible for the activity ||'
SETTINGS:
type: object
description: '| Additional settings ||'
START_TIME:
type: string
format: date-time
description: '| Time when the activity starts ||'
STATUS:
type: string
description: '| Status of the activity ||'
SUBJECT:
type: string
description: '| Additional description of the activity ||'
WEBDAV_ELEMENTS:
type: string
description: '| Added files. Deprecated, kept for compatibility ||'
IS_INCOMING_CHANNEL:
type: string
maxLength: 1
description: '| Flag indicating whether the activity was created from an incoming channel (`Y`/`N`) ||'
required:
- fields
- OWNER_ID
- OWNER_TYPE_ID
- TYPE_ID
- COMMUNICATIONS
- RESPONSIBLE_ID
application/x-www-form-urlencoded:
schema:
type: object
properties:
fields:
type: array
items: {}
description: '| An array of values for the activity fields in the following structure:'
Field:
type: string
description: '`type` | Description ||'
OWNER_ID:
type: integer
description: '| Identifier of the CRM entity ||'
OWNER_TYPE_ID:
type: integer
description: '| Identifier of the CRM object type ||'
TYPE_ID:
type: string
description: '| Type of the activity. To get available activity types, use the method crm.enum.activitytype.'
ASSOCIATED_ENTITY_ID:
type: integer
description: '| Identifier of the entity associated with the activity ||'
COMMUNICATIONS:
type: string
description: '| Description of communication ||'
DEADLINE:
type: string
format: date-time
description: '| Date and time of the activity''s deadline. This field is not set directly; the value is taken from START_TIME for calls and meetings and from END_TIME for tasks ||'
DESCRIPTION:
type: string
description: '| Text description of the activity ||'
DESCRIPTION_TYPE:
type: string
description: '| Type of description ||'
DIRECTION:
type: string
description: '| Direction of the activity: incoming/outgoing. Relevant for calls and emails, not used for meetings ||'
END_TIME:
type: string
format: date-time
description: '| Time of activity completion | ||'
FILES:
type: string
description: '| Files added to the activity ||'
LOCATION:
type: string
description: '| Location ||'
NOTIFY_TYPE:
type: string
description: '| Type of notification ||'
ORIGINATOR_ID:
type: string
description: '| Identifier of the data source, used only for linking to an external source ||'
ORIGIN_ID:
type: string
description: '| Identifier of the entity in the data source, used only for linking to an external source ||'
ORIGIN_VERSION:
type: string
description: '| Original version, used to protect data from accidental overwriting by an external system. If the data was imported and not modified in the external system, such data can be edited in CRM without fear that the next export will lead to data overwriting ||'
PRIORITY:
type: string
description: '| Priority ||'
PROVIDER_DATA:
type: string
description: '| Additional provider data ||'
PROVIDER_GROUP_ID:
type: string
description: '| Identifier of the provider group ||'
PROVIDER_ID:
type: string
description: '| Identifier of the provider ||'
PROVIDER_TYPE_ID:
type: string
description: '| Identifier of the provider type, status from the directory ||'
PROVIDER_PARAMS:
type: object
description: '| Additional provider parameters ||'
RESPONSIBLE_ID:
type: string
description: '| Identifier of the user responsible for the activity ||'
SETTINGS:
type: object
description: '| Additional settings ||'
START_TIME:
type: string
format: date-time
description: '| Time when the activity starts ||'
STATUS:
type: string
description: '| Status of the activity ||'
SUBJECT:
type: string
description: '| Additional description of the activity ||'
WEBDAV_ELEMENTS:
type: string
description: '| Added files. Deprecated, kept for compatibility ||'
IS_INCOMING_CHANNEL:
type: string
maxLength: 1
description: '| Flag indicating whether the activity was created from an incoming channel (`Y`/`N`) ||'
required:
- fields
- OWNER_ID
- OWNER_TYPE_ID
- TYPE_ID
- COMMUNICATIONS
- RESPONSIBLE_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:
- crm
/crm.activity.badge.add:
post:
summary: Add Badge crm.activity.badge.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 `crm.activity.badge.add` adds a new badge for a configurable activity.
operationId: crm_activity_badge_add
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/configurable/badges/crm-activity-badge-add.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
Field:
type: string
description: '| Description ||'
code:
type: string
description: '| Badge code, for example `missedCall` ||'
type:
type: string
description: '| Badge type ||'
required:
- code
- type
application/x-www-form-urlencoded:
schema:
type: object
properties:
Field:
type: string
description: '| Description ||'
code:
type: string
description: '| Badge code, for example `missedCall` ||'
type:
type: string
description: '| Badge type ||'
required:
- code
- type
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:
- crm
/crm.activity.badge.delete:
post:
summary: Delete Badge by Code crm.activity.badge.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 `crm.activity.badge.delete` removes a badge.
operationId: crm_activity_badge_delete
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/configurable/badges/crm-activity-badge-delete.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
Field:
type: string
description: '| Description ||'
code:
type: string
description: '| Badge code, for example `missedCall` ||'
required:
- code
application/x-www-form-urlencoded:
schema:
type: object
properties:
Field:
type: string
description: '| Description ||'
code:
type: string
description: '| Badge code, for example `missedCall` ||'
required:
- code
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:
- crm
/crm.activity.badge.get:
post:
summary: Get Badge Information by Code crm.activity.badge.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 method `crm.activity.badge.get` will return an array containing [badge fields](./index.md#badge-record-fields).
operationId: crm_activity_badge_get
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/configurable/badges/crm-activity-badge-get.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
Field:
type: string
description: '| Description ||'
code:
type: string
description: '| Badge code, for example `missedCall` ||'
required:
- code
application/x-www-form-urlencoded:
schema:
type: object
properties:
Field:
type: string
description: '| Description ||'
code:
type: string
description: '| Badge code, for example `missedCall` ||'
required:
- code
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:
- crm
/crm.activity.badge.list:
post:
summary: Get the list of badges crm.activity.badge.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 `crm.activity.badge.list` retrieves a list of available badges. It will return an array containing a list of all registered badges. Each element of the array contains [badge fields](./index.md#badge-record-fields).
operationId: crm_activity_badge_list
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/configurable/badges/crm-activity-badge-list.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:
- crm
/crm.activity.binding.add:
post:
summary: Add a deal binding to a CRM entity crm.activity.binding.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 `crm.activity.binding.add` adds a binding of a deal to a CRM entity. The maximum number of bindings for a single deal is 100 CRM entities.
operationId: crm_activity_binding_add
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/binding/crm-activity-binding-add.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
activityId:
type: integer
description: '| Integer identifier of the deal in the timeline, for example `999` ||'
entityTypeId:
type: integer
description: '| Integer identifier of the CRM object type to which the deal should be bound, for example `2` for a deal ||'
entityId:
type: integer
description: '| Integer identifier of the CRM entity to which the deal should be bound, for example `1` ||'
required:
- activityId
- entityTypeId
- entityId
application/x-www-form-urlencoded:
schema:
type: object
properties:
activityId:
type: integer
description: '| Integer identifier of the deal in the timeline, for example `999` ||'
entityTypeId:
type: integer
description: '| Integer identifier of the CRM object type to which the deal should be bound, for example `2` for a deal ||'
entityId:
type: integer
description: '| Integer identifier of the CRM entity to which the deal should be bound, for example `1` ||'
required:
- activityId
- entityTypeId
- entityId
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:
- crm
/crm.activity.binding.delete:
post:
summary: Delete the deal's connection with the CRM entity crm.activity.binding.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 `crm.activity.binding.delete` removes the connection of a deal with a CRM entity. If the deal is linked to only one entity, this connection cannot be deleted.
operationId: crm_activity_binding_delete
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/binding/crm-activity-binding-delete.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
activityId:
type: integer
description: '| Integer identifier of the deal in the timeline, for example `999` ||'
entityTypeId:
type: integer
description: '| Integer identifier of the CRM entity type to which the deal connection is being removed, for example `2` for a deal ||'
entityId:
type: integer
description: '| Integer identifier of the CRM entity to which the deal connection is being removed, for example `1` ||'
required:
- activityId
- entityTypeId
- entityId
application/x-www-form-urlencoded:
schema:
type: object
properties:
activityId:
type: integer
description: '| Integer identifier of the deal in the timeline, for example `999` ||'
entityTypeId:
type: integer
description: '| Integer identifier of the CRM entity type to which the deal connection is being removed, for example `2` for a deal ||'
entityId:
type: integer
description: '| Integer identifier of the CRM entity to which the deal connection is being removed, for example `1` ||'
required:
- activityId
- entityTypeId
- entityId
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:
- crm
/crm.activity.binding.list:
post:
summary: Get a list of all bindings for the deal crm.activity.binding.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 `crm.activity.binding.list` retrieves a list of all bindings for the deal. The method will return an array, where each element will be an array containing: - `entityTypeId` — integer identifier of the [CRM object type](../../../data-types.md#object_type)'
operationId: crm_activity_binding_list
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/binding/crm-activity-binding-list.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
activityId:
type: integer
description: '| Integer identifier of the deal in the timeline, for example `999` ||'
required:
- activityId
application/x-www-form-urlencoded:
schema:
type: object
properties:
activityId:
type: integer
description: '| Integer identifier of the deal in the timeline, for example `999` ||'
required:
- activityId
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:
- crm
/crm.activity.binding.move:
post:
summary: Update the Deal's Connection with the CRM Entity crm.activity.binding.move
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 `crm.activity.binding.move` updates the connection of a deal with a CRM entity.
operationId: crm_activity_binding_move
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/binding/crm-activity-binding-move.html
description: Official Documentation
requestBody:
content:
application/json:
schema:
type: object
properties:
activityId:
type: integer
description: '| The identifier of the deal in the timeline, for example, `999` ||'
sourceEntityTypeId:
type: integer
description: '| Identifier of the CRM object type to which the deal is linked, for example, `2` for a deal ||'
sourceEntityId:
type: integer
description: '| The identifier of the CRM entity to which the deal is linked, for example, `1` ||'
targetEntityTypeId:
type: integer
description: '| Identifier of the CRM object type to which the deal should be linked, for example, `2` for a deal ||'
targetEntityId:
type: integer
description: '| The identifier of the CRM entity to which the deal should be linked, for example, `100` ||'
required:
- activityId
- sourceEntityTypeId
- sourceEntityId
- targetEntityTypeId
- targetEntityId
application/x-www-form-urlencoded:
schema:
type: object
properties:
activityId:
type: integer
description: '| The identifier of the deal in the timeline, for example, `999` ||'
sourceEntityTypeId:
type: integer
description: '| Identifier of the CRM object type to which the deal is linked, for example, `2` for a deal ||'
sourceEntityId:
type: integer
description: '| The identifier of the CRM entity to which the deal is linked, for example, `1` ||'
targetEntityTypeId:
type: integer
description: '| Identifier of the CRM object type to which the deal should be linked, for example, `2` for a deal ||'
targetEntityId:
type: integer
description: '| The identifier of the CRM entity to which the deal should be linked, for example, `100` ||'
required:
- activityId
- sourceEntityTypeId
- sourceEntityId
- targetEntityTypeId
- targetEntityId
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:
- crm
/crm.activity.communication.fields:
post:
summary: Get Description of Communication crm.activity.communication.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 method `crm.activity.communication.fields` returns the description of communication for an activity. Communications store phone numbers in calls, email addresses in e-mails, and names in meetings.
operationId: crm_activity_communication_fields
tags:
- CRM
externalDocs:
url: https://apidocs.bitrix24.com/api-reference/crm/timeline/activities/activity-base/crm-activity-communication-fields.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:
# --- truncated at 32 KB (1282 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitrix24/refs/heads/main/openapi/bitrix24-crm-api-openapi.yml