> ## Documentation Index
> Fetch the complete documentation index at: https://verifner.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Idempotence

> Réessayer une requête sans créer (ni payer) deux vérifications.

Un réseau coupé au mauvais moment, et vous ne savez pas si la vérification a été faite. Avec l'en-tête `Idempotency-Key`, vous pouvez renvoyer exactement la même requête sans risque.

```bash theme={"dark"}
curl https://api.verifner.com/v1/verify \
  -H "Authorization: Bearer $VERIFNER_API_KEY" \
  -H "Idempotency-Key: dossier-4821-tentative-1" \
  -F front=@recto.jpg -F back=@verso.jpg -F selfie=@selfie.jpg
```

* **Première fois** : la vérification est faite, réponse `201`.
* **Même clé ensuite** : VerifNer ne refait rien et renvoie la vérification d'origine, avec le statut `200` et l'en-tête `Idempotent-Replayed: true`. Elle n'est pas facturée une seconde fois.

## Les règles

* La clé est propre à votre **organisation**, quelle que soit la clé API qui l'envoie. Jusqu'à 255 caractères.
* Elle n'expire pas. Une clé réutilisée des mois plus tard renvoie toujours la même vérification.
* Le contenu de la requête n'est pas comparé : une clé déjà utilisée renvoie la vérification d'origine, même avec d'autres images.
* Une requête refusée (`400`, `422`) n'enregistre rien : vous pouvez réessayer avec la même clé.

## Choisir la clé

Prenez un identifiant stable de **la tentative** dans votre système, par exemple l'identifiant du dossier suivi d'un numéro de tentative. Si la personne reprend ses photos, changez de clé : sinon vous recevrez l'ancien résultat.

<Note>
  Les sessions du SDK web n'ont pas besoin de cet en-tête : une session ne peut produire qu'une vérification.
</Note>
