МойСклад JSON API 1.2: Выгрузить большой отчёт асинхронно

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

Для больших коллекций (остатки, контрагенты, ассортимент, отчёты) без листания.

  1. Добавь async=true к запросу (без limit и offset) — ответ 202 с заголовками Location (результат) и Content-Location (статус).
  2. Опрашивай статус: GET /api/remap/1.2/async/{id}.
  3. Когда задача готова, скачай результат по адресу из Location. Результат хранится 1 час.
curl --compressed -X GET \
  "https://api.moysklad.ru/api/remap/1.2/report/stock/bystore?async=true" \
  -H "Authorization: Bearer <Access-Token>" \
  -H "Accept-Encoding: gzip"

Базовые URL

Авторизация

Тип: Bearer-токен

Два способа: Basic Auth (заголовок Authorization: Basic с логин:пароль в Base64) или токен доступа (Authorization: Bearer <AccessToken>). Токен пользователя выдаёт POST /api/remap/1.2/security/token; для решений из маркетплейса используется токен решения. Лимит запросов зависит от способа: токены решений расходуют лимит медленнее, чем логин/пароль и токен пользователя.

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

GET /api/remap/1.2/async/{id} — Статус асинхронной задачи

Документация: https://dev.moysklad.ru/doc/api/remap/1.2/#/async#2-asinhronnyj-obmen

Параметр Где Тип Обяз. Описание
id path string да ID задачи из заголовка Content-Location

Нюансы

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


Если этого недостаточно — официальная документация: https://dev.moysklad.ru/doc/api/remap/1.2/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/moysklad.md