For AI agents: markdown of this page — /docs-content-en/lists/lists/create.md documentation index — /llms.txt
Create list
POST /v1/lists
Creates a new list — an infoblock of type lists, lists_socnet, or bitrix_processes. The symbolic code of the new list is passed in the iblockCode field at the top level of the body, outside the fields wrapper, while the list settings go inside fields in Bitrix24 format.
Request fields (body)
| Field | Type | Required | Description |
|---|---|---|---|
iblockCode |
string | yes | Symbolic code of the new list. Passed at the top level of the body, outside the fields wrapper |
fields |
object | yes | List settings in Bitrix24 format. Keys inside are uppercase with underscores |
fields.NAME |
string | yes | List name |
fields.DESCRIPTION |
string | no | List description |
fields.SORT |
number | no | Sort index in the list of lists |
fields.BIZPROC |
string | no | Enable workflows: Y or N |
iblockTypeId |
string | no | Infoblock type. Values:lists — regular lists, defaultlists_socnet — workgroup listsbitrix_processes — internal workflows |
socnetGroupId |
number | no | Workgroup ID. Required when iblockTypeId is lists_socnet, unused for other types |
messages |
object | no | List interface labels — names for sections and elements |
rights |
object | no | List access rights by Bitrix24 identifiers |
Examples
curl — personal key
curl -X POST https://vibecode.bitrix24.com/v1/lists \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"iblockCode": "orders_registry",
"fields": {
"NAME": "Order registry",
"DESCRIPTION": "Orders for processing",
"SORT": 100
}
}'
curl — OAuth application
curl -X POST https://vibecode.bitrix24.com/v1/lists \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"iblockCode": "orders_registry",
"fields": {
"NAME": "Order registry",
"DESCRIPTION": "Orders for processing",
"SORT": 100
}
}'
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/lists', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
iblockCode: 'orders_registry',
fields: {
NAME: 'Order registry',
DESCRIPTION: 'Orders for processing',
SORT: 100,
},
}),
})
const { data } = await res.json()
console.log('List ID:', data.id)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/lists', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
iblockCode: 'orders_registry',
fields: {
NAME: 'Order registry',
DESCRIPTION: 'Orders for processing',
SORT: 100,
},
}),
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data.id |
number | Identifier of the created list IBLOCK_ID |
Response example
{
"success": true,
"data": {
"id": 133
}
}
Error response example
400 — a required parameter is missing:
{
"success": false,
"error": {
"code": "MISSING_REQUIRED_FIELDS",
"message": "`iblockCode` is required (the symbolic code of the new list)."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | MISSING_REQUIRED_FIELDS |
iblockCode or the fields object is missing |
| 400 | INVALID_IBLOCK_TYPE |
iblockTypeId is not one of lists, lists_socnet, bitrix_processes |
| 409 | LISTS_MODULE_NOT_ENABLED |
The Lists module is not enabled on the Bitrix24 portal |
| 403 | WRITE_BLOCKED_READONLY_KEY |
The key operates in read-only mode |
| 403 | SCOPE_DENIED |
The key lacks the lists scope |
| 401 | TOKEN_MISSING |
The key has no access tokens configured |
Full list of common API errors — Errors.
Known specifics
Addressing by code or numeric identifier. The created list is available in subsequent /v1/lists/:iblockId calls both by the numeric id from the response and by the symbolic code from iblockCode.