For AI agents: markdown of this page — /docs-content-en/entities/crm-forms/get.md documentation index — /llms.txt
Get a form
GET /v1/crm-forms/:id
Reads the settings of one CRM form by ID to learn the field names before submitting visitor data or to prepare a form update.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
Parameterid (path) |
Typeinteger | Requiredyes | DescriptionForm ID. List: List forms |
Parameterselect (query) |
Typestring | Requiredno | DescriptionComma-separated properties or nested paths. Without it, all 11 scalar properties and 14 sections are requested |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/crm-forms/91" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/crm-forms/91" \
-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/91', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { data } = await res.json()
for (const field of data.fields) console.log(field.name, field.type, field.required)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms/91', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | Descriptiontrue on success |
Fielddata |
Typeobject | DescriptionForm properties as returned by Bitrix24, restricted to the requested select. Top-level property metadata: Form contract fields |
Fieldmeta.redacted |
Typestring[] | DescriptionPresent only when credentials of the current connection are found in the content. JSON Pointer paths identify replaced values. Do not save this representation back as a complete configuration |
The 14 sections are appearance, crm, dependencies, presetFields, responsible, agreements, submission, payment, callback, booking, analytics, spamProtection, integrations, fields. Content and field properties are preserved, including strings that resemble credentials. Only exact occurrences of the current connection's credentials are replaced.
Take nested property names and their values from the full GET /v1/crm-forms/:id response for a specific configured form. The metadata reference describes only the top level, not the structure of nested sections.
Response example
The main properties are shown. The full response also includes the other properties from Form contract fields.
{
"success": true,
"data": {
"id": 91,
"name": "VIBE-PROBE 777758 parity",
"active": false,
"updatedTime": "2026-11-05T08:16:55Z",
"crm": {
"entityScheme": 1,
"duplicateMode": "",
"dealCategoryId": null,
"dealDuplicateControlEnabled": false,
"smartProcessCategoryId": null,
"smartProcessDuplicateControlEnabled": false
},
"responsible": {
"userIds": [],
"checkWorkTime": false
},
"agreements": {
"enabled": false,
"items": []
},
"fields": [
{
"name": "LEAD_NAME",
"type": "string",
"label": null,
"sort": 10,
"required": false,
"multiple": false,
"placeholder": null,
"valueType": null,
"value": null
}
]
}
}
Error response example
404 — no form with this id:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "Record with ID = `999999999` not found",
"b24Code": "BITRIX_REST_V3_EXCEPTION_ENTITYNOTFOUNDEXCEPTION"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
Descriptionid is not a positive safe integer |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionAn unknown query parameter was passed or select has an invalid structure |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionBitrix24 rejected the projection. The original code is in error.b24Code |
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionNo form with this id. 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 |
| 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
Reading the form makes one request. Fetch value options for CRM fields separately from List entity fields. They are not added to fields[] automatically.