
# Listar versiones de una plantilla de correo

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

Lista las versiones de un slot, de la más reciente a la más antigua, sin su contenido. Se devuelven como máximo 51: las últimas 50 y la publicada. La lista no se pagina. La cabecera `ETag` es la versión más reciente del slot; un slot sin versiones devuelve una lista vacía.

## Parámetros de ruta

| Parámetro | Descripción |
|---|---|
| `family` | Familia de correo, por ejemplo `verify_email` o `email_otp` (consulte [Listar plantillas de correo](list.md)). |
| `locale` | Etiqueta de idioma, por ejemplo `en` o `de`. |

## Respuesta

`200 OK` con `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}
}
```

## Errores

| HTTP | code | Cuándo |
|---|---|---|
| 404 | `not_found` | La familia o el idioma no existe. |
| 401 | `unauthenticated` | La credencial falta, no es válida o ha sido revocada. |
| 403 | `insufficient_permissions` | La credencial no tiene el permiso requerido. |
| 429 | `rate_limited` | Se superó el límite de frecuencia; reintente después del periodo indicado en `Retry-After`. |
| 503 | `service_unavailable` | Una dependencia no está disponible temporalmente; reintente después del periodo indicado en `Retry-After`. |

## Ejemplo

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