For AI agents: markdown of this page — /docs-content-en/lists/fields/field-types.md documentation index — /llms.txt
Field types
GET /v1/lists/:iblockId/field-types
Helps you choose a field type before creating a field in a list.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
iblockId (path) |
string | yes | List identifier. Numeric IBLOCK_ID or symbolic IBLOCK_CODE. Get the identifier from List lists |
iblockTypeId (query) |
string | no | Infoblock type. Values:lists — regular lists, defaultlists_socnet — workgroup listsbitrix_processes — service workflowsstructure — company structure type (contains the built-in absence calendar infoblock absence) |
socnetGroupId (query) |
number | no | Workgroup identifier for lists of type lists_socnet. A positive integer from the id field returned by List workgroups |
fieldId (query) |
string | no | Identifier of an existing field. Use the FIELD_ID value returned by List fields. If specified, the type of this field is included in the returned object. For example, fieldId=NAME adds the NAME code |
Examples
curl — personal key
curl https://vibecode.bitrix24.com/v1/lists/121/field-types \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl https://vibecode.bitrix24.com/v1/lists/121/field-types \
-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/lists/121/field-types', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Name of type S:', data['S'])
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/lists/121/field-types', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
object | Field type dictionary. Each key is a field type code, and its value is the type name as a string |
Composite codes are written with a colon — S:Date, E:EList, S:Money. Pass the code, not the type name, in fields.TYPE.
Response example
{
"success": true,
"data": {
"SORT": "Sort",
"ACTIVE_FROM": "Activity start",
"ACTIVE_TO": "Activity end",
"PREVIEW_PICTURE": "Preview picture",
"PREVIEW_TEXT": "Preview text",
"DETAIL_PICTURE": "Detail picture",
"DETAIL_TEXT": "Detail text",
"CREATED_BY": "Created by",
"TIMESTAMP_X": "Date modified",
"S": "String",
"N": "Number",
"L": "List",
"F": "File",
"G": "Section binding",
"E": "Element binding",
"S:Date": "Date",
"S:DateTime": "Date/Time",
"S:HTML": "HTML/text",
"E:EList": "Element binding as a list",
"N:Sequence": "Counter",
"S:ECrm": "CRM element binding",
"S:Money": "Money",
"S:DiskFile": "File (Disk)",
"S:map_yandex": "Yandex Map binding",
"S:employee": "Employee binding"
}
}
Error response example
404 — no list with the specified identifier exists:
{
"success": false,
"error": {
"code": "LIST_NOT_FOUND",
"message": "List not found"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | INVALID_IBLOCK_TYPE |
iblockTypeId is not one of the allowed types |
| 403 | BITRIX_ACCESS_DENIED |
No permission to view or edit the list |
| 404 | LIST_NOT_FOUND |
No list with the specified iblockId exists |
| 409 | LISTS_MODULE_NOT_ENABLED |
The lists module is not enabled on the portal |
| 403 | SCOPE_DENIED |
The key is missing the lists scope |
| 401 | TOKEN_MISSING |
The key has no configured tokens |
Full list of common API errors — Errors.
Known specifics
System fields can also be added to a list. The returned object includes both custom field types such as S, N, and S:Date, and system field codes such as SORT, ACTIVE_FROM, CREATED_BY, and TIMESTAMP_X. For example, passing fields.TYPE=SORT to Create a field adds the system sorting field.
After SORT is added, its code disappears from the available field types. To include it again alongside the other types, pass fieldId=SORT.