[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-userfields\u002Fusers\u002Fget":3,"docs-tabs-userfields\u002Fusers\u002Fget":6},{"content":4,"lastmod":5},"\n## Get employee field\n\n`GET \u002Fv1\u002Fuserfields\u002Fusers\u002F:id`\n\nReturns the description of a single employee user field by its numeric identifier.\n\n## Parameters\n\n| Parameter | Type | Required | Description |\n|----------|-----|:-----:|---------|\n| `:id` (path) | number | yes | Numeric identifier of the field (from the response of [`GET \u002Fv1\u002Fuserfields\u002Fusers`](\u002Fdocs\u002Fuserfields\u002Fusers\u002Flist) or [`POST \u002Fv1\u002Fuserfields\u002Fusers`](\u002Fdocs\u002Fuserfields\u002Fusers\u002Fcreate)). Leading zeros are ignored — `007` reads as `7` |\n\n## Examples\n\n### curl — personal key\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fuserfields\u002Fusers\u002F6007923\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth application\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fuserfields\u002Fusers\u002F6007923\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — personal key\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fuserfields\u002Fusers\u002F6007923',\n  {\n    headers: { 'X-Api-Key': 'YOUR_API_KEY' },\n  }\n)\nconst { success, data } = await res.json()\nconsole.log(data.fieldName, data.userTypeId)\n```\n\n### JavaScript — OAuth application\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fuserfields\u002Fusers\u002F6007923',\n  {\n    headers: {\n      'X-Api-Key': 'YOUR_APP_KEY',\n      'Authorization': 'Bearer USER_SESSION_TOKEN',\n    },\n  }\n)\nconst { success, data } = await res.json()\n```\n\n## Response fields\n\n| Field | Type | Description |\n|------|-----|---------|\n| `success` | boolean | Always `true` on success |\n| `data` | object | Field object |\n| `data.id` | number | Numeric identifier of the field |\n| `data.entityId` | string | Internal entity identifier — always `USER` |\n| `data.fieldName` | string | System field name in the `UF_USR_*` format. The field appears under the same name in the employee schema [`GET \u002Fv1\u002Fusers\u002Ffields`](\u002Fdocs\u002Fentities\u002Fusers\u002Ffields) |\n| `data.userTypeId` | string | Field type. Allowed values — [Field types](\u002Fdocs\u002Fuserfields\u002Fusers#field-types) |\n| `data.xmlId` | string\\|null | External identifier for integrations. Set manually on creation or update |\n| `data.sort` | string | Sort order in the Bitrix24 interface |\n| `data.multiple` | string | Multiple field: `\"Y\"` or `\"N\"` |\n| `data.mandatory` | string | Required field. Always `\"N\"` for employee fields — [Which properties are applied](\u002Fdocs\u002Fuserfields\u002Fusers#which-properties-are-applied) |\n| `data.showFilter` | string | Show in the filter. `\"N\"` — off; the enabled state comes back as `\"E\"` — Bitrix24's storage form. An `\"N\"` or an `\"E\"` you read can be sent back as is |\n| `data.showInList` | string | Show in the employee list. Always `\"Y\"` for employee fields |\n| `data.editInList` | string | Allow editing from the list. Always `\"Y\"` for employee fields |\n| `data.isSearchable` | string | Whether it participates in full-text search. Always `\"N\"` for employee fields |\n| `data.settings` | object | Field settings specific to `userTypeId`. For `enumeration` — `DISPLAY`, `LIST_HEIGHT`, `CAPTION_NO_VALUE`, `SHOW_NO_VALUE`. Key sets for other types — in \"Known specifics\" |\n| `data.list` | array | Options of an `enumeration` field. Absent for other types. Each item contains `ID`, `SORT`, `VALUE`, `DEF` and `XML_ID` — all values are strings; Bitrix24 generates `XML_ID` itself when it is not passed |\n\nField labels — `editFormLabel`, `listColumnLabel`, `listFilterLabel`, `errorMessage`, `helpMessage` — are absent from the response: only the employee schema [`GET \u002Fv1\u002Fusers\u002Ffields`](\u002Fdocs\u002Fentities\u002Fusers\u002Ffields) returns them, in the `label` field.\n\n## Response example\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 6007923,\n    \"entityId\": \"USER\",\n    \"fieldName\": \"UF_USR_SHIFT\",\n    \"userTypeId\": \"enumeration\",\n    \"xmlId\": null,\n    \"sort\": \"200\",\n    \"multiple\": \"N\",\n    \"mandatory\": \"N\",\n    \"showFilter\": \"E\",\n    \"showInList\": \"Y\",\n    \"editInList\": \"Y\",\n    \"isSearchable\": \"N\",\n    \"settings\": {\n      \"DISPLAY\": \"LIST\",\n      \"LIST_HEIGHT\": 1,\n      \"CAPTION_NO_VALUE\": \"\",\n      \"SHOW_NO_VALUE\": \"Y\"\n    },\n    \"list\": [\n      {\n        \"ID\": \"3967\",\n        \"SORT\": \"10\",\n        \"VALUE\": \"Morning\",\n        \"DEF\": \"N\",\n        \"XML_ID\": \"46e4bae66329c39fafcbaef4262d490b\"\n      },\n      {\n        \"ID\": \"3969\",\n        \"SORT\": \"20\",\n        \"VALUE\": \"Evening\",\n        \"DEF\": \"N\",\n        \"XML_ID\": \"3351c3d103ce376358db5c39019af5c4\"\n      },\n      {\n        \"ID\": \"3971\",\n        \"SORT\": \"30\",\n        \"VALUE\": \"Night\",\n        \"DEF\": \"N\",\n        \"XML_ID\": \"160aa32209dc24bfb699010bf2df174a\"\n      }\n    ]\n  }\n}\n```\n\n## Error response example\n\n404 — the field does not exist:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"User field 999999999 not found\"\n  }\n}\n```\n\n## Errors\n\n| HTTP | Code | Description |\n|------|-----|---------|\n| 400 | `INVALID_ID` | `:id` is not a positive integer — the request is rejected before the portal is contacted |\n| 404 | `NOT_FOUND` | No field with this `id` |\n| 403 | `SCOPE_DENIED` | The API key does not have the `user.userfield` scope |\n| 401 | `MISSING_API_KEY` | The `X-Api-Key` header is missing |\n| 401 | `TOKEN_MISSING` | The API key has no configured tokens |\n\nFull list of common API errors — [Errors](\u002Fdocs\u002Ferrors).\n\n## Known specifics\n\n**The card is assembled from the list.** The response is the list item selected by `id`: the property set is the same as that of a [list](\u002Fdocs\u002Fuserfields\u002Fusers\u002Flist) item; the card carries no additional data. So when you need several fields at once, one list request is cheaper than a card per field.\n\n**The `settings` field.** The structure of the `settings` object depends on the `userTypeId` value. Key sets taken from live fields:\n\n- `string` — `SIZE`, `ROWS`, `REGEXP`, `MIN_LENGTH`, `MAX_LENGTH`, `DEFAULT_VALUE`\n- `integer` — `SIZE`, `MIN_VALUE`, `MAX_VALUE`, `DEFAULT_VALUE`\n- `double` — `PRECISION`, `SIZE`, `MIN_VALUE`, `MAX_VALUE`, `DEFAULT_VALUE`\n- `date` — `DEFAULT_VALUE` as an object `{ \"TYPE\": \"NONE\", \"VALUE\": \"\" }`\n- `datetime` — `DEFAULT_VALUE` as the same object, `USE_SECOND`, `USE_TIMEZONE`\n- `boolean` — `DEFAULT_VALUE`, `DISPLAY`, `LABEL`, `LABEL_CHECKBOX`\n- `enumeration` — `DISPLAY`, `LIST_HEIGHT`, `CAPTION_NO_VALUE`, `SHOW_NO_VALUE`\n- `file` — `SIZE`, `LIST_WIDTH`, `LIST_HEIGHT`, `MAX_SHOW_SIZE`, `MAX_ALLOWED_SIZE`, `EXTENSIONS`, `TARGET_BLANK`, `DEFAULT_VIEW`\n- `employee` — `DEFAULT_VALUE` as an empty array\n- `crm` — binding flags `LEAD`, `CONTACT`, `COMPANY`, `DEAL` with `\"Y\"` \u002F `\"N\"` values\n\nThe type of the nested `DEFAULT_VALUE` key also depends on `userTypeId`: an empty string for `string` and `money`, `null` for `integer` and `double`, the number `0` for `boolean`, an object for `date` and `datetime`, an empty array for `employee`. Rely on the specific `userTypeId`, not on a single set.\n\n## See also\n\n- [List employee fields](\u002Fdocs\u002Fuserfields\u002Fusers\u002Flist)\n- [Create employee field](\u002Fdocs\u002Fuserfields\u002Fusers\u002Fcreate)\n- [Update employee field](\u002Fdocs\u002Fuserfields\u002Fusers\u002Fupdate)\n- [Employee fields](\u002Fdocs\u002Fuserfields\u002Fusers)\n- [User fields](\u002Fdocs\u002Fuserfields)\n","2026-10-09",{},1794739618027]