Для AI-агентов: markdown этой страницы — /docs-content/entities/pages/create.md индекс документации — /llms.txt
Создать страницу
POST /v1/pages
Создаёт новую страницу на указанном сайте. Поля передаются плоско в корне JSON — без обёртки fields. Минимум для создания: title + siteId. Новая страница создаётся неактивной — active: false.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
title |
string | да | Название страницы, до 255 символов |
siteId |
number | да | Идентификатор сайта. Источник: GET /v1/sites |
code |
string | нет | Символьный код страницы в URL. Не должен содержать /. Если оставить пустым или не передать — генерируется из title. Если код уже занят на сайте — добавляется числовой суффикс |
description |
string | нет | Произвольное описание страницы |
public |
string | нет | Публичность — Y / N |
sitemap |
string | нет | Включить в карту сайта — Y / N |
xmlId |
string | нет | Внешний код |
folderId |
number | нет | ID папки-раздела сайта |
tplId |
number | нет | ID шаблона |
Полный перечень полей —
GET /v1/pages/fields: эндпоинт возвращает карту всех полей с типом, признакомreadonlyи подписью. Записывать можно поля, у которыхreadonlyотсутствует. Перечисленные выше дополнительные поля применяются при создании наравне сtitle/siteId/code/description.
Публикация — отдельный вызов. Поле active в теле создания не принимается: запрос с ним отклоняется целиком с 400 READONLY_FIELD, страница не создаётся. Опубликовать созданную страницу — POST /v1/pages/:id/publication, снять с публикации — POST /v1/pages/:id/unpublish.
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/pages" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Весенняя акция",
"code": "spring-sale",
"siteId": 3,
"description": "Лендинг сезонной акции на скидки"
}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/pages" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Весенняя акция",
"code": "spring-sale",
"siteId": 3,
"description": "Лендинг сезонной акции на скидки"
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/pages', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Весенняя акция',
code: 'spring-sale',
siteId: 3,
description: 'Лендинг сезонной акции на скидки',
}),
})
const { success, data } = await res.json()
console.log('Page ID:', data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/pages', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Весенняя акция',
code: 'spring-sale',
siteId: 3,
description: 'Лендинг сезонной акции на скидки',
}),
})
const { success, data } = await res.json()
Поля ответа
Возвращается полный объект созданной страницы.
| Поле | Тип | Описание |
|---|---|---|
id |
number | Идентификатор созданной страницы |
title |
string | Название страницы |
code |
string | Фактический символьный код (с авто-суффиксом, если код запроса был занят) |
siteId |
number | Идентификатор сайта |
active |
boolean | Всегда false для только что созданной страницы |
description |
string | null | Описание страницы |
createdById |
number | Идентификатор создавшего сотрудника |
dateCreate |
datetime | Дата создания. Строка в формате локали портала, не ISO 8601 |
dateModify |
datetime | Дата последнего изменения |
Формат дат.
dateCreateиdateModify— строки в формате локали портала, не ISO 8601 (30.12.2021 12:30:52на RU-локали,12/30/2021 12:30:52 pmна EN-локали). Формат одинаков в списке и в карточке;new Date()на таком значении полагаться нельзя. Подробнее: Справочник полей.
URL страницы в Битрикс24 строится из id и siteId:
https://<portal>.bitrix24.ru/sites/site/<siteId>/view/<id>/
<siteId> — ID сайта, которому принадлежит страница (поле siteId в ответе). <portal> — домен портала. Доступ ограничен правами сотрудника в Битрикс24.
Пример ответа
{
"success": true,
"data": {
"id": 2295,
"title": "Весенняя акция",
"code": "spring-sale",
"siteId": 3,
"active": false,
"description": "Лендинг сезонной акции на скидки",
"createdById": 1,
"dateCreate": "08.05.2026 11:49:33",
"dateModify": "08.05.2026 11:49:33"
}
}
Пример ответа при ошибке
422 — не передано обязательное поле title:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Не заполнено обязательное поле «Название страницы»"
}
}
Ошибки
| HTTP | error.code |
Маркер в error.message |
Описание |
|---|---|---|---|
| 400 | READONLY_FIELD |
— | В теле передано поле только для чтения — например active. Страница не создаётся |
| 422 | BITRIX_ERROR |
Не заполнено обязательное поле |
Пропущено title или siteId |
| 422 | BITRIX_ERROR |
Слеш запрещен в адресе лендинга |
В code передан символ / — слеши в коде запрещены |
| 422 | BITRIX_ERROR |
Адрес страницы не может быть пустым |
В code передана пустая строка без указания, что создаётся папка |
| 422 | BITRIX_ERROR |
Недопустимый адрес страницы |
В code передано значение в формате __, например code_12_34 |
| 404 | ENTITY_NOT_FOUND |
Сайт не найден |
В siteId передан несуществующий идентификатор сайта |
| 403 | BITRIX_ACCESS_DENIED |
— | У пользователя нет права «редактирование» для указанного сайта |
| 403 | SCOPE_DENIED |
— | API-ключ не имеет скоупа landing |
| 401 | TOKEN_MISSING |
— | API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.