NRNIC API

Semua yang dapat Anda lakukan di dasbor web (menambah dan menghapus domain, mengelola catatan DNS) juga tersedia secara terprogram melalui REST API.

Ikhtisar

Semua endpoint menerima dan mengembalikan JSON. Autentikasi memerlukan kunci API (lihat di bawah). Saat ini belum ada paginasi maupun pembatasan laju permintaan.

URL Dasar

https://ns.nrnic.com/api

Autentikasi

Anda dapat membuat kunci API dari Pengaturan Akun. Kunci yang baru dibuat hanya ditampilkan satu kali, jadi pastikan untuk menyimpannya di tempat yang aman.

Sertakan header Authorization berikut pada setiap permintaan:

Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Catatan keamanan

Perlakukan kunci API seperti kata sandi. Jangan pernah mengunggahnya ke repositori publik atau menyematkannya di JavaScript sisi klien — gunakan hanya dari kode sisi server. Jika kunci terekspos, segera cabut melalui pengaturan akun dan buat kunci baru.

Respons kesalahan

Jika terjadi kesalahan, respons menggunakan kode status HTTP yang sesuai (401/404/409/422/500, dll.) dan format JSON berikut.

{
  "error": {
    "code": "domain_not_found",
    "message": "Domain not found."
  }
}

Endpoint

Metode Path Deskripsi
GET/api/domainsMenampilkan daftar domain milik pengguna yang terautentikasi
POST/api/domainsMenambahkan domain
GET/api/domains/{id}Mengambil domain, termasuk status sinkronisasi NS dan delegasi
DELETE/api/domains/{id}Menghapus domain
POST/api/domains/{id}/resyncMengirim ulang zona DNS ke semua nameserver (ns1–ns4)
POST/api/domains/{id}/delegation-checkMemeriksa apakah domain sudah didelegasikan ke NRNIC
GET/api/domains/{id}/recordsMenampilkan daftar catatan DNS sebuah domain
POST/api/domains/{id}/recordsMenambahkan catatan DNS
PUT/api/domains/{id}/records/{record_id}Memperbarui catatan DNS
DELETE/api/domains/{id}/records/{record_id}Menghapus catatan DNS

Contoh

Domain

# Menampilkan daftar domain milik pengguna yang terautentikasicurl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

# Menambahkan domaincurl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"fqdn": "example.com"}'

# Menghapus domaincurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

Catatan DNS

# Menambahkan catatan DNScurl -s https://ns.nrnic.com/api/domains/123/records \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "@", "content": "192.0.2.1", "ttl": 3600}'

# Memperbarui catatan DNScurl -s -X PUT https://ns.nrnic.com/api/domains/123/records/456 \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "@", "content": "192.0.2.2", "ttl": 3600}'

# Menghapus catatan DNScurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

Kolom catatan DNS

typeJenis catatan. Salah satu dari A, AAAA, CNAME, MX, TXT, NS, SRV, CAA.
nameNama host (bagian subdomain). Gunakan "@" untuk apex zona.
contentNilai catatan (alamat IP, nama host tujuan, dll.).
ttlTTL dalam detik, 60–604800. Jika dihilangkan, nilai bawaannya 3600.
priorityPrioritas untuk catatan MX/SRV (0–65535).
weightBobot untuk catatan SRV (0–65535).
portNomor port untuk catatan SRV (0–65535).