Özel alan ekle

POST /v1/custom-domains · izin custom-domains:write

Ortama bir özel giriş alan adı ekler. Ad IDNA2008 A-etiketine çevrilir; genel sonekler, tek etiketli adlar, IP adresleri ve platform alanları reddedilir. Ad platform genelinde tekildir: başka bir ortam kullanıyorsa ya da 30 günden kısa süre önce bırakıldıysa (karantina) istek 409 custom_domain_taken ile reddedilir. Alan pending_dns durumunda başlar; dönen dns_records kayıtlarını (kalıcı TXT sahiplik kaydı ve ortamın kenar host'una CNAME) DNS sağlayıcınızda yayımlayın, sonra :verify çağırın ya da otomatik denetimi bekleyin.

İstek

JSON gövdesi (bilinmeyen alanlar 400 unknown_field ile reddedilir):

Alan Tür Zorunlu Açıklama
Idempotency-Key başlık evet Zorunlu. 16-64 karakter [A-Za-z0-9_-]; aynı anahtar aynı adla yinelenirse aynı alan döner.
hostname string evet Eklenecek ad (Unicode olabilir), en çok 253 bayt; örneğin login.example.com.

Yanıt

201 Created; alan ve ETag başlığı.

{
  "id": "cdom_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "hostname": "login.example.com",
  "is_primary": false,
  "status": "pending_dns",
  "failure_reason": null,
  "dns_records": [
    {
      "type": "TXT",
      "name": "_akp-verify.login.example.com",
      "value": "idp-verify=3q2-7wEXAMPLEtokenQ9"
    },
    {
      "type": "CNAME",
      "name": "login.example.com",
      "value": "acme.eu.edge.keenauth.app"
    }
  ],
  "certificate_expires_at": null,
  "last_checked_at": null,
  "next_check_at": "2026-10-05T09:36:00Z",
  "activated_at": null,
  "degraded_since": null,
  "status_changed_at": "2026-10-05T09:30:00.123456Z",
  "created_at": "2026-10-05T09:30:00.123456Z",
  "updated_at": "2026-10-05T09:30:00.123456Z"
}

Hatalar

HTTP code Ne zaman
400 malformed_request Idempotency-Key yok ya da biçimsiz.
400 unknown_field Gövdede bilinmeyen bir alan var.
403 quota_exceeded Ortamın özel alan kotası dolu ya da ortam bir development ortamı.
409 custom_domain_taken Ad başka bir ortamda kullanılıyor ya da 30 günlük karantinada.
409 conflict Hesap ya da ortam etkin değil.
415 unsupported_media_type İçerik türü application/json değil.
422 validation_failed hostname özel alan için geçerli bir alan adı değil.
422 idempotency_key_reuse Idempotency-Key başka bir gövdeyle zaten kullanıldı.
429 rate_limited Hesap bugün çok fazla özel alan ekleme denemesi yaptı; Retry-After süresinden sonra yeniden deneyin.
503 service_unavailable Platform alan kayıt defteri ya da ortamın hesap bilgisi geçici olarak kullanılamıyor.
401 unauthenticated Kimlik bilgisi yok, geçersiz ya da iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinde gerekli izin yok.

Örnek

curl -X POST https://api.eu.keenauth.com/v1/custom-domains \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"hostname":"login.example.com"}'