이 가이드는 API 명세를 기반으로 자동 생성했습니다.
Classic/VPC 환경에서 이용 가능합니다.
Ncloud API 표준 규격을 적용한 API입니다.
도메인 정보를 전체 교체(PUT) 방식으로 수정합니다. 생략된 선택 필드는 null/기본값으로 초기화됩니다. 클라이언트는 원하는 전체 표현을 그대로 전송해야 합니다. 수정은 비동기로 완료되므로 요청이 접수되면 작업(Operation) 자원을 202 Accepted 로 반환합니다. 완료 여부는 응답의 id 로 GET /domains/operations/{operationId} 를 폴링해 done 으로 확인하며, 완료되면 작업의 results["0"] 에 교체된 도메인 자원이 담깁니다. 작업이 끝나기 전의 도메인 자원은 status 가 PROCESSING 인데, 이는 네임서버 동기화가 아직 끝나지 않았다는 뜻일 뿐이므로 이 상태에서도 후속 변경 요청을 할 수 있습니다. 전체 교체이므로 동시 수정 시 나중 요청이 앞선 변경을 덮어쓸 수 있습니다. 조회에서 받은 ETag 를 If-Match 로 함께 보내면 그 사이 변경된 경우 412 PreconditionFailed 로 거부됩니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| PUT | /domains/{domainNo} |
요청 헤더
요청 헤더에 대한 설명은 다음과 같습니다.
| 필드 | 필수 여부 | 설명 |
|---|---|---|
If-Match |
Optional | 직전 조회에서 받은 ETag
|
Global DNS API에서 공통으로 사용하는 헤더에 대한 정보는 Global DNS 요청 헤더를 참조해 주십시오.
요청 경로 파라미터
요청 경로 파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
domainNo |
Integer (int64) | Required | 도메인 번호
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
dnssecEnabled |
Boolean | Required | DNSSEC 적용 여부
|
description |
String | null | Optional | 도메인 설명
|
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request PUT 'https://globaldns.apigw.gov-ntruss.com/dns/v2/domains/120' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"dnssecEnabled": false
}'
응답
응답 형식을 설명합니다.
응답 헤더
응답 헤더에 대한 설명은 다음과 같습니다.
| 필드 | 필수 여부 | 설명 |
|---|---|---|
Retry-After |
Optional | 권장 폴링 대기 시간(초)
|
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id |
String (uuid) | - | 작업 ID
|
done |
Boolean | - | 작업 완료 여부
|
metadata |
Object<OperationMetadata> | - | 작업 메타데이터 |
error |
Object<Error> | Null | - | 실패 사유 (완료 및 실패 시에만 존재)
|
results |
Map<DomainDetailed> | - | 작업 결과 자원 맵 (요청 인덱스를 문자열 키로 사용)
|
Error
에러 정보
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
errorCode |
String | - | 에러 코드 |
message |
String | - | 에러 메시지 (기본 영어, 다국어 지원 가능) |
detail |
String | - | 에러 상세 정보 (기본 영어, 다국어 지원 가능) |
fieldErrors |
List<FieldError> | - | 입력값 에러가 발생한 경우 각 필드별 에러 상세 정보 목록 |
DomainDetailed
도메인 상세
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
domainNo |
Integer (int64) | - | 도메인 번호
|
name |
String | - | 도메인 이름
|
applied |
Boolean | - | 도메인 처리 완료 여부 (status 에서 파생)
|
dnssecEnabled |
Boolean | - | DNSSEC 적용 여부
|
status |
String | - | 도메인 처리 상태
|
description |
String | null | - | 도메인 설명
|
createdTimestamp |
Integer (int64) | - | 생성 시각 (Unix epoch 밀리초)
|
updatedTimestamp |
Integer (int64) | - | 수정 시각 (Unix epoch 밀리초)
|
recordCount |
Integer (int64) | - | 이 도메인(domainNo)에 속한 레코드 수
|
soa |
Object<SoaRecord> | - | SOA 레코드
|
SoaRecord
SOA 레코드. 사용자가 직접 설정하지 않으며, 도메인 설정 적용 시 시스템이 값을 채웁니다. 적용 전에는 domainName·nameServers·serial·refresh·retry·expire·ttl 이 null 이고, dnssecEnabled 는 항상 값이 있습니다(적용 전에는 false).
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
domainName |
String | null | - | 도메인 이름
|
nameServers |
List<String> | null | - | 네임서버 목록
|
serial |
Integer (int64) | null | - | SOA serial 번호
|
refresh |
Integer (int64) | null | - | SOA refresh (초)
|
retry |
Integer (int64) | null | - | SOA retry (초)
|
expire |
Integer (int64) | null | - | SOA expire (초)
|
ttl |
Integer (int64) | null | - | SOA 최소 TTL (초)
|
dnssecEnabled |
Boolean | - | DNSSEC 적용 여부
|
응답 상태 코드
Global DNS API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Global DNS 응답 상태 코드를 참조해 주십시오.
이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.
| HTTP 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 202 | - | - | Accepted (수정 접수). 응답 본문은 작업(Operation) 자원이며 done 은 false 입니다. GET /domains/operations/{operationId} 로 폴링해 done 이 true 가 되면 results 에서 교체된 도메인 자원을 확인합니다. 폴링 간격은 Retry-After 헤더를 따릅니다. |
| 412 | PreconditionFailed | The precondition in one or more of the request fields evaluated to false | If-Match 로 보낸 ETag 가 현재 자원과 달라 교체를 거부한 경우. 자원을 다시 조회해 새 ETag 로 재시도 |
응답 예시
응답 예시는 다음과 같습니다.
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"done": false,
"metadata": {
"operationType": "UPDATE",
"resourceType": "records",
"startDateTime": "2026-06-30T12:00:00Z",
"endDateTime": "2026-06-30T12:00:05Z",
"phase": "SYNCHRONIZING"
},
"results": {
"key": {
"domainNo": 1,
"name": "example.com",
"applied": true,
"dnssecEnabled": true,
"status": "SUCCEEDED",
"description": "my domain",
"createdTimestamp": 1568111263000,
"updatedTimestamp": 1568111263000,
"recordCount": 5,
"soa": {
"domainName": "example.com",
"nameServers": [
"ns1-1.ns-ncloud.com.",
"ns1-2.ns-ncloud.com."
],
"serial": 2019091001,
"refresh": 3600,
"retry": 600,
"expire": 604800,
"ttl": 300,
"dnssecEnabled": true
}
}
}
}