이메일 템플릿 조회

GET /v1/email-templates/{family}/{locale} · 권한 email-templates:read

템플릿 슬롯(패밀리와 로케일) 하나의 버전을 반환합니다. 기본값은 최신 버전이며, ?version=published이면 게시된 버전, ?version=N이면 지정한 번호의 버전입니다. ETag 헤더는 슬롯의 최신 버전이며, 초안을 저장할 때 If-Match로 보냅니다.

경로 매개변수

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

쿼리 매개변수

매개변수 설명
version published 또는 버전 번호(1 이상). 최신 버전을 원하면 생략합니다.

응답

200 OK, ETag: "3"

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

오류

HTTP code 발생 시점
404 not_found 패밀리 또는 로케일을 알 수 없거나, 슬롯에 버전이 없거나, published를 요청했지만 게시된 것이 없거나, 버전이 존재하지 않습니다.
422 validation_failed version이 published도 아니고 양의 숫자도 아닙니다.
401 unauthenticated 자격 증명이 없거나 잘못되었거나 취소되었습니다.
403 insufficient_permissions 자격 증명에 필요한 권한이 없습니다.
429 rate_limited 요청 속도 제한을 초과했습니다. Retry-After 기간 이후에 다시 시도하세요.
503 service_unavailable 종속 서비스를 일시적으로 사용할 수 없습니다. Retry-After 기간 이후에 다시 시도하세요.

예제

curl "https://api.eu.keenauth.com/v1/email-templates/verify_email/en?version=published" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

CLI: keenauth email-templates get verify_email en --version published