Сценарий из mcp-everything. Актуально на 2026-10-25.
Без авторизационного токена и идентификатора ящика (BoxId) не работает ни один метод.
{"login": ..., "password": ...} и заголовком Authorization: DiadocAuth ddauth_api_client_id={ключ разработчика}.Authorization: DiadocAuth ddauth_api_client_id={ключ}, ddauth_token={токен}.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"
https://diadoc-api.kontur.ruhttps://diadoc-api.testkontur.ruТип: Другое
Нужны ключ разработчика (выдаётся по заявке на 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}}
В ответе — авторизационный токен (для 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) |
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) |
BoxIdGuid из GetMyOrganizations (GUID).204 или пустым телом с Retry-After.operationId защищает от повторной отправки: при успешном вызове с тем же ID все следующие вернут тот же результат.IsTest и не имеют юридической силы.Invoices, Torg12Documents, UniversalTransferDocumentSellerTitles и др.) заменены универсальными DocumentAttachments и RecipientTitles.Если этого недостаточно — официальная документация: https://developer.kontur.ru/doc/diadoc-api/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/diadoc.md