Як підключити finiq через API, вебхуки й MCP

Відкрите API дає доступ до рахунків, операцій, планових платежів і звітів бізнесу, вебхуки самі повідомляють ваш сервер про зміни, а MCP-сервер підключає finiq до ChatGPT і Claude.

Як отримати ключ

  1. У finiq відкрийте «Налаштування» → вкладку «API і вебхуки» і натисніть «Створити ключ».
  2. Дайте ключу назву й виберіть доступ: «Лише читання» або «Читання й запис».
  3. Скопіюйте ключ: finiq покаже його лише один раз і зберігає тільки відбиток.

REST API

Адреса: https://app.finiq.com.ua/api/v1. Кожен запит — із заголовком «Authorization: Bearer <ключ>».

Суми — рядки в мінорних одиницях («125050» — це 1 250,50 ₴), дати — РРРР-ММ-ДД. Список операцій — сторінками: передайте nextCursor як cursor.

Що є: /business, /accounts (із залишками), /categories, /counterparties, /projects, /tags, /operations і /planned-operations (список із фільтрами, створення, зміна, видалення), /reports/cash-flow, /reports/profit-and-loss, /forecast, /calendar.

Опис усіх запитів і відповідей — https://app.finiq.com.ua/api/v1/openapi.json (OpenAPI 3): його відкривають Postman, Insomnia чи Swagger Editor.

Ліміти: 60 запитів за хвилину на ключ у Pro і 300 — в Advanced. Понад ліміт API відповідає 429 із заголовком Retry-After.

Помилки — { code, message }: 401 — немає дійсного ключа, 402 — тариф без API або бізнес лише для читання, 403 — ключу чи його автору це не дозволено, 404 — не знайдено в цьому бізнесі, 422 — неправильні дані.

curl https://app.finiq.com.ua/api/v1/operations?from=2026-10-01 \
  -H "Authorization: Bearer fiq_…"
curl -X POST https://app.finiq.com.ua/api/v1/operations \
  -H "Authorization: Bearer fiq_…" \
  -H "Content-Type: application/json" \
  -d '{"type":"expense","date":"2026-10-31","accountId":"…","amount":"125050",
       "description":"Office rent","splits":[{"categoryId":"…","amount":"125050"}]}'

Вебхуки

У тій самій вкладці натисніть «Додати вебхук», вкажіть https-адресу свого сервера й події. Секрет для перевірки підпису finiq покаже один раз.

Події: створення, зміна й видалення операцій і планових платежів — з будь-якого джерела: застосунку, банку, імпорту, Telegram-бота чи API, — а також досягнення 80% і 100% бюджету.

Сервер має відповісти кодом 2xx за 10 секунд. Інакше finiq повторить спробу через 1, 5 і 30 хвилин, 2, 6 і 12 годин і двічі через добу; якщо за три доби жодна подія не прийнята, вебхук вимикається, а власник отримує сповіщення.

Події можуть прийти двічі або не по черзі: зберігайте id події, щоб не обробити її повторно, і орієнтуйтесь на updatedAt операції.

Перевіряйте підпис кожного запиту: заголовок Finiq-Signature має вигляд t=<час>,v1=<підпис>, де підпис — HMAC-SHA256 рядка «<час>.<тіло запиту>» із секретом вебхука.

{
  "id": "0193…",
  "type": "operation.created",
  "createdAt": "2026-10-31T09:15:02.123Z",
  "businessId": "0192…",
  "data": { "operation": { "id": "…", "type": "expense", "amount": "125050", … } }
}
import { createHmac, timingSafeEqual } from 'node:crypto';

// rawBody: the request body exactly as received, before JSON.parse.
function verify(rawBody, header, secret) {
  const parts = Object.fromEntries(header.split(',').map((part) => part.split('=')));
  const age = Math.abs(Date.now() / 1000 - Number(parts.t));
  if (!parts.t || !parts.v1 || age > 300) return false;
  const expected = createHmac('sha256', secret).update(`${parts.t}.${rawBody}`).digest('hex');
  return timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}

// verify(rawBody, request.headers['finiq-signature'], 'whsec_…')

MCP для ChatGPT і Claude

MCP-сервер: https://app.finiq.com.ua/api/mcp. Асистент бачить залишки, операції, звіти Cash Flow і P&L, прогноз і касові розриви, найближчі платежі, а з ключем на запис — додає операції й планові платежі.

Claude (claude.ai і Claude Desktop): Налаштування → Connectors → Add custom connector, адреса — https://app.finiq.com.ua/api/mcp/<ключ>.

ChatGPT: Settings → Apps & Connectors → Advanced settings → Developer mode, далі Create connector з адресою https://app.finiq.com.ua/api/mcp/<ключ> і автентифікацією No authentication.

Claude Code та інші клієнти, що вміють додавати заголовки, передають ключ у заголовку Authorization:

claude mcp add --transport http finiq https://app.finiq.com.ua/api/mcp \
  --header "Authorization: Bearer fiq_…"

Що варто знати

  • Ключ діє з роллю й обмеженнями доступу того, хто його створив: не бачить прихованих від нього рахунків і проєктів, а змінювати може лише те, що дозволено цій людині.
  • Ключ і вебхук перестають працювати, щойно їхній автор залишає бізнес. Відкликати ключ можна будь-коли в тій самій вкладці.
  • Для ШІ-асистента радимо ключ лише на читання. Адреса MCP із ключем — така сама таємниця, як сам ключ.
  • API, вебхуки й MCP доступні на тарифах Pro і Advanced та в пробному періоді.

Хто може це зробити. Ключі й вебхуки створюють і відкликають власник і адміністратори бізнесу.

Інші інструкції