For AI agents: markdown of this page — /docs-content-en/entities/crm-forms/list.md documentation index — /llms.txt

List forms

GET /v1/crm-forms

Finds CRM forms in the Bitrix24 account by activity, name, code, CRM scheme, responsible user or dates, so you can get the ID of the form you need.

Parameters

Parameter Type Default Description
Parameterid (query) Typeinteger | integer[] Default— DescriptionForm IDs. Repeat the parameter: ?id=1&id=3. IDs come from this list
Parameteractive (query) Typeboolean Default— DescriptionForm activity. Omit to return both active and inactive forms
Parametername (query) Typestring Default— DescriptionExact form name, including commas. Repeat the parameter for several names
Parametercode (query) Typestring Default— DescriptionExact symbolic code. Repeat the parameter for several codes
ParameterentityScheme (query) Typenumber Default— DescriptionAlias for crm.entityScheme. Values: entitySchemes in builder configuration. Several values may be comma-separated
ParameterresponsibleUserId (query) Typenumber Default— DescriptionAlias for responsible.userIds. IDs: List employees. Several IDs may be comma-separated
Parameterfilter (query) Typeobject Default— DescriptionFilter by form properties. Top-level metadata: Form contract fields. Filtering syntax. Example: ?filter[id][$in]=1,3, date range: ?filter[updatedTime][$gte]=2023-01-01T00:00:00Z. Property names and operators are validated by Bitrix24
Parameterselect (query) Typestring Default— DescriptionComma-separated properties and nested paths, such as id,name,active,templateId,crm.entityScheme,responsible.userIds,updatedTime
Parameterorder (query) Typeobject Default— DescriptionSort: ?order[name]=desc. Use either order[...] or sort. Using both returns 400 INVALID_PARAMS
Parametersort (query) Typestring Default— DescriptionSort shorthand: ?sort=-name; a leading minus means descending order. Bitrix24 validates sort properties and directions
Parameterlimit (query) Typenumber Default— DescriptionPage size. Bitrix24 validates the value
Parameteroffset (query) Typenumber Default— DescriptionNumber of forms to skip. Bitrix24 validates the value

Pagination. One request reads one page. Without limit and offset, Bitrix24 uses its own pagination defaults. Pagination metadata is included only when returned by Bitrix24. To request the next page, pass limit and increase offset by that value.

Examples

curl — personal key

Terminal
curl "https://vibecode.bitrix24.com/v1/crm-forms?limit=2" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/crm-forms?limit=2" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms?limit=2', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { data, meta } = await res.json()
for (const form of data) console.log(form.id, form.name)
const mayHaveNextPage = data.length === 2

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms?limit=2', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { data, meta } = await res.json()

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on success
Fielddata Typearray DescriptionForms on the page, preserving their properties. Top-level property metadata: Form contract fields
Fieldmeta Typeobject DescriptionOptional pagination metadata returned by Bitrix24
Fieldmeta.redacted Typestring[] DescriptionPresent only when the current connection's credentials are found in the content. JSON Pointer paths identify replaced values

Without select, each form has 11 scalar properties: id, code, name, active, system, languageId, templateId, createdTime, updatedTime, activeChangedById, activeChangedTime. Target entities and responsible users require an explicit select. activeChangedById identifies the author of the activity change, not the responsible user.

Response example

JSON
{
  "success": true,
  "data": [
    {
      "id": 1,
      "code": "1_kontaktnye_dannye",
      "name": "Contact details",
      "active": true,
      "system": true,
      "languageId": "ru",
      "templateId": "light",
      "createdTime": "2020-04-22T06:13:05Z",
      "updatedTime": "2020-04-22T06:13:05Z",
      "activeChangedById": 1,
      "activeChangedTime": "2020-04-22T06:13:05Z"
    },
    {
      "id": 3,
      "code": "3_obratnaya_svyaz",
      "name": "Feedback form",
      "active": true,
      "system": true,
      "languageId": "ru",
      "templateId": "light",
      "createdTime": "2020-04-22T06:13:05Z",
      "updatedTime": "2020-04-22T06:13:05Z",
      "activeChangedById": 1,
      "activeChangedTime": "2020-04-22T06:13:05Z"
    }
  ]
}

Live response from a Russian-language portal: code and languageId are portal values returned as stored. code is the exact value for the ?code= filter, and another portal has its own codes. Only the display name appears here in English.

Error response example

400 — invalid limit, here ?limit=abc:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Cannot parse pagination parameter `{\"limit\":\"abc\"}`",
    "b24Code": "BITRIX_REST_V3_EXCEPTION_INVALIDPAGINATIONEXCEPTION"
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptionMalformed filter, select, order or sort structure
HTTP400 CodeINVALID_PARAMS DescriptionBoth order[...] and sort were passed
HTTP400 CodeINVALID_PARAMS DescriptionBitrix24 rejected a filter, sort or pagination value. The original code is in error.b24Code. Field errors are in error.validation
HTTP403 CodeBITRIX_ACCESS_DENIED DescriptionThe Bitrix24 user lacks permission to access forms
HTTP403 CodeBITRIX_INSUFFICIENT_SCOPE DescriptionThe Bitrix24 token lacks the required scope
HTTP404 CodeENTITY_NOT_FOUND DescriptionBitrix24 did not find a requested entity or field descriptor. The original code is in error.b24Code
HTTP409 CodeCRM_FORM_REST_NOT_ENABLED DescriptionThe CRM form REST methods are unavailable on this Bitrix24 account. This does not mean that an individual form is missing
HTTP400–599 CodeCRM_FORM_* DescriptionRejection under form rules. The code and HTTP status are preserved. The original code is in error.b24Code
HTTP422 CodeBITRIX_ERROR DescriptionAnother Bitrix24 rejection. The reason is in error.message. The original code is in error.b24Code
HTTP429 CodeRATE_LIMITED DescriptionRequest rate exceeded. Follow the Retry-After header
HTTP502 CodeBITRIX_UNAVAILABLE DescriptionBitrix24 returned an unexpected response shape
HTTP502 CodeBITRIX_UNAVAILABLE DescriptionBitrix24 is unavailable: a server error or a dropped connection
HTTP503 CodeBITRIX_TIMEOUT DescriptionBitrix24 did not respond in time. The read can be retried
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is missing
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no configured Bitrix24 credentials
HTTP403 CodeSCOPE_DENIED DescriptionThe Vibecode API key lacks the crm scope

Full list of common API errors — Errors.

See also