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

GET /v1/sites

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

#Параметры

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

#Примеры

#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

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

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 принимается без ошибки, но порядок результата не меняется — выборка всегда возвращается в порядке возрастания идентификатора.

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