# Domain Notifications (https://developer.godaddy.com/en/docs/references/rest/domains/v2/domain-notifications)

---
title: Domain Notifications
description: >-
  Manage notification opt-in preferences, retrieve notification schemas, and
  acknowledge domain lifecycle notifications.
full: true
---

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

Retrieve the next domain notification

Returns the next unacknowledged domain notification. Returns 200 with a Notification body, or 204 if no notifications are pending.

### 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. |

### 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/DomainNotification`

**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 customer does not exist

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/notifications/optIn

Retrieve a list of notification types that are opted in

Returns the notification types the account is currently opted in to receive.

### 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. |

### 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:

- 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** — The customer does not exist

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/notifications/optIn

Opt in to receive notifications for the submitted notification types

Opts the account in to receiving the specified notification types. 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. |

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `types` | array | yes | The notification types that should be opted in |

### Header parameters

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

### Responses

**204** — Command 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** — The customer does not exist

Content-Type: `application/json`

Schema:

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

**422** — `type` 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/notifications/schemas/{type}

Retrieve the schema for the notification data for the specified notification type

Returns the JSON schema for a specific notification type's data payload. Use to validate or parse notification data before processing.

### 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. |
| `type` | string | yes | The notification type whose schema should 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/JsonSchema`

**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 schema type does not exist

Content-Type: `application/json`

Schema:

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

**422** — `type` 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/notifications/{notificationId}/acknowledge

Acknowledge a domain notification

Acknowledges a domain notification, removing it from the notification queue. 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. |
| `notificationId` | string | yes | The notification ID to acknowledge |

### Header parameters

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

### Responses

**204** — Message acknowledged

**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`

**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`.
