API AI Budget dla deweloperów
AI Budget ma publiczne REST API z autoryzacją OAuth 2.0 – „Połącz z AI Budget”. Za zgodą użytkownika Twoja aplikacja może czytać i zapisywać jego wydatki, pobierać paragony i kategorie. Użytkownik sam wybiera, co udostępnia, i w każdej chwili może cofnąć dostęp.
Dokumentacja APIZarejestruj aplikacjęJak to zbudowaliśmy
Co API potrafi już dziś
- Czytać, dodawać, zmieniać i usuwać wydatki (
/public/v1/expenses). - Synchronizować zmiany przez kanał zmian
/public/v1/expenses/changes: odpytujesz go co jakiś czas i dostajesz nowe, zmienione i usunięte wydatki – usunięcia przychodzą jako wpisydelete(tombstone). - Pobierać zdjęcia paragonów dołączonych do wydatków.
- Czytać kategorie wydatków konta.
- Obsłużyć kilka kont w jednym połączeniu: użytkownik zaznacza konta, które udostępnia (osobiste, firmowe, rodzinne…), a każde zapytanie wskazuje konto w nagłówku
X-Account-Id.GET /public/v1/accountszwraca udostępnione konta wraz z ich typem. - Czytać i dodawać przychody (
/public/v1/incomes) – razem z kanałem zmian; przychody z przelewów między kontami są tylko do odczytu. - Czytać budżety z postępem bieżącego okresu oraz tworzyć, zmieniać i usuwać je (
/public/v1/budgets). - Pobierać sumy do analiz (
/public/v1/analytics/summary,by-category,monthly) przeliczone na walutę wyświetlania użytkownika. - Uprawnienia (scopes):
expenses:read,expenses:write,receipts:read,categories:read,incomes:read,incomes:write,budgets:read,budgets:write,analytics:read.
Na razie API obejmuje wydatki, paragony, kategorie, przychody, budżety i sumy do analiz. Cele i dalsze zasoby mogą dojść później.
Bezpłatnie i bez weryfikacji
Dostęp do API jest bezpłatny. Każdy deweloper sam rejestruje aplikację w AI Budget (Ustawienia → Dla deweloperów) – bez ręcznej weryfikacji i bez czekania. Limity zapytań są liczone osobno dla każdego połączenia i dla każdej aplikacji.
Prywatność użytkownika
To użytkownik decyduje, które konta udostępnia, i w każdej chwili może odłączyć aplikację w Ustawienia → Połączone aplikacje (jak to działa). Konta z szyfrowaniem end-to-end pozostają chronione: konto z szyfrowaniem tekstu można połączyć tylko do odczytu, a konta z pełnym szyfrowaniem nie da się połączyć.
Start w 3 krokach
- Zarejestruj aplikację w Ustawienia → Dla deweloperów: podaj nazwę i adres przekierowania (redirect URI), a otrzymasz
client_idiclient_secret. - Przekieruj użytkownika na adres autoryzacji
https://app.ai-budget.pl/authorizez PKCE. Użytkownik loguje się, zaznacza konta i zatwierdza uprawnienia. - Wymień kod na token w
POST /oauth/tokeni wywołujhttps://api.ai-budget.pl/public/v1z nagłówkiemAuthorization: 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"Pierwsza integracja: eKsięgowy AI
eKsięgowy AI łączy przez API konto firmowe i konto prywatne użytkownika i trzyma je ściśle osobno.
Dokumentacja
Opis wszystkich endpointów (Swagger) z przewodnikiem krok po kroku: