
# メールテンプレートをロールバック

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

以前に公開され、現在はアーカイブされているバージョンの内容を再検証し、ロールバック先のバージョンを `source_version` に設定して、新しいバージョンとして公開します。履歴は書き換えられません。監査レコード `email_template.rolled_back` が同じトランザクションで書き込まれます。

一度も公開されたことがないバージョン、または現在公開されているバージョンは `409` を返します。

## パスパラメーター

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

## リクエスト

| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| `version` | integer | はい | 再公開するアーカイブ済みのバージョン（1 以上）。 |

## レスポンス

`200 OK`。新しく公開されたバージョンを返します。

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

## 例

```bash
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`
