Создать элемент
POST /v1/lists/:iblockId/elements
Создаёт новую строку в списке. Значения полей передаются в обёртке fields, а символьный код новой строки — параметром elementCode на верхнем уровне тела, рядом с fields, а не внутри неё.
Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
iblockId (path) |
string | да | ID или символьный код списка. Список: GET /v1/lists |
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
elementCode |
string | да | Символьный код новой строки на верхнем уровне тела, рядом с fields |
fields |
object | да | Значения полей строки. Системные поля именуются в верхнем регистре, например NAME. Пользовательское свойство задаётся ключом PROPERTY_<id>, где <id> — идентификатор поля из GET /v1/lists/:iblockId/fields. Множественное свойство передаётся массивом: "PROPERTY_951": ["1", "2"] |
iblockSectionId |
number | нет | ID раздела, куда поместить строку. Значение 0 — корень списка. Список: GET /v1/lists/:iblockId/sections |
listElementUrl |
string | нет | Ссылка на страницу строки |
iblockTypeId |
string | нет | Тип инфоблока. Значения:lists — обычные списки, по умолчаниюlists_socnet — списки рабочих группbitrix_processes — служебные бизнес-процессы |
Примеры
curl — личный ключ
curl -X POST https://vibecode.bitrix24.tech/v1/lists/23/elements \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"elementCode": "row_1",
"fields": {
"NAME": "Строка 1",
"PROPERTY_951": "значение"
}
}'
curl — OAuth-приложение
curl -X POST https://vibecode.bitrix24.tech/v1/lists/23/elements \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"elementCode": "row_1",
"fields": {
"NAME": "Строка 1",
"PROPERTY_951": "значение"
}
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/lists/23/elements', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
elementCode: 'row_1',
fields: {
NAME: 'Строка 1',
PROPERTY_951: 'значение',
},
}),
})
const { data } = await res.json()
console.log('ID строки:', data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/lists/23/elements', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
elementCode: 'row_1',
fields: {
NAME: 'Строка 1',
PROPERTY_951: 'значение',
},
}),
})
const { data } = await res.json()
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data.id |
number | ID созданной строки. Используется как :elementId в GET, PATCH, DELETE |
Пример ответа
HTTP-статус 201 Created.
{
"success": true,
"data": {
"id": 41
}
}
Пример ответа при ошибке
400 — не передан обязательный параметр тела:
{
"success": false,
"error": {
"code": "MISSING_REQUIRED_FIELDS",
"message": "`elementCode` is required (the symbolic code of the new element)."
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | MISSING_REQUIRED_FIELDS |
Не передан elementCode или fields |
| 400 | INVALID_IBLOCK_TYPE |
iblockTypeId не входит в набор lists, bitrix_processes, lists_socnet |
| 403 | BITRIX_ACCESS_DENIED |
Нет прав на добавление строк в этот список |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ в режиме только чтения. Переключите его на чтение и запись в разделе /keys |
| 403 | SCOPE_DENIED |
Ключу не хватает скоупа lists |
| 401 | TOKEN_MISSING |
У ключа нет настроенных токенов |
| 409 | LISTS_MODULE_NOT_ENABLED |
Модуль «Списки» не включён на портале Битрикс24 |
Полный список общих ошибок API — Ошибки.