API AI Budget для разработчиков
У AI Budget есть публичное REST API с авторизацией OAuth 2.0 – «Подключить AI Budget». С согласия пользователя ваше приложение может читать и записывать его расходы, скачивать чеки и категории. Пользователь сам выбирает, чем делиться, и может отозвать доступ в любой момент.
Документация APIЗарегистрировать приложениеКак мы это сделали
Что API умеет уже сейчас
- Читать, создавать, изменять и удалять расходы (
/public/v1/expenses). - Синхронизироваться через ленту изменений
/public/v1/expenses/changes: вы периодически опрашиваете её и получаете новые, изменённые и удалённые расходы – удаления приходят записямиdelete(tombstone). - Скачивать фото чеков, прикреплённых к расходам.
- Читать категории расходов счёта.
- Работать с несколькими счетами в одном подключении: пользователь отмечает счета, которыми делится (личный, бизнес, семейный…), а каждый запрос указывает счёт в заголовке
X-Account-Id.GET /public/v1/accountsвозвращает подключённые счета с их типом. - Читать, добавлять, изменять и удалять доходы (
/public/v1/incomes) — со своей лентой изменений; доходы, созданные переводом между счетами, доступны только для чтения. - Читать бюджеты с прогрессом текущего периода, а также создавать, изменять и удалять их (
/public/v1/budgets). - Читать итоги для аналитики (
/public/v1/analytics/summary,by-category,monthly), пересчитанные в валюту отображения пользователя. - Права доступа (scopes):
expenses:read,expenses:write,receipts:read,categories:read,incomes:read,incomes:write,budgets:read,budgets:write,analytics:read.
Пока API охватывает расходы, чеки, категории, доходы, бюджеты и итоги для аналитики. Цели и другие ресурсы могут появиться позже.
Бесплатно и без проверки
Доступ к API бесплатный. Любой разработчик сам регистрирует приложение в AI Budget (Настройки → Разработчикам) – без ручной проверки и ожидания. Лимиты запросов считаются отдельно для каждого подключения и для каждого приложения.
Приватность пользователя
Пользователь сам решает, какими счетами делиться, и в любой момент может отключить приложение в Настройки → Подключённые приложения (как это работает). Счета со сквозным шифрованием остаются защищены: счёт с шифрованием текста подключается только для чтения, а полностью зашифрованный счёт подключить нельзя.
Старт за 3 шага
- Зарегистрируйте приложение в Настройки → Разработчикам: укажите название и адрес перенаправления (redirect URI) – вы получите
client_idиclient_secret. - Отправьте пользователя на адрес авторизации
https://app.ai-budget.pl/authorizeс PKCE. Пользователь входит, отмечает счета и подтверждает права. - Обменяйте код на токен в
POST /oauth/tokenи вызывайтеhttps://api.ai-budget.pl/public/v1с заголовкомAuthorization: Bearer ….
# 1. Send the user to the consent page (PKCE S256)
https://app.ai-budget.pl/authorize?response_type=code&client_id=aba_ci_...
&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback
&scope=expenses%3Aread+categories%3Aread&state=...
&code_challenge=...&code_challenge_method=S256
# 2. Exchange the code for tokens
curl -X POST https://api.ai-budget.pl/oauth/token \
-u "$CLIENT_ID:$CLIENT_SECRET" \
-d grant_type=authorization_code -d code="$CODE" \
-d redirect_uri=https://example.com/callback -d code_verifier="$CODE_VERIFIER"
# 3. Call the API for one of the connected accounts
curl https://api.ai-budget.pl/public/v1/accounts -H "Authorization: Bearer $ACCESS_TOKEN"
curl https://api.ai-budget.pl/public/v1/expenses -H "Authorization: Bearer $ACCESS_TOKEN" \
-H "X-Account-Id: $ACCOUNT_ID"Первая интеграция: eKsięgowy AI
eKsięgowy AI подключает через API бизнес-счёт и личный счёт пользователя и строго держит их раздельно.
Документация
Описание всех эндпоинтов (Swagger) и пошаговое руководство:
Документация APIЗарегистрировать приложениеКак мы это сделали