Мегаплан API v3: Выгрузить задачи с фильтром и постранично

Сценарий из mcp-everything. Актуально на 2026-10-24.

Забрать задачи в отчёт или BI: открытые, по ответственному, с нужными полями.

  1. Запроси список: GET /api/v3/task. Параметры передаются JSON-объектом прямо в строке запроса — его нужно URL-кодировать.
  2. Фильтр — объект с contentType = TaskFilter и условиями в config.termGroup.terms. Чтобы ответ был легче, передай fields со списком полей и onlyRequestedFields = true.
  3. Пагинация курсорная: для следующей страницы передай pageAfter — ссылочный объект последней полученной задачи ({"contentType": "Task", "id": ...}), а не номер страницы. Размер страницы — limit, по умолчанию 100.
  4. Коллекции отдают только базовые поля; полную карточку получай через GET /api/v3/task/{id}.
Q='{"fields": ["name", "status", "deadline", "responsible"], "onlyRequestedFields": true, "limit": 100}'
curl -G "https://<аккаунт>.megaplan.ru/api/v3/task" \
  -H "AUTHORIZATION: Bearer $TOKEN" \
  --data-urlencode "$Q"

# Следующая страница — после последней задачи из предыдущего ответа
Q='{"limit": 100, "pageAfter": {"contentType": "Task", "id": 1000245}}'
curl -G "https://<аккаунт>.megaplan.ru/api/v3/task" -H "AUTHORIZATION: Bearer $TOKEN" --data-urlencode "$Q"

Базовые URL

Авторизация

Тип: Bearer-токен

Токен передаётся в каждом запросе в заголовке AUTHORIZATION: Bearer <token>. Для авторизации по логину и паролю токен получают запросом POST /api/v3/auth/access_token с grant_type=password; он живёт 48 часов (expires_in 172800). Приложения Мегаплана получают токен в data->token событий приложения.

curl --request POST \
    --url https://demo.megaplan.ru/api/v3/auth/access_token \
    --header 'content-type: multipart/form-data;' \
    --form username=dev-null@megoplan.ru \
    --form password=123 \
    --form grant_type=password

Методы сценария

GET /api/v3/task — Список задач

Параметры передаются JSON-объектом в GET-параметрах.

Параметр Где Тип Обяз. Описание
filter query object нет Фильтр с contentType: "TaskFilter" и config.termGroup.terms — условия по полям (userCreated, responsible, status и др.)
onlyRequestedFields query boolean нет Отдавать только запрошенные поля
fields query array нет Список запрашиваемых полей
limit query integer нет Размер страницы, по умолчанию 100
pageAfter query object нет Ссылочная сущность, после которой начать страницу
pageBefore query object нет Ссылочная сущность, до которой выдать страницу

GET /api/v3/task/{id} — Карточка задачи

Коллекции возвращают только базовые поля; полный набор — в карточке.

Параметр Где Тип Обяз. Описание
id path integer да ID задачи
onlyRequestedFields query boolean нет Отдавать только запрошенные поля
fields query array нет Поля, например name, status, deadline, responsible

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://dev.megaplan.ru/apiv3/index.html Вся интеграция одним документом: https://mcp-everything.ru/integrations/megaplan.md