Clés API#
Les utilisateurs accèdent à l’API publique avec des clés API par utilisateur. Les utilisateurs peuvent gérer leurs propres clés dans l’interface web (Paramètres → Clés API), et vous pouvez les gérer depuis la ligne de commande.
Comment les clés sont stockées#
Une clé ressemble à seurch_sk_<préfixe>.<secret> :
- Le préfixe (8 caractères) est stocké en clair pour une recherche rapide.
- Seul un hachage SHA-256 du secret est stocké, jamais le secret lui-même.
Ainsi, la valeur complète d’une clé est affichée exactement une fois, à la création, et ne peut pas être récupérée par la suite, uniquement révoquée.
Gestion en ligne de commande#
Exécutez ces commandes à l’intérieur du conteneur (docker exec -it <conteneur> …) ou via uv run python manage.py … depuis les sources.
Créer une clé#
python manage.py create_api_key <nom_utilisateur> --name "mon script"La clé complète est affichée une fois. Copiez-la immédiatement, elle ne peut plus être affichée ensuite.
Lister les clés#
python manage.py list_api_keys [--user <nom_utilisateur>]Affiche le nom de chaque clé, son préfixe, l’heure de création et de dernière utilisation, et si elle est révoquée, jamais le secret.
Révoquer une clé#
python manage.py revoke_api_key seurch_sk_<préfixe>Une clé révoquée est rejetée immédiatement à la prochaine requête.
Limites de débit#
Chaque clé est limitée par deux limites qui s’appliquent ensemble : un plafond burst à court terme et un plafond sustained journalier, configurés avec API_THROTTLE_BURST et API_THROTTLE_SUSTAINED. Dépasser l’une ou l’autre renvoie HTTP 429. Voir Configuration et la page Limites de débit de l’API.
Comptabilité des usages#
Chaque recherche effectuée via l’API compte dans le total mensuel de recherches du propriétaire de la clé (affiché à l’utilisateur dans Paramètres), exactement comme les recherches effectuées sur le site web. Les points de terminaison méta de l’API (/, status/, key/) ne comptent pas.