# Manage Domain Settings (https://developer.godaddy.com/en/docs/references/rest/domains/v2/manage-domain-settings)

---
title: Manage Domain Settings
description: >-
  Retrieve domain details and manage contacts, nameservers, forwarding rules,
  privacy forwarding, renewals, and redemption.
full: true
---

## GET /v2/customers/{customerId}/domains/{domain}/changeOfRegistrant

Retrieve change of registrant information

Returns current change of registrant details including status, requested contacts, and any pending approvals.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `domain` | string | yes | Domain whose change of registrant information is to be retrieved |

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Request-Id` | string | no | A client provided identifier for tracking this request. |

### Responses

**200** — Request was successful

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainChangeOfRegistrant`

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — The contact does not exist

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — There is already a similar action processing

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — `domain` must be specified

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**502** — Dependent service unavailable

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## DELETE /v2/customers/{customerId}/domains/{domain}/changeOfRegistrant

Cancel a pending change of registrant request

Cancels a pending change of registrant. Returns 202 - poll GET .../actions/CHANGE_OF_REGISTRANT_DELETE until COMPLETED, FAILED, or CANCELLED.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `domain` | string | yes | Domain whose change of registrant is to be cancelled |

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Request-Id` | string | no | A client provided identifier for tracking this request. |

### Responses

**202** — Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/CHANGE_OF_REGISTRANT_DELETE to poll status

**401** — Authentication info not sent or invalid

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — The contact does not exist

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — There is already a similar action processing

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — `domain` must be specified

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**502** — Dependent service unavailable

Content-Type: `*/*`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## PUT /v2/customers/{customerId}/domains/{domain}/nameServers

Replaces the existing name servers on the domain.

Replaces the domain's authoritative nameservers. Returns 202 - poll GET .../actions/DOMAIN_UPDATE_NAME_SERVERS until the action reaches a terminal state.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `domain` | string | yes | Domain whose name servers are to be replaced |

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Request-Id` | string | no | A client provided identifier for tracking this request. |

### Request body (required)

Name server records to replace on the domain

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainNameServerUpdateV2`

### Responses

**202** — Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DOMAIN_UPDATE_NAME_SERVERS to poll status

**400** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**401** — Request was malformed

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — The domain does not exist

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — There is already a similar action processing

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — Request body doesn't fulfill schema, see details in `fields`

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## GET /v2/customers/{customerId}/domains/{domain}

Retrieve details for the specified Domain

Returns the full DomainDetailV2 object including status, contacts, nameservers, lock state, privacy flag, and expiration timestamp.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `domain` | string | yes | Domain name whose details are to be retrieved |

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `includes` | array | no | Optional details to be included in the response |

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Request-Id` | string | no | A client provided identifier for tracking this request. |

### Responses

**200** — Request was successful

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainDetailV2`

**203** — Request was partially successful, but actions, contacts, and/or verifications may not be included.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainDetailV2`

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — The contact does not exist

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — `domain` must be specified

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## GET /v2/customers/{customerId}/domains/{domain}/privacy/forwarding

Retrieve privacy email forwarding settings showing where emails are delivered

Returns the current privacy email forwarding configuration including target address and forwarding mode.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `domain` | string | yes | Domain name whose details are to be retrieved |

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Request-Id` | string | no | A client provided identifier for tracking this request. |

### Responses

**200** — Request was successful

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainPrivacyForwarding`

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — The domain does not exist

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — `domain` must be specified

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## PATCH /v2/customers/{customerId}/domains/{domain}/privacy/forwarding

Update privacy email forwarding settings to determine how emails are delivered

Updates privacy email forwarding settings. Only fields included in the request are modified. Returns 202 - poll the actions endpoint for completion.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `domain` | string | yes | Domain name whose details are to be retrieved |

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Request-Id` | string | no | A client provided identifier for tracking this request. |

### Request body (required)

Update privacy email forwarding settings

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainPrivacyForwardingUpdate`

### Responses

**202** — Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/PRIVACY_FORWARDING_UPDATE to poll status

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — The domain does not exist

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — There is already a similar action processing

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — Request body doesn't fulfill schema, see details in `fields`

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## GET /v2/customers/{customerId}/domains/forwards/{fqdn}

Retrieve the forwarding information for the given fqdn

Returns the forwarding configuration for the FQDN including destination URL and redirect type. Returns 404 if no forwarding rule exists.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `fqdn` | string | yes | The fully qualified domain name whose forwarding details are to be retrieved. |

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `includeSubs` | boolean | no | Optionally include all sub domains if the fqdn specified is a domain and not a sub domain. |

### Responses

**200** — Request was successful

Content-Type: `application/json`

Schema:

- array
  - items:

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — Resource not found

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — A valid `fqdn` must be specified

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## POST /v2/customers/{customerId}/domains/forwards/{fqdn}

Create a new forwarding configuration for the given FQDN

Creates or replaces the forwarding configuration for the FQDN. Idempotent - replaying the same request produces the same rule. Returns 204 No Content.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you're operating on behalf of; otherwise use your own customer id. |
| `fqdn` | string | yes | The fully qualified domain name whose forwarding details are to be modified. |

### Request body (required)

Domain forwarding rule to create for the specified fqdn

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainForwardingCreate`

### Responses

**204** — Request was successful

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — Resource not found

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — Provided `fqdn` already has forwarding setup

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — Request body doesn't fulfill schema, see details in `fields`

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## DELETE /v2/customers/{customerId}/domains/forwards/{fqdn}

Submit a forwarding cancellation request for the given fqdn

Removes the forwarding configuration for the FQDN. Returns 204 No Content.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `fqdn` | string | yes | The fully qualified domain name whose forwarding details are to be deleted. |

### Responses

**204** — Request was successful

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — Resource not found

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — The domain status does not allow performing the operation

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — A valid `fqdn` must be specified

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.

## PUT /v2/customers/{customerId}/domains/forwards/{fqdn}

Modify the forwarding information for the given fqdn

Updates the forwarding configuration for the FQDN. Only fields included in the request are modified. Returns 204 No Content.

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | The Customer identifier. Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount customer identifier you're operating on behalf of. |
| `fqdn` | string | yes | The fully qualified domain name whose forwarding details are to be modified. |

### Request body (required)

Domain forwarding rule to create or replace on the fqdn

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/DomainForwardingCreate`

### Responses

**204** — Request was successful

**401** — Authentication info not sent or invalid

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — Authenticated user is not allowed access

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — Resource not found

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**409** — The domain status does not allow performing the operation

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — Request body doesn't fulfill schema, see details in `fields`

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Too many requests received within interval

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/ErrorLimit`

**500** — Internal server error

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.
