Authentification

Toutes les requetes API necessitent une authentification via une cle API transmise dans l'en-tete Authorization.

Format de la cle API

Les cles utilisent le format sk_live_ suivi de 64 caracteres hexadecimaux :

sk_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789...

Utiliser votre cle

Incluez la cle dans l'en-tete Authorization avec le schema Bearer :

cURL

curl -H "Authorization: Bearer sk_live_VOTRE_CLE" \
  "https://emailkind.com/v1/[email protected]"

JavaScript

const response = await fetch(
  "https://emailkind.com/v1/[email protected]",
  {
    headers: {
      Authorization: "Bearer sk_live_VOTRE_CLE",
    },
  }
);
const data = await response.json();

Python

import requests

response = requests.get(
    "https://emailkind.com/v1/classify",
    params={"email": "[email protected]"},
    headers={"Authorization": "Bearer sk_live_VOTRE_CLE"}
)
data = response.json()

PHP

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => "https://emailkind.com/v1/[email protected]",
    CURLOPT_HTTPHEADER => ["Authorization: Bearer sk_live_VOTRE_CLE"],
    CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);

Go

req, _ := http.NewRequest("GET", "https://emailkind.com/v1/[email protected]", nil)
req.Header.Set("Authorization", "Bearer sk_live_VOTRE_CLE")
resp, err := http.DefaultClient.Do(req)

Ruby

uri = URI("https://emailkind.com/v1/[email protected]")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer sk_live_VOTRE_CLE"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }

Gestion des cles

Vous pouvez gerer vos cles API depuis le Tableau de bord :

  • Creer de nouvelles cles avec des noms descriptifs (ex. "Production", "Staging")
  • Revoquer les cles compromises ou inutilisees
  • Consulter les prefixes et dates de derniere utilisation

Bonnes pratiques de securite

| A faire | A eviter | |---|---| | Stocker les cles dans des variables d'environnement | Commiter les cles dans le controle de version | | Utiliser des cles differentes par environnement | Partager les cles entre applications | | Revoquer les cles inutilisees | Logger les cles completes | | Renouveler les cles periodiquement | Exposer les cles cote client |

Limites de cles par plan

| Plan | Cles API max | |---|---| | Gratuit | 1 | | Starter | 3 | | Growth | 5 | | Scale | 10 |

Reponse d'erreur

Si l'authentification echoue, vous recevrez une reponse 401 Unauthorized :

{
  "success": false,
  "request_id": "req_abc123",
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid or missing API key"
  }
}