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

***

title: Domain Actions
description: >-
Poll the status and cancel asynchronous operations queued by domain write
requests.
full: true
\_openapi:
toc: \[]
structuredData:
headings: \[]
contents:

* content: >-
  Returns a paginated list of recent actions for the domain. Use to
  track long-running operations or audit domain history.
* content: >-
  Returns the most recent action of the specified type including status,
  timestamps, and any error details.
* content: >-
  Cancels the most recent user-initiated action if it is still in a
  cancellable state. Returns 202 Accepted.

***

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

Retrieves a list of the most recent actions for the specified domain

Returns a paginated list of recent actions for the domain. Use to track long-running operations or audit domain history.

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

- array
  - items:
      - `type` (required): string — The type of action being performed
        - enum: "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "AUTO_RENEWAL", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "CONTACT_CREATE", "CONTACT_DELETE", "CONTACT_UPDATE", "DNS_VERIFICATION", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "EXPIRY", "HOST_CREATE", "HOST_DELETE", "ICANN_VERIFICATION", "MIGRATE", "MIGRATE_IN", "PREMIUM", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT"
      - `origination` (required): string — The origination of the action
        - enum: "USER", "SYSTEM"
      - `createdAt` (required): string <iso-datetime> — Timestamp indicating when the action was created
      - `startedAt`: string <iso-datetime> — Timestamp indicating when the action was started
      - `completedAt`: string <iso-datetime> — Timestamp indicating when the action was completed
      - `modifiedAt`: string <iso-datetime> — Timestamp indicating when the action was last modified
      - `status` (required): string — The current status of the action
        - enum: "ACCEPTED", "AWAITING", "CANCELLED", "FAILED", "PENDING", "SUCCESS"
      - `reason`: object
          - `code` (required): string <constant> — Short identifier, suitable for indicating the reason for the current status and how to handle within client code
          - `message`: string — Human-readable, English description of the code
          - `fields`: array — List of the specific fields, and the errors found with their contents
              - items:
                  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
                  - `message`: string — Human-readable, English description of the problem with the contents of the field
                  - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
                  - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
      - `requestId`: string — A client provided identifier (via X-Request-Id header) used for tracking individual requests

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

**404** — The domain does not exist

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error
  - `retryAfterSec` (required): integer <integer-positive> — Number of seconds to wait before attempting a similar request

**500** — Internal server error

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

**Security:** requires `bearerAuth`.

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

Retrieves the most recent action for the specified domain

Returns the most recent action of the specified type including status, timestamps, and any error details.

### 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 action is to be retrieved |
| `type` | string | yes | The type of action to retrieve |

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

- object
  - `type` (required): string — The type of action being performed
    - enum: "AUTH_CODE_PURCHASE", "AUTH_CODE_REGENERATE", "AUTO_RENEWAL", "BACKORDER_PURCHASE", "BACKORDER_DELETE", "BACKORDER_UPDATE", "CHANGE_OF_REGISTRANT_DELETE", "CONTACT_CREATE", "CONTACT_DELETE", "CONTACT_UPDATE", "DNS_VERIFICATION", "DNSSEC_CREATE", "DNSSEC_DELETE", "DOMAIN_DELETE", "DOMAIN_UPDATE", "DOMAIN_UPDATE_CONTACTS", "DOMAIN_UPDATE_NAME_SERVERS", "EXPIRY", "HOST_CREATE", "HOST_DELETE", "ICANN_VERIFICATION", "MIGRATE", "MIGRATE_IN", "PREMIUM", "PRIVACY_PURCHASE", "PRIVACY_DELETE", "REDEEM", "REGISTER", "RENEW", "RENEW_UNDO", "TRADE", "TRADE_CANCEL", "TRADE_PURCHASE", "TRADE_PURCHASE_AUTH_TEXT_MESSAGE", "TRADE_RESEND_AUTH_EMAIL", "TRANSFER", "TRANSFER_IN", "TRANSFER_IN_ACCEPT", "TRANSFER_IN_CANCEL", "TRANSFER_IN_RESTART", "TRANSFER_IN_RETRY", "TRANSFER_OUT", "TRANSFER_OUT_ACCEPT", "TRANSFER_OUT_REJECT", "TRANSFER_OUT_REQUESTED", "TRANSIT"
  - `origination` (required): string — The origination of the action
    - enum: "USER", "SYSTEM"
  - `createdAt` (required): string <iso-datetime> — Timestamp indicating when the action was created
  - `startedAt`: string <iso-datetime> — Timestamp indicating when the action was started
  - `completedAt`: string <iso-datetime> — Timestamp indicating when the action was completed
  - `modifiedAt`: string <iso-datetime> — Timestamp indicating when the action was last modified
  - `status` (required): string — The current status of the action
    - enum: "ACCEPTED", "AWAITING", "CANCELLED", "FAILED", "PENDING", "SUCCESS"
  - `reason`: object
      - `code` (required): string <constant> — Short identifier, suitable for indicating the reason for the current status and how to handle within client code
      - `message`: string — Human-readable, English description of the code
      - `fields`: array — List of the specific fields, and the errors found with their contents
          - items:
              - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
              - `message`: string — Human-readable, English description of the problem with the contents of the field
              - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
              - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `requestId`: string — A client provided identifier (via X-Request-Id header) used for tracking individual requests

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

**404** — The domain does not exist

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error
  - `retryAfterSec` (required): integer <integer-positive> — Number of seconds to wait before attempting a similar request

**500** — Internal server error

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

**Security:** requires `bearerAuth`.

## DELETE /v2/customers/{customerId}/domains/{domain}/actions/{type}

Cancel the most recent user action for the specified domain

Cancels the most recent user-initiated action if it is still in a cancellable state. Returns 202 Accepted.

### 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 action is to be cancelled |
| `type` | string | yes | The type of action to cancel |

### Header parameters

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

### Responses

**204** — Request was successful

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

**404** — The domain does not exist

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error
  - `retryAfterSec` (required): integer <integer-positive> — Number of seconds to wait before attempting a similar request

**500** — Internal server error

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Human-readable, English description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to a field containing an error, or a field that refers to an
          - `pathRelated`: string <json-path> — JSONPath referring to a field containing an error, which is referenced by `path`
  - `message`: string — Human-readable, English description of the error

**Security:** requires `bearerAuth`.
