For AI agents: markdown of this page — /docs-content-en/entities/recurring-deals/fields.md documentation index — /llms.txt

Recurring deal fields

GET /v1/recurring-deals/fields

Returns field definitions for deal recurrence settings. Use it to check types, required fields and whether a field can be written.

Parameters

Parameter Type Default Description
refresh (query) string false Supply true to refresh field metadata, for example ?refresh=true

Examples

curl — personal key

Terminal
curl -X GET "https://vibecode.bitrix24.com/v1/recurring-deals/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl -X GET "https://vibecode.bitrix24.com/v1/recurring-deals/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const response = await fetch('https://vibecode.bitrix24.com/v1/recurring-deals/fields', {
  method: 'GET',
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const result = await response.json()
if (!result.success) throw new Error(result.error.message)
console.log(result.data)

JavaScript — OAuth application

javascript
const response = await fetch('https://vibecode.bitrix24.com/v1/recurring-deals/fields', {
  method: 'GET',
  headers: { 'X-Api-Key': 'YOUR_APP_KEY', 'Authorization': 'Bearer USER_SESSION_TOKEN' },
})
const result = await response.json()
if (!result.success) throw new Error(result.error.message)
console.log(result.data)

Response fields

Field Type Description
success boolean Whether the request succeeded
data.fields object Complete field definitions: type, readonly, required, createOnly, nullable, enum, properties when present
data.batch string[] Entity operations listed for batch processing: create, update, delete
meta.warnings object[] A fields_partial warning may be returned when field definitions are partially loaded
Field Type RO Description
id number Yes Setting ID. See get a setting.
dealId number No Template deal ID. Required and writable only on creation. A regular source deal is copied. See the deal.
basedId number Yes Source deal ID. See the deal. May be null.
active boolean No Whether automatic recurrence is active
nextExecution datetime Yes Next execution date. May be null.
lastExecution datetime Yes Last execution date. May be null.
counterRepeat number Yes Execution count. May be null.
startDate date No Schedule start date. May be null.
categoryId number No Pipeline for created deals. See the pipeline. May be null.
isLimit string No Limit mode: N — unlimited, T — repetition count, D — end date
limitRepeat number No Maximum repetitions in mode T. May be null.
limitDate date No Last allowed date in mode D. May be null.
params object No Complete schedule parameters. Replaced in full on update
params.mode string No Schedule mode. May be null.
params.singleBeforeStartDateValue number No Single execution offset value
params.singleBeforeStartDateType string No Single execution offset type. May be null.
params.multipleType string No Recurrence period type. May be null.
params.multipleInterval number No Recurrence interval
params.offsetBeginDateType string No Start date offset type. May be null.
params.offsetBeginDateValue number No Start date offset value
params.offsetCloseDateType string No End date offset type. May be null.
params.offsetCloseDateValue number No End date offset value

RO means the field is read-only.

Response example

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": {
        "type": "number",
        "readonly": true,
        "label": "Setting ID",
        "description": "Setting ID"
      },
      "dealId": {
        "type": "number",
        "readonly": false,
        "createOnly": true,
        "required": true,
        "label": "Template deal ID. A regular source deal is copied on creation",
        "description": "Template deal ID. A regular source deal is copied on creation."
      },
      "basedId": {
        "type": "number",
        "readonly": true,
        "nullable": true,
        "label": "Source deal ID",
        "description": "Source deal ID"
      },
      "active": {
        "type": "boolean",
        "readonly": false,
        "label": "Automatic recurrence activity",
        "description": "Automatic recurrence activity"
      },
      "nextExecution": {
        "type": "datetime",
        "readonly": true,
        "nullable": true,
        "label": "Next execution date",
        "description": "Next execution date"
      },
      "lastExecution": {
        "type": "datetime",
        "readonly": true,
        "nullable": true,
        "label": "Last execution date",
        "description": "Last execution date"
      },
      "counterRepeat": {
        "type": "number",
        "readonly": true,
        "nullable": true,
        "label": "Execution count",
        "description": "Execution count"
      },
      "startDate": {
        "type": "date",
        "readonly": false,
        "nullable": true,
        "label": "Schedule start date",
        "description": "Schedule start date"
      },
      "categoryId": {
        "type": "number",
        "readonly": false,
        "nullable": true,
        "label": "Pipeline for created deals",
        "description": "Pipeline for created deals"
      },
      "isLimit": {
        "type": "string",
        "readonly": false,
        "label": "Recurrence limit mode",
        "description": "Recurrence limit mode",
        "enum": [
          {
            "value": "N",
            "label": "Unlimited"
          },
          {
            "value": "T",
            "label": "Repetition count"
          },
          {
            "value": "D",
            "label": "End date"
          }
        ]
      },
      "limitRepeat": {
        "type": "number",
        "readonly": false,
        "nullable": true,
        "label": "Maximum repetitions in mode T",
        "description": "Maximum repetitions in mode T"
      },
      "limitDate": {
        "type": "date",
        "readonly": false,
        "nullable": true,
        "label": "Last allowed date in mode D",
        "description": "Last allowed date in mode D"
      },
      "params": {
        "type": "object",
        "readonly": false,
        "label": "Complete schedule parameters. Replaced in full on update",
        "description": "Complete schedule parameters. Replaced in full on update.",
        "properties": {
          "mode": {
            "type": "string",
            "nullable": true
          },
          "singleBeforeStartDateValue": {
            "type": "number"
          },
          "singleBeforeStartDateType": {
            "type": "string",
            "nullable": true
          },
          "multipleType": {
            "type": "string",
            "nullable": true
          },
          "multipleInterval": {
            "type": "number"
          },
          "offsetBeginDateType": {
            "type": "string",
            "nullable": true
          },
          "offsetBeginDateValue": {
            "type": "number"
          },
          "offsetCloseDateType": {
            "type": "string",
            "nullable": true
          },
          "offsetCloseDateValue": {
            "type": "number"
          }
        }
      }
    },
    "batch": [
      "create",
      "update",
      "delete"
    ]
  }
}

Error response example

401 — API key missing:

JSON
{
  "success": false,
  "error": {
    "code": "MISSING_API_KEY",
    "message": "API key required. Pass via X-Api-Key header."
  }
}

Errors

HTTP Code Description
401 MISSING_API_KEY The X-Api-Key header is missing
401 TOKEN_MISSING No Bitrix24 access tokens are configured
403 SCOPE_DENIED The API key lacks the crm scope
403 BITRIX_ACCESS_DENIED Bitrix24 denied access, including a missing required scope
422 BITRIX_ERROR Bitrix24 rejected the operation or a plan restriction applies. See error.message
503 BITRIX_TIMEOUT Bitrix24 did not respond in time. Retry after the interval in Retry-After
502 BITRIX_UNAVAILABLE A connection to Bitrix24 could not be established
429 RATE_LIMITED The request rate limit was exceeded. The effective limit is in the x-ratelimit-limit header. Retry after the interval in the Retry-After header

For the full list of common API errors, see Error codes.

See also