For AI agents: markdown of this page — /docs-content-en/userfields/tasks/list.md documentation index — /llms.txt
List fields
GET /v1/userfields/tasks
Returns the user and system task fields of the Bitrix24 account. Supports filtering by field type and field name, and choosing the label language.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ParameteruserTypeId (query) |
Typestring | Requiredno | DescriptionFilter by field type. Values come from the type catalog. An unknown type returns an empty data. Example: ?userTypeId=enumeration |
ParameterfieldName (query) |
Typestring | Requiredno | DescriptionFilter by the full field name with the UF_ prefix. A name without the prefix matches nothing and returns an empty data. Example: ?fieldName=UF_CRM_TASK |
Parameterlang (query) |
Typestring | Requiredno | DescriptionLanguage code for field labels, for example en. Defaults to the key owner's language |
Results are sorted by the sort field in ascending order. There is no pagination: all fields come in a single response, and meta.total equals the length of data.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/userfields/tasks?userTypeId=enumeration" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/userfields/tasks?userTypeId=enumeration" \
-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/tasks?userTypeId=enumeration',
{
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
}
)
const { success, data, meta } = await res.json()
console.log(`Enumeration fields: ${meta.total}`)
JavaScript — OAuth application
const res = await fetch(
'https://vibecode.bitrix24.com/v1/userfields/tasks?userTypeId=enumeration',
{
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
}
)
const { success, data, meta } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionArray of task fields. Element properties are the same as in the field card: id, fieldName, userTypeId, flags, settings, labels, system, and for an enumeration field, items with its options. The labels editFormLabel, listColumnLabel, listFilterLabel, errorMessage, helpMessage come as a string in the lang language, not as an object keyed by language |
Fieldmeta.total |
Typenumber | DescriptionNumber of fields in the response |
Response example
{
"success": true,
"data": [
{
"id": 6007969,
"entityId": "TASKS_TASK",
"fieldName": "UF_REVIEW_STAGE",
"userTypeId": "enumeration",
"xmlId": null,
"sort": "100",
"multiple": "N",
"mandatory": "N",
"showFilter": "N",
"showInList": "Y",
"editInList": "Y",
"isSearchable": "N",
"settings": {
"DISPLAY": "LIST",
"LIST_HEIGHT": 1,
"CAPTION_NO_VALUE": "",
"SHOW_NO_VALUE": "Y"
},
"editFormLabel": "Review stage",
"listColumnLabel": "Review stage",
"listFilterLabel": "Review stage",
"errorMessage": "UF_REVIEW_STAGE",
"helpMessage": "UF_REVIEW_STAGE",
"system": false,
"items": [
{
"id": 4057,
"value": "Accepted",
"sort": "500",
"def": "N",
"xmlId": "accepted"
},
{
"id": 4053,
"value": "New",
"sort": "500",
"def": "Y",
"xmlId": "new"
},
{
"id": 4055,
"value": "In review",
"sort": "500",
"def": "N",
"xmlId": "review"
}
]
},
{
"id": 6007971,
"entityId": "TASKS_TASK",
"fieldName": "UF_REQUEST_CHANNEL",
"userTypeId": "enumeration",
"xmlId": null,
"sort": "200",
"multiple": "N",
"mandatory": "N",
"showFilter": "N",
"showInList": "Y",
"editInList": "Y",
"isSearchable": "N",
"settings": {
"DISPLAY": "LIST",
"LIST_HEIGHT": 1,
"CAPTION_NO_VALUE": "",
"SHOW_NO_VALUE": "Y"
},
"editFormLabel": "Request channel",
"listColumnLabel": "Request channel",
"listFilterLabel": "Request channel",
"errorMessage": "UF_REQUEST_CHANNEL",
"helpMessage": "UF_REQUEST_CHANNEL",
"system": false,
"items": [
{
"id": 4059,
"value": "Email",
"sort": "10",
"def": "N",
"xmlId": "7245a0bf104971496996a5fbf538e9da"
},
{
"id": 4061,
"value": "Phone",
"sort": "20",
"def": "N",
"xmlId": "fcdd8897d6d423b186180bba744d3d54"
}
]
}
],
"meta": {
"total": 2
}
}
Error response example
401 — the X-Api-Key header was not passed:
{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "API key required. Pass via X-Api-Key header."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP403 | CodeTASK_CUSTOM_FIELDS_UNAVAILABLE |
DescriptionThe portal plan does not include task user fields |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the task scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe key has no Bitrix24 tokens. For an application key, the Authorization: Bearer USER_SESSION_TOKEN header was not passed |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header is missing |
Full list of common API errors — Errors.
Known specifics
System fields are returned along with user fields. The list includes UF_CRM_TASK, UF_TASK_WEBDAV_FILES, and UF_MAIL_MESSAGE with system: true. They cannot be changed or deleted — write requests return 403 SYSTEM_FIELD_PROTECTED.
Option order is set by sort. Options created without sort default to 500 and do not come back in the order they were passed at creation — as with the UF_REVIEW_STAGE field in the example above.