[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Fsites\u002Fcreate":3,"docs-tabs-entities\u002Fsites\u002Fcreate":6},{"content":4,"lastmod":5},"\n## Создать сайт\n\n`POST \u002Fv1\u002Fsites`\n\nСоздаёт новый сайт на портале. Тип сайта определяется полем `type`. Поля передаются плоско в корне JSON — без обёртки `fields`.\n\n## Поля запроса (body)\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `title` | string | да | Название сайта, до 255 символов |\n| `type` | string | нет | Тип сайта. По умолчанию `PAGE` — лендинг. Также `STORE` — интернет-магазин, `KNOWLEDGE` — база знаний 2.0. Для `KNOWLEDGE` обязательно передайте также `scope: \"KNOWLEDGE\"` — см. ниже |\n| `scope` | string | нет | Раздел Битрикс24, в котором создаётся сайт: `KNOWLEDGE` (база знаний 2.0), `GROUP` (база знаний группы) или `MAINPAGE`. Без него создаётся обычный сайт-лендинг. **Чтобы создать базу знаний, передайте `scope: \"KNOWLEDGE\"` вместе с `type: \"KNOWLEDGE\"`** — иначе сервер вернёт `403 BITRIX_ACCESS_DENIED` («Доступ на создание сайта запрещён»). Можно передать как поле тела или query-параметром `?scope=KNOWLEDGE`. То же значение `scope` нужно при [обновлении](\u002Fdocs\u002Fentities\u002Fsites\u002Fupdate) и [удалении](\u002Fdocs\u002Fentities\u002Fsites\u002Fdelete) такого сайта |\n| `code` | string | да | Символьный код сайта в URL. **Ключ обязателен**, но значение может быть пустым (`\"\"`) или `null` — тогда код генерируется из `title`. Если опустить сам ключ `code`, создание возвращает `422` (см. «Адрес сайта обязателен» в «Известных особенностях»). Если код только из цифр — добавляется префикс `site`. Если код уже занят на домене — числовой суффикс (`code2`, `code3`) |\n| `domainId` | number | нет | Идентификатор домена. Если не передавать, адрес формируется из `code` на `bitrix24site.ru` |\n| `active` | boolean | нет | Принимается без ошибки, но не сохраняется. Новый сайт всегда создаётся неактивным — `active: false`. Сайт активируется при публикации в интерфейсе портала Битрикс24 |\n| `description` | string | нет | Описание сайта, до 255 символов |\n| `xmlId` | string | нет | Внешний идентификатор, до 255 символов |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fsites\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"title\": \"Лендинг конференции\",\n    \"code\": \"conf-2026\",\n    \"type\": \"PAGE\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fsites\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"title\": \"Лендинг конференции\",\n    \"code\": \"conf-2026\",\n    \"type\": \"PAGE\"\n  }'\n```\n\n### curl — база знаний 2.0 (`scope=KNOWLEDGE`)\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fsites\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"title\": \"База знаний компании\",\n    \"type\": \"KNOWLEDGE\",\n    \"scope\": \"KNOWLEDGE\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fsites', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    title: 'Лендинг конференции',\n    code: 'conf-2026',\n    type: 'PAGE',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Site ID:', data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fsites', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    title: 'Лендинг конференции',\n    code: 'conf-2026',\n    type: 'PAGE',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\nВозвращается полный объект созданного сайта.\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `id` | number | Идентификатор созданного сайта |\n| `title` | string | Название сайта |\n| `code` | string | Фактический символьный код (с авто-суффиксом, если код запроса был занят) |\n| `type` | string | Тип сайта |\n| `active` | boolean | Всегда `false` для только что созданного сайта |\n| `domainId` | number | Идентификатор домена (выданного автоматически или переданного) |\n| `createdById` | number | Идентификатор создавшего пользователя |\n| `dateCreate` | datetime | Дата создания |\n| `dateModify` | datetime | Дата последнего изменения |\n\nURL сайта в Битрикс24 строится из `id`:\n\n```\nhttps:\u002F\u002F\u003Cportal>.bitrix24.ru\u002Fsites\u002Fsite\u002F\u003Cid>\u002F\n```\n\n`\u003Cportal>` — домен портала. Доступ ограничен правами сотрудника в Битрикс24.\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 173,\n    \"title\": \"Лендинг конференции\",\n    \"code\": \"\u002Fconf-2026\u002F\",\n    \"type\": \"PAGE\",\n    \"active\": false,\n    \"domainId\": 28,\n    \"createdById\": 1,\n    \"dateCreate\": \"07.05.2026 12:14:08\",\n    \"dateModify\": \"07.05.2026 12:14:08\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n422 — некорректный код сайта:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"Адрес сайта введен неверно. Вы можете использовать только следующие символы: \\\"a-z\\\", \\\"0-9\\\", \\\"-\\\", \\\".\\\".\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | `error.code` | Маркер в `error.message` | Описание |\n|------|--------------|--------------------------|---------|\n| 422 | `BITRIX_ERROR` | `Не заполнено обязательное поле \"Адрес сайта\"` | Опущен ключ `code` — у сайта нет адреса. Передайте `code` с любым значением, можно пустым |\n| 422 | `BITRIX_ERROR` | `SLASH_IS_NOT_ALLOWED` | В `code` передан символ `\u002F` — слеши в коде запрещены |\n| 422 | `BITRIX_ERROR` | `DOMAIN_IS_INCORRECT` | Адрес сайта введён неверно: разрешены только символы `a-z`, `0-9`, `-`, `.` |\n| 422 | `BITRIX_ERROR` | `DOMAIN_EXIST` | Указанный домен уже занят другим сайтом |\n| 422 | `BITRIX_ERROR` | `DOMAIN_EXIST_TRASH` | Домен привязан к сайту в корзине — сначала отвяжите его |\n| 422 | `BITRIX_ERROR` | `DOMAIN_NOT_FOUND` | Домен с указанным `domainId` не существует |\n| 422 | `BITRIX_ERROR` | `SITE_LIMIT_REACHED` | Достигнут лимит количества сайтов на текущем тарифе |\n| 403 | `BITRIX_ACCESS_DENIED` | `Доступ на создание сайта запрещён` | У пользователя нет права на создание сайтов — ИЛИ создаётся `type: \"KNOWLEDGE\"` без `scope: \"KNOWLEDGE\"` (добавьте `scope`, см. таблицу полей) |\n| 403 | `SCOPE_DENIED` | — | API-ключ не имеет скоупа `landing` |\n| 401 | `TOKEN_MISSING` | — | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Слеши в ответе.** Поле `code` в ответе возвращается с обрамляющими слешами (`\u002Fconf-2026\u002F`) — это представление пути сайта в URL. В запросе слеши передавать нельзя.\n\n**Ключ `code` обязателен.** Значение `code` может быть пустой строкой `\"\"` или `null` — тогда код генерируется из `title`. Но если опустить сам ключ `code`, создание возвращает `422 BITRIX_ERROR` с сообщением `Не заполнено обязательное поле \"Адрес сайта\"`. Если `domainId` не передан, адрес формируется из `code` на `bitrix24site.ru`, например `b24-xxxxx.bitrix24site.ru`.\n\n**Главная страница и страницы ошибок.** Поля `landingIdIndex`, `landingId404`, `landingId503` при создании не задаются — страниц ещё нет. Назначьте их через [обновление](\u002Fdocs\u002Fentities\u002Fsites\u002Fupdate) после создания страниц сайта.\n\n**База знаний 2.0.** Создаётся как сайт с `type: \"KNOWLEDGE\"` И `scope: \"KNOWLEDGE\"` — оба поля обязательны. Без `scope` сервер вернёт `403 BITRIX_ACCESS_DENIED`, потому что Битрикс24 создаёт сайты типа `KNOWLEDGE` только в разделе баз знаний (тот же `scope` доступен для списка, чтения, обновления и удаления — см. соответствующие методы). Достаточно скоупа `landing` у ключа. Отдельного скоупа для баз знаний не требуется.\n\n## Смотрите также\n\n- [Список сайтов](\u002Fdocs\u002Fentities\u002Fsites\u002Flist) — посмотреть существующие сайты перед созданием\n- [Обновить сайт](\u002Fdocs\u002Fentities\u002Fsites\u002Fupdate) — изменить параметры созданного сайта\n- [Удалить сайт](\u002Fdocs\u002Fentities\u002Fsites\u002Fdelete) — удалить пустой сайт\n- [Batch](\u002Fdocs\u002Fbatch) — массовое создание\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","2026-07-07",{}]