# Authentification

Chaque requête porte une clé API dans l'en-tête `Authorization`, au format Bearer :

```
Authorization: Bearer fv_live_4f9c...
```

## Deux clés par compte

| Clé | Préfixe | Ce qu'elle fait |
|---|---|---|
| Live | `fv_live_` | Vraies analyses. Débite les crédits du compte, exactement comme le site. |
| Test | `fv_test_` | Réponses fictives et immédiates. Aucun crédit, aucune analyse, aucun fichier conservé. Voir [Mode test](/developpeurs/mode-test). |

Les clés se créent, se régénèrent et se révoquent sur la page **API** de votre espace : [france-verification.com/mon-api](https://france-verification.com/mon-api).

- Une clé n'est affichée **qu'une seule fois**, au moment de sa création. Nous n'en gardons qu'une empreinte : une clé perdue se régénère, elle ne se relit pas.
- Régénérer une clé révoque immédiatement la précédente du même type.
- Les deux clés donnent accès au même compte, mais chacune ne voit que ses propres données : la clé test ne lit que les envois de test, la clé live ne lit jamais les envois de test.

## Bonnes pratiques

- Gardez la clé côté serveur, dans une variable d'environnement (`FV_API_KEY`). Ne l'intégrez jamais dans une application mobile, un site web ou un dépôt Git.
- Si une clé a fuité, régénérez-la : l'ancienne est refusée dans la seconde.

## Clé absente ou invalide

```http
HTTP/1.1 401 Unauthorized
```

```json
{
  "error": {
    "code": "unauthorized",
    "message": "Clé API absente, invalide ou révoquée. En-tête attendu : Authorization: Bearer fv_live_... (ou fv_test_...)."
  }
}
```

Après 30 échecs d'authentification en une minute depuis la même adresse IP, les requêtes suivantes reçoivent `429 rate_limited` pendant une minute.
