Контур.Диадок API: Войти и найти свой ящик

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

Без авторизационного токена и идентификатора ящика (BoxId) не работает ни один метод.

  1. Получи токен: POST /V3/Authenticate?type=password с JSON {"login": ..., "password": ...} и заголовком Authorization: DiadocAuth ddauth_api_client_id={ключ разработчика}.
  2. Дальше в каждом запросе передавай Authorization: DiadocAuth ddauth_api_client_id={ключ}, ddauth_token={токен}.
  3. Получи организации пользователя: GET /GetMyOrganizations.
  4. Возьми Organizations[].Boxes[].BoxIdGuid — его передают в методы как boxId.
curl -X POST "https://diadoc-api.kontur.ru/V3/Authenticate?type=password" \
  -H "Authorization: DiadocAuth ddauth_api_client_id=$CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d '{"login": "user@example.com", "password": "secret"}'

curl "https://diadoc-api.kontur.ru/GetMyOrganizations" \
  -H "Authorization: DiadocAuth ddauth_api_client_id=$CLIENT_ID, ddauth_token=$TOKEN"

Базовые URL

Авторизация

Тип: Другое

Нужны ключ разработчика (выдаётся по заявке на https://www.diadoc.ru/integrations/api) и авторизационный токен пользователя. Оба передаются в заголовке по схеме DiadocAuth:

Токен выдаёт POST /V3/Authenticate: по логину и паролю (type=password, JSON с login и password), по сертификату (type=certificate, ответ расшифровывается закрытым ключом и подтверждается через /V3/AuthenticateConfirm) или по auth.sid (type=sid).

Authorization: DiadocAuth ddauth_api_client_id={{client_id}}, ddauth_token={{auth_token}}

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

POST /V3/Authenticate — Аутентификация

В ответе — авторизационный токен (для password) или зашифрованная строка (для certificate).

Документация: https://developer.kontur.ru/doc/diadoc.api/method?type=post&path=%2FV3%2FAuthenticate

Параметр Где Тип Обяз. Описание
type query string да password, certificate или sid
Authorization header string да DiadocAuth ddauth_api_client_id={ключ разработчика}
login body string нет Логин (при type=password)
password body string нет Пароль (при type=password)

GET /GetMyOrganizations — Организации пользователя

Organizations[]: OrgId, Inn, Kpp, FullName, ShortName, Ogrn, FnsParticipantId, Boxes[] (BoxId, BoxIdGuid, Title), Departments, IsRoaming, IsTest, Sociability.

Документация: https://developer.kontur.ru/doc/diadoc.api/method?type=get&path=%2FGetMyOrganizations

Параметр Где Тип Обяз. Описание
Authorization header string да Ключ разработчика и токен
autoRegister query boolean нет Регистрировать в организацию из сертификата (по умолчанию true)

Нюансы

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


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