
# メールテンプレートを公開

`POST /v1/email-templates/{family}/{locale}:publish` · 権限 `email-templates:write` · Startup プラン以上

下書きを再検証してから公開します。以前に公開されていたバージョンはアーカイブされ、管理監査レコード `email_template.published` が同じトランザクションで書き込まれます。これ以降に送信されるメールは新しいバージョンを使用します。

すでに公開されているバージョンを公開しても何も変わらず、そのバージョンが再び返されるため、再試行は安全です。公開済みバージョンより古い下書き、またはアーカイブ済みのバージョンは `409` を返します。アーカイブ済みのバージョンに戻すには、[ロールバック](rollback.md)を使用してください。

## パスパラメーター

| パラメーター | 説明 |
|---|---|
| `family` | メールファミリー。例: `verify_email` または `email_otp`（[メールテンプレートを一覧表示](list.md)を参照）。 |
| `locale` | ロケールタグ。例: `en` または `de`。 |

## リクエスト

| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| `version` | integer | はい | 公開する下書きバージョン（1 以上）。 |

## レスポンス

`200 OK`。公開されたバージョン（`status: published`）を返します。

## エラー

| 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` の期間が過ぎてから再試行してください。 |

## 例

```bash
curl -X POST https://api.eu.keenauth.com/v1/email-templates/verify_email/en:publish \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"version":3}'
```

CLI: `keenauth email-templates publish verify_email en --version 3`
