For AI agents: markdown of this page — /docs-content-en/userfields/crm/get.md documentation index — /llms.txt
Get field
GET /v1/userfields/:entity/:id
Returns the full description of a single user field of a CRM entity by its numeric identifier.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
:entity (path) |
string | yes | Entity: deals, leads, contacts, companies, quotes, requisites |
:id (path) |
number | yes | Numeric identifier of the field (from the response of GET /v1/userfields/:entity or POST /v1/userfields/:entity) |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/userfields/deals/7115" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/userfields/deals/7115" \
-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/userfields/deals/7115',
{
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
}
)
const { success, data } = await res.json()
console.log(data.fieldName, data.userTypeId)
JavaScript — OAuth application
const res = await fetch(
'https://vibecode.bitrix24.com/v1/userfields/deals/7115',
{
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
}
)
const { success, data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
object | Field object |
data.id |
number | Numeric identifier of the field |
data.entityId |
string | Internal entity identifier: CRM_DEAL, CRM_LEAD, CRM_CONTACT, CRM_COMPANY, CRM_QUOTE, CRM_REQUISITE |
data.fieldName |
string | System field name in the UF_CRM_* format |
data.userTypeId |
string | Field type. The list of allowed values — GET /v1/userfields/:entity/types |
data.xmlId |
string|null | External identifier for integrations. Set manually on creation |
data.sort |
string | Sort order in the Bitrix24 interface |
data.multiple |
string | Multiple field: "Y" or "N" |
data.mandatory |
string | Required field: "Y" or "N" |
data.showFilter |
string | Show in the filter: "N" — no, "I" — exact value, "E" — mask, "S" — range |
data.showInList |
string | Show in the record list: "Y" or "N" |
data.editInList |
string | Allow editing directly from the list: "Y" or "N" |
data.isSearchable |
string | Whether it participates in full-text search: "Y" or "N" |
data.settings |
object | Field settings specific to userTypeId. For string — SIZE, ROWS, REGEXP, MIN_LENGTH, MAX_LENGTH, DEFAULT_VALUE. For other types the composition differs |
data.list |
array | Options for an enumeration field. Absent for other types. Each item contains ID, SORT, VALUE, DEF (all values are strings) and optionally XML_ID (string; present only when set manually or via import — items created through the API have no such key) |
data.editFormLabel |
object | Field label in the edit form — an object keyed by Bitrix24 account languages |
data.listColumnLabel |
object | Column header in the record list — an object keyed by Bitrix24 account languages |
data.listFilterLabel |
object | Field label in the filter — an object keyed by Bitrix24 account languages |
data.errorMessage |
object | Validation error message — an object keyed by Bitrix24 account languages |
data.helpMessage |
object | Hint below the field in the form — an object keyed by Bitrix24 account languages |
Response example
The language objects (editFormLabel, listColumnLabel, listFilterLabel, errorMessage, helpMessage) arrive for all Bitrix24 account languages. Three keys are kept in the example for brevity.
{
"success": true,
"data": {
"id": 7115,
"entityId": "CRM_DEAL",
"fieldName": "UF_CRM_VIBE_DOC_1779951810",
"userTypeId": "string",
"xmlId": null,
"sort": "100",
"multiple": "N",
"mandatory": "N",
"showFilter": "N",
"showInList": "Y",
"editInList": "Y",
"isSearchable": "N",
"settings": {
"SIZE": 20,
"ROWS": 1,
"REGEXP": "",
"MIN_LENGTH": 0,
"MAX_LENGTH": 0,
"DEFAULT_VALUE": ""
},
"editFormLabel": {
"en": "Documentation field",
"de": "Documentation field",
"fr": "Documentation field"
},
"listColumnLabel": {
"en": "Documentation field",
"de": "Documentation field",
"fr": "Documentation field"
},
"listFilterLabel": {
"en": "Documentation field",
"de": "Documentation field",
"fr": "Documentation field"
},
"errorMessage": {
"en": "Documentation field",
"de": "Documentation field",
"fr": "Documentation field"
},
"helpMessage": {
"en": "Documentation field",
"de": "Documentation field",
"fr": "Documentation field"
}
}
}
Error response example
404 — the field does not exist:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "The entity with ID '9999999' is not found."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | UNKNOWN_ENTITY |
:entity is not in the list of supported entities |
| 404 | ENTITY_NOT_FOUND |
Bitrix24 returned a NOT_FOUND error — there is no field with this id |
| 404 | NOT_FOUND |
Bitrix24 returned success, but result is empty — the field is absent on the portal |
| 401 | MISSING_API_KEY |
The X-Api-Key header is missing |
| 401 | TOKEN_MISSING |
The API key has no configured tokens |
| 403 | SCOPE_DENIED |
The API key does not have the crm scope |
Full list of common API errors — Errors.
Known specifics
Language objects. The fields editFormLabel, listColumnLabel, listFilterLabel, errorMessage, helpMessage arrive as objects with values per Bitrix24 account language (ru, en, ua, de, fr, and others). The value is set when the field is created or updated via the label parameter. If only a string is passed ("label": "My title"), Bitrix24 automatically propagates it to all available languages.
The settings field. The structure of the settings object depends on the value of userTypeId. Key sets for common types:
string—SIZE,ROWS,REGEXP,MIN_LENGTH,MAX_LENGTH,DEFAULT_VALUEenumeration—DISPLAY,LIST_HEIGHT,CAPTION_NO_VALUE,SHOW_NO_VALUEdatetime—DEFAULT_VALUE,USE_SECOND,USE_TIMEZONE
Other types have their own set of keys.
The type of the nested settings.DEFAULT_VALUE key also depends on userTypeId: an empty string "" for string and money, the number 0 for boolean, an object { "TYPE": ..., "VALUE": ... } for date and datetime, an empty array [] for employee. The composition and types of nested settings keys are not fixed — rely on the specific userTypeId rather than on a single set.
When a field type has no configurable parameters, Bitrix24 may return the settings field itself as an empty array [] instead of {} (a PHP empty associative-array serialization quirk). Treat an empty array as "no settings" — do not rely on settings always being an object.
See also
- List entity fields — get all fields with filtering
- Field type catalog — decode
userTypeId - Create field — add a new field
- Update field — change field settings
- CRM entity fields — field mapping and supported entities
- User fields — section overview