Authentification
Authentifier tes appels à l'API Inkr avec une clé sk_test ou sk_live, gérer les environnements, comprendre les rate limits.
Format des clés
Toutes les clés ont le format sk_<env>_<32 caractères alphanumériques> :
| Format | Environnement | Facturation | Volume |
|---|---|---|---|
sk_test_xxx | Sandbox | Non | Rate limit 100/min |
sk_live_xxx | Production | Oui (PPU 0,20€ → 0,15€) | Rate limit 1000/min |
Les clés test et live sont isolées : les submissions, templates, webhooks créés dans l'un n'apparaissent pas dans l'autre.
Envoyer une requête authentifiée
Toutes les requêtes nécessitent le header Authorization: Bearer <clé> :
curl https://api.getinkr.eu/v1/submissions \
-H "Authorization: Bearer sk_test_xxx..."Une requête sans header ou avec une clé invalide retourne :
{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid or revoked API key."
}
}Générer et révoquer une clé
Depuis le dashboard developers.getinkr.eu/dev/api-keys :
- Créer : la clé complète s'affiche une seule fois à la création. Stocke-la immédiatement dans un gestionnaire de secrets (Doppler, 1Password, AWS Secrets Manager, Vercel env vars).
- Révoquer : depuis la liste, clique sur la corbeille. La clé devient immédiatement invalide pour toutes les requêtes futures (les requêtes en cours peuvent terminer).
Inkr ne supporte pas le re-affichage d'une clé. Si tu perds une clé, révoque-la et crée une nouvelle.
Rotation
Inkr ne force pas la rotation. Bonne pratique : tourner les clés tous les 6 à 12 mois ou immédiatement en cas de compromission suspectée.
Workflow recommandé :
- Créer une nouvelle clé en parallèle.
- Déployer la nouvelle clé dans tes secrets prod.
- Vérifier que tes requêtes utilisent bien la nouvelle.
- Révoquer l'ancienne depuis le dashboard.
Rate limits
Chaque clé est rate-limitée par minute glissante :
sk_test_xxx: 100 requêtes / minute par clé.sk_live_xxx: 1000 requêtes / minute par clé.
Au-delà, la réponse est 429 Too Many Requests :
{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "Too many requests. Retry after 15 seconds."
}
}Le header Retry-After indique en secondes le délai avant retry.
Stockage côté Inkr
Inkr stocke les clés en argon2id avec un coût ≥ 12 + pepper applicatif. Aucun moyen de récupérer une clé en clair côté Inkr. En cas de compromission de la DB Inkr, les clés ne sont pas exposables même par l'équipe Inkr.