Tout ce que vous pouvez faire dans le tableau de bord web (ajouter et supprimer des domaines, gérer les enregistrements DNS) est également disponible par programmation via une API REST.
Tous les endpoints acceptent et renvoient du JSON. L'authentification nécessite une clé API (voir ci-dessous). Il n'y a actuellement ni pagination ni limitation du nombre de requêtes.
https://ns.nrnic.com/api
Vous pouvez générer une clé API depuis les Paramètres du compte. Une clé nouvellement générée n'est affichée qu'une seule fois, veillez donc à la conserver en lieu sûr.
Ajoutez l'en-tête Authorization suivant à chaque requête :
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
En cas d'erreur, la réponse utilise le code d'état HTTP approprié (401/404/409/422/500, etc.) et la structure JSON suivante.
{
"error": {
"code": "domain_not_found",
"message": "Domain not found."
}
}
| Méthode | Chemin | Description |
|---|---|---|
| GET | /api/domains | Lister les domaines de l'utilisateur authentifié |
| POST | /api/domains | Ajouter un domaine |
| GET | /api/domains/{id} | Obtenir un domaine, avec son état de synchronisation NS et de délégation |
| DELETE | /api/domains/{id} | Supprimer un domaine |
| POST | /api/domains/{id}/resync | Renvoyer la zone DNS à tous les nameservers (ns1–ns4) |
| POST | /api/domains/{id}/delegation-check | Vérifier si le domaine est délégué à NRNIC |
| GET | /api/domains/{id}/records | Lister les enregistrements DNS d'un domaine |
| POST | /api/domains/{id}/records | Ajouter un enregistrement DNS |
| PUT | /api/domains/{id}/records/{record_id} | Modifier un enregistrement DNS |
| DELETE | /api/domains/{id}/records/{record_id} | Supprimer un enregistrement DNS |
# Lister les domaines de l'utilisateur authentifiécurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Ajouter un domainecurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fqdn": "example.com"}'
# Supprimer un domainecurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Ajouter un enregistrement 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}'
# Modifier un enregistrement 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}'
# Supprimer un enregistrement DNScurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
| type | Type d'enregistrement. L'un de A, AAAA, CNAME, MX, TXT, NS, SRV, CAA. |
| name | Nom d'hôte (partie sous-domaine). Utilisez "@" pour le sommet de la zone. |
| content | La valeur de l'enregistrement (adresse IP, nom d'hôte cible, etc.). |
| ttl | TTL en secondes, de 60 à 604800. Valeur par défaut : 3600 si omis. |
| priority | Priorité des enregistrements MX/SRV (0–65535). |
| weight | Poids des enregistrements SRV (0–65535). |
| port | Numéro de port des enregistrements SRV (0–65535). |