Tutto ciò che puoi fare nella dashboard web (aggiungere ed eliminare domini, gestire i record DNS) è disponibile anche in modo programmatico tramite un'API REST.
Tutti gli endpoint accettano e restituiscono JSON. L'autenticazione richiede una chiave API (vedi sotto). Al momento non sono previste paginazione né limiti di richieste.
https://ns.nrnic.com/api
Puoi generare una chiave API dalle Impostazioni account. Una chiave appena generata viene mostrata una sola volta, quindi assicurati di conservarla in un luogo sicuro.
Includi il seguente header Authorization in ogni richiesta:
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In caso di errore, la risposta usa il codice di stato HTTP appropriato (401/404/409/422/500, ecc.) e la seguente struttura JSON.
{
"error": {
"code": "domain_not_found",
"message": "Domain not found."
}
}
| Metodo | Percorso | Descrizione |
|---|---|---|
| GET | /api/domains | Elenca i domini dell'utente autenticato |
| POST | /api/domains | Aggiungi un dominio |
| GET | /api/domains/{id} | Ottieni un dominio, incluso lo stato di sincronizzazione NS e di delega |
| DELETE | /api/domains/{id} | Elimina un dominio |
| POST | /api/domains/{id}/resync | Reinvia la zona DNS a tutti i nameserver (ns1–ns4) |
| POST | /api/domains/{id}/delegation-check | Verifica se il dominio è stato delegato a NRNIC |
| GET | /api/domains/{id}/records | Elenca i record DNS di un dominio |
| POST | /api/domains/{id}/records | Aggiungi un record DNS |
| PUT | /api/domains/{id}/records/{record_id} | Aggiorna un record DNS |
| DELETE | /api/domains/{id}/records/{record_id} | Elimina un record DNS |
# Elenca i domini dell'utente autenticatocurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Aggiungi un dominiocurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fqdn": "example.com"}'
# Elimina un dominiocurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Aggiungi un record 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}'
# Aggiorna un record 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}'
# Elimina un record DNScurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
| type | Tipo di record. Uno tra A, AAAA, CNAME, MX, TXT, NS, SRV, CAA. |
| name | Nome host (parte del sottodominio). Usa "@" per l'apex della zona. |
| content | Il valore del record (un indirizzo IP, il nome host di destinazione, ecc.). |
| ttl | TTL in secondi, da 60 a 604800. Se omesso, il valore predefinito è 3600. |
| priority | Priorità dei record MX/SRV (0–65535). |
| weight | Peso dei record SRV (0–65535). |
| port | Numero di porta dei record SRV (0–65535). |