Skip to content
Sections de la documentation

Authentification

Chaque appel à un calculateur porte une clé d'API, quelle que soit l'offre ; une clé gratuite ne coûte rien. Les routes des calculateurs, celles des tâches et le point de terminaison d'usage l'acceptent dans l'un ou l'autre en-tête.

Les clés commencent par rfc_. Une clé est affichée une seule fois, à sa création, puis plus jamais : seul son hachage est conservé.

Envoyer la clé

Envoyez la clé dans l'en-tête X-API-Key ou sous la forme Authorization: Bearer rfc_…. Une requête sans clé est refusée avec 401 et une keyUrl ; une clé qui n'a jamais été émise, ou qui a été révoquée, est également refusée avec 401. Un 401 ne concerne jamais le quota : un quota épuisé, c'est 402 (voir Erreurs).

Le quota appartient au compte

Les appels de toutes les clés d'un compte, y compris les clés révoquées, sont décomptés d'un seul chiffre mensuel ; il est réinitialisé au début de chaque mois civil en UTC, et chaque appel reste attribué à la clé qui l'a fait.

Quota mensuel et limite de clés par offre
OffreAppels par mois, et clés
Free5 appels par mois, 1 clé d'API
Pro100 appels par mois, 3 clés d'API
API10 000 appels par mois, 5 clés d'API

Obtenir une clé

Une personne en obtient une sur le tableau de bord. Un programme dispose de deux moyens d'en fournir une à son utilisateur, et tous deux donnent une clé rfc_ ordinaire, décomptée, listée et révocable comme toute autre.

L'autorisation d'appareil, pour un programme sans navigateur

L'autorisation d'appareil OAuth 2.0 (RFC 8628) remet une clé à un programme (une extension, une CLI, un serveur MCP local) sans que l'utilisateur ait rien à coller. Le programme demande un code, montre à l'utilisateur le code et https://rftools.io/device/, puis interroge à intervalles réguliers. L'utilisateur s'y connecte, voit le nom que le programme s'est donné, et approuve ou refuse. Après l'approbation, l'interrogation suivante du programme renvoie la clé, une seule fois. Les deux points de terminaison acceptent du JSON ou un corps de formulaire.

  • Un code compte 8 lettres tirées de BCDFGHJKLMNPQRSTVWXZ, s'affiche sous la forme XXXX-XXXX et expire 10 minutes après son émission.
  • N'interrogez pas plus vite que interval (5 s au départ).
  • La clé compte dans la limite de clés du compte ; un compte qui a atteint sa limite est invité à révoquer d'abord une clé.
  • Ne montrez à l'utilisateur que le code. Le device_code est le secret du programme jusqu'à son échange.
  • La bibliothèque Python fait tout cela : rftools login ou rftools.Client().login().

Pendant l'attente, le point de terminaison du jeton répond 400 avec une error RFC 8628 :

Erreurs de l'autorisation d'appareil
errorSignification
authorization_pendingL'utilisateur n'a pas encore décidé. Continuez à interroger à l'intervalle prévu.
slow_downInterrogation plus rapide que l'intervalle. L'intervalle augmente de 5 s ; le corps porte le nouvel intervalle.
access_deniedL'utilisateur a refusé le code, ou le compte a atteint sa limite de clés avant la récupération de la clé. Cessez d'interroger.
expired_tokenLe code a expiré (10 minutes après son émission) ou sa clé a déjà été récupérée. Recommencez.
invalid_grantLe code d'appareil a été émis pour un autre client_id.
invalid_request / unsupported_grant_typeUn paramètre manque ou le grant_type est incorrect.

Les points de terminaison de l'autorisation d'appareil sont soumis à la limite de débit sans identifiant, quoi qu'ils portent.