REST API · JSON

API untuk semua yang bisa
dilakukan di dashboard.

Dashboard ini sendiri dibangun di atas REST API yang sama. Register domain, atur DNS, perpanjang — semua bisa otomatis lewat kode. Authentikasi pakai API key gaya Stripe (indo_sk_…). Webhook real-time ke Slack, Discord, atau Telegram tersedia.

Quick start

3 langkah untuk panggil API pertama:

  1. 1. Buat API key di dashboard
    Login → menu API KeysKey Baru. Key ditampilkan sekali, simpan.
  2. 2. Set header authorization
    Authorization: Bearer indo_sk_xxxxxxxxxxxx
    Content-Type: application/json
  3. 3. Panggil endpoint
    # Cek siapa kamu
    curl https://indo.domains/api/auth/me \
      -H "Authorization: Bearer indo_sk_xxxxxxxxxxxx"
    
    # Cek ketersediaan domain
    curl 'https://indo.domains/api/domains/search?q=NAMA_DOMAIN' \
      -H "Authorization: Bearer indo_sk_xxxxxxxxxxxx"
    
    # Daftarkan domain
    curl https://indo.domains/api/domains/register -X POST \
      -H "Authorization: Bearer indo_sk_xxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -d '{"domain_name":"NAMA_DOMAIN.id","duration_years":1}'

Endpoints

Base URL: https://indo.domains

POST/api/auth/loginLogin & dapat session cookie.
GET/api/auth/meInfo user saat ini.
GET/api/domainsList domain milik user.
GET/api/domains/pricingTabel harga semua TLD.
GET/api/domains/search?q=NAMACek ketersediaan + harga lintas TLD.
POST/api/domains/registerDaftarkan domain baru.
POST/api/domains/transferTransfer domain dari registrar lain (butuh EPP).
GET/api/domains/:nameDetail domain.
GET/api/domains/:name/dnsList DNS records.
POST/api/domains/:name/dnsTambah DNS record.
DELETE/api/domains/:name/dns/:idHapus DNS record.
PUT/api/domains/:name/nameserversSet nameservers.
POST/api/domains/:name/renewPerpanjang domain.
POST/api/domains/:name/pushPush domain ke akun indo.domains lain (gratis, tanpa EPP).
POST/api/domains/:name/push/checkPreflight cek kelayakan push.
PATCH/api/domains/:name/settingsToggle auto_renew / transfer_lock / whois_privacy.
GET/api/domains/:name/historyRiwayat perubahan domain.
GET/api/billing/transactionsRiwayat transaksi saldo.
POST/api/billing/checkoutBuat top-up saldo via Pakasir (QRIS/VA).
GET/api/invoicesList invoice.

Webhook

Pasang webhook untuk dapat notif real-time tiap event di akunmu — register, renew, push, transaksi.

Event yang dikirim
  • domain.registered — domain baru terdaftar
  • domain.renewed — perpanjangan sukses
  • domain.pushed — push antar akun
  • domain.transfer — transfer in/out
  • topup.approved — topup masuk
  • user.signup — akun baru
Destination
  • HTTP webhook (URL apa saja)
  • Slack incoming webhook
  • Discord webhook
  • Telegram bot

Setup di menu Integrasi di dashboard.

Error format

Response error standar:

{
  "error": "insufficient_balance",
  "message": "Saldo tidak cukup. Topup dulu.",
  "required_idr": 287500
}

Status code mengikuti standar HTTP: 400 (bad request), 401 (unauth), 402 (saldo kurang), 404 (not found), 409 (duplicate/conflict), 502 (registrar error).

Bangun aplikasi domain pertamamu.

Dapatkan API key dalam 30 detik. Tidak ada biaya bulanan — bayar hanya saat register/renew domain.

Mulai gratis