#Создать сайт

POST /v1/sites

Создаёт новый сайт на портале. Тип сайта определяется полем type. Поля передаются плоско в корне JSON — без обёртки fields.

#Поля запроса (body)

Параметр Тип Обяз. Описание
title string да Название сайта, до 255 символов
type string нет Тип сайта: PAGE (лендинг, по умолчанию) или STORE (интернет-магазин)
code string нет Символьный код сайта в URL. Если оставить пустым или не передать — генерируется из title. Если код состоит только из цифр, добавляется префикс site. Если код уже занят на домене — добавляется числовой суффикс (code2, code3)
domainId number нет Идентификатор домена. Если не передавать — домен сгенерируется автоматически на техническом поддомене портала
active boolean нет Активен ли сайт. По умолчанию true

#Примеры

#curl — личный ключ

Terminal
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-приложение

Terminal
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"
  }'

#JavaScript — личный ключ

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-приложение

javascript
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 Активен ли сайт
domainId number Идентификатор домена (выданного автоматически или переданного)
createdById number Идентификатор создавшего пользователя
dateCreate datetime Дата создания
dateModify datetime Дата последнего изменения

#Пример ответа

JSON
{
  "success": true,
  "data": {
    "id": 173,
    "title": "Лендинг конференции",
    "code": "/conf-2026/",
    "type": "PAGE",
    "active": true,
    "domainId": 28,
    "createdById": 1,
    "dateCreate": "2026-05-07T12:14:08.000Z",
    "dateModify": "2026-05-07T12:14:08.000Z"
  }
}

#Пример ответа при ошибке

400 — некорректный код сайта:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Адрес сайта введен неверно. Вы можете использовать только следующие символы: \"a-z\", \"0-9\", \"-\", \".\"."
  }
}

#Ошибки

HTTP error.code Маркер в error.message Описание
400 BITRIX_ERROR SLASH_IS_NOT_ALLOWED В code передан символ / — слеши в коде запрещены
400 BITRIX_ERROR DOMAIN_IS_INCORRECT Адрес сайта введён неверно: разрешены только символы a-z, 0-9, -, .
400 BITRIX_ERROR DOMAIN_EXIST Указанный домен уже занят другим сайтом
400 BITRIX_ERROR DOMAIN_EXIST_TRASH Домен привязан к сайту в корзине — сначала отвяжите его
400 BITRIX_ERROR DOMAIN_NOT_FOUND Домен с указанным domainId не существует
400 BITRIX_ERROR SITE_LIMIT_REACHED Достигнут лимит количества сайтов на текущем тарифе
403 BITRIX_ACCESS_DENIED У пользователя нет права на создание сайтов
403 SCOPE_DENIED API-ключ не имеет скоупа landing
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

#Известные особенности

Слеши в ответе. Поле code в ответе возвращается с обрамляющими слешами (/conf-2026/) — это представление пути сайта в URL. В запросе слеши передавать нельзя.

Адрес по умолчанию. Если domainId не передавать, для сайта будет сгенерирован адрес на bitrix24site.ru (например, b24-xxxxx.bitrix24site.ru).

#Смотрите также