List email templates
GET /v1/email-templates · permission email-templates:read
Returns every customizable email family in plan order, with the locales that have versions. The list is fixed and not paginated (list_metadata cursors are always null). Reading works on every plan.
Each family tells you what a template must contain:
security: the platform adds a security block the template cannot remove.requires: the value the message must show in both the HTML and the plain-text body:code,link,code_or_linkornone.available:falsemeans the family has no system template in this release yet, so drafts are refused.variables: the Liquid variables the template may use.
Response
200 OK
{
"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}
}
Errors
| HTTP | code | When |
|---|---|---|
| 401 | unauthenticated |
The credential is missing, invalid or revoked. |
| 403 | insufficient_permissions |
The credential lacks the required permission. |
| 429 | rate_limited |
The rate limit was exceeded; retry after the Retry-After period. |
| 503 | service_unavailable |
A dependency is temporarily unavailable; retry after the Retry-After period. |
Example
curl https://api.eu.keenauth.com/v1/email-templates \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI: keenauth email-templates list