Restaurer un modèle d'e-mail

POST /v1/email-templates/{family}/{locale}:rollback · autorisation email-templates:write · plan Startup et supérieurs

Valide de nouveau le contenu d'une version publiée antérieure (désormais archivée) et la publie comme nouvelle version, avec source_version défini sur la version restaurée. L'historique n'est pas réécrit. L'enregistrement d'audit email_template.rolled_back est écrit dans la même transaction.

Une version qui n'a jamais été publiée, ou celle qui est publiée actuellement, renvoie 409.

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).
locale Étiquette de langue, par exemple en ou de.

Requête

Champ Type Obligatoire Description
version integer oui La version archivée à republier (1 ou plus).

Réponse

200 OK avec la nouvelle version publiée.

{
  "family": "verify_email",
  "locale": "en",
  "version": 4,
  "status": "published",
  "subject": "Confirm your email for {{ application.name }}",
  "html": "<p><a href=\"{{ link }}\">Confirm your email</a></p>",
  "text_body": "Confirm your email: {{ link }}",
  "from_name": null,
  "source_version": 1,
  "created_at": "2026-10-19T10:00:00Z",
  "published_at": "2026-10-19T10:00:00Z",
  "latest_version": 4,
  "published_version": 4
}

Erreurs

HTTP code Quand
400 unknown_field Le corps contient un champ inconnu ou n'est pas un objet JSON.
404 not_found La famille ou la langue est inconnue, ou la version n'existe pas.
403 plan_feature_unavailable Le plan de l'environnement n'inclut pas les modèles d'e-mail personnalisés (Startup et supérieurs ; required_plan indique lequel).
409 conflict La version n'a jamais été publiée, ou c'est la version publiée actuellement.
422 validation_failed version est absent ou inférieur à 1, ou le contenu ne passe plus la validation.
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

curl -X POST https://api.eu.keenauth.com/v1/email-templates/verify_email/en:rollback \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"version":1}'

CLI : keenauth email-templates rollback verify_email en --version 1 --yes