API-first · MCP

Документы как код
— и как разговор

Любое действие в Apiin — вызов публичного REST API. Тот же контракт питает кабинет, ваши интеграции и MCP-сервер: нейросеть выставляет счёт, помечает оплату и присылает ссылку по команде на человеческом языке.

600
запросов в минуту
HMAC
подпись вебхуков
OAuth 2.1
вход для MCP

один контракт · три способа вызова · те же права

Быстрый старт

Три шага до первого счёта из кода

  1. 01

    Выпустите ключ

    В кабинете, раздел «API, MCP»: выберите организации, права и срок. Программно ключ выпустить нельзя — так безопаснее.

  2. 02

    Создайте контрагента

    Одним запросом с флагом enrich_by_inn — реквизиты подтянутся по ИНН, включая банк по БИК.

  3. 03

    Выставьте счёт

    POST документа с позициями и with_qr — в ответе номер, суммы, ссылка на PDF и публичная ссылка.

Пошаговое руководство
bash · создать счёт
$ curl -X POST https://api.apiin.ru/api/organizations/$ORG/documents \
-H "Authorization: Bearer apiin_live_••••••" \
-H "Idempotency-Key: order-4821" \
-d '{"kind":"invoice","counterparty_id":"…","items":[…],"with_qr":true}'
201 Created
{ "id": "8f2c…", "number": "000128", "total": 4500000,
"pdf_url": "/documents/8f2c…/pdf", "public_url": "apiin.ru/i/8f2c…" }

суммы — в копейках · повтор с тем же ключом идемпотентности безопасен

Model Context Protocol

Нейросеть ведёт ваши документы

Единый адрес mcp.apiin.ru/mcp — и ассистент получает инструменты Apiin. Claude, ChatGPT, Cursor, VS Code и Codex подключаются по OAuth: ключ вставлять не нужно, права и организации вы выбираете на экране согласия, подключение отзывается в кабинете.

  • Вести контрагентов и подтягивать реквизиты по ИНН и БИК
  • Создавать счета, акты, счёт-договоры, счёт-фактуры, договоры и отчёты
  • Помечать оплату — частичную или полную
  • Выписывать акт на основе счёта с автоматической связкой
  • Создавать публичные ссылки и получать ссылку на PDF
  • Настраивать вебхуки и смотреть журнал доставок

Claude Code

claude mcp add --transport http apiin https://mcp.apiin.ru/mcp

Cursor · Windsurf

{ "mcpServers": { "apiin": { "url": "https://mcp.apiin.ru/mcp" } } }

VS Code · Copilot

{ "servers": { "apiin": { "type": "http", "url": "https://mcp.apiin.ru/mcp" } } }

Codex CLI

[mcp_servers.apiin]
url = "https://mcp.apiin.ru/mcp"
Инструкции по клиентам
MCP · ИИ-ассистент mcp.apiin.ru
Выстави счёт ООО «Ромашка» на 45 000 ₽ за консультацию и пришли ссылку
tool documents.create · kind=invoice · with_qr=true
Готово. Счёт № 000128 создан, PDF с платёжным QR готов. Публичная ссылка: apiin.ru/i/8f2c…

Счёт № 000128 · 45 000,00 ₽

ООО «Ромашка» · не оплачен · QR по ГОСТ

Что даёт REST API

Интеграция без сюрпризов

Контракт один для кабинета, интеграций и нейросети — поэтому в API нет «второго сорта»: те же поля, те же правила, те же ошибки.

01

Полный контракт, а не подмножество

Кабинет ходит в тот же публичный REST API. Если действие есть в интерфейсе — оно есть и в API: документы, оплаты, подписи, связки, ссылки, шаблоны, ассеты, оферты.

02

Ключи с правами и сроком

Ключ вида apiin_live_… создаётся в кабинете с набором прав (scopes), списком организаций и сроком действия. Отзывается в любой момент.

03

Идемпотентность

Повтор запроса с тем же Idempotency-Key вернёт уже созданный документ, а не второй такой же — безопасно ретраить при таймаутах.

04

Вебхуки с HMAC-подписью

События создания документа и оплаты уходят на ваш URL, подпись проверяется по секрету. Журнал доставок и повторы — в кабинете и по API.

05

Предсказуемые лимиты

600 запросов в минуту на ключ; при превышении — 429 с понятным телом ответа. Пагинация и фильтры для инкрементальной синхронизации.

06

PDF и QR из одного вызова

Флаг with_qr добавляет платёжный QR по ГОСТ Р 56042-2014, а PDF и DOCX забираются отдельными эндпоинтами документа.

Права и безопасность

Выдавайте ровно столько доступа, сколько нужно

У каждого ключа — свой набор прав, список организаций и срок действия. Ассистент и интеграция действуют строго в этих рамках; отозвать доступ можно в любой момент, а вебхуки подписываются HMAC, чтобы подделка не прошла.

Все ресурсы скоупятся по организации: /api/organizations/{org_id}/…, а доступные ключу организации возвращает GET /api/whoami.

documents:read / write документы, PDF, оплаты, подписи, связки
counterparties:read / write контрагенты и их реквизиты
orders:read / write заказы и группировка документов
public_links:write публичные ссылки на документы
send:write отправка документа на email
templates / assets / offers шаблоны, логотип и печать, оферты
organizations:read / write реквизиты и настройки организации
webhooks:write настройка вебхуков
Вопросы и ответы

Коротко о главном

Чем MCP отличается от обычного API?

REST API вызывает ваш код, а MCP — нейросеть: ассистент видит список инструментов Apiin и вызывает их сам по команде на человеческом языке. Под капотом MCP-сервер ходит в тот же REST API с вашими правами.

Нужно ли отдавать ассистенту API-ключ?

Нет. Claude, ChatGPT, Cursor, VS Code и Codex подключаются по OAuth: вы входите в Apiin, выбираете организации и права на экране согласия, а подключение видно в кабинете и отзывается одной кнопкой. Ключ нужен только для серверных сценариев без браузера.

Можно ли ограничить, что делает ассистент?

Да, права выдаются точечно. Для ведения документов достаточно documents:read/write, counterparties:read/write и public_links:write — остальное можно не давать. Ассистент не сможет выйти за рамки выданных прав.

В каких единицах суммы?

В копейках — и в REST API, и в инструментах MCP: 45 000 ₽ передаются как 4500000. Так исключаются ошибки округления.

Подробнее — в справочнике REST API и инструкции по MCP. Все возможности продукта — на странице «Возможности».

Готовы подключиться?

Ключ — за минуту, первый счёт — следующим запросом