
# 이메일 템플릿 목록 조회

`GET /v1/email-templates` · 권한 `email-templates:read`

사용자 지정할 수 있는 모든 이메일 패밀리를 플랜 순서대로, 버전이 있는 로케일과 함께 반환합니다. 목록은 고정되어 있으며 페이지로 나뉘지 않습니다(`list_metadata` 커서는 항상 `null`). 읽기는 모든 플랜에서 동작합니다.

각 패밀리는 템플릿에 무엇이 포함되어야 하는지 알려 줍니다:

- `security`: 플랫폼이 보안 블록을 추가하며, 템플릿은 이를 제거할 수 없습니다.
- `requires`: 메시지의 HTML 본문과 일반 텍스트 본문 모두에 표시되어야 하는 값: `code`, `link`, `code_or_link` 또는 `none`.
- `available`: `false`이면 이 릴리스에 아직 시스템 템플릿이 없다는 뜻이며, 초안은 거부됩니다.
- `variables`: 템플릿에서 사용할 수 있는 Liquid 변수.

## 응답

`200 OK`

```json
{
  "data": [
    {
      "family": "verify_email",
      "security": false,
      "requires": "code_or_link",
      "available": true,
      "variables": ["application.name", "code", "dir", "environment.display_name", "expires_in_minutes", "link", "locale", "support_url", "user.email"],
      "locales": [{"locale": "en", "latest_version": 3, "published_version": 2}]
    }
  ],
  "list_metadata": {"before": null, "after": null}
}
```

## 오류

| HTTP | code | 발생 시점 |
|---|---|---|
| 401 | `unauthenticated` | 자격 증명이 없거나 잘못되었거나 취소되었습니다. |
| 403 | `insufficient_permissions` | 자격 증명에 필요한 권한이 없습니다. |
| 429 | `rate_limited` | 요청 속도 제한을 초과했습니다. `Retry-After` 기간 이후에 다시 시도하세요. |
| 503 | `service_unavailable` | 종속 서비스를 일시적으로 사용할 수 없습니다. `Retry-After` 기간 이후에 다시 시도하세요. |

## 예제

```bash
curl https://api.eu.keenauth.com/v1/email-templates \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth email-templates list`
