For AI agents: markdown of this page — /docs-content-en/entities/crm-forms/configuration.md documentation index — /llms.txt
Get builder configuration
GET /v1/crm-forms/configuration
Returns the CRM form builder reference data for the Bitrix24 account. Call it before creating or updating a form to choose the entity scheme, language and funnel, and to check the active form limit.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/crm-forms/configuration" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/crm-forms/configuration" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms/configuration', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Active forms:', data.limits.activeForms.current, 'of', data.limits.activeForms.maximum)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms/configuration', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typeobject | DescriptionBuilder configuration, preserving the returned properties |
Fielddata.entitySchemes |
Typearray | DescriptionCRM entity schemes the form creates |
Fielddata.entitySchemes[].id |
Typenumber | DescriptionScheme ID. The value for crm.entityScheme when creating a form |
Fielddata.entitySchemes[].name |
Typestring | DescriptionScheme name |
Fielddata.entitySchemes[].description |
Typestring | DescriptionWhich entities the scheme creates |
Fielddata.entitySchemes[].entityNames |
Typearray | DescriptionEntity names of the scheme, for example LEAD, COMPANY, CONTACT |
Fielddata.entitySchemes[].mainEntityName |
Typestring | null | DescriptionMain entity of the scheme. null for a scheme without a main entity, for example "Client" |
Fielddata.entitySchemes[].hasInvoice |
Typeboolean | DescriptionWhether the scheme creates an invoice |
Fielddata.entitySchemes[].dynamic |
Typeboolean | Descriptiontrue for smart process schemes |
Fielddata.duplicateModes |
Typearray | DescriptionDuplicate handling modes |
Fielddata.duplicateModes[].id |
Typestring | DescriptionMode code: MERGE or REPLACE. The value for crm.duplicateMode |
Fielddata.duplicateModes[].name |
Typestring | DescriptionMode name |
Fielddata.lead.enabled |
Typeboolean | DescriptionWhether leads are enabled on the Bitrix24 account |
Fielddata.dealCategories |
Typearray | DescriptionDeal funnels |
Fielddata.dealCategories[].id |
Typenumber | DescriptionFunnel ID. The value for crm.dealCategoryId |
Fielddata.dealCategories[].name |
Typestring | DescriptionFunnel name |
Fielddata.smartProcesses |
Typearray | DescriptionSmart processes of the Bitrix24 account |
Fielddata.smartProcesses[].entityTypeId |
Typenumber | DescriptionSmart process type ID |
Fielddata.smartProcesses[].entityName |
Typestring | DescriptionSmart process entity name in the format DYNAMIC_<entityTypeId> |
Fielddata.smartProcesses[].name |
Typestring | DescriptionSmart process name |
Fielddata.smartProcesses[].categories |
Typearray | DescriptionSmart process funnels |
Fielddata.smartProcesses[].categories[].id |
Typenumber | DescriptionFunnel ID. The value for crm.smartProcessCategoryId |
Fielddata.smartProcesses[].categories[].name |
Typestring | DescriptionFunnel name |
Fielddata.languages |
Typearray | DescriptionForm languages |
Fielddata.languages[].id |
Typestring | DescriptionLanguage code. The value for the form's languageId |
Fielddata.languages[].name |
Typestring | DescriptionLanguage name |
Fielddata.currencies |
Typearray | DescriptionCurrencies of the Bitrix24 account |
Fielddata.currencies[].id |
Typestring | DescriptionCurrency code, for example USD |
Fielddata.currencies[].fullName |
Typestring | DescriptionShort currency name |
Fielddata.currencies[].formatString |
Typestring | DescriptionAmount display template. # is replaced with the amount |
Fielddata.fieldTypes |
Typearray | DescriptionForm field types |
Fielddata.fieldTypes[].id |
Typestring | DescriptionType code. The value for the form's fields[].type |
Fielddata.fieldTypes[].name |
Typestring | DescriptionType name |
Fielddata.fieldTypes[].parameters |
Typearray | DescriptionSettings a field of this type accepts: label, required, multiple, placeholder, valueType, value |
Fielddata.paySystems |
Typearray | DescriptionPayment systems of the Bitrix24 account |
Fielddata.paySystems[].id |
Typenumber | DescriptionPayment system ID |
Fielddata.paySystems[].name |
Typestring | DescriptionPayment system name |
Fielddata.permissions.canRead |
Typeboolean | DescriptionWhether the key's user can read forms |
Fielddata.permissions.canEdit |
Typeboolean | DescriptionWhether the key's user can edit forms |
Fielddata.limits.activeForms.current |
Typenumber | DescriptionHow many forms are active now |
Fielddata.limits.activeForms.maximum |
Typenumber | DescriptionHow many forms can be active on the Bitrix24 account |
Fielddata.product.isCloud |
Typeboolean | Descriptiontrue for a cloud Bitrix24 account |
Fielddata.product.isRegionRussian |
Typeboolean | Descriptiontrue for a Bitrix24 account in the Russian region |
Fielddata.region |
Typestring | DescriptionRegion code of the Bitrix24 account, for example en |
Response example
Only the first elements of each array are shown. The array contents depend on the Bitrix24 account.
{
"success": true,
"data": {
"entitySchemes": [
{
"id": 1,
"name": "Lead",
"description": "lead",
"entityNames": ["LEAD", "COMPANY", "CONTACT"],
"mainEntityName": "LEAD",
"hasInvoice": false,
"dynamic": false
},
{
"id": 1770,
"name": "Equipment purchase",
"description": "Smart Process Automation, contact or company",
"entityNames": ["DYNAMIC_177", "COMPANY", "CONTACT"],
"mainEntityName": "DYNAMIC_177",
"hasInvoice": false,
"dynamic": true
}
],
"duplicateModes": [
{ "id": "MERGE", "name": "Merge" },
{ "id": "REPLACE", "name": "Replace" }
],
"lead": { "enabled": true },
"dealCategories": [
{ "id": 0, "name": "General" },
{ "id": 1, "name": "Newest" }
],
"smartProcesses": [
{
"entityTypeId": 177,
"entityName": "DYNAMIC_177",
"name": "Equipment purchase",
"categories": [
{ "id": 7, "name": "General" },
{ "id": 9, "name": "Second funnel" }
]
}
],
"languages": [
{ "id": "en", "name": "English" },
{ "id": "de", "name": "Deutsch" }
],
"currencies": [
{ "id": "USD", "fullName": "$", "formatString": "$#" }
],
"fieldTypes": [
{ "id": "section", "name": "Section", "parameters": ["label"] },
{ "id": "string", "name": "String", "parameters": ["label", "required", "multiple", "placeholder", "valueType", "value"] }
],
"paySystems": [
{ "id": 1, "name": "Bank transfer (Companies)" },
{ "id": 11, "name": "Cash" }
],
"permissions": { "canRead": true, "canEdit": true },
"limits": { "activeForms": { "current": 4, "maximum": 99999 } },
"product": { "isCloud": true, "isRegionRussian": false },
"region": "en"
}
}
Error response example
400 — a query parameter was passed:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Unknown query parameter"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
DescriptionThe endpoint accepts no query parameters |
| 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.
Known specifics
- The smart process scheme ID differs from
entityTypeId. For smart process177,entitySchemesreturns a scheme withid: 1770. Pass the schemeidincrm.entityScheme, notentityTypeId.