Get the List of Fields for the Recurring Deal Template crm.deal.recurring.fields
Scope:
crmWho can execute the method: user with "read" access permission for deals
The method crm.deal.recurring.fields returns a description of the fields for the recurring deal template.
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.deal.recurring.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.deal.recurring.fields
try
{
const response = await $b24.callMethod(
'crm.deal.recurring.fields',
{}
);
const result = response.getData().result;
console.dir(result);
}
catch(error)
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'crm.deal.recurring.fields',
[]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching recurring deal fields: ' . $e->getMessage();
}
BX24.callMethod(
'crm.deal.recurring.fields',
{},
result => {
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'crm.deal.recurring.fields',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP Status: 200
{
"result": {
"ID": {
"type": "integer",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "id"
},
"DEAL_ID": {
"type": "integer",
"isRequired": true,
"isReadOnly": false,
"isImmutable": true,
"isMultiple": false,
"isDynamic": false,
"title": "id of the recurring deal"
},
"BASED_ID": {
"type": "integer",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Created based on"
},
"ACTIVE": {
"type": "char",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Active"
},
"NEXT_EXECUTION": {
"type": "datetime",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Next execution date"
},
"LAST_EXECUTION": {
"type": "datetime",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Last execution date"
},
"COUNTER_REPEAT": {
"type": "integer",
"isRequired": false,
"isReadOnly": true,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Number of executions"
},
"START_DATE": {
"type": "date",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Start date for calculation"
},
"CATEGORY_ID": {
"type": "char",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Category of the new deal"
},
"IS_LIMIT": {
"type": "char",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Type of execution limits"
},
"LIMIT_REPEAT": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Limit on the number of executions"
},
"LIMIT_DATE": {
"type": "date",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Limit by date"
},
"PARAMS": {
"type": "recurring_params",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"definition": {
"MODE": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Repetition mode"
},
"SINGLE_BEFORE_START_DATE_VALUE": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Offset before the calculation date"
},
"SINGLE_BEFORE_START_DATE_TYPE": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Type of offset before the calculation date"
},
"MULTIPLE_TYPE": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Type of repetition"
},
"MULTIPLE_INTERVAL": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Repetition interval"
},
"OFFSET_BEGINDATE_TYPE": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Type of offset for the start date in the new deal"
},
"OFFSET_BEGINDATE_VALUE": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Offset for the start date in the new deal"
},
"OFFSET_CLOSEDATE_TYPE": {
"type": "string",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Type of offset for the completion date in the new deal"
},
"OFFSET_CLOSEDATE_VALUE": {
"type": "integer",
"isRequired": false,
"isReadOnly": false,
"isImmutable": false,
"isMultiple": false,
"isDynamic": false,
"title": "Offset for the completion date in the new deal"
}
},
"title": "Parameters for calculating the next execution date"
}
},
"time": {
"start": 1772690452,
"finish": 1772690452.454308,
"duration": 0.45430803298950195,
"processing": 0,
"date_start": "2026-03-05T09:00:52+01:00",
"date_finish": "2026-03-05T09:00:52+01:00",
"operating_reset_at": 1772691052,
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
Root element of the response. Contains a description of the fields of the template |
|
time |
Information about the execution time of the request |
Overview of the Recurring Deal Template Fields
|
Field |
Description |
Note |
|
ID |
Identifier of the record in the recurring deal settings table |
Read-only |
|
DEAL_ID |
id of the recurring deal |
Immutable |
|
BASED_ID |
id of the deal on which the template was created |
Read-only |
|
ACTIVE |
Active flag |
Values: |
|
NEXT_EXECUTION |
Date and time of the next deal creation from the template |
Read-only |
|
LAST_EXECUTION |
Date and time of the last deal creation from the template |
Read-only |
|
COUNTER_REPEAT |
Number of deals created from the template |
Read-only |
|
START_DATE |
Date to start calculating the next launch |
If not specified, calculation starts from the current date |
|
CATEGORY_ID |
id of the funnel for created deals |
|
|
IS_LIMIT |
Type of limit on deal creation |
|
|
LIMIT_REPEAT |
Maximum number of deals to be created |
Used when |
|
LIMIT_DATE |
End date for deal generation |
Used when |
|
PARAMS |
Parameters for calculating the next execution date |
Structure of fields — below |
Fields of the PARAMS Object
|
Field |
Description |
Note |
|
MODE |
Repetition mode |
|
|
MULTIPLE_TYPE |
Type of period for |
|
|
MULTIPLE_INTERVAL |
Repetition interval for |
|
|
SINGLE_BEFORE_START_DATE_TYPE |
Type of offset for |
|
|
SINGLE_BEFORE_START_DATE_VALUE |
Value of the offset for |
|
|
OFFSET_BEGINDATE_TYPE |
Type of offset for the start date of the created deal |
|
|
OFFSET_BEGINDATE_VALUE |
Value of the offset for the start date of the created deal |
|
|
OFFSET_CLOSEDATE_TYPE |
Type of offset for the completion date of the created deal |
|
|
OFFSET_CLOSEDATE_VALUE |
Value of the offset for the completion date of the created deal |
Error Handling
HTTP Status: 400
{
"error": "",
"error_description": "Access denied."
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
|
|
Insufficient permissions to access CRM |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Create a Template for Recurring Deal crm.deal.recurring.add
- Get Recurring Deal Template Settings by ID crm.deal.recurring.get
- Get a List of Recurring Deal Template Settings crm.deal.recurring.list
- Update the Recurring Deal Template Settings `crm.deal.recurring.update`
- Delete the Recurring Deal Template Setting crm.deal.recurring.delete
- Create a New Deal from the Template crm.deal.recurring.expose