Skip to main content
L’API utilise le flux OAuth2 client credentials. Chaque intégration possède une paire client_id / client_secret, émise et gérée dans l’interface Fidly.

Récupérer les clés

POST /auth/token accepte un corps JSON et deux grant types :
Les deux renvoient la même forme :

Access token

L’access_token est un JWT valable 1 heure (expires_in: 3600), à envoyer sur chaque requête dans l’en-tête Authorization: Bearer <access_token>. Les droits du client y sont embarqués à l’émission : un droit accordé ou révoqué dans l’interface prend effet au prochain access_token, pas sur ceux déjà émis.

Refresh token

Le refresh_token permet d’obtenir une nouvelle paire de clés sans renvoyer le client_secret. Sa durée de validité est illimitée tant qu’il n’est pas consommé. Il est à usage unique : le consommer invalide celui envoyé et renvoie une nouvelle paire access_token + refresh_token — le refresh_token reçu est neuf, sa validité repart de zéro. Chaque client_id n’a droit qu’à un refresh_token actif à la fois. Si plusieurs processus partagent un client_id, faites-leur partager les clés — chacun demandant les siennes déconnecterait les autres. Mettez donc l’access_token en cache et réutilisez-le pendant son heure de validité, plutôt que d’en redemander un à chaque appel.

Droits

Les droits de votre client se règlent avec une granularité par action et par ressource : pour chaque ressource (document, relation, bank_account, journal, branding), chaque action — créer, lire, modifier, supprimer — s’autorise ou non depuis l’interface Fidly. Les quatre actions sont toujours paramétrables ; une action sans route correspondante aujourd’hui est simplement sans effet. Les listes de référence (/units-of-measure, /currencies, /countries) exigent un access_token valide mais aucun droit de ressource.

Sécurité

Quelques choix de gestion des clés, à connaître pour intégrer sereinement : Blocage temporaire sur les échecs. Des authentifications échouées répétées sur un même client_id déclenchent un 429 too_many_requests temporaire, pour ralentir le bruteforce. Attendez avant de réessayer ; une authentification réussie remet le compteur à zéro. Une seule paire active par client. Recréer une paire via les client credentials écrase le refresh_token précédent : toute session de rafraîchissement antérieure est invalidée. Un access_token déjà émis reste en revanche valable jusqu’à son expiration — la révocation d’un droit prend donc effet au plus tard une heure après. La rotation révèle un vol. Un refresh_token déjà utilisé échoue en 401 invalid_grant. Si cela se produit sans explication de votre côté, considérez la paire comme compromise et repartez de vos client credentials. Rien de sensible en clair. Côté Fidly, le client_secret et le refresh_token sont stockés hashés : une fuite ne donnerait aucune clé réutilisable.
Nous vous conseillons de conserver vos clés pour les réutiliser pendant leur durée de validité — en mémoire ou en base de données, selon votre architecture — sans jamais logger un token complet ni le client_secret.