Tudo o que você pode fazer no painel web (adicionar e excluir domínios, gerenciar registros DNS) também está disponível de forma programática por meio de uma API REST.
Todos os endpoints recebem e retornam JSON. A autenticação exige uma chave de API (veja abaixo). Atualmente não há paginação nem limite de requisições.
https://ns.nrnic.com/api
Você pode gerar uma chave de API em Configurações da conta. A chave recém-gerada é exibida apenas uma vez, portanto guarde-a em um local seguro.
Inclua o seguinte cabeçalho Authorization em todas as requisições:
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Em caso de erro, a resposta usa o código de status HTTP apropriado (401/404/409/422/500 etc.) e o seguinte formato JSON.
{
"error": {
"code": "domain_not_found",
"message": "Domain not found."
}
}
| Método | Caminho | Descrição |
|---|---|---|
| GET | /api/domains | Listar os domínios do usuário autenticado |
| POST | /api/domains | Adicionar um domínio |
| GET | /api/domains/{id} | Obter um domínio, incluindo o status de sincronização de NS e de delegação |
| DELETE | /api/domains/{id} | Excluir um domínio |
| POST | /api/domains/{id}/resync | Reenviar a zona DNS para todos os servidores de nomes (ns1–ns4) |
| POST | /api/domains/{id}/delegation-check | Verificar se o domínio foi delegado ao NRNIC |
| GET | /api/domains/{id}/records | Listar os registros DNS de um domínio |
| POST | /api/domains/{id}/records | Adicionar um registro DNS |
| PUT | /api/domains/{id}/records/{record_id} | Atualizar um registro DNS |
| DELETE | /api/domains/{id}/records/{record_id} | Excluir um registro DNS |
# Listar os domínios do usuário autenticadocurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Adicionar um domíniocurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fqdn": "example.com"}'
# Excluir um domíniocurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# Adicionar um 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}'
# Atualizar um 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}'
# Excluir um registro DNScurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
| type | Tipo de registro. Um entre A, AAAA, CNAME, MX, TXT, NS, SRV, CAA. |
| name | Nome do host (parte do subdomínio). Use "@" para o ápice da zona. |
| content | O valor do registro (um endereço IP, o nome do host de destino etc.). |
| ttl | TTL em segundos, de 60 a 604800. Se omitido, o padrão é 3600. |
| priority | Prioridade dos registros MX/SRV (0–65535). |
| weight | Peso dos registros SRV (0–65535). |
| port | Número da porta dos registros SRV (0–65535). |