Сайты
Управление сайтами на платформе Битрикс24: создание, получение, обновление, удаление, поиск, агрегация. Сайт — это контейнер страниц одного типа: PAGE — лендинг, STORE — интернет-магазин, KNOWLEDGE — база знаний 2.0. У каждого сайта свой домен или поддомен на портале, символьный код, шаблон и набор страниц.
База знаний 2.0 создаётся и управляется через те же методы с дополнительным параметром scope: "KNOWLEDGE" (см. создание).
Битрикс24 API: landing.site.*
Скоуп: landing
Создать сайт
POST /v1/sites
Создаёт новый сайт на портале. Тип сайта определяется полем type. Поля передаются плоско в корне JSON — без обёртки fields.
Поля запроса (body)
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
title |
string | да | Название сайта, до 255 символов |
type |
string | нет | Тип сайта. По умолчанию PAGE — лендинг. Также STORE — интернет-магазин, KNOWLEDGE — база знаний 2.0. Для KNOWLEDGE обязательно передайте также scope: "KNOWLEDGE" — см. ниже |
scope |
string | нет | Раздел Битрикс24, в котором создаётся сайт: KNOWLEDGE (база знаний 2.0), GROUP (база знаний группы) или MAINPAGE. Без него создаётся обычный сайт-лендинг. Чтобы создать базу знаний, передайте scope: "KNOWLEDGE" вместе с type: "KNOWLEDGE" — иначе сервер вернёт 403 BITRIX_ACCESS_DENIED («Доступ на создание сайта запрещён»). Можно передать как поле тела или query-параметром ?scope=KNOWLEDGE. То же значение scope нужно при обновлении и удалении такого сайта |
code |
string | да | Символьный код сайта в URL. Ключ обязателен, но значение может быть пустым ("") или null — тогда код генерируется из title. Если опустить сам ключ code, создание возвращает 422 (см. «Адрес сайта обязателен» в «Известных особенностях»). Если код только из цифр — добавляется префикс site. Если код уже занят на домене — числовой суффикс (code2, code3) |
domainId |
number | нет | Идентификатор домена. Если не передавать, адрес формируется из code на bitrix24site.ru |
active |
boolean | нет | Принимается без ошибки, но не сохраняется. Новый сайт всегда создаётся неактивным — active: false. Сайт активируется при публикации в интерфейсе портала Битрикс24 |
description |
string | нет | Описание сайта, до 255 символов |
xmlId |
string | нет | Внешний идентификатор, до 255 символов |
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/sites" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Лендинг конференции",
"code": "conf-2026",
"type": "PAGE"
}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/sites" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Лендинг конференции",
"code": "conf-2026",
"type": "PAGE"
}'
curl — база знаний 2.0 (`scope=KNOWLEDGE`)
curl -X POST "https://vibecode.bitrix24.tech/v1/sites" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "База знаний компании",
"type": "KNOWLEDGE",
"scope": "KNOWLEDGE"
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Лендинг конференции',
code: 'conf-2026',
type: 'PAGE',
}),
})
const { success, data } = await res.json()
console.log('Site ID:', data.id)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Лендинг конференции',
code: 'conf-2026',
type: 'PAGE',
}),
})
const { success, data } = await res.json()
Поля ответа
Возвращается полный объект созданного сайта.
| Поле | Тип | Описание |
|---|---|---|
id |
number | Идентификатор созданного сайта |
title |
string | Название сайта |
code |
string | Фактический символьный код (с авто-суффиксом, если код запроса был занят) |
type |
string | Тип сайта |
active |
boolean | Всегда false для только что созданного сайта |
domainId |
number | Идентификатор домена (выданного автоматически или переданного) |
createdById |
number | Идентификатор создавшего пользователя |
dateCreate |
datetime | Дата создания |
dateModify |
datetime | Дата последнего изменения |
URL сайта в Битрикс24 строится из id:
https://<portal>.bitrix24.ru/sites/site/<id>/
<portal> — домен портала. Доступ ограничен правами сотрудника в Битрикс24.
Пример ответа
{
"success": true,
"data": {
"id": 173,
"title": "Лендинг конференции",
"code": "/conf-2026/",
"type": "PAGE",
"active": false,
"domainId": 28,
"createdById": 1,
"dateCreate": "07.05.2026 12:14:08",
"dateModify": "07.05.2026 12:14:08"
}
}
Пример ответа при ошибке
422 — некорректный код сайта:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Адрес сайта введен неверно. Вы можете использовать только следующие символы: \"a-z\", \"0-9\", \"-\", \".\"."
}
}
Ошибки
| HTTP | error.code |
Маркер в error.message |
Описание |
|---|---|---|---|
| 422 | BITRIX_ERROR |
Не заполнено обязательное поле "Адрес сайта" |
Опущен ключ code — у сайта нет адреса. Передайте code с любым значением, можно пустым |
| 422 | BITRIX_ERROR |
SLASH_IS_NOT_ALLOWED |
В code передан символ / — слеши в коде запрещены |
| 422 | BITRIX_ERROR |
DOMAIN_IS_INCORRECT |
Адрес сайта введён неверно: разрешены только символы a-z, 0-9, -, . |
| 422 | BITRIX_ERROR |
DOMAIN_EXIST |
Указанный домен уже занят другим сайтом |
| 422 | BITRIX_ERROR |
DOMAIN_EXIST_TRASH |
Домен привязан к сайту в корзине — сначала отвяжите его |
| 422 | BITRIX_ERROR |
DOMAIN_NOT_FOUND |
Домен с указанным domainId не существует |
| 422 | BITRIX_ERROR |
SITE_LIMIT_REACHED |
Достигнут лимит количества сайтов на текущем тарифе |
| 403 | BITRIX_ACCESS_DENIED |
Доступ на создание сайта запрещён |
У пользователя нет права на создание сайтов — ИЛИ создаётся type: "KNOWLEDGE" без scope: "KNOWLEDGE" (добавьте scope, см. таблицу полей) |
| 403 | SCOPE_DENIED |
— | API-ключ не имеет скоупа landing |
| 401 | TOKEN_MISSING |
— | API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.
Известные особенности
Слеши в ответе. Поле code в ответе возвращается с обрамляющими слешами (/conf-2026/) — это представление пути сайта в URL. В запросе слеши передавать нельзя.
Ключ code обязателен. Значение code может быть пустой строкой "" или null — тогда код генерируется из title. Но если опустить сам ключ code, создание возвращает 422 BITRIX_ERROR с сообщением Не заполнено обязательное поле "Адрес сайта". Если domainId не передан, адрес формируется из code на bitrix24site.ru, например b24-xxxxx.bitrix24site.ru.
Главная страница и страницы ошибок. Поля landingIdIndex, landingId404, landingId503 при создании не задаются — страниц ещё нет. Назначьте их через обновление после создания страниц сайта.
База знаний 2.0. Создаётся как сайт с type: "KNOWLEDGE" И scope: "KNOWLEDGE" — оба поля обязательны. Без scope сервер вернёт 403 BITRIX_ACCESS_DENIED, потому что Битрикс24 создаёт сайты типа KNOWLEDGE только в разделе баз знаний (тот же scope доступен для списка, чтения, обновления и удаления — см. соответствующие методы). Достаточно скоупа landing у ключа. Отдельного скоупа для баз знаний не требуется.
Смотрите также
- Список сайтов — посмотреть существующие сайты перед созданием
- Обновить сайт — изменить параметры созданного сайта
- Удалить сайт — удалить пустой сайт
- Batch — массовое создание
- Лимиты и оптимизация — rate limits