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, bitrix_processes, or structure. 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 |
|---|---|---|---|
FieldiblockCode |
Typestring | Requiredyes | DescriptionSymbolic code of the new list. Passed at the top level of the body, outside the fields wrapper |
Fieldfields |
Typeobject | Requiredyes | DescriptionList settings in Bitrix24 format. Keys inside are uppercase with underscores |
Fieldfields.NAME |
Typestring | Requiredyes | DescriptionList name |
Fieldfields.DESCRIPTION |
Typestring | Requiredno | DescriptionList description |
Fieldfields.SORT |
Typenumber | Requiredno | DescriptionSort index in the list of lists |
Fieldfields.BIZPROC |
Typestring | Requiredno | DescriptionEnable workflows: Y or N |
FieldiblockTypeId |
Typestring | Requiredno | DescriptionInfoblock type. Values:lists — regular lists, defaultlists_socnet — workgroup listsbitrix_processes — internal workflowsstructure — company structure type (contains the built-in absence calendar infoblock absence) |
FieldsocnetGroupId |
Typenumber | Requiredno | DescriptionWorkgroup ID from the id field in the List workgroups response. For a workgroup list, pass iblockTypeId: "lists_socnet" and the ID of that group. For a regular list, omit this parameter |
Fieldmessages |
Typeobject | Requiredno | DescriptionLabels for elements, sections, and their actions in the list interface. Supported fields are listed below. The SECTION_NAME field is ignored |
Fieldmessages.ELEMENTS_NAME |
Typestring | Requiredno | DescriptionPlural label for elements, for example Requests |
Fieldmessages.ELEMENT_NAME |
Typestring | Requiredno | DescriptionSingular label for an element, for example Request |
Fieldmessages.ELEMENT_ADD |
Typestring | Requiredno | DescriptionLabel for the action that adds an element |
Fieldmessages.ELEMENT_EDIT |
Typestring | Requiredno | DescriptionLabel for the action that edits an element |
Fieldmessages.ELEMENT_DELETE |
Typestring | Requiredno | DescriptionLabel for the action that deletes an element |
Fieldmessages.SECTIONS_NAME |
Typestring | Requiredno | DescriptionPlural label for sections, for example Categories |
Fieldmessages.SECTION_ADD |
Typestring | Requiredno | DescriptionLabel for the action that adds a section |
Fieldmessages.SECTION_EDIT |
Typestring | Requiredno | DescriptionLabel for the action that edits a section |
Fieldmessages.SECTION_DELETE |
Typestring | Requiredno | DescriptionLabel for the action that deletes a section |
Fieldrights |
Typeobject | Requiredno | DescriptionList access permissions. Each key is a user or department code containing its ID, and each value is a letter code for a permission. Codes and ID sources are described in the RIGHTS parameter in the Bitrix24 reference |
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": "Request registry",
"DESCRIPTION": "Requests 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": "Request registry",
"DESCRIPTION": "Requests 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: 'Request registry',
DESCRIPTION: 'Requests 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: 'Request registry',
DESCRIPTION: 'Requests for processing',
SORT: 100,
},
}),
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typeobject | DescriptionList creation result |
Fielddata.id |
Typenumber | DescriptionIdentifier of the created list IBLOCK_ID. Use it to get the list |
Response example
HTTP 201 Created:
{
"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 |
|---|---|---|
| HTTP400 | CodeMISSING_REQUIRED_FIELDS |
DescriptioniblockCode or the fields object is missing |
| HTTP400 | CodeINVALID_IBLOCK_TYPE |
DescriptioniblockTypeId is not one of lists, lists_socnet, bitrix_processes, structure |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionThe required fields.NAME field is missing. Bitrix24 returns b24Code: ERROR_REQUIRED_PARAMETERS_MISSING |
| HTTP409 | CodeLISTS_MODULE_NOT_ENABLED |
DescriptionThe Lists module is not enabled on the Bitrix24 portal |
| HTTP403 | CodeWRITE_BLOCKED_READONLY_KEY |
DescriptionThe key operates in read-only mode |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the lists scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe 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.