--- title: "deleteDomain" slug: "fin-global-dns-v2-domains-deletedomain" updated: 2026-10-22T10:53:41Z published: 2026-10-23T09:00:07Z canonical: "api-fin.ncloud-docs.com/fin-global-dns-v2-domains-deletedomain" --- > ## Documentation Index > Fetch the complete documentation index at: https://api-fin.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # deleteDomain 이 가이드는 API 명세를 기반으로 자동 생성했습니다. Ncloud API 표준 규격을 적용한 API입니다. 도메인을 삭제합니다. 하위 레코드를 연쇄 삭제하지 않으므로, 도메인 생성 시 시스템이 만든 기본 레코드 (SOA, NS, DS) 외에 레코드가 하나라도 남아 있으면 409 오류로 삭제를 거부합니다. 레코드를 모두 삭제하고 적용한 뒤에 도메인을 삭제하세요. 기본 레코드는 도메인 삭제 시 시스템이 함께 정리합니다. 삭제는 생성·수정과 마찬가지로 비동기로 완료되므로 요청이 접수되면 작업(Operation) 자원을 202 Accepted 로 반환합니다. 완료 여부는 응답의 `id` 로 `GET /domains/operations/{operationId}` 를 폴링해 `done` 으로 확인합니다. `done` 이 true 가 되는 시점은 도메인이 네임서버에서까지 내려간 것을 확인한 시점입니다. 삭제 작업은 반환할 결과 자원이 없으므로 완료 시에도 `results` 는 내려가지 않습니다. 접수 후에는 기본 레코드를 포함한 하위 레코드가 먼저 제거되고, 네임서버 반영이 확인된 뒤에 도메인이 최종 삭제됩니다. 그 사이 `GET /domains/{domainNo}` 는 `status` 가 PROCESSING 이고 `recordCount` 가 0 이며 `soa` 하위 필드가 모두 null 인 자원을 200 으로 반환하고, 삭제가 완료되면 403 Forbidden 으로 바뀝니다. 완료 판정에는 이 403 대신 작업의 `done` 을 사용하세요. 403 은 권한 없음·미존재와 구분되지 않습니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | DELETE | /domains/{domainNo} | ### 요청 헤더 Global DNS API에서 공통으로 사용하는 헤더에 대한 정보는 [Global DNS 요청 헤더](/docs/fin-global-dns-v2-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `domainNo` | Integer (int64) | Required | 도메인 번호 - 보유하지 않았거나 존재하지 않는 번호는 403 Forbidden (두 경우를 구분하지 않음) - <예시> 120 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request DELETE 'https://globaldns.apigw.fin-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}' ``` ## 응답 응답 형식을 설명합니다. ### 응답 헤더 응답 헤더에 대한 설명은 다음과 같습니다. | 필드 | 필수 여부 | 설명 | | --- | --- | --- | | `Retry-After` | Optional | 권장 폴링 대기 시간(초) - 아직 진행 중인 작업·자원에만 포함 (202 응답) | ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `id` | String (uuid) | - | 작업 ID - <예시> 3fa85f64-5717-4562-b3fc-2c963f66afa6 | | `done` | Boolean | - | 작업 완료 여부 - 저장소 반영 시점이 아니라 네임서버에 실제로 반영된 것까지 확인된 시점에 true - true 이면 변경이 DNS 질의에 반영된 상태 - `true` \| `false` - <예시> false | | `metadata` | Object<[OperationMetadata](/docs/fin-global-dns-v2-type-operationmetadata)> | - | 작업 메타데이터 | | `error` | Object<[Error](/docs/fin-global-dns-v2-domains-deletedomain#Error)> \| Null | - | 실패 사유 (완료 및 실패 시에만 존재) - 실패는 변경분을 검증해 반영하는 구간(APPLYING)에서만 발생 - 네임서버 동기화 구간(SYNCHRONIZING)에 들어선 작업은 이미 반영된 변경을 되돌리지 않으므로 실패로 끝나지 않으며, 동기화가 지연되면 완료될 때까지 진행 중으로 남음 | | `results` | Map<[DomainDetailed](/docs/fin-global-dns-v2-domains-deletedomain#DomainDetailed)> | - | 작업 결과 자원 맵 (요청 인덱스를 문자열 키로 사용) - 단건 작업이므로 `"0"` 하나만 포함 - 생성·수정 작업이 완료된 경우에만 포함되며, 진행 중이거나 삭제 작업이면 포함되지 않음 | #### Error 에러 정보 | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `errorCode` | String | - | 에러 코드 | | `message` | String | - | 에러 메시지 (기본 영어, 다국어 지원 가능) | | `detail` | String | - | 에러 상세 정보 (기본 영어, 다국어 지원 가능) | | `fieldErrors` | List<[FieldError](/docs/type-fielderror)> | - | 입력값 에러가 발생한 경우 각 필드별 에러 상세 정보 목록 | #### DomainDetailed 도메인 상세 | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `domainNo` | Integer (int64) | - | 도메인 번호 - <예시> 1 | | `name` | String | - | 도메인 이름 - <예시> example.com | | `applied` | Boolean | - | 도메인 처리 완료 여부 (`status` 에서 파생) - `true` \| `false` - `true`: 처리 완료 (`status` 가 SUCCEEDED) - `false`: 처리 중 (`status` 가 PROCESSING) - <예시> true | | `dnssecEnabled` | Boolean | - | DNSSEC 적용 여부 - `true` \| `false` - <예시> true | | `status` | String | - | 도메인 처리 상태 - 실패 상태 값은 없으며, 완료 판정에는 작업 자원의 `done` 사용 - `PROCESSING` \| `SUCCEEDED` - `PROCESSING`: 생성·수정·삭제 처리 중. 네임서버 동기화가 확인될 때까지 유지 - `SUCCEEDED`: 처리 완료. 작업(Operation)의 `done` 이 true 가 되는 시점과 같음 - <예시> SUCCEEDED | | `description` | String \| null | - | 도메인 설명 - <예시> my domain | | `createdTimestamp` | Integer (int64) | - | 생성 시각 (Unix epoch 밀리초) - <예시> 1568111263000 | | `updatedTimestamp` | Integer (int64) | - | 수정 시각 (Unix epoch 밀리초) - <예시> 1568111263000 | | `recordCount` | Integer (int64) | - | 이 도메인(domainNo)에 속한 레코드 수 - <예시> 5 | | `soa` | Object<[SoaRecord](/docs/fin-global-dns-v2-domains-deletedomain#SoaRecord)> | - | SOA 레코드 - 항상 객체이며 하위 필드만 null 가능 - 하위 필드가 모두 null 인 경우: 도메인 설정 적용 전이거나 삭제 처리 중 - 삭제가 완료된 도메인은 조회 시 403 Forbidden | #### SoaRecord SOA 레코드. 사용자가 직접 설정하지 않으며, 도메인 설정 적용 시 시스템이 값을 채웁니다. 적용 전에는 `domainName`·`nameServers`·`serial`·`refresh`·`retry`·`expire`·`ttl` 이 null 이고, `dnssecEnabled` 는 항상 값이 있습니다(적용 전에는 false). | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `domainName` | String \| null | - | 도메인 이름 - <예시> example.com | | `nameServers` | List \| null | - | 네임서버 목록 - <예시> `["ns1-1.ns-ncloud.com.", "ns1-2.ns-ncloud.com."]` | | `serial` | Integer (int64) \| null | - | SOA serial 번호 - <예시> 2019091001 | | `refresh` | Integer (int64) \| null | - | SOA refresh (초) - <예시> 3600 | | `retry` | Integer (int64) \| null | - | SOA retry (초) - <예시> 600 | | `expire` | Integer (int64) \| null | - | SOA expire (초) - <예시> 604800 | | `ttl` | Integer (int64) \| null | - | SOA 최소 TTL (초) - <예시> 300 | | `dnssecEnabled` | Boolean | - | DNSSEC 적용 여부 - `true` \| `false` - <예시> true | ### 응답 상태 코드 Global DNS API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Global DNS 응답 상태 코드](/docs/fin-global-dns-v2-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. 이 API에만 해당하는 응답 상태 코드는 다음과 같습니다. | HTTP 상태 코드 | 코드 | 메시지 | 설명 | | --- | --- | --- | --- | | 202 | - | - | Accepted (삭제 접수). 응답 본문은 작업(Operation) 자원이며 `done` 은 false 입니다. `GET /domains/operations/{operationId}` 로 폴링해 `done` 이 true 가 되면 삭제가 완료된 것입니다. 삭제 작업은 결과 자원이 없어 완료 시에도 `results` 는 내려가지 않습니다. 폴링 간격은 `Retry-After` 헤더를 따릅니다. | | 409 | ResourceInUse | The specified resource is in use. | 도메인에 시스템이 만든 기본 레코드(SOA·NS·DS) 외의 레코드가 남아 있어 삭제할 수 없는 경우. 레코드를 모두 삭제하고 적용한 뒤 다시 요청 | ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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 } } } } ```