
# Obtenir un modèle d'e-mail

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

Renvoie une version d'un emplacement de modèle (une famille et une langue) : la version la plus récente par défaut, la version publiée avec `?version=published`, ou un numéro donné avec `?version=N`. L'en-tête `ETag` est la version la plus récente de l'emplacement ; envoyez-le comme `If-Match` lorsque vous [enregistrez un brouillon](put.md).

## 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`. |

## Paramètres de requête

| Paramètre | Description |
|---|---|
| `version` | `published`, ou un numéro de version (1 ou plus). Omettez-le pour la version la plus récente. |

## Réponse

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

```json
{
  "family": "verify_email",
  "locale": "en",
  "version": 3,
  "status": "draft",
  "subject": "Confirm your email for {{ application.name }}",
  "html": "<p>Hi,</p><p><a href=\"{{ link }}\">Confirm your email</a></p>",
  "text_body": "Confirm your email: {{ link }}",
  "from_name": null,
  "source_version": null,
  "created_at": "2026-10-19T09:00:00Z",
  "published_at": null,
  "latest_version": 3,
  "published_version": 2
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 404 | `not_found` | La famille ou la langue est inconnue, l'emplacement n'a aucune version, `published` a été demandé alors que rien n'est publié, ou la version n'existe pas. |
| 422 | `validation_failed` | `version` n'est ni `published` ni un nombre positif. |
| 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?version=published" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI : `keenauth email-templates get verify_email en --version published`
