API Restful
Beta Notice: This API documentation is Beta. Endpoints, fields, error codes, and behaviors may change without notice and backward compatibility is not guaranteed. Avoid relying on it for critical production workflows.
Memulai Dengan API RESTful Kami
API Dynadot dirancang untuk integrasi yang mulus dengan sistem Anda. API kami memiliki URL yang terstruktur berdasarkan sumber daya yang dapat diprediksi, mendukung badan permintaan yang dikodekan dalam JSON, mengembalikan respons yang dikodekan dalam JSON dan XML, serta mematuhi metode HTTP standar, otentikasi, dan kode respons.Anda dapat menggunakan API Dynadot dalam mode uji dan mode langsung. Mode ini ditentukan oleh kunci API yang digunakan untuk mengautentikasi permintaan Anda. Mode uji memungkinkan Anda untuk mensimulasikan dan memvalidasi integrasi API Anda tanpa mempengaruhi data atau transaksi langsung.API Dynadot terutama berfokus pada manajemen domain, pemrosesan pesanan, dan layanan terkait. Anda dapat melakukan tindakan seperti mendaftarkan, mentransfer, dan memperbarui domain, mengelola pengaturan DNS, serta melihat atau memperbarui pesanan akun.Harap diperhatikan: Pembuatan, pembaruan, dan penghapusan massal tidak didukung, dan setiap jenis permintaan tersebut dibatasi hanya untuk satu objek atau tindakan.
Menghasilkan Kunci API AndaSebelum Anda mulai melakukan permintaan API, sangat penting untuk menghasilkan Kunci API dan Rahasia API Anda.Kunci-kunci ini diperlukan untuk otentikasi dan untuk memastikan keamanan tindakan Anda saat berinteraksi dengan API kami.Anda dapat menghasilkan baik API Key maupun API Secret melalui bagian API di pengaturan akun Anda.1. Masuk ke akun Anda di Dynadot.2. Arahkan ke Alat > API.3. Hasilkan API Key dan API Secret Anda dari halaman ini.


Bergabunglah dengan Komunitas KamiAda ide atau saran? Bicaralah langsung dengan insinyur profesional kami.Discord
Metode HTTPAPI menggunakan metode HTTP standar untuk melakukan operasi pada sumber daya:
MethodDescription
GETGET Request: Retrieve detailed information about a specified resource
POSTPOST Request: Create a new resource
PUTPUT Request: Fully update the specified resource
DELETEDELETE Request: Remove the specified resource
URL
URL dasar untuk semua permintaan API adalah:https://api.dynadot.com/
Format URL Lengkap:http://api.dynadot.com/restful/version_code/resource/{resource_identify}/action
Example :
https://api.dynadot.com/restful/v2/domains/{domain_name}/search
Version
Versi API saat ini adalahv1.0.0
Saat membangun URL permintaan API, hanya perlu menyertakan versi utama. Pembaruan minor dan patch dirancang untuk kompatibilitas ke belakang dan tidak akan memperkenalkan perubahan yang merusak kode Anda yang sudah ada. Ini memastikan stabilitas sambil memungkinkan Anda untuk mendapatkan manfaat dari perbaikan dan peningkatan bertahap tanpa perlu memodifikasi implementasi Anda.Saat versi mendatang dirilis, kami akan menjaga kompatibilitas dengan versi lama untuk jangka waktu tertentu. Fitur baru dan perubahan yang signifikan akan diperkenalkan dalam peningkatan versi utama.
HeaderHeader dari permintaan API berisi metadata tentang permintaan tersebut. Metadata ini memberikan konteks penting bagi server untuk memproses permintaan dengan benar. Header yang umum digunakan meliputi:
Content-TypeMenentukan format data yang dikirim dalam tubuh permintaan. Server menggunakan informasi ini untuk mem-parsing permintaan dengan benar. Saat ini, satu-satunya nilai yang diterima adalah: application/json
Example :
Content-Type: application/json
Tentu! Berikut adalah terjemahan yang diminta: Terima kasih telah mengunjungi situs kami. Jika Anda setuju dengan syarat dan ketentuan yang kami tetapkan, silakan klik tombol di bawah ini untuk melanjutkan. AcceptMemberitahukan server tentang format respons yang diharapkan oleh klien.Nilai yang mungkin: application/json, application/xml
Example :
Accept: application/json
OtorisasiSemua permintaan API harus menyertakan kunci API untuk otentikasi. Anda dapat mendapatkan kunci API Anda dari dasbor akun Anda.You can generate an API key in API setting page
Contoh Header Autentikasi :
Authorization: Bearer YOUR_API_KEY
X-Request-IDHeader X-Request-ID adalah header opsional yang digunakan untuk mengidentifikasi secara unik setiap permintaan API. Ketika disertakan, header ini membantu melacak dan mengaitkan permintaan di berbagai sistem dan log, sehingga memudahkan untuk melakukan debug dan memantau aktivitas API.Nilai dari X-Request-ID harus berupa UUID (Identifikasi Unik Universal) yang valid, mengikuti format standar: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (misalnya, 123e4567-e89b-12d3-a456-426614174000).
Example :
X-Request-ID: 550e8400-e29b-41d4-a716-446655440000
X-SignatureNewHeader X-Signature adalah mekanisme keamanan yang wajib untuk permintaan transaksional, termasuk yang mengambil informasi sensitif atau memperbarui data. Ini memastikan keaslian, integritas, dan tidak dapat disangkalnya permintaan API dengan mewajibkan klien untuk menandatangani payload permintaan menggunakan HMAC-SHA256.
Untuk menghasilkan tanda tangan, Anda memerlukan nilai-nilai berikutKunci API: Kunci API unik Anda.2. Jalur Lengkap dan Kuery: Jalur lengkap dari endpoint API beserta parameter kuery.3. X-Request-Id: ID permintaan. Jika tidak tersedia, Anda dapat memasukkan string kosong.4. Isi Permintaan: Isi dari permintaan. Jika kosong atau null, Anda dapat memasukkan string kosong.
String yang akan ditandatangani adalah kombinasi dari nilai-nilai yang disebutkan di atas, yang digabungkan dalam urutan berikut:
apiKey + "\n" + fullPathAndQuery + "\n" + (xRequestId or empty String) + "\n" + (requestBody or empty String)
Example
apiKey = "your_api_key"
fullPathAndQuery = "/v2/some/endpoint?param=value"
xRequestId = "unique-request-id"
requestBody = "{\"key\":\"value\"}"


stringToSign = "your_api_key\n/v2/some/endpoint?param=value\nunique-request-id\n{\"key\":\"value\"}"
Hasilkan Tanda Tangan HMAC-SHA256Setelah membangun string yang akan ditandatangani, Anda perlu menerapkan HMAC-SHA256 enkripsi menggunakan kunci rahasia Anda. Proses ini akan menghasilkan tanda tangan.Tanda tangan dihasilkan dengan langkah-langkah berikut:1. Gunakan algoritma HMAC-SHA256. 2. Use the stringToSign as the input message.3. Gunakan rahasia sebagai kunci.
Terapkan signature yang dihasilkan sebagai nilai dari X-Signature dalam header permintaan.
Example :
X-Signature: {HMAC-SHA256 Signature}
BodyIsi dari permintaan API digunakan untuk mengirim data ke server. Ini biasanya disertakan dalam permintaan POST, PUT, atau PATCH (tidak biasanya untuk permintaan GET atau DELETE).
Content FormatFormat data tubuh ditentukan oleh header Content-Type. Beberapa format umum termasuk:
JSON
{
    "domainName": "domain.com",
    "showPrice": "yes",
    "currency": "USD"
}
Kasus Penggunaan UmumPermintaan POST: Metode POST digunakan untuk membuat sumber daya baru di server. Badan permintaan biasanya berisi rincian sumber daya.Permintaan PUT: Metode PUT digunakan untuk memperbarui sumber daya yang ada dengan menggantinya sepenuhnya. Isi permintaan berisi sumber daya yang telah diperbarui secara lengkap.Permintaan DELETE: Metode DELETE digunakan untuk menghapus sumber daya yang ada dari server. Ini tidak memiliki badan permintaan.Permintaan GET: Metode GET digunakan untuk mengambil sumber daya yang ada dari server. Ini tidak memiliki badan permintaan
Response FormatSemua respons API dikembalikan dalam format JSON atau XML, di mana format data tubuh ditentukan oleh header Accept, memberikan data yang diminta atau pesan kesalahan, jika berlaku.
Content FormatThe response in general contains 3 parts: Code, Message, Data
Kode: Status permintaanPesan: Lebih banyak deskripsi tentang statusData: Isi dari respons
JSON/XML
{
    "Code": 200,
    "Message": "Success",
    "Data": {}
}
Penanganan KesalahanKode Status HTTP adalah angka tiga digit yang distandarisasi dan dikembalikan oleh server untuk menunjukkan hasil dari permintaan klien. Kode ini memberikan informasi penting tentang apakah permintaan tersebut berhasil diproses, memerlukan tindakan lebih lanjut, atau mengalami kesalahan. Kode-kode ini dibagi menjadi lima kategori, masing-masing mewakili jenis respons yang berbeda.Kode status API kami mengikuti protokol HTTP/1.1, sebuah standar yang diterima secara luas yang memastikan komunikasi yang konsisten dan dapat diandalkan. Dengan menggunakan HTTP/1.1, kami memanfaatkan fitur-fitur seperti koneksi persisten dan caching yang ditingkatkan untuk mengoptimalkan interaksi antara klien dan server.
2xx (Berhasil): Menunjukkan bahwa perintah telah diterima dan disetujui.
200Kode status menunjukkan bahwa permintaan telah berhasil.
201Kode status menunjukkan bahwa permintaan telah dipenuhi dan telah menghasilkan satu atau lebih sumber daya baru yang telah dibuat.
202Kode status menunjukkan bahwa permintaan telah diterima untuk diproses, tetapi pemrosesan belum selesai.
4xx (Kesalahan Klien): Menunjukkan bahwa klien telah melakukan kesalahan dalam permintaan, seperti memberikan input yang tidak valid atau tidak memiliki otorisasi yang tepat.
400Kode status menunjukkan bahwa server tidak dapat atau tidak akan memproses permintaan karena sesuatu yang dianggap sebagai kesalahan klien.
401Kode status menunjukkan bahwa permintaan tidak dapat diterapkan karena tidak memiliki kredensial otentikasi yang valid untuk sumber daya yang dituju.
402Kode status menunjukkan bahwa permintaan tidak dapat diterapkan karena masalah pembayaran.
403Kode status menunjukkan bahwa server memahami permintaan tetapi menolak untuk memenuhinya.
404Kode status menunjukkan bahwa server asal tidak menemukan representasi terkini untuk sumber daya yang dituju atau tidak bersedia mengungkapkan bahwa satu ada.
409Permintaan tidak dapat diselesaikan karena adanya konflik dengan keadaan sumber daya saat ini.
429Pengguna telah mengirim terlalu banyak permintaan dalam waktu yang ditentukan.
5xx (Kesalahan Server): Menunjukkan bahwa server mengalami kesalahan atau tidak dapat memenuhi permintaan.
500Kode status menunjukkan bahwa server mengalami kondisi yang tidak terduga yang menghalangi untuk memenuhi permintaan.
501Kode status menunjukkan bahwa server tidak mendukung fungsionalitas yang diperlukan untuk memenuhi permintaan.
502Kode status menunjukkan bahwa server, saat bertindak sebagai gerbang atau proxy, menerima respons yang tidak valid dari server masuk yang diaksesnya saat mencoba memenuhi permintaan.
503Kode status menunjukkan bahwa server saat ini tidak dapat menangani permintaan karena kelebihan beban sementara atau pemeliharaan yang dijadwalkan, yang kemungkinan akan teratasi setelah beberapa waktu.
504Kode status menunjukkan bahwa server, saat bertindak sebagai gerbang atau proxy, tidak menerima respons yang tepat waktu dari server hulu yang perlu diakses untuk menyelesaikan permintaan.
KodeNama Status
200Sukses
201Dibuat
202Diterima
400Permintaan Buruk
401Tidak Sah
402Pembayaran Diperlukan
403Dilarang
404Tidak Ditemukan
409Konflik
429Terlalu banyak permintaan
500Kesalahan Server Internal
501Tidak Diimplementasikan
502Gerbang Buruk
503Layanan Tidak Tersedia
504Waktu Habis pada Gerbang
Ikhtisar Webhook
Webhooks adalah alat yang kuat untuk mengotomatisasi proses dan mengintegrasikan sistem. Mereka memungkinkan Anda menerima notifikasi real-time tentang peristiwa atau perubahan dalam akun atau pengaturan domain Anda. Dengan mengonfigurasi webhooks, Anda dapat memicu tindakan dalam sistem eksternal, memperbarui basis data, atau mengirim notifikasi berdasarkan peristiwa tertentu.API Dynadot mendukung webhook untuk berbagai peristiwa, seperti pendaftaran domain, transfer, perpanjangan, dan kedaluwarsa. Anda dapat mengonfigurasi webhook untuk menerima notifikasi tentang peristiwa ini dan mengambil tindakan yang sesuai sebagai tanggapan.Untuk menggunakan webhook, Anda perlu menyediakan endpoint URL tempat notifikasi akan dikirim. Anda dapat mengonfigurasi webhook di pengaturan akun Anda dan menentukan peristiwa yang ingin Anda terima notifikasinya. Ketika suatu peristiwa terjadi, server akan mengirim permintaan POST ke URL yang ditentukan dengan data yang relevan.
Header Permintaan WebhookHeader permintaan Webhook berisi metadata tentang permintaan. Metadata ini memberikan konteks penting bagi server untuk memproses permintaan dengan benar. Header yang umum digunakan meliputi:
Content-TypeMenentukan format data yang dikirim dalam tubuh permintaan. Server menggunakan informasi ini untuk mem-parsing permintaan dengan benar. Saat ini, satu-satunya nilai yang diterima adalah: application/json
Example :
Content-Type: application/json
OtorisasiSemua permintaan Webhook harus menyertakan kunci Webhook untuk autentikasi. Anda bisa mendapatkan kunci Webhook Anda dari dasbor akun Anda.You can generate an WEBHOOK_KEY key in API setting page
Contoh Header Autentikasi :
Authorization: WEBHOOK_KEY
X-SignatureHeader X-Signature adalah mekanisme keamanan wajib untuk permintaan transaksional, termasuk yang mengambil informasi sensitif atau memperbarui data. Ini memastikan keaslian, integritas, dan non-penyangkalan permintaan Webhook dengan mengharuskan klien menandatangani payload permintaan menggunakan HMAC-SHA256.
Untuk menghasilkan tanda tangan, Anda memerlukan nilai-nilai berikut1. Kunci WEBHOOK: Kunci WEBHOOK unik Anda.2. Jalur Lengkap Dan Kueri: Jalur lengkap dari endpoint WEBHOOK beserta parameter kuerinya.3. X-Request-Id: ID permintaan. Jika tidak tersedia, Anda dapat memasukkan string kosong.4. Isi Permintaan: Isi dari permintaan. Jika kosong atau null, Anda dapat memasukkan string kosong.
String yang akan ditandatangani adalah kombinasi dari nilai-nilai yang disebutkan di atas, yang digabungkan dalam urutan berikut:
webhookKey + "\n" + fullPathAndQuery + "\n" + (xRequestId or empty String) + "\n" + (requestBody or empty String)
Example
webhookKey = "your_webhook_key"
fullPathAndQuery = "/v2/some/endpoint?param=value"
xRequestId = "unique-request-id"
requestBody = "{\"key\":\"value\"}"


stringToSign = "your_webhook_key\n/v2/some/endpoint?param=value\nunique-request-id\n{\"key\":\"value\"}"
Hasilkan Tanda Tangan HMAC-SHA256Setelah membangun string yang akan ditandatangani, Anda perlu menerapkan HMAC-SHA256 enkripsi menggunakan kunci rahasia Anda. Proses ini akan menghasilkan tanda tangan.Tanda tangan dihasilkan dengan langkah-langkah berikut:1. Gunakan algoritma HMAC-SHA256. 2. Use the stringToSign as the input message.3. Gunakan rahasia sebagai kunci.
Terapkan signature yang dihasilkan sebagai nilai dari X-Signature dalam header permintaan.
Example :
X-Signature: {HMAC-SHA256 Signature}
Format Permintaan Webhook
Content FormatBodi permintaan webhook berisi informasi tentang peristiwa yang memicu notifikasi. Format data bodi ditentukan oleh header Content-Type, yang biasanya application/json.Badan permintaan mencakup parameter berikut:Contoh:
JSON/XML
{
  "Event": "domain_registration",
  "EventId": 12345,
  "Timestamp": "2022-01-01T12:00:00Z",
  "Data": {
    "DomainName": "example.com",
    "RegistrationDate": "2022-01-01",
    "ExpirationDate": "2023-01-01",
    "Registrant": {
      "Name": "JohnDoe",
      "Email": "[email protected]",
      "Phone": "+1.1234567890"
    }
  }
}
ParameterBodi permintaan berisi parameter berikut:
ParameterDescription
EventThe type of event that triggered the notification.
EventIdThe id of the event that triggered the notification.
TimestampThe timestamp when the event occurred.
DataThe data associated with the event.
Format Respons Webhook
Content FormatRespons terhadap permintaan webhook akan dikirim dalam format JSON, tergantung pada header Content-Type yang ditentukan dalam permintaan.Badan respons berisi informasi tentang status permintaan, seperti apakah berhasil diproses atau mengalami kesalahan.The response in general contains 3 parts: Code, Message, DataContoh:
JSON/XML
{
    "EventId": 123,
    "Status": "200",
    "Message": "Success"
}
Pembatasan LajuPermintaan harus dikirim melalui https (socket aman) untuk keamanan. Hanya 1 permintaan yang dapat diproses pada satu waktu, jadi harap tunggu hingga permintaan Anda saat ini selesai sebelum mengirim permintaan lainnya.
Anda akan menerima jumlah benang yang berbeda berdasarkan tingkat harga akun Anda:
Price levelThread CountRate Limit
Regular1 thread60/min (1/sec)
Bulk5 threads600/min (10/sec)
Super Bulk25 threads6000/min (100/sec)
Catatan: place_auction_bid & get_auction_bid saat ini dikecualikan dari batas tarif di atas.
Example :
<Response>
  <status>
    <code>429</code>
    <message>Too Many Requests</message>
  </status>
  <error>
    <description>You have reached the maximum allowed requests within the concurrent limit of your account. Please try again later.</description>
  </error>
</Response>
{
  "code": 429,
  "message": "Too Many Requests",
  "error": {
    "description": "You have reached the maximum allowed requests within the concurrent limit of your account. Please try again later."
  }
}
SandboxLingkungan Sandbox API Dynadot memungkinkan Anda menguji integrasi API dengan aman tanpa memengaruhi akun langsung atau dana nyata.
Cara Mengakses Sandbox
1. Masuk ke akun Dynadot Anda dan navigasikan ke halaman pengaturan API:2. https://www.dynadot.com/account/domain/setting/api.html3. Hasilkan Kunci Sandbox API dan Kunci Rahasia Sandbox API Anda.4. Setelah pembuatan, mohon berikan waktu untuk sistem mengaktifkan kunci sandbox Anda dan membuat akun Sandbox Anda.5. Akun Sandbox Anda akan didanai sebelumnya dengan saldo 10.000 dalam semua mata uang yang didukung untuk tujuan pengujian.
Menggunakan API SandboxPerintah API di lingkungan Sandbox secara fungsional sama dengan lingkungan produksi.Satu-satunya perbedaan adalah URL dasar:
Catatan Penting
Beberapa perintah API mungkin tidak tersedia di lingkungan Sandbox. Silakan merujuk ke dokumentasi perintah spesifik untuk memeriksa label "Support API Sandbox".Sandbox dirancang terutama untuk pengujian. Beberapa perintah mungkin berbeda dari Produksi, dan Sandbox tidak dapat sepenuhnya mensimulasikan semua skenario kompleks yang mungkin ditemukan di lingkungan Produksi.
Ikhtisar Log Perubahan
Change Log adalah catatan rinci tentang perubahan, perbaikan, perbaikan bug, dan fitur baru yang diperkenalkan di setiap versi API. Ini memberikan transparansi bagi pengguna dan pengembang dengan mendokumentasikan dampak dari setiap pembaruan. Change Log terdiri dari dua bagian kunci:
Versi APIBagian ini menyoroti sistem versi dari API, yang membantu pengembang melacak evolusi fitur dan memastikan kompatibilitas. Setiap versi API diidentifikasi dengan nomor versi yang unik (misalnya, v1.0.1, v2.2.3) dan mewakili tonggak atau rilis yang signifikan. Versi memungkinkan pengguna untuk mempertahankan integrasi dengan gangguan minimal dengan memilih untuk memperbarui saat sudah siap.
Riwayat Log PerubahanRiwayat Log Perubahan memberikan informasi terperinci tentang pembaruan, perbaikan bug, penghapusan, dan peningkatan yang diperkenalkan di setiap versi. Ini menjelaskan perubahan spesifik yang dilakukan pada endpoint, parameter, mekanisme otentikasi, atau format respons. Bagian ini memastikan pengembang memiliki transparansi penuh tentang apa yang telah berubah dan dapat menyesuaikan implementasi mereka sesuai kebutuhan. Dengan mempertahankan log perubahan yang jelas dan terperinci, kami bertujuan untuk memberikan pengembang alat dan informasi yang diperlukan untuk mengelola integrasi dengan efektif dan percaya diri.
Versi API
API kami saat ini berada di versiv1.0.0
Kode versi digunakan untuk secara sistematis mengidentifikasi dan mengelola pembaruan API. Mereka mengikuti format Semantic Versioning (SemVer):
<Major><Minor><Patch>
Setiap komponen dari kode versi memiliki tujuan tertentu dan membantu pengembang untuk mengkomunikasikan ruang lingkup serta jenis perubahan dengan efektif.
Versi UtamaDefinisi: Mewakili perubahan signifikan yang dapat merusak kompatibilitas ke belakang.Format:<Major>.x.x
Contoh:v1.0.0->v2.0.0Desain ulang API yang lengkap atau perubahan skema yang tidak kompatibel.
Versi MinorDefinisi: Menunjukkan penambahan fitur yang kompatibel dengan versi sebelumnya.Format:x.<Minor>.x
Contoh:v1.0.0->v1.1.0Menambahkan endpoint atau metode baru sambil mempertahankan kompatibilitas dengan versi sebelumnya.
Versi PatchDefinisi: Mengacu pada perbaikan bug yang kompatibel dengan versi sebelumnya atau peningkatan kecil.Format:x.x.<Patch>
Contoh:v1.0.0->v1.1.0Memperbaiki bug kecil di endpoint API.
Catatan Perubahan API
Change Log adalah catatan rinci tentang perubahan, perbaikan, perbaikan bug, dan fitur baru yang diperkenalkan dalam setiap versi perangkat lunak atau API. Ini memberikan transparansi bagi pengguna dan pengembang dengan mendokumentasikan dampak dari setiap pembaruan.
Entri yang umum dalam log perubahan mencakup:Deskripsi: Penjelasan singkat tentang apa yang telah diubah.Komponen yang Terpengaruh: Modul, endpoint, atau fitur tertentu yang terpengaruh oleh perubahan tersebut.
Contoh: Menambahkan dukungan untuk perintah API baru ini<Domain Register>
Riwayat Log PerubahanLacak setiap perubahan pada API Dynadot.
March 15, 2025
v1.0.0The Dynadot API 1.0.0 introduces a RESTful interface designed for seamless integration with your systems.

It features predictable resource-oriented URLs, supports standard HTTP methods and authentication, and returns responses in both JSON and XML formats.

Each request processes a single object or action, as bulk updates are not supported.

This version focuses on core domain management, order processing, and related services.
Users can register, transfer, and renew domains, manage DNS settings, view or update account orders, as well as access functionalities for aftermarket, site builder, email hosting, and more.

To facilitate collaboration and support, we provide a dedicated Discord channel where users can discuss API usage, share feedback, and receive updates.
Chat Online