Blesyum Core

domains

33 uç · /api/v1/domains

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 33 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.

GET/api/v1/domains

List the active tenant's domains (DOM-18).

Oturum
İstek
curl -X GET "https://api.blesyum.com/api/v1/domains" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains

plus the DNS records the customer must add.

Oturum
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/v1/domains/{id}

Remove a domain binding (DOM-08). NS-delegasyonlu alan adında platform

OturumYol parametresi: id

Cloudflare zone'u da silinir (best-effort): kiracının alan adı hesabımızda "rehin" kalmaz, kiracı NS'ini registrar'ından eski sağlayıcısına döndürür.

İstek
curl -X DELETE "https://api.blesyum.com/api/v1/domains/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/auto-renew

Otomatik-yenileme aç/kapat (yerel toggle; canlı tahsilat=Faz4). `core.settings.manage`.

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/auto-renew" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/domains/{id}/dns

Zone kayıtlarını listele (DNS yönetim ekranı).

OturumYol parametresi: id
İstek
curl -X GET "https://api.blesyum.com/api/v1/domains/<id>/dns" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/dns

Zone'a kayıt ekle.

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/dns" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/v1/domains/{id}/dns/{record_id}

Kaydı güncelle.

OturumYol parametresi: idrecord_id
İstek
curl -X PUT "https://api.blesyum.com/api/v1/domains/<id>/dns/<record_id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/v1/domains/{id}/dns/{record_id}

Kaydı sil. Sistem kayıtları da silinebilir (zone kiracınındır) — UI uyarır;

OturumYol parametresi: idrecord_id

yönlendirme kırılırsa `domains.recheck` durumu `error`a düşürür.

İstek
curl -X DELETE "https://api.blesyum.com/api/v1/domains/<id>/dns/<record_id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/lock

Transfer kilidi (theft-protection) aç/kapat (registrar'a it). `core.settings.manage`.

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/lock" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/v1/domains/{id}/nameservers

Nameserver'ları güncelle (registrar'a it). Doğrulama fail-fast. `core.settings.manage`.

OturumYol parametresi: id
İstek
curl -X PUT "https://api.blesyum.com/api/v1/domains/<id>/nameservers" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/ns/check

NS bağlantı durumunu canlı kontrol et: şu anki NS'ler + Cloudflare zone durumu.

OturumYol parametresi: id

Zone 28 günde silinmişse yeniden yaratır (NS çifti değişebilir → köprü tazelenir); `pending` ise aktivasyon kontrolünü dürter; `active` ise kayıtları garanti edip doğrulamayı kuyruğa alır.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/ns/check" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/primary

Make a domain the tenant's primary/default (DOM-06).

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/primary" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/privacy

WHOIS gizlilik korumasını aç/kapat (registrar'a it). `core.settings.manage`.

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/privacy" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/domains/{id}/registrar

Registrar'daki CANLI durum (NS/kilit/gizlilik/bitiş) — yönetim yüzeyini besler.

OturumYol parametresi: id

NS/kilit/gizlilik yerelde tutulmaz (kolon yok) → her açılışta get_info ile okunur. `core.settings.view`.

İstek
curl -X GET "https://api.blesyum.com/api/v1/domains/<id>/registrar" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/renew

Alan adını yenile (DOM-12 Faz 3). Idempotent sipariş → `registrar.renew` → yeni

OturumYol parametresi: id

`expires_at` geri-yazılır. Ödeme STUB (canlı tahsilat=Faz4). `core.settings.manage`.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/renew" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/subdomains

Bağlı bir alan adının ALT ADRESİNİ aç (DOM-22). `core.settings.manage`.

OturumYol parametresi: id

🔴 Neden ayrı bir uç (2026-08-16 kullanıcı vakası: *"pdfdonustur.com bağlanmış ama erp.pdfdonustur.com ERP olsun istiyorum, ayarlayamıyorum"*): kök alan adı NS yöntemiyle bağlandığında **zone'u ARTIK BİZ yönetiyoruz**. Bu durumda müşteriden ikinci kez DNS kaydı istemek anlamsız — etiketi yazması yeter, kaydı biz açar, sahipliği kökten devralır ve adresi ANINDA yayına veririz. Zone bizde DEĞİLSE (elle/Cloudflare-anahtarı ile bağlanmış kök) uç yine çalışır ama kayıt `pending` doğar ve müşteriye eklemesi gereken DNS kayıtları döner — yani "normal" özel alan adı akışı.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/subdomains" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PATCH/api/v1/domains/{id}/target

Bir adresin hedefini değiştir (DOM-21). `core.settings.manage`.

OturumYol parametresi: id

İkisi de boş gelirse hedef VARSAYILANA döner — "yönlendirmeyi kaldır" ayrı bir uç istemesin diye. Doğrulama `parse_domain_target` ile ekleme ucuyla AYNI: modül lisanslı mı, yönlendirme şeması güvenli mi.

İstek
curl -X PATCH "https://api.blesyum.com/api/v1/domains/<id>/target" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/{id}/verify

Trigger verification of a pending domain (DOM-02) — enqueues the background

OturumYol parametresi: id

HTTP-challenge check.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/<id>/verify" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/cloudflare/check

Cloudflare "otomatik" bağlama ÖN-KONTROLÜ: kiracının verdiği API anahtarını

Oturum

**doğrula** + alan adının **zone'unu bul** (hiçbir kayıt oluşturmaz). Anahtar SAKLANMAZ — yalnız bu istekte kullanılır. UX: kullanıcı bağlanmadan önce anahtarın geçerliliğini + zone erişimini görür.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/cloudflare/check" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/cloudflare/connect

Cloudflare "otomatik" bağlama: anahtarı **doğrula** → zone'u **bul** → alan adını

Oturum

ekle → kiracının Cloudflare zone'unda **proxied CNAME + sahiplik TXT**'yi otomatik oluştur → doğrulamayı kuyruğa al. Anahtar SAKLANMAZ. Yaygın hatalar (geçersiz token / erişilemeyen zone) alan adı EKLENMEDEN önce yakalanır. Kayıt oluşturma adımı (nadir CNAME çakışması vb.) başarısızsa alan adı `pending` KALIR — rollback YOK (remove_domain soft-delete + unique(domain) yeniden denemeyi bloklardı); kullanıcı manage görünümünden kayıtları elle tamamlayıp doğrular.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/cloudflare/connect" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/domains/contacts

Tenant'ın WHOIS iletişim profilleri (kayıt formunda seçilebilir). `core.settings.view`.

Oturum
İstek
curl -X GET "https://api.blesyum.com/api/v1/domains/contacts" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/contacts

Yeni WHOIS iletişim profili. `core.settings.manage`.

Oturum
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/contacts" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
PUT/api/v1/domains/contacts/{id}

WHOIS iletişim profilini güncelle. `core.settings.manage`.

OturumYol parametresi: id
İstek
curl -X PUT "https://api.blesyum.com/api/v1/domains/contacts/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
DELETE/api/v1/domains/contacts/{id}

WHOIS iletişim profilini sil. `core.settings.manage`.

OturumYol parametresi: id
İstek
curl -X DELETE "https://api.blesyum.com/api/v1/domains/contacts/<id>" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/contacts/{id}/default

Bu profili varsayılan yap. `core.settings.manage`.

OturumYol parametresi: id
İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/contacts/<id>/default" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/ns/connect

NS-delegasyonla bağla: zone'u platform hesabında yarat/bul, yaşayan kayıtları

Oturum

hasat edip taşı, yönlendirme kayıtlarını garanti et, kiracıya gireceği NS çiftini döndür. Idempotent: aynı alan adıyla tekrar çağrılırsa mevcut zone bilgisi döner.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/ns/connect" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/domains/orders

Alan adı sipariş geçmişi (satın alma/yenile). `core.settings.view`.

Oturum
İstek
curl -X GET "https://api.blesyum.com/api/v1/domains/orders" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/register

Alan adı satın al (DOM-12 Faz 2). `core.settings.manage` + aktif abonelik +

Oturum

`domains_registered` limiti. Idempotent sipariş → registrar.register → satın alınan alan adı galeriye düşer (custom_domains, auto-NS→edge, status active). Ödeme STUB (canlı tahsilat=Faz4). OT&E'de gerçek para OLUŞMAZ.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/register" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/search

Alan adı uygunluk + retail fiyat araması (DOM-12). Salt-okunur registrar çağrısı.

Oturum

Fiyatlar RETAIL (reseller cost + config markup); reseller cost asla sızmaz. Kök HER ZAMAN bir uzantı KÜMESİ boyunca aranır: kullanıcı "ornek" de yazsa "ornek.com" da yazsa 20 popüler uzantının tamamı döner (yazdığı uzantı BAŞA alınır). Eskiden "ornek.com" YALNIZ o tek alan adını sorguluyordu; sağlayıcı o uzantıyı yanıtlayamayınca liste boş kalıp kullanıcı "Sonuç bulunamadı" görüyordu. Sağlayıcı, sorgulayamadığı uzantıları yanıttan SESSİZCE düşürür (HTTP 200 + success:true, kalem yok — OT&E'de .com/.net böyle). Sorulan-ama-dönmeyen her uzantı bu yüzden yanıtta `state:"unchecked"` ile DÜRÜSTÇE görünür; yok sayılmaz.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/search" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/domains/tlds

Registrar TLD fiyat kataloğu (retail) — "alan adı satın al" yüzeyi için (DOM-12).

Oturum

domain_pricing global tablosundan (worker pricing_sync doldurur); app SELECT.

İstek
curl -X GET "https://api.blesyum.com/api/v1/domains/tlds" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/v1/domains/transfer

Alan adını Blesyum'a **transfer et** (DOM-12 Faz 3). Asenkron: sipariş `processing`

Oturum

kalır, `registrar.transfer_poll` tamamlanınca galeriye düşürür. Entitlement gate (alan adı edinme). Ödeme STUB (canlı=Faz4). `core.settings.manage`.

İstek
curl -X POST "https://api.blesyum.com/api/v1/domains/transfer" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/domains/whois

Alınmış alan adı için ÜCRETSİZ sahiplik/kayıt sorgusu (arama sonuçlarındaki

Oturum

"Kim almış?"). Registrar-BAĞIMSIZ — DNA reseller API'sinde böyle bir uç yok; kaynak registry RDAP'ı (IANA bootstrap) veya yetkili port-43 whois (`.tr` = TRABIS, diğerleri IANA referral). Sonuç 6 saat Redis'te paylaşılır (single- flight; whois verisi yavaş değişir) + tenant başına 10/dk limit — hem kötüye kullanım hem registry'lerin IP kotası (429) için. gTLD'lerde registrant GDPR/KVKK gereği çoğunlukla gizlidir (`privacy:true`) — dürüstçe döneriz.

İstek
curl -X GET "https://api.blesyum.com/api/v1/domains/whois" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
GET/api/v1/domains/whois/detail

DETAYLI whois sorgusu (`/domains/whois/[domain]` sayfası): özet + registry HAM

Oturum

çıktısı + kayıt şirketinin whois sunucusuna İKİNCİ sorgu ile Kayıtlı/İdari/ Teknik iletişim blokları. `whois_domain_h` ile aynı guard'lar (izin + charset validasyonu + AYNI "whois" rate-limit kovası — iki uç toplamda 10/dk/tenant); daha ağır olduğundan kendi cache anahtarı (6h, single-flight).

İstek
curl -X GET "https://api.blesyum.com/api/v1/domains/whois/detail" \
  -H "Authorization: Bearer <oturum-token>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?