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