
# E-posta şablonunu yayımla

`POST /v1/email-templates/{family}/{locale}:publish` · izin `email-templates:write` · Startup planı ve üstü

Bir taslağı yeniden doğrular ve yayımlar. Önceki yayımlanmış sürüm arşivlenir ve yönetim denetim kaydı `email_template.published` aynı işlemde yazılır. Bundan sonra gönderilen e-postalar yeni sürümü kullanır.

Zaten yayımlanmış olan sürümü yayımlamak hiçbir şeyi değiştirmez ve onu yeniden döndürür; bu nedenle yeniden denemeler güvenlidir. Yayımlanmış sürümden eski bir taslak ya da arşivlenmiş bir sürüm `409` döndürür; arşivlenmiş bir sürüme dönmek için [geri al](rollback.md) işlemini kullanın.

## Yol parametreleri

| Parametre | Açıklama |
|---|---|
| `family` | E-posta ailesi, örneğin `verify_email` veya `email_otp` ([E-posta şablonlarını listele](list.md) bölümüne bakın). |
| `locale` | Dil etiketi, örneğin `en` veya `de`. |

## İstek

| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| `version` | integer | evet | Yayımlanacak taslak sürüm (1 veya daha büyük). |

## Yanıt

`200 OK`, yayımlanmış sürümle (`status: published`).

## Hatalar

| HTTP | code | Ne zaman |
|---|---|---|
| 400 | `unknown_field` | Gövdede bilinmeyen bir alan var ya da gövde bir JSON nesnesi değil. |
| 404 | `not_found` | Aile ya da dil bilinmiyor veya sürüm mevcut değil. |
| 403 | `plan_feature_unavailable` | Ortamın planı özel e-posta şablonlarını içermiyor (Startup ve üstü; hangisinin gerektiği `required_plan` alanında yazar). |
| 409 | `conflict` | Sürüm arşivlenmiş ya da yayımlanmış sürümden eski. |
| 422 | `validation_failed` | `version` eksik ya da 1'den küçük, ya da taslak artık doğrulamayı geçmiyor. |
| 401 | `unauthenticated` | Kimlik bilgisi eksik, geçersiz ya da iptal edilmiş. |
| 403 | `insufficient_permissions` | Kimlik bilgisinin gerekli izni yok. |
| 429 | `rate_limited` | Hız sınırı aşıldı; `Retry-After` süresinden sonra yeniden deneyin. |
| 503 | `service_unavailable` | Bir bağımlılık geçici olarak kullanılamıyor; `Retry-After` süresinden sonra yeniden deneyin. |

## Örnek

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