NRNIC API

웹 대시보드에서 할 수 있는 모든 작업(도메인 추가·삭제, DNS 레코드 관리)을 REST API로도 프로그래밍 방식으로 실행할 수 있습니다.

개요

모든 엔드포인트는 JSON으로 요청과 응답을 주고받습니다. 인증에는 API 키가 필요합니다(아래 참고). 현재 페이지 분할과 요청 횟수 제한은 없습니다.

기본 URL

https://ns.nrnic.com/api

인증

API 키는 계정 설정에서 발급할 수 있습니다. 발급한 키는 그 자리에서만 표시되므로 반드시 안전한 곳에 저장해 주세요.

모든 요청에 아래와 같이 Authorization 헤더를 포함해 주세요.

Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

보안 관련 주의사항

API 키는 비밀번호와 같은 기밀 정보입니다. 공개 저장소나 클라이언트 측 JavaScript에 포함하지 말고 서버 측에서만 사용해 주세요. 유출된 경우에는 계정 설정에서 즉시 삭제(폐기)하고 새 키를 발급해 주세요.

오류 응답

오류가 발생하면 해당 HTTP 상태 코드(401/404/409/422/500 등)와 함께 아래 형식의 JSON을 반환합니다.

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

엔드포인트 목록

메서드 경로 설명
GET/api/domains로그인한 사용자의 도메인 목록 조회
POST/api/domains도메인 추가
GET/api/domains/{id}도메인 상세 조회(NS 동기화 상태·위임 상태 포함)
DELETE/api/domains/{id}도메인 삭제
POST/api/domains/{id}/resyncDNS 존을 모든 네임서버(ns1~ns4)로 다시 전송
POST/api/domains/{id}/delegation-check위임 상태(NRNIC으로 NS를 변경했는지) 확인
GET/api/domains/{id}/recordsDNS 레코드 목록 조회
POST/api/domains/{id}/recordsDNS 레코드 추가
PUT/api/domains/{id}/records/{record_id}DNS 레코드 수정
DELETE/api/domains/{id}/records/{record_id}DNS 레코드 삭제

사용 예시

도메인

# 로그인한 사용자의 도메인 목록 조회curl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

# 도메인 추가curl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"fqdn": "example.com"}'

# 도메인 삭제curl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

DNS 레코드

# DNS 레코드 추가curl -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}'

# DNS 레코드 수정curl -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}'

# DNS 레코드 삭제curl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

DNS 레코드 필드

type레코드 유형. A, AAAA, CNAME, MX, TXT, NS, SRV, CAA 중 하나.
name호스트 이름(서브도메인 부분). 존 최상위는 "@"를 사용합니다.
content레코드 값(IP 주소, 대상 호스트 이름 등).
ttlTTL(초). 60~604800. 생략하면 3600.
priorityMX·SRV 레코드의 우선순위(0~65535).
weightSRV 레코드의 가중치(0~65535).
portSRV 레코드의 포트 번호(0~65535).