#Список сайтов

GET /v1/sites

Возвращает список сайтов портала с поддержкой фильтрации и авто-пагинации. По умолчанию возвращаются только не удалённые сайты — для получения сайтов из корзины передайте filter[deleted]=Y.

#Параметры

Параметр Тип По умолч. Описание
limit number 50 Количество записей (до 5000). При limit > 50 Вайбкод автоматически запрашивает несколько страниц у Битрикс24
select string Выборка полей: ?select=id,title,type
filter object Фильтрация по ключевым полям сайта.
Синтаксис фильтрации. Пример: ?filter[type]=PAGE
scope string Внутренняя область лендингов. Допустимые значения: KNOWLEDGE (база знаний), GROUP (страницы рабочих групп), MAINPAGE (главные страницы). Без параметра возвращаются обычные сайты-лендинги. Принимается как ?scope=KNOWLEDGE или ?filter[scope]=KNOWLEDGE — обе формы дают одинаковый запрос к Битрикс24

#Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/sites?limit=10&filter[type]=PAGE" \
  -H "X-Api-Key: YOUR_API_KEY"

#curl — OAuth-приложение

Terminal
curl "https://vibecode.bitrix24.tech/v1/sites?limit=10&filter[type]=PAGE" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites?limit=10&filter[type]=PAGE', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data, meta } = await res.json()
console.log(`Найдено ${meta.total} сайтов`)

#JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites?limit=10&filter[type]=PAGE', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data, meta } = await res.json()

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив сайтов (каждая запись содержит ключевые поля сайта)
meta.total number Общее количество записей, соответствующих фильтру
meta.hasMore boolean Есть ли ещё записи за пределами limit

URL любого сайта из массива data — его id:

https://<portal>.bitrix24.ru/sites/site/<id>/

<portal> — домен портала. Доступ ограничен правами сотрудника в Битрикс24.

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

JSON
{
  "success": true,
  "data": [
    {
      "id": 157,
      "title": "Вилла Ранду",
      "code": "/villa-randu/",
      "type": "PAGE",
      "active": true,
      "domainId": 5,
      "createdById": 1,
      "dateCreate": "2024-09-12T10:23:14.000Z",
      "dateModify": "2025-11-04T08:51:20.000Z"
    },
    {
      "id": 3,
      "title": "Музей вилок",
      "code": "/fotografiya/",
      "type": "PAGE",
      "active": true,
      "domainId": 5,
      "createdById": 1,
      "dateCreate": "2020-04-22T14:39:17.000Z",
      "dateModify": "2024-05-06T15:43:34.000Z"
    }
  ],
  "meta": {
    "total": 25,
    "hasMore": true
  }
}

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

403 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'landing' scope"
  }
}

#Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа landing
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

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

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

Видимость по правам пользователя. В список попадают только сайты, к которым у владельца API-ключа есть право «просмотр». Если на портале есть сайты, но ответ пустой — проверьте права пользователя, под которым выпущен ключ.

Корзина. Чтобы получить удалённые сайты, передайте filter[deleted]=Y (значения "Y" / "N").

Сортировка не применяется. Параметр order принимается без ошибки, но порядок результата не меняется — выборка всегда возвращается в порядке возрастания идентификатора.

База знаний и другие внутренние области. Параметр scope переключает источник: KNOWLEDGE — сайты базы знаний, GROUP — сайты внутри рабочих групп, MAINPAGE — главные страницы. Без параметра возвращаются обычные сайты-лендинги (источник по умолчанию). Пример: GET /v1/sites?scope=KNOWLEDGE возвращает сайты базы знаний и игнорирует обычные лендинги.

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