{"openapi":"3.1.0","info":{"title":"Rod Domain API","version":"1.0.0","description":"Domain, DNS, SSL ve hosting hizmetlerini programatik olarak yönetin. Kimlik doğrulama: `Authorization: Bearer <api anahtarı>`. Başarılı yanıtlar `{ data }`, hatalar `{ error: { code, message } }` biçimindedir. Varsayılan limit dakikada 120 istektir."},"servers":[{"url":"https://domain.roddijital.com/api/v1"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Panel → API anahtarları bölümünden oluşturulur."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","forbidden","not_found","invalid_request","invalid_json","not_active","rate_limited","provider_error","internal_error"]},"message":{"type":"string"}}}}}}},"paths":{"/me":{"get":{"tags":["Hesap"],"summary":"Anahtar ve hesap bilgisi","description":"Yetki: okuma.","parameters":[],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"id":"usr_…","name":"Ad Soyad","email":"ad@ornek.com","key":{"name":"CI","prefix":"rd_aB3dE6g","scopes":["read","write"]},"services":{"domain":3,"ssl":1}}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/prices":{"get":{"tags":["Hesap"],"summary":"Uzantı fiyatları","description":"TL, KDV hariç, yıllık. Yetki: okuma.","parameters":[{"name":"tlds","in":"query","required":false,"description":"Virgülle ayrılmış uzantılar","schema":{"type":"string"},"example":"com,net,com.tr"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"currency":"TRY","vat_rate":20,"vat_included":false,"tlds":[{"tld":"com","register":762.99,"renew":781.99,"transfer":736.99,"periods":[1,2,3]}]}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains":{"get":{"tags":["Domain"],"summary":"Domainleri listele","description":"Yetki: okuma.","parameters":[],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":[{"name":"ornek.com","unicode_name":"ornek.com","status":"active","created_at":"2026-11-01T15:31:00.000Z","expires_at":"2027-11-01T15:31:00.000Z","locked":true,"privacy":false,"nameservers":["ns1.example.com","ns2.example.com"]}]}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/check":{"get":{"tags":["Domain"],"summary":"Müsaitlik sorgula","description":"Tek istekte en fazla 10 domain, dakikada 30 istek. Yetki: okuma.","parameters":[{"name":"name","in":"query","required":true,"description":"Alan adı ya da yalnızca ad","schema":{"type":"string"},"example":"ornek"},{"name":"tlds","in":"query","required":false,"description":"Ad ile birleştirilecek uzantılar","schema":{"type":"string"},"example":"com,net,com.tr"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":[{"name":"ornek.com","unicode_name":"ornek.com","status":"available","price":762.99,"currency":"TRY","vat_included":false}]}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}":{"get":{"tags":["Domain"],"summary":"Domain detayı","description":"Sicildeki güncel bilgi. registry_status: active, pending, pending_document, pending_verification, pending_restore, redemption, suspended, register_failed, transfer_in, transfer_failed, deleted, transferred_out, unknown. Yetki: okuma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"name":"ornek.com","unicode_name":"ornek.com","status":"active","created_at":"2026-11-01T15:31:00.000Z","expires_at":"2027-11-01T15:31:00.000Z","locked":true,"privacy":false,"nameservers":["ns1.example.com","ns2.example.com"],"registry_status":"active","hosts":[],"forwarded":false}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}/nameservers":{"get":{"tags":["Domain"],"summary":"Nameserver'ları getir","description":"Yetki: okuma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"nameservers":["ns1.example.com","ns2.example.com"]}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"tags":["Domain"],"summary":"Nameserver'ları değiştir","description":"Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"requestBody":{"required":true,"content":{"application/json":{"example":{"nameservers":["ns1.ornek-dns.com","ns2.ornek-dns.com"]}}}},"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"nameservers":["ns1.ornek-dns.com","ns2.ornek-dns.com"]}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}/lock":{"put":{"tags":["Domain"],"summary":"Transfer kilidi","description":"Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"requestBody":{"required":true,"content":{"application/json":{"example":{"locked":false}}}},"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"locked":false}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}/privacy":{"put":{"tags":["Domain"],"summary":"Whois gizliliği","description":"pending: true ise sağlayıcı sahip e-posta doğrulamasını bekliyor; değişiklik doğrulamadan sonra uygulanır (genelde gizliliği kapatırken). Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"requestBody":{"required":true,"content":{"application/json":{"example":{"enabled":true}}}},"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"privacy":true,"pending":false}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}/auth-code":{"get":{"tags":["Domain"],"summary":"Transfer (EPP) kodu","description":"Hassas bilgi olduğu için yazma yetkisi ister. Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"auth_code":"aB3#dE6!gH"}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Domain"],"summary":"Yeni transfer kodu üret","description":"Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"auth_code":"xY9$zW2!qR"}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}/forwarding":{"get":{"tags":["Domain"],"summary":"Yönlendirmeyi getir","description":"Yetki: okuma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"forwarding":{"url":"https://ornek.net/","type":"Standard"}}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"tags":["Domain"],"summary":"Yönlendirme ayarla","description":"Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"requestBody":{"required":true,"content":{"application/json":{"example":{"url":"https://ornek.net","type":"Standard"}}}},"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"forwarding":{"url":"https://ornek.net/","type":"Standard"}}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["Domain"],"summary":"Yönlendirmeyi kaldır","description":"Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"forwarding":null}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}/hosts":{"get":{"tags":["Domain"],"summary":"Child nameserver'lar","description":"Yetki: okuma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":[{"host":"ns1.ornek.com","ips":["192.0.2.10"]}]}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Domain"],"summary":"Child nameserver ekle","description":"Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"requestBody":{"required":true,"content":{"application/json":{"example":{"host":"ns1","ip":"192.0.2.10"}}}},"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"host":"ns1.ornek.com","ips":["192.0.2.10"]}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["Domain"],"summary":"Child nameserver sil","description":"Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"},{"name":"host","in":"query","required":true,"description":"Host adı","schema":{"type":"string"},"example":"ns1"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"deleted":true}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/domains/{domain}/dns":{"get":{"tags":["DNS"],"summary":"DNS kayıtlarını listele","description":"Kayıtlar ad + tür kümeleri olarak döner. Varsayılan nameserver'lar gerekir. Yetki: okuma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":[{"name":"@","type":"A","ttl":3600,"values":["192.0.2.10"]},{"name":"www","type":"CNAME","ttl":3600,"values":["ornek.com."]}]}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"tags":["DNS"],"summary":"Kayıt kümesi oluştur / değiştir","description":"Aynı ad ve türdeki tüm değerler verilenlerle değiştirilir; tekrar çağırmak güvenlidir. Tür: A, AAAA, ALIAS, CAA, CNAME, MX, NAPTR, SRV, TLSA, TXT. Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"}],"requestBody":{"required":true,"content":{"application/json":{"example":{"name":"www","type":"A","ttl":3600,"values":["192.0.2.10","192.0.2.11"]}}}},"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"name":"www","type":"A","ttl":3600,"values":["192.0.2.10","192.0.2.11"]}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["DNS"],"summary":"Kayıt sil","description":"value verilirse yalnızca o değer, verilmezse tüm küme silinir. Yetki: okuma + yazma.","parameters":[{"name":"domain","in":"path","required":true,"description":"Alan adı (Türkçe karakterli olabilir)","schema":{"type":"string"},"example":"ornek.com"},{"name":"name","in":"query","required":true,"description":"Kayıt adı, kök için @","schema":{"type":"string"},"example":"www"},{"name":"type","in":"query","required":true,"description":"Kayıt türü","schema":{"type":"string"},"example":"A"},{"name":"value","in":"query","required":false,"description":"Silinecek tek değer","schema":{"type":"string"},"example":"192.0.2.11"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"deleted":true}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/orders":{"get":{"tags":["Sipariş"],"summary":"Siparişleri listele","description":"Yetki: okuma.","parameters":[],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":[{"number":"RD26110133481","status":"completed","currency":"TRY","subtotal":762.99,"vat":152.6,"total":915.59}]}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/orders/{number}":{"get":{"tags":["Sipariş"],"summary":"Sipariş detayı","description":"Yetki: okuma.","parameters":[{"name":"number","in":"path","required":true,"description":"Sipariş numarası","schema":{"type":"string"},"example":"RD26110133481"}],"responses":{"200":{"description":"Başarılı","content":{"application/json":{"example":{"data":{"number":"RD26110133481","status":"completed","items":[{"kind":"domain_register","name":"ornek.com","period_years":1,"price":762.99,"status":"completed","error":null}]}}}}},"default":{"description":"Hata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}