
# Lister les versions d'un modèle d'e-mail

`GET /v1/email-templates/{family}/{locale}/versions` · autorisation `email-templates:read`

Liste les versions d'un emplacement, de la plus récente à la plus ancienne, sans leur contenu. Au plus 51 sont renvoyées : les 50 dernières et la version publiée. La liste n'est pas paginée. L'en-tête `ETag` est la version la plus récente de l'emplacement ; un emplacement sans version renvoie une liste vide.

## Paramètres de chemin

| Paramètre | Description |
|---|---|
| `family` | Famille d'e-mails, par exemple `verify_email` ou `email_otp` (voir [Lister les modèles d'e-mail](list.md)). |
| `locale` | Étiquette de langue, par exemple `en` ou `de`. |

## Réponse

`200 OK` avec `ETag: "3"`

```json
{
  "data": [
    {"version": 3, "status": "draft", "source_version": null, "created_at": "2026-10-19T09:00:00Z", "published_at": null},
    {"version": 2, "status": "published", "source_version": null, "created_at": "2026-10-18T14:10:00Z", "published_at": "2026-10-18T14:12:00Z"},
    {"version": 1, "status": "archived", "source_version": null, "created_at": "2026-10-17T08:00:00Z", "published_at": "2026-10-17T08:05:00Z"}
  ],
  "list_metadata": {"before": null, "after": null}
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 404 | `not_found` | La famille ou la langue est inconnue. |
| 401 | `unauthenticated` | L'identifiant est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant n'a pas l'autorisation requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la durée indiquée par `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par `Retry-After`. |

## Exemple

```bash
curl https://api.eu.keenauth.com/v1/email-templates/verify_email/en/versions \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI : `keenauth email-templates versions list verify_email en`
