Get a list of fields for crm.activity.fields
Choose a tool for developing with an AI agent:
- use Alaio Vibecode to build an app for Bitrix24 from a task description without knowing any programming language. The agent writes the code and deploys the app to a server, with no manual hosting setup
- use the MCP server to develop a REST API integration in your own project. The agent refers to the official REST documentation
Scope:
crmWho can execute the method: users with permission to read CRM items or digital workspaces
DEPRECATED
The development of this method has been halted. Please use the REST 3.0 method crm.activity.field.list from the Activities group. The REST 3.0 method does not return some activity fields: the settings settings, the provider data providerParams, location, status, priority, and others. If you need them, use this method.
The method crm.activity.fields returns the description of the fields of the system activity.
Method Parameters
No parameters.
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.activity.fields
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.activity.fields
// 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 } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type ActivityFieldsResult = Record<string, ActivityField>
type ActivityField = {
type: string
isRequired: boolean
isReadOnly: boolean
isImmutable: boolean
isMultiple: boolean
isDynamic: boolean
title: string
isDeprecated?: boolean
}
try {
const response = await $b24.actions.v2.call.make<ActivityFieldsResult>({
method: 'crm.activity.fields',
params: {},
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('Activity field names:', Object.keys(result))
}
} 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 getActivityFields() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'crm.activity.fields',
params: {},
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('Activity field names:', Object.keys(result))
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getActivityFields)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.activity.fields().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}")
try {
$response = $b24Service
->core
->call(
'crm.activity.fields',
[]
);
$result = $response
->getResponseData()
->getResult();
print_r($result);
} catch (Throwable $e) {
echo $e->getMessage();
}
BX24.callMethod(
'crm.activity.fields',
{},
result => {
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'crm.activity.fields',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client and ctx are already created — see the Go SDK section
res, err := client.Core().Call(ctx, "crm.activity.fields", nil, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("crm.activity.fields: %w", err)
}
keys, ok := b24.Keys(res.Result)
if !ok {
return fmt.Errorf("expected an object in the response")
}
fmt.Println("fields in response:", len(keys))
Response Handling
HTTP status: 200
{
"result": {
"ID": {
"type": "integer",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "ID"
},
"OWNER_ID": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": true,
"isMultiple": false,
"isDynamic": false,
"title": "Owner ID"
},
"OWNER_TYPE_ID": {
"type": "crm_enum_ownertype",
"isRequired": false,
"isReadOnly": false,
"isImmutable": true,
"isMultiple": false,
"isDynamic": false,
"title": "Owner Type"
},
"TYPE_ID": {
"type": "crm_enum_activitytype",
"isRequired": true,
"isReadOnly": false,
"isImmutable": true,
"isMultiple": false,
"isDynamic": false,
"title": "Type"
},
"PROVIDER_ID": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Provider ID"
},
"PROVIDER_TYPE_ID": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Provider Type"
},
"PROVIDER_GROUP_ID": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Connector Type"
},
"ASSOCIATED_ENTITY_ID": {
"type": "integer",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Associated Entity ID"
},
"SUBJECT": {
"type": "string",
"isRequired": true,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Subject"
},
"START_TIME": {
"type": "datetime",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Start"
},
"END_TIME": {
"type": "datetime",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Deadline"
},
"DEADLINE": {
"type": "datetime",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Execution Deadline"
},
"COMPLETED": {
"type": "char",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Completed"
},
"STATUS": {
"type": "crm_enum_activitystatus",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Status"
},
"RESPONSIBLE_ID": {
"type": "user",
"isRequired": true,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Responsible"
},
"PRIORITY": {
"type": "crm_enum_activitypriority",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Priority"
},
"NOTIFY_TYPE": {
"type": "crm_enum_activitynotifytype",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Notification Type"
},
"NOTIFY_VALUE": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Notification Parameter"
},
"DESCRIPTION": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Description"
},
"DESCRIPTION_TYPE": {
"type": "crm_enum_contenttype",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Description Type"
},
"DIRECTION": {
"type": "crm_enum_activitydirection",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Direction"
},
"LOCATION": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Location"
},
"CREATED": {
"type": "datetime",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Creation Date"
},
"AUTHOR_ID": {
"type": "user",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Created By"
},
"LAST_UPDATED": {
"type": "datetime",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Last Updated Date"
},
"EDITOR_ID": {
"type": "user",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Edited By"
},
"SETTINGS": {
"type": "object",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Settings"
},
"ORIGIN_ID": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "External Code"
},
"ORIGINATOR_ID": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "External Source"
},
"RESULT_STATUS": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "RESULT_STATUS"
},
"RESULT_STREAM": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "RESULT_STREAM"
},
"RESULT_SOURCE_ID": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "RESULT_SOURCE_ID"
},
"PROVIDER_PARAMS": {
"type": "object",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Provider Parameters"
},
"PROVIDER_DATA": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Provider Data"
},
"RESULT_MARK": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "RESULT_MARK"
},
"RESULT_VALUE": {
"type": "double",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "RESULT_VALUE"
},
"RESULT_SUM": {
"type": "double",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "RESULT_SUM"
},
"RESULT_CURRENCY_ID": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "RESULT_CURRENCY_ID"
},
"AUTOCOMPLETE_RULE": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Autocomplete"
},
"BINDINGS": {
"type": "crm_activity_binding",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": true,
"isDynamic": false,
"title": "Bindings"
},
"COMMUNICATIONS": {
"type": "crm_activity_communication",
"isRequired": true,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": true,
"isDynamic": false,
"title": "Communication Channel"
},
"FILES": {
"type": "diskfile",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": true,
"isDynamic": false,
"title": "Files"
},
"WEBDAV_ELEMENTS": {
"type": "diskfile",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": true,
"isDynamic": false,
"isDeprecated": true,
"title": "Added Files"
},
"IS_INCOMING_CHANNEL": {
"type": "char",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "IS_INCOMING_CHANNEL"
}
},
"time": {
"start": 1712132792.910734,
"finish": 1712132793.530359,
"duration": 0.6196250915527344,
"processing": 0.032338857650756836,
"date_start": "2024-04-03T10:26:32+02:00",
"date_finish": "2024-04-03T10:26:33+02:00",
"operating_reset_at": 1705765533,
"operating": 3.3076241016387939
}
}
Returned Data
|
Name |
Description |
|
result |
An object whose keys are Activity Field Names and whose values are Field Metadata Objects |
|
time |
Information about the execution time of the request |
Field Metadata
|
Name |
Description |
|
type |
Field value type |
|
isRequired |
Indicates whether the field is required in the metadata. Actual requirements when creating an activity depend on the activity type and whether a value can be assigned automatically |
|
isReadOnly |
The field is read-only. Any value passed when creating or updating an activity is ignored |
|
isImmutable |
Indicates whether the field is immutable after creation |
|
isMultiple |
The field supports multiple values |
|
isDynamic |
Indicates whether the field is dynamic |
|
title |
Field name |
|
isDeprecated |
Indicates whether the field is deprecated. Returned only for deprecated fields with the value |
Overview of System Activity Fields
An asterisk marks fields with isRequired: true in the metadata. This is not a list of parameters that must be passed in every call. When Creating an Activity, the clarifications in the notes below apply. When Updating an Activity, pass only the fields to be changed.
The set of file fields depends on the storage. The table and response example are for Drive: FILES is returned, and WEBDAV_ELEMENTS is marked as deprecated. For WebDAV storage, FILES is absent, and WEBDAV_ELEMENTS has the type webdav without the isDeprecated flag.
|
Field |
Description |
Note |
|
ID |
Activity ID |
Read-only |
|
OWNER_ID |
CRM object ID |
Together with |
|
OWNER_TYPE_ID |
Immutable according to the metadata. Together with |
|
|
TYPE_ID* |
Activity type |
Immutable. Can be omitted when creating an activity if |
|
ASSOCIATED_ENTITY_ID |
Integer ID of the associated object |
Read-only |
|
AUTHOR_ID |
Integer ID of the user who created the activity |
Read-only |
|
AUTOCOMPLETE_RULE |
Integer ID of the rule that triggered the autocomplete |
|
|
BINDINGS |
Bindings to CRM entities |
Multiple, read-only |
|
COMMUNICATIONS* |
Multiple. Required when creating calls, meetings, and emails; can be omitted for a provider activity if a binding is specified through |
|
|
COMPLETED |
Activity completion flag: |
Optional |
|
CREATED |
Date and time the activity was created |
Read-only |
|
DEADLINE |
Date and time of the activity's execution deadline |
Any value passed when creating or updating an activity is removed. The provider calculates the deadline. When creating an activity, if the provider has not set a deadline, |
|
DESCRIPTION |
Text description of the activity |
|
|
DESCRIPTION_TYPE |
Description type |
|
|
DIRECTION |
Direction of the activity: incoming or outgoing |
Relevant for calls and emails, not used for meetings |
|
EDITOR_ID |
Integer ID of the user who edited the activity |
Read-only |
|
END_TIME |
Time the activity ended |
|
|
FILES |
Files added to the activity |
Multiple |
|
LAST_UPDATED |
Date of the last update |
Read-only |
|
LOCATION |
Location |
|
|
NOTIFY_TYPE |
Notification type |
|
|
NOTIFY_VALUE |
Notification value |
Used together with |
|
ORIGINATOR_ID |
Data source ID |
Used only for binding to an external source |
|
ORIGIN_ID |
ID of the element in the data source |
Used only for binding to an external source |
|
PRIORITY |
Priority |
|
|
PROVIDER_DATA |
Additional provider data |
|
|
PROVIDER_GROUP_ID |
Provider group ID |
|
|
PROVIDER_ID |
Provider ID |
Requirements depend on the activity type and provider |
|
PROVIDER_TYPE_ID |
Provider type ID |
If the value is empty and a provider is defined, it is populated automatically by the provider's |
|
PROVIDER_PARAMS |
Additional provider parameters |
|
|
RESPONSIBLE_ID* |
Integer ID of the user responsible for the activity |
When creating an activity without a positive value, the user responsible for the CRM item is used, or the current user if no responsible user is defined |
|
RESULT_CURRENCY_ID |
ID of the currency for the result amount |
Used together with |
|
RESULT_MARK |
Activity result rating: |
Used in activity statistics |
|
RESULT_SOURCE_ID |
Result source ID |
Used to group ratings in activity statistics |
|
RESULT_STATUS |
Result status: |
Used in activity statistics |
|
RESULT_STREAM |
Statistics stream: |
Used in activity statistics |
|
RESULT_SUM |
Result amount |
The currency is specified in |
|
RESULT_VALUE |
Numeric value of the activity result |
A |
|
SETTINGS |
Additional settings |
|
|
START_TIME |
Time the activity starts |
|
|
STATUS |
Activity status |
|
|
SUBJECT* |
Activity subject |
A non-empty string is required when creating an activity |
|
WEBDAV_ELEMENTS |
Added files |
Multiple. For Drive storage, the field is deprecated and retained for compatibility; files are passed in |
|
IS_INCOMING_CHANNEL |
Indicates whether the activity was created from an incoming channel: |
Read-only |
Error Handling
HTTP status: 400
{
"error": "",
"error_description": "Access denied."
}
|
Name |
Description |
|
error |
String error code. It consists of digits, Latin letters, and underscores. It may arrive empty — in that case only |
|
error_description |
Error message for the developer. Do not show it to the end user without processing |
Possible Error Codes
|
Status |
Code |
Description |
Meaning |
|
|
Empty value |
|
No permission to read CRM items or digital workspaces |
Statuses and System Error Codes
HTTP Status: 4xx, 5xx
The errors described below are returned by the REST API itself, not by the logic of a specific method. They can arrive in response to any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred. Retry the call, and if the error persists, contact the server administrator or Bitrix24 technical support |
|
|
|
The server returned an unexpected response. Retry the call, and if the error persists, contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The method is blocked because the request resource intensity limit has been exceeded. The block is lifted automatically once the accumulated execution time of the method no longer exceeds the limit |
|
|
|
The request contains no authorization data: neither an access token nor a webhook code was passed |
|
|
|
Methods are called over the HTTPS protocol only |
|
|
|
The REST API is blocked due to overload. This is a manual individual block. To have it lifted, contact Bitrix24 technical support |
|
|
|
REST API access is not active for this account. In Bitrix24 Cloud, check the current plan or trial status: Vibe+ plans include REST API access, while Essentials plans do not. A webhook receives a different error message — |
|
|
|
No active webhook with the specified user identifier and secret code was found |
|
|
|
No method with this name was found. The name is misspelled, the method does not exist in the REST API, or it is unavailable without the required scope |
|
|
|
The request requires broader permissions than the token has: for a webhook these are the permissions granted to it, for an application it is the scope. For an application, the error message ends with |
|
|
|
The access token has expired |
|
|
|
The application is installed, but the Bitrix24 administrator has granted access to it only to specific users |
|
|
|
The public part of the site is closed. To open it on an on-premise installation, disable the "Temporary closure of the public part of the site" option. Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Add System Activity crm.activity.add
- Update System CRM Activity crm.activity.update
- Get information about the activity by ID crm.activity.get
- Get List of Activities crm.activity.list
- Delete activity crm.activity.delete
- Get Call Transcription crm.activity.call.getTranscript
- Get Communication Description crm.activity.communication.fields