Inkr API

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> :

FormatEnvironnementFacturationVolume
sk_test_xxxSandboxNonRate limit 100/min
sk_live_xxxProductionOui (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é :

  1. Créer une nouvelle clé en parallèle.
  2. Déployer la nouvelle clé dans tes secrets prod.
  3. Vérifier que tes requêtes utilisent bien la nouvelle.
  4. 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.