#Список задач

GET /v1/tasks

Возвращает список задач портала с поддержкой фильтрации, сортировки и авто-пагинации.

#Параметры

Параметр Тип По умолч. Описание
limit number 50 Количество записей (до 5000). При limit > 50 API автоматически запрашивает несколько страниц
offset number 0 Пропустить N записей. При offset > 0 рекомендуется limit ≤ 500
select string Выборка полей: ?select=id,title,status,responsibleId
order object id desc Сортировка: ?order[id]=desc, ?order[createdDate]=desc
filter object Фильтрация по полям GET /v1/tasks/fields.
Синтаксис фильтрации. Пример: ?filter[status]=2&filter[responsibleId]=1

#Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/tasks?limit=10&filter[status]=2&order[id]=desc" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/tasks?limit=10&filter[status]=2&order[id]=desc" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const url = 'https://vibecode.bitrix24.tech/v1/tasks?limit=10&filter[status]=2&order[id]=desc'
const res = await fetch(url, {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data, meta } = await res.json()
console.log(`Получено ${data.length} из ${meta.total} задач`)

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

javascript
const url = 'https://vibecode.bitrix24.tech/v1/tasks?limit=10&filter[status]=2&order[id]=desc'
const res = await fetch(url, {
  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": "289",
      "title": "Подготовить отчёт за квартал",
      "status": "2",
      "priority": "1",
      "responsibleId": "79",
      "createdBy": "99",
      "createdDate": "2026-05-12T09:11:18+03:00",
      "deadline": "2026-05-19T18:00:00+03:00",
      "groupId": "0",
      "accomplices": [],
      "auditors": [],
      "creator": {
        "id": "99",
        "name": "Анна Соколова",
        "link": "/company/personal/user/99/"
      },
      "responsible": {
        "id": "79",
        "name": "Дмитрий Орлов",
        "link": "/company/personal/user/79/"
      }
    }
  ],
  "meta": {
    "total": 184,
    "hasMore": true
  }
}

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

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

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

#Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа tasks
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Передан некорректный или несуществующий ключ

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

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

Когда переходить на POST /v1/tasks/search. Если у запроса много условий фильтра или нужна выгрузка по большому диапазону дат, выбирайте POST /v1/tasks/search — параметры передаются в body, плюс доступно автоматическое разбиение запроса по временны́м окнам для выборок свыше 5000 записей. См. Поиск задач.

Числовые значения как строки. Поля-идентификаторы и числовые перечисления (id, status, priority, responsibleId, createdBy, groupId) приходят в виде строк. Для арифметики и сравнений приводите через Number(value).

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