Todo lo que puedes hacer en el panel web (añadir y eliminar dominios, gestionar registros DNS) también está disponible de forma programática mediante una API REST.
Todos los endpoints reciben y devuelven JSON. La autenticación requiere una clave de API (véase más abajo). Actualmente no hay paginación ni límite de peticiones.
https://ns.nrnic.com/api
Puedes generar una clave de API desde Configuración de la cuenta. La clave recién generada solo se muestra una vez, así que asegúrate de guardarla en un lugar seguro.
Incluye la siguiente cabecera Authorization en cada petición:
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
En caso de error, la respuesta usa el código de estado HTTP correspondiente (401/404/409/422/500, etc.) y la siguiente estructura JSON.
{
"error": {
"code": "domain_not_found",
"message": "Domain not found."
}
}
| Método | Ruta | Descripción |
|---|---|---|
| GET | /api/domains | Listar los dominios del usuario autenticado |
| POST | /api/domains | Añadir un dominio |
| GET | /api/domains/{id} | Obtener un dominio, incluido su estado de sincronización de NS y de delegación |
| DELETE | /api/domains/{id} | Eliminar un dominio |
| POST | /api/domains/{id}/resync | Reenviar la zona DNS a todos los servidores de nombres (ns1–ns4) |
| POST | /api/domains/{id}/delegation-check | Comprobar si el dominio está delegado a NRNIC |
| GET | /api/domains/{id}/records | Listar los registros DNS de un dominio |
| POST | /api/domains/{id}/records | Añadir un registro DNS |
| PUT | /api/domains/{id}/records/{record_id} | Actualizar un registro DNS |
| DELETE | /api/domains/{id}/records/{record_id} | Eliminar un registro DNS |
# Listar los dominios del usuario autenticadocurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Añadir un dominiocurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fqdn": "example.com"}'
# Eliminar un dominiocurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Añadir un registro 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}'
# Actualizar un registro 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}'
# Eliminar un registro DNScurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
| type | Tipo de registro. Uno de A, AAAA, CNAME, MX, TXT, NS, SRV, CAA. |
| name | Nombre de host (parte del subdominio). Usa "@" para el vértice de la zona. |
| content | El valor del registro (una dirección IP, el nombre de host de destino, etc.). |
| ttl | TTL en segundos, de 60 a 604800. Si se omite, el valor por defecto es 3600. |
| priority | Prioridad de los registros MX/SRV (0–65535). |
| weight | Peso de los registros SRV (0–65535). |
| port | Número de puerto de los registros SRV (0–65535). |