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

Form contract fields

GET /v1/crm-forms/fields

Returns the schema of top-level CRM form properties. Use it to check which configuration blocks belong to the form contract before you create or update a form.

Parameters

Parameter Type Description
Parameterselect (query) Typestring DescriptionComma-separated metadata properties, for example name,type,multiple. Without it, all metadata properties are returned

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/crm-forms/fields" \
  -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/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Form properties:', data.length)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms/fields', {
  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 Typearray DescriptionForm property descriptions. The property set is in the table below
Fielddata[].name Typestring DescriptionForm property name
Fielddata[].type Typestring DescriptionValue type: int, string, bool, date-time or object
Fielddata[].elementType Typestring | null DescriptionElement type of a multi-value property, for example object. null for single-value properties
Fielddata[].multiple Typeboolean Descriptiontrue — the property value is an array
Fielddata[].title Typestring DescriptionProperty label. Matches name
Fielddata[].description Typestring | null DescriptionProperty description
Fielddata[].validationRules Typearray DescriptionValue validation rules
Fielddata[].requiredGroups Typearray | null DescriptionRequired groups
Fielddata[].filterable Typeboolean DescriptionWhether the property is marked as filterable
Fielddata[].sortable Typeboolean DescriptionWhether the property is marked as sortable
Fielddata[].editable Typeboolean DescriptionEditability flag from the schema. It is false for every property. Bitrix24 validates writable properties when a form is saved

Form properties in data:

Field Type RO Description
Fieldid Typeint ROyes DescriptionForm ID. List: GET /v1/crm-forms
Fieldcode Typestring ROyes DescriptionForm symbolic code
Fieldname Typestring RO DescriptionForm name
Fieldactive Typebool RO DescriptionWhether the form is enabled. Accepted only on create. For an existing form, change it through activation and deactivation
Fieldsystem Typebool ROyes DescriptionSystem form
FieldlanguageId Typestring RO DescriptionForm language. List: data.languages[].id in the builder configuration
FieldtemplateId Typestring RO DescriptionForm template
FieldcreatedTime Typedate-time ROyes DescriptionCreation time
FieldupdatedTime Typedate-time ROyes DescriptionLast modification time. Pass it to form update as a version that protects against overwriting other users' changes
FieldactiveChangedById Typeint ROyes DescriptionID of the user who last changed the active state. List: GET /v1/users
FieldactiveChangedTime Typedate-time ROyes DescriptionWhen the active state last changed
Fieldappearance Typeobject RO DescriptionAppearance: title, description, button caption and colors
Fieldcrm Typeobject RO DescriptionCRM binding: entity scheme, duplicate mode, funnel. Values are in the builder configuration
Fielddependencies Typeobject RO DescriptionArray of field dependency rules, multiple: true
FieldpresetFields Typeobject RO DescriptionArray of preset field values, multiple: true
Fieldresponsible Typeobject RO DescriptionUsers responsible for form results and work time tracking. Responsible user IDs come from GET /v1/users
Fieldagreements Typeobject RO DescriptionAgreements the visitor accepts on submission
Fieldsubmission Typeobject RO DescriptionActions after submission: texts and redirect URLs on success and on error
Fieldpayment Typeobject RO DescriptionPayment settings
Fieldcallback Typeobject RO DescriptionCallback settings
Fieldbooking Typeobject RO DescriptionBooking settings
Fieldanalytics Typeobject RO DescriptionAnalytics settings
FieldspamProtection Typeobject RO DescriptionSpam protection settings
Fieldintegrations Typeobject RO DescriptionIntegration settings
Fieldfields Typeobject RO DescriptionArray of form fields, multiple: true. Field names come from GET /v1/crm-forms/entity-fields

Response example

JSON
{
  "success": true,
  "data": [
    {"name": "id", "type": "int", "elementType": null, "multiple": false, "title": "id", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
    {"name": "code", "type": "string", "elementType": null, "multiple": false, "title": "code", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": false, "editable": false},
    {"name": "name", "type": "string", "elementType": null, "multiple": false, "title": "name", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
    {"name": "active", "type": "bool", "elementType": null, "multiple": false, "title": "active", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
    {"name": "system", "type": "bool", "elementType": null, "multiple": false, "title": "system", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "languageId", "type": "string", "elementType": null, "multiple": false, "title": "languageId", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "templateId", "type": "string", "elementType": null, "multiple": false, "title": "templateId", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "createdTime", "type": "date-time", "elementType": null, "multiple": false, "title": "createdTime", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
    {"name": "updatedTime", "type": "date-time", "elementType": null, "multiple": false, "title": "updatedTime", "description": null, "validationRules": [], "requiredGroups": null, "filterable": true, "sortable": true, "editable": false},
    {"name": "activeChangedById", "type": "int", "elementType": null, "multiple": false, "title": "activeChangedById", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "activeChangedTime", "type": "date-time", "elementType": null, "multiple": false, "title": "activeChangedTime", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "appearance", "type": "object", "elementType": null, "multiple": false, "title": "appearance", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "crm", "type": "object", "elementType": null, "multiple": false, "title": "crm", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "dependencies", "type": "object", "elementType": "object", "multiple": true, "title": "dependencies", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "presetFields", "type": "object", "elementType": "object", "multiple": true, "title": "presetFields", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "responsible", "type": "object", "elementType": null, "multiple": false, "title": "responsible", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "agreements", "type": "object", "elementType": null, "multiple": false, "title": "agreements", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "submission", "type": "object", "elementType": null, "multiple": false, "title": "submission", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "payment", "type": "object", "elementType": null, "multiple": false, "title": "payment", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "callback", "type": "object", "elementType": null, "multiple": false, "title": "callback", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "booking", "type": "object", "elementType": null, "multiple": false, "title": "booking", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "analytics", "type": "object", "elementType": null, "multiple": false, "title": "analytics", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "spamProtection", "type": "object", "elementType": null, "multiple": false, "title": "spamProtection", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "integrations", "type": "object", "elementType": null, "multiple": false, "title": "integrations", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false},
    {"name": "fields", "type": "object", "elementType": "object", "multiple": true, "title": "fields", "description": null, "validationRules": [], "requiredGroups": null, "filterable": false, "sortable": false, "editable": false}
  ]
}

Error response example

400 — an unknown query parameter was passed:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Unknown query parameter"
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptionAn unknown query parameter was passed
HTTP400 CodeINVALID_PARAMS Descriptionselect is not a string or an array of strings
HTTP400 CodeINVALID_PARAMS DescriptionBitrix24 rejected the projection. The original code is in error.b24Code
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

This endpoint describes properties of the form itself. CRM fields and their value options are listed separately by List entity fields. The two catalogs serve different purposes.

See also