Ripristinare un modello e-mail
POST /v1/email-templates/{family}/{locale}:rollback · permesso email-templates:write · piano Startup e superiori
Riconvalida il contenuto di una versione pubblicata in precedenza (ora archiviata) e la pubblica come nuova versione, con source_version impostato alla versione a cui si è tornati. La cronologia non viene riscritta. Il record di audit email_template.rolled_back viene scritto nella stessa transazione.
Una versione che non è mai stata pubblicata, oppure quella attualmente pubblicata, restituisce 409.
Parametri di percorso
| Parametro | Descrizione |
|---|---|
family |
Famiglia di e-mail, per esempio verify_email o email_otp (vedi Elencare i modelli e-mail). |
locale |
Tag della lingua, per esempio en o de. |
Richiesta
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
version |
integer | sì | La versione archiviata da ripubblicare (1 o maggiore). |
Risposta
200 OK con la nuova versione pubblicata.
{
"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
}
Errori
| HTTP | code | Quando |
|---|---|---|
| 400 | unknown_field |
Il corpo contiene un campo sconosciuto o non è un oggetto JSON. |
| 404 | not_found |
La famiglia o la lingua è sconosciuta, oppure la versione non esiste. |
| 403 | plan_feature_unavailable |
Il piano dell'ambiente non include i modelli e-mail personalizzati (Startup e superiori; required_plan indica quale). |
| 409 | conflict |
La versione non è mai stata pubblicata, oppure è quella attualmente pubblicata. |
| 422 | validation_failed |
version manca o è minore di 1, oppure il contenuto non supera più la validazione. |
| 401 | unauthenticated |
La credenziale è mancante, non valida o revocata. |
| 403 | insufficient_permissions |
La credenziale non ha il permesso richiesto. |
| 429 | rate_limited |
È stato superato il limite di frequenza; riprova dopo il periodo indicato in Retry-After. |
| 503 | service_unavailable |
Una dipendenza è temporaneamente non disponibile; riprova dopo il periodo indicato in Retry-After. |
Esempio
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