Data Types and Parameter Formats in REST API
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
This page describes the data types used in method parameters, object structures, and REST API responses. For each type, the value format and usage specifics are provided. This is a general dictionary of types: the exact field composition, allowed values, and additional constraints should be checked on the specific method or object page.
Basic Data Types
|
Type |
Description |
|
|
An integer. For example, |
|
|
A boolean value. Most often takes values |
|
|
A fixed-length string type, usually |
|
|
A floating-point number. For example, |
|
|
A date in the format |
|
|
A date and time in the format |
|
|
A date and time in Unix Timestamp format, usually an integer representing the number of seconds since January 1, 1970. For example, |
|
|
A single-line string value. For example, |
|
|
A multi-line string value, applicable in some special fields of objects |
|
|
An attached file. Can take a numeric value with a unique file identifier in the system or a value in the form of an array describing the file parameters. For more information on working with files, read the articles: |
|
|
A list type. The field accepts one value from a fixed set of allowed options. For example, status, object type, or deletion status |
|
|
A set of simple type elements. For example, an array of integers |
|
|
A structure of arbitrary nesting level containing key-value pairs. The key is a parameter or field. Example:
|
|
|
A function. Used in JavaScript examples and Bitrix24 js interfaces to describe a handler |
|
|
A callable handler, usually a callback function. In JavaScript, this can be a regular function or its shorthand notation using |
|
|
Various data types can serve as parameter values |
|
|
The absence of a value. It is not used on its own — it is specified as the second type for fields that can return either a value or emptiness. For example, |
Date and Time Features
When working with fields of types date and datetime, note that each user in Bitrix24 can have their own time zone specified in the settings. The Bitrix24 user interface displays dates and times adapted to the specific user; however, at the API level, all dates and times are stored according to the server parameters.
How Compound Types Are Written
In addition to single types, compound notations are found in the descriptions of parameters and fields.
|
Notation |
Meaning |
|
|
An array of values of the specified type. For example, |
|
|
The field accepts a value of one of the listed types. For example, |
Data Types for Object References and Directories
Fields of Bitrix24 objects can contain values that reference other objects or values from directories. Technically, such values are most often stored and indicated as integer identifiers of specific objects or directory elements. However, for convenience and to emphasize such relationships, we will use special types in the documentation, such as _crm_company_ or _crm_status_. Below are examples of such types with links to methods for obtaining possible values.
|
Type |
Description |
|
|
An integer identifier of a Bitrix24 user, for example, User identifiers can be obtained using the user.get method |
|
|
Binding to CRM elements. The value is passed in the format For multiple bindings, an array of strings is passed: The complete list of PREFIX and rules for calculating PREFIX for smart processes are described in the section Value Format for the Custom Field "Binding to CRM Elements" |
Data directories for various Bitrix24 tools:
uf_enum_element Object
A value option of a custom field of the list type enumeration. Fields of this type are multiple: an array of such objects is passed in them.
|
Name |
Description |
|
ID |
Identifier of the option. It is filled in for existing options and is not passed when adding a new one |
|
VALUE |
Value of the option |
|
DEF |
Indicates the default value. Takes values |
|
SORT |
Sorting order |
|
XML_ID |
External identifier of the option |
|
DEL |
Indicates the deletion of an existing option. Takes values |
Methods of the *.userfieldconfig.* group use camelCase notation for the same fields — id, value, def, sort, xmlId, del.
Time Object
The time object is present in the responses to all REST requests and contains information about the request execution time.
The composition of the time object fields may vary depending on the method and environment. In the full version, the response may contain all fields from the example below.
Example structure:
{
"time": {
"start": 1757424671.509725,
"finish": 1757424672.203906,
"duration": 0.694180965423584,
"processing": 0.6726489067077637,
"date_start": "2025-09-09T16:31:11+03:00",
"date_finish": "2025-09-09T16:31:12+03:00",
"operating_reset_at": 1757425271,
"operating": 0.6726338863372803
}
}
|
Name |
Description |
|
start |
A Unix Timestamp for the moment the request is initialized. Returned as a number with a fractional part because the time is transmitted in seconds with millisecond precision |
|
finish |
A Unix Timestamp for the moment the request execution is completed. Returned as a number with a fractional part because the time is transmitted in seconds with millisecond precision |
|
duration |
The duration of the request execution in seconds, i.e., the difference between |
|
processing |
The time taken to process the request in seconds |
|
date_start |
A string representation of the date and time of the request initialization |
|
date_finish |
A string representation of the date and time of the request completion |
|
operating_reset_at |
A Unix Timestamp for the moment when part of the resource limit for the method will be released. Usually returned as an integer For more details, see the article operation limit |
|
operating |
The accumulated time of requests to a specific method in seconds. Used to monitor the resource consumption of the REST API. For more details, see the article operation limit |