L’API AI Budget pour les développeurs
AI Budget propose une API REST publique avec autorisation OAuth 2.0 : « Se connecter avec AI Budget ». Avec l’accord de l’utilisateur, votre application peut lire et écrire ses dépenses et récupérer ses tickets et catégories. L’utilisateur choisit ce qu’il partage et peut retirer l’accès à tout moment.
Référence de l’APIInscrire une applicationComment nous l’avons construite
Ce que l’API sait faire aujourd’hui
- Lire, créer, modifier et supprimer des dépenses (
/public/v1/expenses). - Synchroniser via le flux de modifications
/public/v1/expenses/changes: interrogé régulièrement, il renvoie les dépenses nouvelles, modifiées et supprimées ; les suppressions arrivent sous forme d’entréesdelete(tombstones). - Télécharger les images des tickets joints aux dépenses.
- Lire les catégories de dépenses du compte.
- Couvrir plusieurs comptes avec une seule connexion : l’utilisateur coche les comptes partagés (personnel, professionnel, famille…) et chaque requête indique son compte dans l’en-tête
X-Account-Id.GET /public/v1/accountsliste les comptes partagés avec leur type. - Lire, ajouter, modifier et supprimer des revenus (
/public/v1/incomes), avec leur propre flux de modifications ; les revenus créés par un virement entre comptes sont en lecture seule. - Lire les budgets avec l’avancement de la période en cours, et les créer, modifier et supprimer (
/public/v1/budgets). - Lire des totaux pour l’analyse (
/public/v1/analytics/summary,by-category,monthly) convertis dans la devise d’affichage de l’utilisateur. - Autorisations (scopes) :
expenses:read,expenses:write,receipts:read,categories:read,incomes:read,incomes:write,budgets:read,budgets:write,analytics:read.
Pour l’instant, l’API couvre les dépenses, les tickets, les catégories, les revenus, les budgets et les totaux d’analyse. Les objectifs et d’autres ressources pourraient suivre.
Gratuite et sans validation
L’accès à l’API est gratuit. Chaque développeur inscrit lui-même son application dans AI Budget (Paramètres → Développeurs), sans validation manuelle ni attente. Les limites de requêtes s’appliquent par connexion et par application.
La vie privée de l’utilisateur
L’utilisateur décide quels comptes il partage et peut déconnecter votre application à tout moment dans Paramètres → Applications connectées (comment ça marche). Les comptes chiffrés de bout en bout restent protégés : un compte avec chiffrement du texte ne se connecte qu’en lecture seule, et un compte entièrement chiffré ne peut pas être connecté.
Démarrer en 3 étapes
- Inscrivez une application dans Paramètres → Développeurs : donnez-lui un nom et une URI de redirection, vous obtenez un
client_idet unclient_secret. - Envoyez l’utilisateur vers l’URL d’autorisation
https://app.ai-budget.pl/authorizeavec PKCE. Il se connecte, coche les comptes et approuve les autorisations. - Échangez le code contre un jeton sur
POST /oauth/tokenet appelezhttps://api.ai-budget.pl/public/v1avec l’en-têteAuthorization: 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"Première intégration : eKsięgowy AI
eKsięgowy AI connecte via l’API le compte professionnel et le compte personnel d’un utilisateur et les garde strictement séparés.
Documentation
Tous les endpoints (Swagger) avec un guide pas à pas :
Référence de l’APIInscrire une applicationComment nous l’avons construite