이메일 템플릿 롤백

POST /v1/email-templates/{family}/{locale}:rollback · 권한 email-templates:write · Startup 플랜 이상

이전에 게시되었다가 지금은 보관된 버전의 내용을 다시 검증하고, source_version을 롤백한 버전으로 설정하여 새 버전으로 게시합니다. 기록은 다시 쓰이지 않습니다. 감사 기록 email_template.rolled_back이 같은 트랜잭션에서 기록됩니다.

한 번도 게시되지 않은 버전이거나 지금 게시된 버전이면 409를 반환합니다.

경로 매개변수

매개변수 설명
family 이메일 패밀리(예: verify_email 또는 email_otp, 이메일 템플릿 목록 조회 참고).
locale 로케일 태그(예: en 또는 de).

요청

필드 타입 필수 설명
version integer 예 다시 게시할 보관된 버전(1 이상).

응답

200 OK, 새 게시 버전과 함께.

{
  "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
}

오류

HTTP code 발생 시점
400 unknown_field 본문에 알 수 없는 필드가 있거나 JSON 객체가 아닙니다.
404 not_found 패밀리 또는 로케일을 알 수 없거나 버전이 존재하지 않습니다.
403 plan_feature_unavailable 환경의 플랜에 사용자 지정 이메일 템플릿이 포함되지 않습니다(Startup 이상; 필요한 플랜은 required_plan에 표시됩니다).
409 conflict 버전이 한 번도 게시되지 않았거나, 지금 게시된 버전입니다.
422 validation_failed version이 없거나 1보다 작거나, 내용이 더 이상 검증을 통과하지 못합니다.
401 unauthenticated 자격 증명이 없거나 잘못되었거나 취소되었습니다.
403 insufficient_permissions 자격 증명에 필요한 권한이 없습니다.
429 rate_limited 요청 속도 제한을 초과했습니다. Retry-After 기간 이후에 다시 시도하세요.
503 service_unavailable 종속 서비스를 일시적으로 사용할 수 없습니다. Retry-After 기간 이후에 다시 시도하세요.

예제

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