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
Parameter:entity (path) Typestring Requiredyes DescriptionEntity: deals, leads, contacts, companies, quotes, requisites
Parameter:id (path) Typenumber Requiredyes DescriptionNumeric identifier of the field (from the response of GET /v1/userfields/:entity or POST /v1/userfields/:entity)

Examples

curl — personal key

Terminal
curl "https://vibecode.bitrix24.com/v1/userfields/deals/7115" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
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

javascript
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

javascript
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
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typeobject DescriptionField object
Fielddata.id Typenumber DescriptionNumeric identifier of the field
Fielddata.entityId Typestring DescriptionInternal entity identifier: CRM_DEAL, CRM_LEAD, CRM_CONTACT, CRM_COMPANY, CRM_QUOTE, CRM_REQUISITE
Fielddata.fieldName Typestring DescriptionSystem field name in the UF_CRM_* format
Fielddata.userTypeId Typestring DescriptionField type. The list of allowed values — GET /v1/userfields/:entity/types
Fielddata.xmlId Typestring|null DescriptionExternal identifier for integrations. Set manually on creation
Fielddata.sort Typestring DescriptionSort order in the Bitrix24 interface
Fielddata.multiple Typestring DescriptionMultiple field: "Y" or "N"
Fielddata.mandatory Typestring DescriptionRequired field: "Y" or "N"
Fielddata.showFilter Typestring DescriptionShow in the filter. "N" — off; a filter enabled through this API comes back as "E" (Bitrix24 storage form). A field created outside this method — in the account interface or by another integration — may carry a different value, so compare against "N" rather than enumerating the options. An "N" or an "E" you read can be sent back as is. Any OTHER value you read is not a write form — to keep the filter on, send true
Fielddata.showInList Typestring DescriptionShow in the record list: "Y" or "N"
Fielddata.editInList Typestring DescriptionAllow editing directly from the list: "Y" or "N"
Fielddata.isSearchable Typestring DescriptionWhether it participates in full-text search: "Y" or "N"
Fielddata.settings Typeobject DescriptionField settings specific to userTypeId. For string — SIZE, ROWS, REGEXP, MIN_LENGTH, MAX_LENGTH, DEFAULT_VALUE. For other types the composition differs
Fielddata.list Typearray DescriptionOptions for an enumeration field. Absent for other types. Each item contains the strings ID, SORT, VALUE, DEF and the optional string XML_ID. It is present only when set manually or via import. Options created through the API have no such key. When a record is created or updated, a user field takes the option ID, not the VALUE label. A label sent instead of the ID is lost without an error. Details — Value format by type
Fielddata.editFormLabel Typeobject DescriptionField label in the edit form — an object keyed by Bitrix24 account languages
Fielddata.listColumnLabel Typeobject DescriptionColumn header in the record list — an object keyed by Bitrix24 account languages
Fielddata.listFilterLabel Typeobject DescriptionField label in the filter — an object keyed by Bitrix24 account languages
Fielddata.errorMessage Typeobject DescriptionValidation error message — an object keyed by Bitrix24 account languages
Fielddata.helpMessage Typeobject DescriptionHint 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.

JSON
{
  "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:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "The entity with ID '9999999' is not found."
  }
}

Errors

HTTP Code Description
HTTP400 CodeUNKNOWN_ENTITY Description:entity is not in the list of supported entities
HTTP404 CodeENTITY_NOT_FOUND DescriptionBitrix24 returned a NOT_FOUND error — there is no field with this id
HTTP404 CodeNOT_FOUND DescriptionBitrix24 returned success, but result is empty — the field is absent on the portal
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is missing
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens
HTTP403 CodeSCOPE_DENIED DescriptionThe 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_VALUE
  • enumeration — DISPLAY, LIST_HEIGHT, CAPTION_NO_VALUE, SHOW_NO_VALUE
  • datetime — DEFAULT_VALUE, USE_SECOND, USE_TIMEZONE
  • crm — LEAD, CONTACT, COMPANY, DEAL set to "Y" or "N". A field whose smart process link was set outside this API carries the DYNAMIC_<entityTypeId> key and may lack the other keys

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