GoDaddy Domains

Domain registration and DNS management

developer.godaddy.com ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
53
Schemas
104
Updated
3 days ago
Infrastructure domains dns infrastructure
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

//api.ote-godaddy.com

Authentication

apiKey apiKey

Endpoints

Clear filters

Actions 2 endpoints

GET /v2/customers/{customerId}/domains/{domain}/actions
operationId: Actions_getRecentList

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
customerId path required string The Customer identifier<br/> 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 shopper id.
domain path required string Domain whose actions are to be retrieved

Responses

200 Request was successful
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The domain does not exist
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/{domain}/actions
GET /v2/customers/{customerId}/domains/{domain}/actions/{type}
operationId: Actions_getRecentAction

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
customerId path required string The Customer identifier<br/> 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 shopper id.
domain path required string Domain whose action is to be retrieved
type path required string The type of action to retrieve

Responses

200 Request was successful
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The domain does not exist
409 The domain status does not allow performing the operation
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/{domain}/actions/{type}

Domains 5 endpoints

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

<strong>Notes:</strong><ul><li>**shopperId** is **not the same** as **customerId**. **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>

operationId: Domains_getForwardingInfo

Parameters

Name In Required Type Description
customerId path required string The Customer identifier<br/> 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 shopper id.
fqdn path required string The fully qualified domain name whose forwarding details are to be retrieved.
includeSubs query optional boolean Optionally include all sub domains if the fqdn specified is a domain and not a sub domain.

Responses

200 Request was successful
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 Resource not found
422 A valid `fqdn` must be specified
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/forwards/{fqdn}
GET /v2/customers/{customerId}/domains/register/schema/{tld}
operationId: Domains_getRegisterSchema

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
customerId path required string The Customer identifier<br/> 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 shopper id.
tld path required string The Top-Level Domain whose schema should be retrieved

Responses

200 Request was successful
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The tld does not exist
422 `tld` must be specified
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/register/schema/{tld}
GET /v2/customers/{customerId}/domains/{domain}
operationId: Domains_getDetails

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
customerId path required string The Customer identifier<br/> 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 shopper id.
domain path required string Domain name whose details are to be retrieved
includes query optional array Optional details to be included in the response

Responses

200 Request was successful
203 Request was partially successful, but actions, contacts, and/or verifications may not be included.
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The contact does not exist
422 `domain` must be specified
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/{domain}
GET /v2/domains/maintenances
operationId: Domains_getUpcomingMaintenancesList

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
status query optional string Only include results with the selected `status` value. Returns all results if omitted<br/><ul><li><strong style='margin-left: 12px;'>ACTIVE</strong> - The upcoming maintenance is active.</li><li><strong style='margin-left: 12px;'>CANCELLED</strong> - The upcoming maintenance has been cancelled.</li></ul>
modifiedAtAfter query optional string Only include results with `modifiedAt` after the supplied date
startsAtAfter query optional string Only include results with `startsAt` after the supplied date
limit query optional integer Maximum number of results to return

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
422 Filter parameters don't match schema and/or restrictions
429 Too many requests received within interval
500 Internal server error
GET /v2/domains/maintenances
GET /v2/domains/maintenances/{maintenanceId}
operationId: Domains_getUpcomingMaintenanceDetails

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
maintenanceId path required string The identifier for the system maintenance

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The maintenance does not exist
429 Too many requests received within interval
500 Internal server error
GET /v2/domains/maintenances/{maintenanceId}

Notifications 3 endpoints

GET /v2/customers/{customerId}/domains/notifications
operationId: Notifications_getNextDomain

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
customerId path required string The Customer identifier<br/> 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 shopper id.

Responses

200 Request was successful
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The customer does not exist
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/notifications
GET /v2/customers/{customerId}/domains/notifications/optIn
operationId: Notifications_listOptedInTypes

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
customerId path required string The Customer identifier<br/> 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 shopper id.

Responses

200 Request was successful
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The customer does not exist
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/notifications/optIn
GET /v2/customers/{customerId}/domains/notifications/schemas/{type}
operationId: Notifications_getSchema

Parameters

Name In Required Type Description
X-Request-Id header optional string A client provided identifier for tracking this request.
customerId path required string The Customer identifier<br/> 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 shopper id.
type path required string The notification type whose schema should be retrieved

Responses

200 Request was successful
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 The schema type does not exist
422 `type` must be specified
429 Too many requests received within interval
500 Internal server error
GET /v2/customers/{customerId}/domains/notifications/schemas/{type}

V1 8 endpoints

GET /v1/domains
operationId: V1_getDomainsList

Parameters

Name In Required Type Description
X-Shopper-Id header optional string Shopper ID whose domains are to be retrieved
statuses query optional array Only include results with `status` value in the specified set
statusGroups query optional array Only include results with `status` value in any of the specified groups
limit query optional integer Maximum number of domains to return
marker query optional string Marker Domain to use as the offset in results
includes query optional array Optional details to be included in the response
modifiedDate query optional string Only include results that have been modified since the specified date

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
422 Limit must have a value no greater than 1000
429 Too many requests received within interval
500 Internal server error
GET /v1/domains
GET /v1/domains/agreements
operationId: V1_getLegalAgreements

Parameters

Name In Required Type Description
X-Market-Id header optional string Unique identifier of the Market used to retrieve/translate Legal Agreements
tlds query required array list of TLDs whose legal agreements are to be retrieved
privacy query required boolean Whether or not privacy has been requested
forTransfer query optional boolean Whether or not domain tranfer has been requested

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 Resource not found
429 Too many requests received within interval
500 Internal server error
GET /v1/domains/agreements
GET /v1/domains/available
operationId: V1_checkDomainAvailability

Parameters

Name In Required Type Description
domain query required string Domain name whose availability is to be checked
checkType query optional string Optimize for time ('FAST') or accuracy ('FULL')
forTransfer query optional boolean Whether or not to include domains available for transfer. If set to True, checkType is ignored

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
422 Cannot convert domain label error<br>Domain is missing IDN script<br>Domain segment ends with dash<br>Domain starts with dashbr>Domain uses unsupported IDN script<br>FQDN fails generic validity regex<br>Invalid character(s) error<br>Invalid tld error<br>Non-IDN domain name must not have dashes at the third and fourth position<br>Reserved name error<br>domain must be specified
429 Too many requests received within interval
500 Internal server error
GET /v1/domains/available
GET /v1/domains/purchase/schema/{tld}
operationId: V1_getDomainSchema

Parameters

Name In Required Type Description
tld path required string The Top-Level Domain whose schema should be retrieved

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 Resource not found
422 `tld` must be specified
429 Too many requests received within interval
500 Internal server error
GET /v1/domains/purchase/schema/{tld}
GET /v1/domains/suggest
operationId: V1_suggestAlternateDomains

Parameters

Name In Required Type Description
X-Shopper-Id header optional string Shopper ID for which the suggestions are being generated
query query optional string Domain name or set of keywords for which alternative domain names will be suggested
country query optional string Two-letter ISO country code to be used as a hint for target region<br/><br/> NOTE: These are sample values, there are many <a href="http://www.iso.org/iso/country_codes.htm">more</a>
city query optional string Name of city to be used as a hint for target region
sources query optional array Sources to be queried<br/><br/><ul> <li><strong>CC_TLD</strong> - Varies the TLD using Country Codes</li> <li><strong>EXTENSION</strong> - Varies the TLD</li> <li><strong>KEYWORD_SPIN</strong> - Identifies keywords and then rotates each one</li> <li><strong>PREMIUM</strong> - Includes variations with premium prices</li></ul>
tlds query optional array Top-level domains to be included in suggestions<br/><br/> NOTE: These are sample values, there are many <a href="http://www.godaddy.com/tlds/gtld.aspx#domain_search_form">more</a>
lengthMax query optional integer Maximum length of second-level domain
lengthMin query optional integer Minimum length of second-level domain
limit query optional integer Maximum number of suggestions to return
waitMs query optional integer Maximum amount of time, in milliseconds, to wait for responses If elapses, return the results compiled up to that point

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 Resource not found
422 `query` must be specified
429 Too many requests received within interval
500 Internal server error
504 Gateway timeout
GET /v1/domains/suggest
GET /v1/domains/tlds
operationId: V1_getTldsList

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
429 Too many requests received within interval
500 Internal server error
GET /v1/domains/tlds
GET /v1/domains/{domain}
operationId: V1_getDomainDetails

Parameters

Name In Required Type Description
X-Shopper-Id header optional string Shopper ID expected to own the specified domain
domain path required string Domain name whose details are to be retrieved

Responses

200 Request was successful
203 Request was partially successful, see verifications.status for further detail
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 Resource not found
422 `domain` must be specified
429 Too many requests received within interval
500 Internal server error
GET /v1/domains/{domain}
GET /v1/domains/{domain}/records/{type}/{name}
operationId: V1_getDnsRecords

Parameters

Name In Required Type Description
X-Shopper-Id header optional string Shopper ID which owns the domain. NOTE: This is only required if you are a Reseller managing a domain purchased outside the scope of your reseller account. For instance, if you're a Reseller, but purchased a Domain via http://www.godaddy.com
domain path required string Domain whose DNS Records are to be retrieved
type path required string DNS Record Type for which DNS Records are to be retrieved
name path required string DNS Record Name for which DNS Records are to be retrieved
offset query optional integer Number of results to skip for pagination
limit query optional integer Maximum number of items to return

Responses

200 Request was successful
400 Request was malformed
401 Authentication info not sent or invalid
403 Authenticated user is not allowed access
404 Resource not found
422 `record` does not fulfill the schema<br>`domain` is not a valid Domain name
429 Too many requests received within interval
500 Internal server error
504 Gateway timeout
GET /v1/domains/{domain}/records/{type}/{name}

Schemas

object Action
{
  "required": [
    "type",
    "origination",
    "createdAt",
    "status"
  ],
  "properties": {
    "type": {
      "enum": [
        "AUTH_CODE_PURCHASE",
        "AUTH_CODE_REGENERATE",
        "AUTO_RENEWAL",
        "BACKORDER_PURCHASE",
        "BACKORDER_DELETE",
        "BACKORDER_UPDATE",
        "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"
      ],
      "type": "string",
      "description": "The type of action being performed<br/><ul><li><strong style='margin-left: 12px;'>AUTH_CODE_PURCHASE</strong> - Request for an auth code for a .de domain via POST /v2/customers/{customerId}/domains/{domain}/purchaseAuthCode.</li><li><strong style='margin-left: 12px;'>AUTH_CODE_REGENERATE</strong> - Request to regenerate the authCode for a domain via POST /v2/customers/{customerId}/domains/{domain}/regenerateAuthCode</li><li><strong style='margin-left: 12px;'>AUTO_RENEWAL</strong> - A Domain Auto Renew is in progress.</li><li><strong style='margin-left: 12px;'>BACKORDER_PURCHASE</strong> - Request to purchase a domain backorder via POST /v2/customers/{customerId}/domains/backorders/purchase.</li><li><strong style='margin-left: 12px;'>BACKORDER_DELETE</strong> - Request to cancel the current domain backorder via DELETE /v2/customers/{customerId}/domains/backorders/{domain}.</li><li><strong style='margin-left: 12px;'>BACKORDER_UPDATE</strong> - Request update the current domain backorder via PATCH /v2/customers/{customerId}/domains/backorders/{domain}.</li><li><strong style='margin-left: 12px;'>CONTACT_CREATE</strong> - Request to create a contact via POST /v2/customers/{customerId}/domains/contacts.</li><li><strong style='margin-left: 12px;'>CONTACT_DELETE</strong> - Request to delete a contact via DELETE /v2/customers/{customerId}/domains/contacts/{contactId}</li><li><strong style='margin-left: 12px;'>CONTACT_UPDATE</strong> - Request to update a contact via PATCH /v2/customers/{customerId}/domains/contacts/{contactId}</li><li><strong style='margin-left: 12px;'>DNS_VERIFICATION</strong> - Domain requires zone file setup.</li><li><strong style='margin-left: 12px;'>DNSSEC_CREATE</strong> - Request to create DNSSEC record for the domain via PATCH /v2/customers/{customerId}/domains/{domain}/dnssecRecords.</li><li><strong style='margin-left: 12px;'>DNSSEC_DELETE</strong> - Request to delete DNSSEC record for the domain via DELETE /v2/customers/{customerId}/domains/{domain}/dnssecRecords.</li><li><strong style='margin-left: 12px;'>DOMAIN_DELETE</strong> - Request to delete the domain via DELETE /v2/customers/{customerId}/domains/{domain}</li><li><strong style='margin-left: 12px;'>DOMAIN_UPDATE</strong> - Request to update the domain via PATCH /v2/customers/{customerId}/domains/{domain}</li><li><strong style='margin-left: 12px;'>DOMAIN_UPDATE_CONTACTS</strong> -Request to update the domain contacts via PATCH /v2/customers/{customerId}/domains/{domain}/contacts</li><li><strong style='margin-left: 12px;'>DOMAIN_UPDATE_NAME_SERVERS</strong> - Request to update the domain name servers via PUT /v2/customers/{customerId}/domains/{domain}/nameServers</li><li><strong style='margin-left: 12px;'>EXPIRY</strong> - A Domain Expiration is in progress.</li><li><strong style='margin-left: 12px;'>HOST_CREATE</strong> - Request to create a hostname via PUT /v2/customers/{customerId}/domains/{domain}/hosts/{hostname}</li><li><strong style='margin-left: 12px;'>HOST_DELETE</strong> - Request to delete a hostname via DELETE /v2/customers/{customerId}/domains/{domain}/hosts/{hostname}</li><li><strong style='margin-left: 12px;'>ICANN_VERIFICATION</strong> - Domain requires registrant verification for Icann.</li><li><strong style='margin-left: 12px;'>PREMIUM</strong> - Premium Domain domain sale is in progress.</li><li><strong style='margin-left: 12px;'>PRIVACY_PURCHASE</strong> - Request to purchase privacy for a domain via POST /v2/customers/{customerId}/domains/{domain}/privacy/purchase</li><li><strong style='margin-left: 12px;'>PRIVACY_DELETE</strong> - Request to remove privacy from a domain via DELETE /v2/customers/{customerId}/domains/{domain}/privacy</li><li><strong style='margin-left: 12px;'>REDEEM</strong> - Request to redeem a domain via POST /v2/customers/{customerId}/domains/{domain}/redeem</li><li><strong style='margin-left: 12px;'>REGISTER</strong> - Request to register a domain via POST /v2/customers/{customerId}/domains/{domain}/register</li><li><strong style='margin-left: 12px;'>RENEW</strong> - Request to renew a domain via POST /v2/customers/{customerId}/domains/{domain}/renew</li><li><strong style='margin-left: 12px;'>RENEW_UNDO</strong> - Request to undo a renewal for a uk domain via POST /v2/customers/{customerId}/domains/{domain}/undoRenew</li><li><strong style='margin-left: 12px;'>TRADE</strong> - A domain trade request is in progress</li><li><strong style='margin-left: 12px;'>TRADE_CANCEL</strong> - Request to cancel a trade for a domain via POST /v2/customers/{customerId}/domains/{domain}/tradeCancel</li><li><strong style='margin-left: 12px;'>TRADE_PURCHASE</strong> - Request to purchase a trade for a domain via POST /v2/customers/{customerId}/domains/{domain}/tradePurchase</li><li><strong style='margin-left: 12px;'>TRADE_PURCHASE_AUTH_TEXT_MESSAGE</strong> - Request for a trade purchase text message for a domain via POST /v2/customers/{customerId}/domains/{domain}/tradePurchaseAuthorizationTextMessage</li><li><strong style='margin-left: 12px;'>TRADE_RESEND_AUTH_EMAIL</strong> - Request to resend the trade auth email message for a domain via POST /v2/customers/{customerId}/domains/{domain}/tradeResendAuthorizationEmail</li><li><strong style='margin-left: 12px;'>TRANSFER</strong> - Request to transfer a domain via POST /v2/customers/{customerId}/domains/{domain}/transfer</li><li><strong style='margin-left: 12px;'>TRANSFER_IN</strong> - A domain transfer in request is in progress.</li><li><strong style='margin-left: 12px;'>TRANSFER_IN_ACCEPT</strong> - Request to accept a domain transfer in via POST /v2/customers/{customerId}/domains/{domain}/transferInAccept</li><li><strong style='margin-left: 12px;'>TRANSFER_IN_CANCEL</strong> - Request to cancel a domain transfer via POST /v2/customers/{customerId}/domains/{domain}/transferInCancel</li><li><strong style='margin-left: 12px;'>TRANSFER_IN_RESTART</strong> - Request to restart a domain transfer in via POST /v2/customers/{customerId}/domains/{domain}/transferInRestart</li><li><strong style='margin-left: 12px;'>TRANSFER_IN_RETRY</strong> - Request to retry a domain transfer in via POST /v2/customers/{customerId}/domains/{domain}/transferInRetry</li><li><strong style='margin-left: 12px;'>TRANSFER_OUT</strong> - A domain transfer out request is in progress.</li><li><strong style='margin-left: 12px;'>TRANSFER_OUT_ACCEPT</strong> - Request to accept a transfer out request for a domain via POST /v2/customers/{customerId}/domains/{domain}/transferOutAccept</li><li><strong style='margin-left: 12px;'>TRANSFER_OUT_REJECT</strong> - Request to reject a transfer out request for a domain via POST /v2/customers/{customerId}/domains/{domain}/transferOutReject</li><li><strong style='margin-left: 12px;'>TRANSFER_OUT_REQUESTED</strong> - Request to transfer out for a domain (.de) via POST /v2/customers/{customerId}/domains/{domain}/transferOut</li><li><strong style='margin-left: 12px;'>TRANSIT</strong> - Request to transit a de or at domain at the registry via POST /v2/customers/{customerId}/domains/{domain}/transit</li></ul>"
    },
    "reason": {
      "$ref": "#/components/schemas/ActionReason"
    },
    "status": {
      "enum": [
        "ACCEPTED",
        "AWAITING",
        "CANCELLED",
        "FAILED",
        "PENDING",
        "SUCCESS"
      ],
      "type": "string",
      "default": "ACCEPTED",
      "description": "The current status of the action<br/><ul><li><strong style='margin-left: 12px;'>ACCEPTED</strong> - The action has been queued, processing has not started.</li><li><strong style='margin-left: 12px;'>AWAITING</strong> - The action is waiting on a user input.</li><li><strong style='margin-left: 12px;'>CANCELLED</strong> - The action has been cancelled by the user.</li><li><strong style='margin-left: 12px;'>FAILED</strong> - An error occurred while the action was processing, no more processing will be performed.</li><li><strong style='margin-left: 12px;'>PENDING</strong> - The action is being processed.</li><li><strong style='margin-left: 12px;'>SUCCESS</strong> - The action has completed, no additional processing is required.</li></ul>"
    },
    "createdAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the action was created"
    },
    "requestId": {
      "type": "string",
      "description": "A client provided identifier (via X-Request-Id header) used for tracking individual requests"
    },
    "startedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the action was started"
    },
    "modifiedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the action was last modified"
    },
    "completedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the action was completed"
    },
    "origination": {
      "enum": [
        "USER",
        "SYSTEM"
      ],
      "type": "string",
      "description": "The origination of the action<br/><ul><li><strong style='margin-left: 12px;'>USER</strong> - These are user requests.</li><li><strong style='margin-left: 12px;'>SYSTEM</strong> - These are system processing actions.</li></ul>"
    }
  }
}
object ActionReason
{
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "format": "constant",
      "pattern": "^[A-Z_][A-Z0-9_]*$",
      "description": "Short identifier, suitable for indicating the reason for the current status and how to handle within client code"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ErrorField"
      },
      "description": "List of the specific fields, and the errors found with their contents"
    },
    "message": {
      "type": "string",
      "description": "Human-readable, English description of the code"
    }
  },
  "additionalProperties": false
}
array ActionsGetRecentListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Action"
  }
}
object Address
{
  "required": [
    "address1",
    "city",
    "state",
    "postalCode",
    "country"
  ],
  "properties": {
    "city": {
      "type": "string",
      "format": "city-name"
    },
    "state": {
      "type": "string",
      "format": "state-province-territory",
      "description": "State or province or territory"
    },
    "country": {
      "enum": [
        "AC",
        "AD",
        "AE",
        "AF",
        "AG",
        "AI",
        "AL",
        "AM",
        "AO",
        "AQ",
        "AR",
        "AS",
        "AT",
        "AU",
        "AW",
        "AX",
        "AZ",
        "BA",
        "BB",
        "BD",
        "BE",
        "BF",
        "BG",
        "BH",
        "BI",
        "BJ",
        "BM",
        "BN",
        "BO",
        "BQ",
        "BR",
        "BS",
        "BT",
        "BV",
        "BW",
        "BY",
        "BZ",
        "CA",
        "CC",
        "CD",
        "CF",
        "CG",
        "CH",
        "CI",
        "CK",
        "CL",
        "CM",
        "CN",
        "CO",
        "CR",
        "CV",
        "CW",
        "CX",
        "CY",
        "CZ",
        "DE",
        "DJ",
        "DK",
        "DM",
        "DO",
        "DZ",
        "EC",
        "EE",
        "EG",
        "EH",
        "ER",
        "ES",
        "ET",
        "FI",
        "FJ",
        "FK",
        "FM",
        "FO",
        "FR",
        "GA",
        "GB",
        "GD",
        "GE",
        "GF",
        "GG",
        "GH",
        "GI",
        "GL",
        "GM",
        "GN",
        "GP",
        "GQ",
        "GR",
        "GS",
        "GT",
        "GU",
        "GW",
        "GY",
        "HK",
        "HM",
        "HN",
        "HR",
        "HT",
        "HU",
        "ID",
        "IE",
        "IL",
        "IM",
        "IN",
        "IO",
        "IQ",
        "IS",
        "IT",
        "JE",
        "JM",
        "JO",
        "JP",
        "KE",
        "KG",
        "KH",
        "KI",
        "KM",
        "KN",
        "KR",
        "KV",
        "KW",
        "KY",
        "KZ",
        "LA",
        "LB",
        "LC",
        "LI",
        "LK",
        "LR",
        "LS",
        "LT",
        "LU",
        "LV",
        "LY",
        "MA",
        "MC",
        "MD",
        "ME",
        "MG",
        "MH",
        "MK",
        "ML",
        "MM",
        "MN",
        "MO",
        "MP",
        "MQ",
        "MR",
        "MS",
        "MT",
        "MU",
        "MV",
        "MW",
        "MX",
        "MY",
        "MZ",
        "NA",
        "NC",
        "NE",
        "NF",
        "NG",
        "NI",
        "NL",
        "NO",
        "NP",
        "NR",
        "NU",
        "NZ",
        "OM",
        "PA",
        "PE",
        "PF",
        "PG",
        "PH",
        "PK",
        "PL",
        "PM",
        "PN",
        "PR",
        "PS",
        "PT",
        "PW",
        "PY",
        "QA",
        "RE",
        "RO",
        "RS",
        "RU",
        "RW",
        "SA",
        "SB",
        "SC",
        "SE",
        "SG",
        "SH",
        "SI",
        "SJ",
        "SK",
        "SL",
        "SM",
        "SN",
        "SO",
        "SR",
        "ST",
        "SV",
        "SX",
        "SZ",
        "TC",
        "TD",
        "TF",
        "TG",
        "TH",
        "TJ",
        "TK",
        "TL",
        "TM",
        "TN",
        "TO",
        "TP",
        "TR",
        "TT",
        "TV",
        "TW",
        "TZ",
        "UA",
        "UG",
        "UM",
        "US",
        "UY",
        "UZ",
        "VA",
        "VC",
        "VE",
        "VG",
        "VI",
        "VN",
        "VU",
        "WF",
        "WS",
        "YE",
        "YT",
        "ZA",
        "ZM",
        "ZW"
      ],
      "type": "string",
      "format": "iso-country-code",
      "default": "US",
      "description": "Two-letter ISO country code to be used as a hint for target region<br/><br/>\nNOTE: These are sample values, there are many\n<a href='http://www.iso.org/iso/country_codes.htm'>more</a>"
    },
    "address1": {
      "type": "string",
      "format": "street-address"
    },
    "address2": {
      "type": "string",
      "format": "street-address2"
    },
    "postalCode": {
      "type": "string",
      "format": "postal-code",
      "description": "Postal or zip code"
    }
  }
}
array ArrayOfDNSRecord
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
object Consent
{
  "required": [
    "agreementKeys",
    "agreedBy",
    "agreedAt"
  ],
  "properties": {
    "agreedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the end-user consented to these legal agreements"
    },
    "agreedBy": {
      "type": "string",
      "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements"
    },
    "agreementKeys": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Unique identifiers of the legal agreements to which the end-user has agreed, as returned from the/domains/agreements endpoint"
    }
  }
}
object ConsentDomainUpdate
{
  "required": [
    "agreementKeys",
    "agreedBy",
    "agreedAt"
  ],
  "properties": {
    "agreedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the end-user consented to these agreements"
    },
    "agreedBy": {
      "type": "string",
      "description": "Originating client IP address of the end-user's computer when they consented to the agreements"
    },
    "agreementKeys": {
      "type": "array",
      "items": {
        "enum": [
          "EXPOSE_WHOIS"
        ],
        "type": "string"
      },
      "description": "Unique identifiers of the agreements to which the end-user has agreed, as required by the elements being updated<br/><ul><li><strong style='margin-left: 12px;'>EXPOSE_WHOIS</strong> - Required when the exposeWhois field is updated to true</li></ul>"
    }
  }
}
object ConsentRedemption
{
  "required": [
    "price",
    "fee",
    "currency",
    "agreedBy",
    "agreedAt"
  ],
  "properties": {
    "fee": {
      "type": "integer",
      "format": "currency-micro-unit",
      "description": "Fee charged for the domain redemption. Please use GET /v2/customers/{customerId}/domains/{domain} to retrieve the redemption fee and currency for the domain"
    },
    "price": {
      "type": "integer",
      "format": "currency-micro-unit",
      "description": "Price for the domain renewal (if domain renewal required for redemption). Please use GET /v2/customers/{customerId}/domains/{domain} to retrieve the redemption price and currency for the domain"
    },
    "agreedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the end-user consented to these legal agreements"
    },
    "agreedBy": {
      "type": "string",
      "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements"
    },
    "currency": {
      "type": "string",
      "format": "iso-currency-code",
      "default": "USD",
      "pattern": "^[A-Z][A-Z][A-Z]$",
      "description": "Currency in which the `price` and `fee` are listed"
    }
  },
  "additionalProperties": false
}
object ConsentRenew
{
  "required": [
    "price",
    "currency",
    "agreedBy",
    "agreedAt"
  ],
  "properties": {
    "price": {
      "type": "integer",
      "format": "currency-micro-unit",
      "description": "Price of the domain excluding taxes or fees. Please use GET /v2/customers/{customerId}/domains/{domain} to retrieve the renewal price and currency for the domain"
    },
    "agreedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the end-user consented to these legal agreements"
    },
    "agreedBy": {
      "type": "string",
      "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements"
    },
    "currency": {
      "type": "string",
      "format": "iso-currency-code",
      "default": "USD",
      "pattern": "^[A-Z][A-Z][A-Z]$",
      "description": "Currency in which the `price` is listed"
    },
    "registryPremiumPricing": {
      "type": "boolean",
      "description": "Only required for hosted registrar if domain is premium. If true indicates that the `price` and `currency` listed are the registry premium price and currency for the domain"
    }
  },
  "additionalProperties": false
}
object ConsentV2
{
  "required": [
    "agreementKeys",
    "price",
    "currency",
    "agreedBy",
    "agreedAt"
  ],
  "properties": {
    "price": {
      "type": "integer",
      "format": "currency-micro-unit",
      "description": "Price of the domain excluding taxes or fees. Please use GET /v1/domains/available to retrieve the price and currency for the domain"
    },
    "agreedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the end-user consented to these legal agreements"
    },
    "agreedBy": {
      "type": "string",
      "description": "Originating client IP address of the end-user's computer when they consented to these legal agreements"
    },
    "currency": {
      "type": "string",
      "format": "iso-currency-code",
      "default": "USD",
      "pattern": "^[A-Z][A-Z][A-Z]$",
      "description": "Currency in which the `price` is listed"
    },
    "claimToken": {
      "type": "string",
      "description": "The trademark claim token, only needed if the domain has an active trademark claim"
    },
    "agreementKeys": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Unique identifiers of the legal agreements to which the end-user has agreed, as returned from the/domains/agreements endpoint"
    },
    "registryPremiumPricing": {
      "type": "boolean",
      "description": "Only required for hosted registrar if domain is premium. If true indicates that the `price` and `currency` listed are the registry premium price and currency for the domain"
    }
  },
  "additionalProperties": false
}
object Contact
{
  "required": [
    "nameFirst",
    "nameLast",
    "email",
    "phone",
    "addressMailing"
  ],
  "properties": {
    "fax": {
      "type": "string",
      "format": "phone"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "phone": {
      "type": "string",
      "format": "phone"
    },
    "jobTitle": {
      "type": "string"
    },
    "nameLast": {
      "type": "string",
      "format": "person-name"
    },
    "nameFirst": {
      "type": "string",
      "format": "person-name"
    },
    "nameMiddle": {
      "type": "string"
    },
    "organization": {
      "type": "string",
      "format": "organization-name"
    },
    "addressMailing": {
      "$ref": "#/components/schemas/Address"
    }
  }
}
object ContactDomain
{
  "required": [
    "nameFirst",
    "nameLast",
    "email",
    "phone",
    "addressMailing",
    "exposeWhois"
  ],
  "properties": {
    "fax": {
      "type": "string",
      "format": "phone",
      "maxLength": 17
    },
    "tlds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tlds that this contact can be assigned to"
    },
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 80
    },
    "phone": {
      "type": "string",
      "format": "phone",
      "maxLength": 17
    },
    "_deleted": {
      "type": "boolean",
      "description": "Flag indicating if the contact has been logically deleted in the system"
    },
    "encoding": {
      "enum": [
        "ASCII",
        "UTF-8"
      ],
      "type": "string",
      "default": "ASCII",
      "description": "The encoding of the contact data<br/><ul><li><strong style='margin-left: 12px;'>ASCII</strong> - Data contains only ASCII characters that are not region or language specific</li><li><strong style='margin-left: 12px;'>UTF-8</strong> - Data contains characters that are specific to a region or language</li></ul>"
    },
    "jobTitle": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "description": "The contact eligibility data fields as specified by GET /v2/customers/{customerId}/domains/contacts/schema/{tld}"
    },
    "nameLast": {
      "type": "string",
      "format": "person-name",
      "maxLength": 30
    },
    "_revision": {
      "type": "integer",
      "description": "The current revision number of the contact."
    },
    "contactId": {
      "type": "string",
      "description": "Unique identifier for this Contact"
    },
    "nameFirst": {
      "type": "string",
      "format": "person-name",
      "maxLength": 30
    },
    "_createdAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the contact was created"
    },
    "nameMiddle": {
      "type": "string"
    },
    "_modifiedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Timestamp indicating when the contact was last modified"
    },
    "exposeWhois": {
      "type": "boolean",
      "description": "Whether or not the contact details should be shown in the WHOIS"
    },
    "organization": {
      "type": "string",
      "format": "organization-name",
      "maxLength": 100
    },
    "addressMailing": {
      "$ref": "#/components/schemas/Address"
    }
  }
}
object ContactDomainCreate
{
  "required": [
    "encoding",
    "nameFirst",
    "nameLast",
    "email",
    "phone",
    "addressMailing"
  ],
  "properties": {
    "fax": {
      "type": "string",
      "format": "phone",
      "maxLength": 17
    },
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 80
    },
    "phone": {
      "type": "string",
      "format": "phone",
      "maxLength": 17
    },
    "encoding": {
      "enum": [
        "ASCII",
        "UTF-8"
      ],
      "type": "string",
      "default": "ASCII",
      "description": "The encoding of the contact data<br/><ul><li><strong style='margin-left: 12px;'>ASCII</strong> - Data contains only ASCII characters that are not region or language specific</li><li><strong style='margin-left: 12px;'>UTF-8</strong> - Data contains characters that are specific to a region or language</li></ul>"
    },
    "jobTitle": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "description": "The contact eligibility data fields as specified by GET /v2/customers/{customerId}/domains/contacts/schema/{tld}"
    },
    "nameLast": {
      "type": "string",
      "format": "person-name",
      "maxLength": 30
    },
    "nameFirst": {
      "type": "string",
      "format": "person-name",
      "maxLength": 30
    },
    "nameMiddle": {
      "type": "string"
    },
    "organization": {
      "type": "string",
      "format": "organization-name",
      "maxLength": 100
    },
    "addressMailing": {
      "$ref": "#/components/schemas/Address"
    }
  },
  "additionalProperties": false
}
object DNSRecord
{
  "required": [
    "type",
    "name",
    "data"
  ],
  "properties": {
    "ttl": {
      "type": "integer",
      "format": "integer-positive"
    },
    "data": {
      "type": "string"
    },
    "name": {
      "type": "string",
      "format": "domain"
    },
    "port": {
      "type": "integer",
      "maximum": 65535,
      "minimum": 1,
      "description": "Service port (SRV only)"
    },
    "type": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "SOA",
        "SRV",
        "TXT"
      ],
      "type": "string"
    },
    "weight": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Record weight (SRV only)"
    },
    "service": {
      "type": "string",
      "description": "Service type (SRV only)"
    },
    "priority": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Record priority (MX and SRV only)"
    },
    "protocol": {
      "type": "string",
      "description": "Service protocol (SRV only)"
    }
  }
}
object DNSRecordCreateType
{
  "required": [
    "name",
    "data"
  ],
  "properties": {
    "ttl": {
      "type": "integer",
      "format": "integer-positive"
    },
    "data": {
      "type": "string"
    },
    "name": {
      "type": "string",
      "format": "domain"
    },
    "port": {
      "type": "integer",
      "maximum": 65535,
      "minimum": 1,
      "description": "Service port (SRV only)"
    },
    "weight": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Record weight (SRV only)"
    },
    "service": {
      "type": "string",
      "description": "Service type (SRV only)"
    },
    "priority": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Record priority (MX and SRV only)"
    },
    "protocol": {
      "type": "string",
      "description": "Service protocol (SRV only)"
    }
  }
}
object DNSRecordCreateTypeName
{
  "required": [
    "data"
  ],
  "properties": {
    "ttl": {
      "type": "integer",
      "format": "integer-positive"
    },
    "data": {
      "type": "string"
    },
    "port": {
      "type": "integer",
      "maximum": 65535,
      "minimum": 1,
      "description": "Service port (SRV only)"
    },
    "weight": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Record weight (SRV only)"
    },
    "service": {
      "type": "string",
      "description": "Service type (SRV only)"
    },
    "priority": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Record priority (MX and SRV only)"
    },
    "protocol": {
      "type": "string",
      "description": "Service protocol (SRV only)"
    }
  }
}
object DomainAvailableBulk
{
  "required": [
    "domains"
  ],
  "properties": {
    "domains": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DomainAvailableResponse"
      },
      "description": "Domain available response array"
    }
  }
}
object DomainAvailableBulkMixed
{
  "required": [
    "domains"
  ],
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DomainAvailableError"
      },
      "description": "Errors encountered while performing a domain available check"
    },
    "domains": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DomainAvailableResponse"
      },
      "description": "Domain available response array"
    }
  }
}
object DomainAvailableError
{
  "required": [
    "code",
    "domain",
    "path",
    "status"
  ],
  "properties": {
    "code": {
      "type": "string",
      "format": "constant",
      "description": "Short identifier for the error, suitable for indicating the specific error within client code"
    },
    "path": {
      "type": "string",
      "format": "json-path",
      "description": "<ul>\n<li style='margin-left: 12px;'>JSONPath referring to a field containing an error</li>\n<strong style='margin-left: 12px;'>OR</strong>\n<li style='margin-left: 12px;'>JSONPath referring to a field that refers to an object containing an error, with more detail in `pathRelated`</li>\n</ul>"
    },
    "domain": {
      "type": "string",
      "description": "Domain name"
    },
    "status": {
      "type": "integer",
      "description": "HTTP status code that would return for a single check"
    },
    "message": {
      "type": "string",
      "description": "Human-readable, English description of the error"
    }
  }
}
object DomainAvailableResponse
{
  "required": [
    "domain",
    "available",
    "definitive"
  ],
  "properties": {
    "price": {
      "type": "integer",
      "format": "currency-micro-unit",
      "description": "Price of the domain excluding taxes or fees. Only returned if tld is offered"
    },
    "domain": {
      "type": "string",
      "description": "Domain name"
    },
    "period": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Number of years included in the price. Only returned if tld is offered"
    },
    "currency": {
      "type": "string",
      "format": "iso-currency-code",
      "default": "USD",
      "description": "Currency in which the `price` is listed. Only returned if tld is offered"
    },
    "available": {
      "type": "boolean",
      "description": "Whether or not the domain name is available"
    },
    "definitive": {
      "type": "boolean",
      "description": "Whether or not the `available` answer has been definitively verified with the registry"
    }
  }
}
object DomainContacts
{
  "required": [
    "contactRegistrant"
  ],
  "properties": {
    "contactTech": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactAdmin": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactBilling": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactRegistrant": {
      "$ref": "#/components/schemas/Contact"
    }
  }
}
object DomainContactsCreateV2
{
  "type": "object",
  "properties": {
    "tech": {
      "$ref": "#/components/schemas/ContactDomainCreate"
    },
    "admin": {
      "$ref": "#/components/schemas/ContactDomainCreate"
    },
    "techId": {
      "type": "string",
      "description": "Unique identifier of the contact that the user wants to use for the domain tech contact. This can be specified instead of the `tech` property.\n"
    },
    "adminId": {
      "type": "string",
      "description": "Unique identifier of the contact that the user wants to use for the domain admin contact. This can be specified instead of the `admin` property.\n"
    },
    "billing": {
      "$ref": "#/components/schemas/ContactDomainCreate"
    },
    "billingId": {
      "type": "string",
      "description": "Unique identifier of the contact that the user wants to use for the domain billing contact. This can be specified instead of the `billing` property.\n"
    },
    "registrant": {
      "$ref": "#/components/schemas/ContactDomainCreate"
    },
    "registrantId": {
      "type": "string",
      "description": "Unique identifier of the contact that the user wants to use for the domain registrant contact. This can be specified instead of the `registrant` property.\n"
    }
  }
}
object DomainContactsV2
{
  "properties": {
    "tech": {
      "$ref": "#/components/schemas/ContactDomain"
    },
    "admin": {
      "$ref": "#/components/schemas/ContactDomain"
    },
    "billing": {
      "$ref": "#/components/schemas/ContactDomain"
    },
    "registrant": {
      "$ref": "#/components/schemas/ContactDomain"
    }
  },
  "additionalProperties": false
}
object DomainDetail
{
  "required": [
    "domainId",
    "domain",
    "status",
    "expirationProtected",
    "holdRegistrar",
    "locked",
    "privacy",
    "renewAuto",
    "renewDeadline",
    "transferProtected",
    "createdAt",
    "authCode",
    "nameServers",
    "contactRegistrant",
    "contactBilling",
    "contactAdmin",
    "contactTech"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Name of the domain"
    },
    "locked": {
      "type": "boolean",
      "description": "Whether or not the domain is locked to prevent transfers"
    },
    "status": {
      "type": "string",
      "description": "Processing status of the domain<br/><ul>\n<li><strong style='margin-left: 12px;'>ACTIVE</strong> - All is well</li>\n<li><strong style='margin-left: 12px;'>AWAITING*</strong> - System is waiting for the end-user to complete an action</li>\n<li><strong style='margin-left: 12px;'>CANCELLED*</strong> - Domain has been cancelled, and may or may not be reclaimable</li>\n<li><strong style='margin-left: 12px;'>CONFISCATED</strong> - Domain has been confiscated, usually for abuse, chargeback, or fraud</li>\n<li><strong style='margin-left: 12px;'>DISABLED*</strong> - Domain has been disabled</li>\n<li><strong style='margin-left: 12px;'>EXCLUDED*</strong> - Domain has been excluded from Firehose registration</li>\n<li><strong style='margin-left: 12px;'>EXPIRED*</strong> - Domain has expired</li>\n<li><strong style='margin-left: 12px;'>FAILED*</strong> - Domain has failed a required action, and the system is no longer retrying</li>\n<li><strong style='margin-left: 12px;'>HELD*</strong> - Domain has been placed on hold, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>LOCKED*</strong> - Domain has been locked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>PARKED*</strong> - Domain has been parked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>PENDING*</strong> - Domain is working its way through an automated workflow</li>\n<li><strong style='margin-left: 12px;'>RESERVED*</strong> - Domain is reserved, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>REVERTED</strong> - Domain has been reverted, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>SUSPENDED*</strong> - Domain has been suspended, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>TRANSFERRED*</strong> - Domain has been transferred out</li>\n<li><strong style='margin-left: 12px;'>UNKNOWN</strong> - Domain is in an unknown state</li>\n<li><strong style='margin-left: 12px;'>UNLOCKED*</strong> - Domain has been unlocked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>UNPARKED*</strong> - Domain has been unparked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>UPDATED*</strong> - Domain ownership has been transferred to another account</li>\n</ul>"
    },
    "expires": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain will expire"
    },
    "privacy": {
      "type": "boolean",
      "description": "Whether or not the domain has privacy protection"
    },
    "authCode": {
      "type": "string",
      "description": "Authorization code for transferring the Domain"
    },
    "domainId": {
      "type": "number",
      "format": "double",
      "description": "Unique identifier for this Domain"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain was created"
    },
    "deletedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain was deleted"
    },
    "renewAuto": {
      "type": "boolean",
      "description": "Whether or not the domain is configured to automatically renew"
    },
    "contactTech": {
      "$ref": "#/components/schemas/Contact"
    },
    "exposeWhois": {
      "type": "boolean",
      "description": "Whether or not the domain contact details should be shown in the WHOIS"
    },
    "nameServers": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "host-name"
      },
      "description": "Fully-qualified domain names for DNS servers"
    },
    "contactAdmin": {
      "$ref": "#/components/schemas/Contact"
    },
    "subaccountId": {
      "type": "string",
      "description": "Reseller subaccount shopperid who can manage the domain"
    },
    "holdRegistrar": {
      "type": "boolean",
      "description": "Whether or not the domain is on-hold by the registrar"
    },
    "renewDeadline": {
      "type": "string",
      "format": "date-time",
      "description": "Date the domain must renew on"
    },
    "verifications": {
      "$ref": "#/components/schemas/VerificationsDomain"
    },
    "contactBilling": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactRegistrant": {
      "$ref": "#/components/schemas/Contact"
    },
    "transferProtected": {
      "type": "boolean",
      "description": "Whether or not the domain is protected from transfer"
    },
    "registrarCreatedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain was created by the registrar"
    },
    "expirationProtected": {
      "type": "boolean",
      "description": "Whether or not the domain is protected from expiration"
    },
    "transferAwayEligibleAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain is eligible to transfer"
    }
  }
}
object DomainDetailV2
{
  "required": [
    "domainId",
    "domain",
    "status",
    "expirationProtected",
    "holdRegistrar",
    "locked",
    "privacy",
    "renewAuto",
    "renewDeadline",
    "transferProtected",
    "createdAt",
    "authCode",
    "nameServers",
    "contacts"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "format": "domain",
      "description": "Name of the domain"
    },
    "locked": {
      "type": "boolean",
      "description": "Whether or not the domain is locked to prevent transfers"
    },
    "status": {
      "enum": [
        "ACTIVE",
        "CANCELLED",
        "DELETED_REDEEMABLE",
        "EXPIRED",
        "FAILED",
        "LOCKED_REGISTRAR",
        "PARKED",
        "HELD_REGISTRAR",
        "OWNERSHIP_CHANGED",
        "PENDING_TRANSFER",
        "PENDING_REGISTRATION",
        "REPOSSESSED",
        "SUSPENDED",
        "TRANSFERRED"
      ],
      "type": "string",
      "description": "The current status of the domain<br/><ul><li><strong style='margin-left: 12px;'>ACTIVE</strong> - Domain has been registered and is active.</li><li><strong style='margin-left: 12px;'>CANCELLED</strong> - Domain has been cancelled by the user or system, and is not be reclaimable.</li><li><strong style='margin-left: 12px;'>DELETED_REDEEMABLE</strong> - Domain is deleted but is redeemable.</li><li><strong style='margin-left: 12px;'>EXPIRED</strong> - Domain has expired.</li><li><strong style='margin-left: 12px;'>FAILED</strong> - Domain registration or transfer error.</li><li><strong style='margin-left: 12px;'>LOCKED_REGISTRAR</strong> - Domain is locked at the registrar - this is usually the result of a spam, abuse, etc.</li><li><strong style='margin-left: 12px;'>PARKED</strong> - Domain has been parked.</li><li><strong style='margin-left: 12px;'>HELD_REGISTRAR</strong> - Domain is held at the registrar and cannot be transferred or modified - this is usually the result of a dispute.</li><li><strong style='margin-left: 12px;'>OWNERSHIP_CHANGED</strong> - Domain has been moved to another account.</li><li><strong style='margin-left: 12px;'>PENDING_TRANSFER</strong> - Domain transfer has been requested and is pending the transfer process.</li><li><strong style='margin-left: 12px;'>PENDING_REGISTRATION</strong> - Domain is pending setup at the registry.</li><li><strong style='margin-left: 12px;'>REPOSSESSED</strong> - Domain has been confiscated - this is usually the result of a chargeback, fraud, abuse, etc.).</li><li><strong style='margin-left: 12px;'>SUSPENDED</strong> - Domain is in violation and has been suspended.</li><li><strong style='margin-left: 12px;'>TRANSFERRED</strong> - Domain has been transferred to another registrar.</li></ul>"
    },
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Action"
      },
      "description": "List of current actions in progress for this domain"
    },
    "privacy": {
      "type": "boolean",
      "description": "Whether or not the domain has privacy protection"
    },
    "renewal": {
      "$ref": "#/components/schemas/RenewalDetails"
    },
    "authCode": {
      "type": "string",
      "description": "Authorization code for transferring the Domain"
    },
    "contacts": {
      "$ref": "#/components/schemas/DomainContactsV2"
    },
    "domainId": {
      "type": "string",
      "description": "Unique identifier for this Domain"
    },
    "createdAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain was created"
    },
    "deletedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain was deleted"
    },
    "expiresAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain will expire"
    },
    "hostnames": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "host-name"
      },
      "description": "Hostnames owned by the domain"
    },
    "renewAuto": {
      "type": "boolean",
      "description": "Whether or not the domain is configured to automatically renew"
    },
    "modifiedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain was last modified"
    },
    "nameServers": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "host-name"
      },
      "description": "Fully-qualified domain names for DNS servers"
    },
    "subaccountId": {
      "type": "string",
      "description": "Reseller subaccount shopperid who can manage the domain"
    },
    "dnssecRecords": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DomainDnssec"
      },
      "description": "List of active DNSSEC records for this domain"
    },
    "holdRegistrar": {
      "type": "boolean",
      "description": "Whether or not the domain is on-hold by the registrar"
    },
    "renewDeadline": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date the domain must renew on"
    },
    "verifications": {
      "$ref": "#/components/schemas/VerificationsDomainV2"
    },
    "transferProtected": {
      "type": "boolean",
      "description": "Whether or not the domain is protected from transfer"
    },
    "registrarCreatedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain was created by the registrar"
    },
    "expirationProtected": {
      "type": "boolean",
      "description": "Whether or not the domain is protected from expiration"
    },
    "registryStatusCodes": {
      "type": "array",
      "items": {
        "enum": [
          "ADD_PERIOD",
          "AUTO_RENEW_PERIOD",
          "CLIENT_DELETE_PROHIBITED",
          "CLIENT_HOLD",
          "CLIENT_RENEW_PROHIBITED",
          "CLIENT_TRANSFER_PROHIBITED",
          "CLIENT_UPDATE_PROHIBITED",
          "INACTIVE",
          "OK",
          "PENDING_CREATE",
          "PENDING_DELETE",
          "PENDING_RENEW",
          "PENDING_RESTORE",
          "PENDING_TRANSFER",
          "PENDING_UPDATE",
          "REDEMPTION_PERIOD",
          "RENEW_PERIOD",
          "SERVER_DELETE_PROHIBITED",
          "SERVER_HOLD",
          "SERVER_RENEW_PROHIBITED",
          "SERVER_TRANSFER_PROHIBITED",
          "SERVER_UPDATE_PROHIBITED",
          "TRANSFER_PERIOD"
        ],
        "type": "string"
      },
      "description": "The current registry status codes of the domain<br/><ul><li><strong style='margin-left: 12px;'>ADD_PERIOD</strong> - This grace period is provided after the initial registration of a domain name.</li><li><strong style='margin-left: 12px;'>AUTO_RENEW_PERIOD</strong> - This grace period is provided after a domain name registration period expires and is extended (renewed) automatically by the registry.</li><li><strong style='margin-left: 12px;'>CLIENT_DELETE_PROHIBITED</strong> - This status code tells your domain's registry to reject requests to delete the domain.</li><li><strong style='margin-left: 12px;'>CLIENT_HOLD</strong> - This status code tells your domain's registry to not activate your domain in the DNS and as a consequence, it will not resolve.</li><li><strong style='margin-left: 12px;'>CLIENT_RENEW_PROHIBITED</strong> - This status code tells your domain's registry to reject requests to renew your domain.</li><li><strong style='margin-left: 12px;'>CLIENT_TRANSFER_PROHIBITED</strong> - This status code tells your domain's registry to reject requests to transfer the domain from your current registrar to another.</li><li><strong style='margin-left: 12px;'>CLIENT_UPDATE_PROHIBITED</strong> - This status code tells your domain's registry to reject requests to update the domain.</li><li><strong style='margin-left: 12px;'>INACTIVE</strong> - This status code indicates that delegation information (name servers) has not been associated with your domain.</li><li><strong style='margin-left: 12px;'>OK</strong> - This is the standard status for a domain, meaning it has no pending operations or prohibitions.</li><li><strong style='margin-left: 12px;'>PENDING_CREATE</strong> - This status code indicates that a request to create your domain has been received and is being processed.</li><li><strong style='margin-left: 12px;'>PENDING_DELETE</strong> - This status code indicates that the domain is either in a redemption period if combined with either REDEMPTION_PERIOD or PENDING_RESTORE, if not combined with these, then indicates that the redemption period for the domain has ended and domain will be be purged and dropped from the registry database.</li><li><strong style='margin-left: 12px;'>PENDING_RENEW</strong> - This status code indicates that a request to renew your domain has been received and is being processed.</li><li><strong style='margin-left: 12px;'>PENDING_RESTORE</strong> - This status code indicates that your registrar has asked the registry to restore your domain that was in REDEMPTION_PERIOD status</li><li><strong style='margin-left: 12px;'>PENDING_TRANSFER</strong> - This status code indicates that a request to transfer your domain to a new registrar has been received and is being processed.</li><li><strong style='margin-left: 12px;'>PENDING_UPDATE</strong> - This status code indicates that a request to update your domain has been received and is being processed.</li><li><strong style='margin-left: 12px;'>REDEMPTION_PERIOD</strong> - This status code indicates that your registrar has asked the registry to delete your domain.</li><li><strong style='margin-left: 12px;'>RENEW_PERIOD</strong> - This grace period is provided after a domain name registration period is explicitly extended (renewed) by the registrar.</li><li><strong style='margin-left: 12px;'>SERVER_DELETE_PROHIBITED</strong> - This status code prevents your domain from being deleted. </li><li><strong style='margin-left: 12px;'>SERVER_HOLD</strong> - This status code is set by your domain's Registry Operator. Your domain is not activated in the DNS.</li><li><strong style='margin-left: 12px;'>SERVER_RENEW_PROHIBITED</strong> - This status code indicates your domain's Registry Operator will not allow your registrar to renew your domain.</li><li><strong style='margin-left: 12px;'>SERVER_TRANSFER_PROHIBITED</strong> - This status code prevents your domain from being transferred from your current registrar to another. </li><li><strong style='margin-left: 12px;'>SERVER_UPDATE_PROHIBITED</strong> - This status code locks your domain preventing it from being updated.</li><li><strong style='margin-left: 12px;'>TRANSFER_PERIOD</strong> - This grace period is provided after the successful transfer of a domain name from one registrar to another. </li></ul>"
    },
    "transferAwayEligibleAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain is eligible to transfer"
    }
  },
  "additionalProperties": false
}
object DomainDnssec
{
  "required": [
    "algorithm"
  ],
  "properties": {
    "flags": {
      "enum": [
        "ZSK",
        "KSK"
      ],
      "type": "string",
      "description": "This identifies the key type; either a Zone-Signing Key or a Key-Signing Key<br/><ul><li><strong style='margin-left: 12px;'>ZSK</strong> - [256] Zone-Signing Key</li><li><strong style='margin-left: 12px;'>KSK</strong> - [257] Key-Signing Key</li></ul>"
    },
    "digest": {
      "type": "string",
      "description": "The digest is an alpha-numeric value"
    },
    "keyTag": {
      "type": "integer",
      "format": "integer-positive",
      "maximum": 65536,
      "description": "This is an integer value less than 65536 used to identify the DNSSEC record for the domain name."
    },
    "algorithm": {
      "enum": [
        "RSAMD5",
        "DH",
        "DSA",
        "RSASHA1",
        "DSA_NSEC3_SHA1",
        "RSASHA1_NSEC3_SHA1",
        "RSASHA256",
        "RSASHA512",
        "ECC_GOST",
        "ECDSAP256SHA256",
        "ECDSAP384SHA384",
        "ED25519",
        "ED448",
        "PRIVATEDNS",
        "PRIVATEOID"
      ],
      "type": "string",
      "description": "This identifies the cryptographic algorithm used to generate the signature<br/><ul><li><strong style='margin-left: 12px;'>RSAMD5</strong> - [01] DRSA/MD5 </li><li><strong style='margin-left: 12px;'>DSA</strong> - [03] DSA/SHA1</li><li><strong style='margin-left: 12px;'>RSASHA1</strong> - [05] RSA/SHA-1</li><li><strong style='margin-left: 12px;'>DSA_NSEC3_SHA1</strong> - [06] DSA-NSEC3-SHA1</li><li><strong style='margin-left: 12px;'>RSASHA1_NSEC3_SHA1</strong> - [07] RSASHA1-NSEC3-SHA1</li><li><strong style='margin-left: 12px;'>RSASHA256</strong> - [08] RSA/SHA-256</li><li><strong style='margin-left: 12px;'>RSASHA512</strong> - [10] RSA/SHA-512</li><li><strong style='margin-left: 12px;'>ECC_GOST</strong> - [12] GOST R 34.10-2001</li><li><strong style='margin-left: 12px;'>ECDSAP256SHA256</strong> - [13] ECDSA Curve P-256 with SHA-256</li><li><strong style='margin-left: 12px;'>ECDSAP384SHA384</strong> - [14] ECDSA Curve P-384 with SHA-384</li><li><strong style='margin-left: 12px;'>ED25519</strong> - [15] Ed25519</li><li><strong style='margin-left: 12px;'>ED448</strong> - [16] Ed448</li></ul>"
    },
    "publicKey": {
      "type": "string",
      "description": "Registries use this value to encrypt DS records. Decryption requires a matching public key"
    },
    "digestType": {
      "enum": [
        "SHA1",
        "SHA256",
        "GOST",
        "SHA384"
      ],
      "type": "string",
      "description": "This identifies the algorithm used to construct the digest<br/><ul><li><strong style='margin-left: 12px;'>SHA1</strong> - [01] SHA-1</li><li><strong style='margin-left: 12px;'>SHA256</strong> - [02] SHA-256</li><li><strong style='margin-left: 12px;'>GOST</strong> - [03] GOST R 34.11-94</li><li><strong style='margin-left: 12px;'>SHA384</strong> - [04] SHA-384</li></ul>"
    },
    "maxSignatureLife": {
      "type": "integer",
      "format": "integer-positive",
      "description": "This specifies the validity period for the signature. The value is expressed in seconds. You can use any integer value larger than zero"
    }
  }
}
object DomainForwarding
{
  "required": [
    "fqdn",
    "type",
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "url",
      "description": "Forwards http(s) traffic to this destination url (ex. http://www.somedomain.com/)"
    },
    "fqdn": {
      "type": "string",
      "description": "The fqdn (domain or sub domain) to forward (ex somedomain.com or sub.somedomain.com)"
    },
    "mask": {
      "$ref": "#/components/schemas/DomainForwardingMask"
    },
    "type": {
      "enum": [
        "MASKED",
        "REDIRECT_PERMANENT",
        "REDIRECT_TEMPORARY"
      ],
      "type": "string",
      "default": "REDIRECT_PERMANENT",
      "description": "The type of fowarding to implement<br/><ul><li><strong style='margin-left: 12px;'>MASKED</strong> - Prevents the forwarded domain or subdomain URL from displaying in the browser's address bar.</li><li><strong style='margin-left: 12px;'>REDIRECT_PERMANENT*</strong> - Redirects to the url you specified in the forwardTo field using a `301 Moved Permanently` HTTP response. The HTTP 301 response code tells user-agents (including search engines) that the location has permanently moved.</li><li><strong style='margin-left: 12px;'>REDIRECT_TEMPORARY</strong> - Redirects to the url you specified in the forwardTo field using a `302 Found` HTTP response. The HTTP 302 response code tells user-agents (including search engines) that the location has temporarily moved.</li></ul>"
    }
  }
}
object DomainForwardingCreate
{
  "required": [
    "type",
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "url",
      "description": "Forwards http(s) traffic to this destination url (ex. http://www.somedomain.com/)"
    },
    "mask": {
      "$ref": "#/components/schemas/DomainForwardingMask"
    },
    "type": {
      "enum": [
        "MASKED",
        "REDIRECT_PERMANENT",
        "REDIRECT_TEMPORARY"
      ],
      "type": "string",
      "default": "REDIRECT_PERMANENT",
      "description": "The type of fowarding to implement<br/><ul><li><strong style='margin-left: 12px;'>MASKED</strong> - Prevents the forwarded domain or subdomain URL from displaying in the browser's address bar.</li><li><strong style='margin-left: 12px;'>REDIRECT_PERMANENT*</strong> - Redirects to the url you specified in the forwardTo field using a `301 Moved Permanently` HTTP response. The HTTP 301 response code tells user-agents (including search engines) that the location has permanently moved.</li><li><strong style='margin-left: 12px;'>REDIRECT_TEMPORARY</strong> - Redirects to the url you specified in the forwardTo field using a `302 Found` HTTP response. The HTTP 302 response code tells user-agents (including search engines) that the location has temporarily moved.</li></ul>"
    }
  }
}
object DomainForwardingMask
{
  "properties": {
    "title": {
      "type": "string",
      "description": "Displays at the top of the browser window and in search results."
    },
    "keywords": {
      "type": "string",
      "description": "A list of comma-separated keywords that describes the content and purpose of your website."
    },
    "description": {
      "type": "string",
      "description": "A short description of your website to display in search engine results."
    }
  }
}
object DomainNotification
{
  "required": [
    "notificationId",
    "type",
    "resource",
    "resourceType",
    "status",
    "addedAt"
  ],
  "properties": {
    "type": {
      "enum": [
        "AUTH_CODE_PURCHASE",
        "AUTH_CODE_REGENERATE",
        "AUTO_RENEWAL",
        "BACKORDER",
        "BACKORDER_PURCHASE",
        "BACKORDER_DELETE",
        "BACKORDER_UPDATE",
        "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"
      ],
      "type": "string",
      "description": "The type of action the notification relates to"
    },
    "status": {
      "enum": [
        "AWAITING",
        "CANCELLED",
        "FAILED",
        "PENDING",
        "SUCCESS"
      ],
      "type": "string",
      "description": "The resulting status of the action."
    },
    "addedAt": {
      "type": "string",
      "format": "iso-datetime",
      "default": "",
      "description": "The date the notification was added"
    },
    "metadata": {
      "type": "object",
      "default": "",
      "description": "The notification data for the given type as specifed by GET /v2/customers/{customerId}/domains/notifications/schema"
    },
    "resource": {
      "type": "string",
      "default": "",
      "description": "The resource the notification pertains to."
    },
    "requestId": {
      "type": "string",
      "description": "A client provided identifier (via X-Request-Id header) indicating the request this notification is for"
    },
    "resourceType": {
      "enum": [
        "CONTACT",
        "DOMAIN",
        "HOST"
      ],
      "type": "string",
      "description": "The type of resource the notification relates to"
    },
    "notificationId": {
      "type": "string",
      "default": "",
      "description": "The notification ID to be used in POST /v2/customers/{customerId}/domains/notifications to acknowledge the notification"
    }
  }
}
object DomainNotificationType
{
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "AUTH_CODE_PURCHASE",
        "AUTH_CODE_REGENERATE",
        "AUTO_RENEWAL",
        "BACKORDER",
        "BACKORDER_PURCHASE",
        "BACKORDER_DELETE",
        "BACKORDER_UPDATE",
        "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"
      ],
      "type": "string",
      "description": "The notification type"
    }
  }
}
object DomainPurchase
{
  "required": [
    "domain",
    "consent"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "format": "domain",
      "description": "For internationalized domain names with non-ascii characters, the domain name is converted to punycode before format and pattern validation rules are checked"
    },
    "period": {
      "type": "integer",
      "format": "integer-positive",
      "default": 1,
      "maximum": 10,
      "minimum": 1
    },
    "consent": {
      "$ref": "#/components/schemas/Consent"
    },
    "privacy": {
      "type": "boolean",
      "default": false
    },
    "renewAuto": {
      "type": "boolean",
      "default": true
    },
    "contactTech": {
      "$ref": "#/components/schemas/Contact"
    },
    "nameServers": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "host-name"
      }
    },
    "contactAdmin": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactBilling": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactRegistrant": {
      "$ref": "#/components/schemas/Contact"
    }
  }
}
object DomainPurchaseResponse
{
  "required": [
    "orderId",
    "itemCount",
    "total"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "currency-micro-unit",
      "description": "Total cost of the domain and any selected add-ons"
    },
    "orderId": {
      "type": "integer",
      "format": "int64",
      "description": "Unique identifier of the order processed to purchase the domain"
    },
    "currency": {
      "type": "string",
      "format": "iso-currency-code",
      "default": "USD",
      "description": "Currency in which the `total` is listed"
    },
    "itemCount": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Number items included in the order"
    }
  }
}
object DomainPurchaseV2
{
  "required": [
    "domain",
    "consent"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "format": "domain",
      "pattern": "^[^.]{1,63}.[^.]{2,}$",
      "description": "For internationalized domain names with non-ascii characters, the domain name is converted to punycode before format and pattern validation rules are checked"
    },
    "period": {
      "type": "integer",
      "format": "integer-positive",
      "default": 1,
      "maximum": 10,
      "minimum": 1,
      "pattern": "^[0-9]+$"
    },
    "consent": {
      "$ref": "#/components/schemas/ConsentV2"
    },
    "privacy": {
      "type": "boolean",
      "default": false
    },
    "contacts": {
      "$ref": "#/components/schemas/DomainContactsCreateV2"
    },
    "metadata": {
      "type": "object",
      "description": "The domain eligibility data fields as specified by GET /v2/customers/{customerId}/domains/register/schema/{tld}"
    },
    "renewAuto": {
      "type": "boolean",
      "default": true
    },
    "nameServers": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "host-name"
      },
      "maxItems": 2
    }
  },
  "additionalProperties": false
}
object DomainRedeemV2
{
  "required": [
    "consent"
  ],
  "properties": {
    "consent": {
      "$ref": "#/components/schemas/ConsentRedemption"
    }
  },
  "additionalProperties": false
}
object DomainRenew
{
  "properties": {
    "period": {
      "type": "integer",
      "format": "integer-positive",
      "maximum": 10,
      "minimum": 1,
      "description": "Number of years to extend the Domain. Must not exceed maximum for TLD. When omitted, defaults to `period` specified during original purchase"
    }
  }
}
object DomainRenewV2
{
  "required": [
    "consent",
    "expires"
  ],
  "properties": {
    "period": {
      "type": "integer",
      "format": "integer-positive",
      "maximum": 10,
      "minimum": 1,
      "pattern": "^[0-9]+$",
      "description": "Number of years to extend the Domain. Must not exceed maximum for TLD. When omitted, defaults to `period` specified during original purchase"
    },
    "consent": {
      "$ref": "#/components/schemas/ConsentRenew"
    },
    "expires": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Current date when this domain will expire"
    }
  },
  "additionalProperties": false
}
object DomainSuggestion
{
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Suggested domain name"
    }
  }
}
object DomainSummary
{
  "required": [
    "domainId",
    "domain",
    "status",
    "expirationProtected",
    "holdRegistrar",
    "locked",
    "privacy",
    "renewAuto",
    "renewDeadline",
    "transferProtected",
    "createdAt",
    "contactRegistrant"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Name of the domain"
    },
    "locked": {
      "type": "boolean",
      "description": "Whether or not the domain is locked to prevent transfers"
    },
    "status": {
      "type": "string",
      "description": "Processing status of the domain<br/><ul>\n<li><strong style='margin-left: 12px;'>ACTIVE</strong> - All is well</li>\n<li><strong style='margin-left: 12px;'>AWAITING*</strong> - System is waiting for the end-user to complete an action</li>\n<li><strong style='margin-left: 12px;'>CANCELLED*</strong> - Domain has been cancelled, and may or may not be reclaimable</li>\n<li><strong style='margin-left: 12px;'>CONFISCATED</strong> - Domain has been confiscated, usually for abuse, chargeback, or fraud</li>\n<li><strong style='margin-left: 12px;'>DISABLED*</strong> - Domain has been disabled</li>\n<li><strong style='margin-left: 12px;'>EXCLUDED*</strong> - Domain has been excluded from Firehose registration</li>\n<li><strong style='margin-left: 12px;'>EXPIRED*</strong> - Domain has expired</li>\n<li><strong style='margin-left: 12px;'>FAILED*</strong> - Domain has failed a required action, and the system is no longer retrying</li>\n<li><strong style='margin-left: 12px;'>HELD*</strong> - Domain has been placed on hold, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>LOCKED*</strong> - Domain has been locked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>PARKED*</strong> - Domain has been parked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>PENDING*</strong> - Domain is working its way through an automated workflow</li>\n<li><strong style='margin-left: 12px;'>RESERVED*</strong> - Domain is reserved, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>REVERTED</strong> - Domain has been reverted, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>SUSPENDED*</strong> - Domain has been suspended, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>TRANSFERRED*</strong> - Domain has been transferred out</li>\n<li><strong style='margin-left: 12px;'>UNKNOWN</strong> - Domain is in an unknown state</li>\n<li><strong style='margin-left: 12px;'>UNLOCKED*</strong> - Domain has been unlocked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>UNPARKED*</strong> - Domain has been unparked, and likely requires intervention from Support</li>\n<li><strong style='margin-left: 12px;'>UPDATED*</strong> - Domain ownership has been transferred to another account</li>\n</ul>"
    },
    "expires": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain will expire"
    },
    "privacy": {
      "type": "boolean",
      "description": "Whether or not the domain has privacy protection"
    },
    "authCode": {
      "type": "string",
      "description": "Authorization code for transferring the Domain"
    },
    "domainId": {
      "type": "number",
      "format": "double",
      "description": "Unique identifier for this Domain"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain was created"
    },
    "deletedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain was deleted"
    },
    "renewAuto": {
      "type": "boolean",
      "description": "Whether or not the domain is configured to automatically renew"
    },
    "renewable": {
      "type": "boolean",
      "description": "Whether or not the domain is eligble for renewal based on status"
    },
    "contactTech": {
      "$ref": "#/components/schemas/Contact"
    },
    "exposeWhois": {
      "type": "boolean",
      "description": "Whether or not the domain contact details should be shown in the WHOIS"
    },
    "nameServers": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "host-name"
      },
      "description": "Fully-qualified domain names for DNS servers"
    },
    "contactAdmin": {
      "$ref": "#/components/schemas/Contact"
    },
    "holdRegistrar": {
      "type": "boolean",
      "description": "Whether or not the domain is on-hold by the registrar"
    },
    "renewDeadline": {
      "type": "string",
      "format": "date-time",
      "description": "Date the domain must renew on"
    },
    "contactBilling": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactRegistrant": {
      "$ref": "#/components/schemas/Contact"
    },
    "transferProtected": {
      "type": "boolean",
      "description": "Whether or not the domain is protected from transfer"
    },
    "registrarCreatedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time when this domain was created by the registrar"
    },
    "expirationProtected": {
      "type": "boolean",
      "description": "Whether or not the domain is protected from expiration"
    },
    "transferAwayEligibleAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when this domain is eligible to transfer"
    }
  }
}
object DomainTransferAuthCode
{
  "type": "object",
  "required": [
    "authCode"
  ],
  "properties": {
    "authCode": {
      "type": "string",
      "description": "Authorization code for transferring the Domain"
    }
  }
}
object DomainTransferIn
{
  "required": [
    "authCode",
    "consent"
  ],
  "properties": {
    "period": {
      "type": "integer",
      "format": "integer-positive",
      "default": 1,
      "maximum": 10,
      "minimum": 1,
      "description": "Can be more than 1 but no more than 10 years total including current registration length"
    },
    "consent": {
      "$ref": "#/components/schemas/Consent"
    },
    "privacy": {
      "type": "boolean",
      "default": false,
      "description": "Whether or not privacy has been requested"
    },
    "authCode": {
      "type": "string",
      "description": "Authorization code from registrar for transferring a domain"
    },
    "renewAuto": {
      "type": "boolean",
      "default": true,
      "description": "Whether or not the domain should be configured to automatically renew"
    },
    "contactTech": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactAdmin": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactBilling": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactRegistrant": {
      "$ref": "#/components/schemas/Contact"
    }
  }
}
object DomainTransferInV2
{
  "required": [
    "authCode",
    "consent"
  ],
  "properties": {
    "period": {
      "type": "integer",
      "format": "integer-positive",
      "default": 1,
      "maximum": 10,
      "minimum": 1,
      "pattern": "^[0-9]+$",
      "description": "Can be more than 1 but no more than 10 years total including current registration length"
    },
    "consent": {
      "$ref": "#/components/schemas/ConsentV2"
    },
    "privacy": {
      "type": "boolean",
      "default": false,
      "description": "Whether or not privacy has been requested"
    },
    "authCode": {
      "type": "string",
      "description": "Authorization code from registrar for transferring a domain"
    },
    "contacts": {
      "$ref": "#/components/schemas/DomainContactsCreateV2"
    },
    "metadata": {
      "type": "object",
      "description": "The domain eligibility data fields as specified by GET /v2/customers/{customerId}/domains/register/schema/{tld}"
    },
    "renewAuto": {
      "type": "boolean",
      "default": true,
      "description": "Whether or not the domain should be configured to automatically renew"
    },
    "identityDocumentId": {
      "type": "string",
      "description": "Unique identifier of the identify document that the user wants to associate with the domain being transferred in. This is required only if the gaining registry has a requirement for an approved identity document"
    }
  },
  "additionalProperties": false
}
object DomainUpdate
{
  "properties": {
    "locked": {
      "type": "boolean",
      "description": "Whether or not the domain should be locked to prevent transfers"
    },
    "consent": {
      "$ref": "#/components/schemas/ConsentDomainUpdate"
    },
    "renewAuto": {
      "type": "boolean",
      "description": "Whether or not the domain should be configured to automatically renew"
    },
    "exposeWhois": {
      "type": "boolean",
      "description": "Whether or not the domain contact details should be shown in the WHOIS"
    },
    "nameServers": {
      "type": "array",
      "items": {
        "format": "host-name"
      },
      "description": "Fully-qualified domain names for Name Servers to associate with the domain"
    },
    "subaccountId": {
      "type": "string",
      "description": "Reseller subaccount shopperid who can manage the domain"
    }
  }
}
object DomainsContactsBulk
{
  "required": [
    "domains"
  ],
  "properties": {
    "domains": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "domain"
      },
      "description": "An array of domain names to be validated against. Alternatively, you can specify the extracted tlds. However, full domain names are required if the tld is `uk`"
    },
    "entityType": {
      "enum": [
        "ABORIGINAL",
        "ASSOCIATION",
        "CITIZEN",
        "CORPORATION",
        "EDUCATIONAL",
        "GOVERNMENT",
        "HOSPITAL",
        "INDIAN_BAND",
        "LEGAL_REPRESENTATIVE",
        "LIBRARY_ARCHIVE_MUSEUM",
        "MARK_REGISTERED",
        "MARK_TRADE",
        "PARTNERSHIP",
        "POLITICAL_PARTY",
        "RESIDENT_PERMANENT",
        "TRUST",
        "UNION"
      ],
      "type": "string",
      "description": "Canadian Presence Requirement (CA)"
    },
    "contactTech": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactAdmin": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactBilling": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactPresence": {
      "$ref": "#/components/schemas/Contact"
    },
    "contactRegistrant": {
      "$ref": "#/components/schemas/Contact"
    }
  }
}
array DomainsGetForwardingInfoResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainForwarding"
  }
}
object Error
{
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "format": "constant",
      "description": "Short identifier for the error, suitable for indicating the specific error within client code"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ErrorField"
      },
      "description": "List of the specific fields, and the errors found with their contents"
    },
    "message": {
      "type": "string",
      "description": "Human-readable, English description of the error"
    }
  }
}
object ErrorDomainContactsValidate
{
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "format": "constant",
      "description": "Short identifier for the error, suitable for indicating the specific error within client code"
    },
    "stack": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Stack trace indicating where the error occurred.<br/>NOTE: This attribute <strong>MAY</strong> be included for Development and Test environments. However, it <strong>MUST NOT</strong> be exposed from OTE nor Production systems"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ErrorFieldDomainContactsValidate"
      },
      "description": "List of the specific fields, and the errors found with their contents"
    },
    "message": {
      "type": "string",
      "description": "Human-readable, English description of the error"
    }
  }
}
object ErrorField
{
  "required": [
    "path",
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "format": "constant",
      "description": "Short identifier for the error, suitable for indicating the specific error within client code"
    },
    "path": {
      "type": "string",
      "format": "json-path",
      "description": "<ul>\n<li style='margin-left: 12px;'>JSONPath referring to a field containing an error</li>\n<strong style='margin-left: 12px;'>OR</strong>\n<li style='margin-left: 12px;'>JSONPath referring to a field that refers to an object containing an error, with more detail in `pathRelated`</li>\n</ul>"
    },
    "message": {
      "type": "string",
      "description": "Human-readable, English description of the problem with the contents of the field"
    },
    "pathRelated": {
      "type": "string",
      "format": "json-path",
      "description": "JSONPath referring to a field containing an error, which is referenced by `path`"
    }
  }
}
object ErrorFieldDomainContactsValidate
{
  "required": [
    "code",
    "domains",
    "path"
  ],
  "properties": {
    "code": {
      "type": "string",
      "format": "constant",
      "description": "Short identifier for the error, suitable for indicating the specific error within client code"
    },
    "path": {
      "type": "string",
      "format": "json-path",
      "description": "1) JSONPath referring to the field within the data containing an error<br/>or<br/>2) JSONPath referring to an object containing an error"
    },
    "domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of domain names the error is for. If tlds are specified in the request, `domains` will contain tlds. For example, if `domains` in request is [\"test1.com\", \"test2.uk\", \"net\"], and the field is invalid for com and net, then one of the `fields` in response will have [\"test1.com\", \"net\"] as `domains`"
    },
    "message": {
      "type": "string",
      "description": "Human-readable, English description of the problem with the contents of the field"
    },
    "pathRelated": {
      "type": "string",
      "format": "json-path",
      "description": "JSONPath referring to the field on the object referenced by `path` containing an error"
    }
  }
}
object ErrorLimit
{
  "required": [
    "retryAfterSec",
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "format": "constant",
      "description": "Short identifier for the error, suitable for indicating the specific error within client code"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ErrorField"
      },
      "description": "List of the specific fields, and the errors found with their contents"
    },
    "message": {
      "type": "string",
      "description": "Human-readable, English description of the error"
    },
    "retryAfterSec": {
      "type": "integer",
      "format": "integer-positive",
      "description": "Number of seconds to wait before attempting a similar request"
    }
  }
}
object JsonDataType
{
  "required": [
    "type",
    "$ref"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "format": {
      "type": "string"
    },
    "pattern": {
      "type": "string"
    }
  }
}
object JsonProperty
{
  "required": [
    "type",
    "$ref",
    "required"
  ],
  "properties": {
    "type": {
      "type": "string"
    },
    "items": {
      "type": "object",
      "items": {
        "$ref": "#/components/schemas/JsonDataType"
      }
    },
    "format": {
      "type": "string"
    },
    "maximum": {
      "type": "integer"
    },
    "minimum": {
      "type": "integer"
    },
    "pattern": {
      "type": "string"
    },
    "maxItems": {
      "type": "integer"
    },
    "minItems": {
      "type": "integer"
    },
    "required": {
      "type": "boolean"
    },
    "defaultValue": {
      "type": "string"
    }
  }
}
object JsonSchema
{
  "required": [
    "id",
    "properties",
    "required",
    "models"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "models": {
      "type": "object",
      "items": {
        "$ref": "#/components/schemas/JsonSchema"
      }
    },
    "required": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "properties": {
      "type": "object",
      "items": {
        "$ref": "#/components/schemas/JsonProperty"
      }
    }
  }
}
object LegalAgreement
{
  "required": [
    "agreementKey",
    "title",
    "content"
  ],
  "properties": {
    "url": {
      "type": "string",
      "format": "url",
      "description": "URL to a page containing the legal agreement"
    },
    "title": {
      "type": "string",
      "description": "Title of the legal agreement"
    },
    "content": {
      "type": "string",
      "description": "Contents of the legal agreement, suitable for embedding"
    },
    "agreementKey": {
      "type": "string",
      "description": "Unique identifier for the legal agreement"
    }
  }
}
object Maintenance
{
  "required": [
    "createdAt",
    "endsAt",
    "environment",
    "maintenanceId",
    "modifiedAt",
    "reason",
    "startsAt",
    "status",
    "summary",
    "type"
  ],
  "properties": {
    "tlds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of tlds that are in maintenance.  Generally only applies when `type` is REGISTRY"
    },
    "type": {
      "enum": [
        "API",
        "REGISTRY",
        "UI"
      ],
      "type": "string",
      "description": "The type of maintenance being performed<br/><ul><li><strong style='margin-left: 12px;'>API</strong> - Programmatic Api components.</li><li><strong style='margin-left: 12px;'>REGISTRY</strong> - The underlying Registry providing the tld(s).</li><li><strong style='margin-left: 12px;'>UI</strong> - User Interface components.</li></ul>"
    },
    "endsAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance will complete"
    },
    "reason": {
      "enum": [
        "EMERGENCY",
        "PLANNED"
      ],
      "type": "string",
      "description": "The reason for the maintenance being performed<br/><ul><li><strong style='margin-left: 12px;'>EMERGENCY</strong> - Unexpected Emergency maintenance.</li><li><strong style='margin-left: 12px;'>PLANNED</strong> - Planned system maintenance.</li></ul>"
    },
    "status": {
      "enum": [
        "ACTIVE",
        "CANCELLED"
      ],
      "type": "string",
      "description": "The status of maintenance<br/><ul><li><strong style='margin-left: 12px;'>ACTIVE</strong> - The upcoming maintenance is active.</li><li><strong style='margin-left: 12px;'>CANCELLED</strong> - The upcoming maintenance has been cancelled.</li></ul>"
    },
    "summary": {
      "type": "string",
      "description": "A brief description of what is being performed"
    },
    "startsAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance will start"
    },
    "createdAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance was created"
    },
    "modifiedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance was last modified"
    },
    "environment": {
      "enum": [
        "OTE",
        "PRODUCTION"
      ],
      "type": "string",
      "description": "The environment on which the maintenance will be performed<br/><ul><li><strong style='margin-left: 12px;'>OTE</strong> - The Operational Testing Environment.</li><li><strong style='margin-left: 12px;'>PRODUCTION</strong> - The Live Production Environment.</li></ul>"
    },
    "maintenanceId": {
      "type": "string",
      "description": "The identifier for the system maintenance"
    }
  },
  "additionalProperties": false
}
object MaintenanceDetail
{
  "required": [
    "createdAt",
    "endsAt",
    "environment",
    "maintenanceId",
    "modifiedAt",
    "reason",
    "startsAt",
    "status",
    "summary",
    "type"
  ],
  "properties": {
    "tlds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of tlds that are in maintenance.  Generally only applies when `type` is REGISTRY"
    },
    "type": {
      "enum": [
        "API",
        "REGISTRY",
        "UI"
      ],
      "type": "string",
      "description": "The type of maintenance being performed<br/><ul><li><strong style='margin-left: 12px;'>API</strong> - Programmatic Api components.</li><li><strong style='margin-left: 12px;'>REGISTRY</strong> - The underlying Registry providing the tld(s).</li><li><strong style='margin-left: 12px;'>UI</strong> - User Interface components.</li></ul>"
    },
    "endsAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance will complete"
    },
    "reason": {
      "enum": [
        "EMERGENCY",
        "PLANNED"
      ],
      "type": "string",
      "description": "The reason for the maintenance being performed<br/><ul><li><strong style='margin-left: 12px;'>EMERGENCY</strong> - Unexpected Emergency maintenance.</li><li><strong style='margin-left: 12px;'>PLANNED</strong> - Planned system maintenance.</li></ul>"
    },
    "status": {
      "enum": [
        "ACTIVE",
        "CANCELLED"
      ],
      "type": "string",
      "description": "The status of maintenance<br/><ul><li><strong style='margin-left: 12px;'>ACTIVE</strong> - The upcoming maintenance is active.</li><li><strong style='margin-left: 12px;'>CANCELLED</strong> - The upcoming maintenance has been cancelled.</li></ul>"
    },
    "summary": {
      "type": "string",
      "description": "A brief description of what is being performed"
    },
    "systems": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MaintenanceSystem"
      },
      "description": "List of systems that are impacted by the maintenance."
    },
    "startsAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance will start"
    },
    "createdAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance was created"
    },
    "modifiedAt": {
      "type": "string",
      "format": "iso-datetime",
      "description": "Date and time (UTC) when this maintenance was last modified"
    },
    "environment": {
      "enum": [
        "OTE",
        "PRODUCTION"
      ],
      "type": "string",
      "description": "The environment on which the maintenance will be performed<br/><ul><li><strong style='margin-left: 12px;'>OTE</strong> - The Operational Testing Environment.</li><li><strong style='margin-left: 12px;'>PRODUCTION</strong> - The Live Production Environment.</li></ul>"
    },
    "maintenanceId": {
      "type": "string",
      "description": "The identifier for the system maintenance"
    }
  },
  "additionalProperties": false
}
object MaintenanceSystem
{
  "required": [
    "name",
    "impact"
  ],
  "properties": {
    "name": {
      "enum": [
        "DOMAIN_CHECKS",
        "DOMAIN_MANAGEMENT",
        "DOMAIN_REGISTRATION",
        "DOMAIN_REGISTRATION_DATA",
        "DOMAIN_RESOLUTION",
        "RESELLER_ADMIN_PORTAL",
        "RESELLER_STOREFRONT"
      ],
      "type": "string",
      "description": "The name of the system affected by the maintenance<br/><ul><li><strong style='margin-left: 12px;'>DOMAIN_CHECKS</strong> - Refers to domain availability checks.</li><li><strong style='margin-left: 12px;'>DOMAIN_MANAGEMENT</strong> - Refers to domain management options including various update options on the domain, contacts, records, etc.</li><li><strong style='margin-left: 12px;'>DOMAIN_REGISTRATION</strong> - Refers to domain registrations, renewals, transfers.</li><li><strong style='margin-left: 12px;'>DOMAIN_REGISTRATION_DATA</strong> - Refers to RDAP and WHOIS Service queries for domains.</li><li><strong style='margin-left: 12px;'>DOMAIN_RESOLUTION</strong> - Refers to DNS resolution for domains.</li><li><strong style='margin-left: 12px;'>RESELLER_ADMIN_PORTAL</strong> - Refers to Admin portals to manage the reseller account and settings.</li><li><strong style='margin-left: 12px;'>RESELLER_STOREFRONT</strong> - Refers to the Reseller Storefront features (Standard and Custom).</li></ul>"
    },
    "impact": {
      "type": "array",
      "items": {
        "enum": [
          "DELAYED",
          "DOWN",
          "NON_AUTHORITATIVE",
          "PARTIAL"
        ],
        "type": "string"
      },
      "description": "The impact of the maintenance to the system<br/><ul><li><strong style='margin-left: 12px;'>DELAYED</strong> - This response generally applies to systems where the request is queued up and processed once the system is back online.</li><li><strong style='margin-left: 12px;'>DOWN</strong> - The system will be entirely offline; errors are expected.</li><li><strong style='margin-left: 12px;'>NON_AUTHORITATIVE</strong> - This response generally applies to DOMAIN_CHECKS and DOMAIN_MANAGEMENT `system` values where a cached answer will be supplied.</li><li><strong style='margin-left: 12px;'>PARTIAL</strong> - The system will experience partial feature outages; some errors are expected.</li></ul>"
    }
  },
  "additionalProperties": false
}
array NotificationsListOptedInTypesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainNotification"
  }
}
object PrivacyPurchase
{
  "required": [
    "consent"
  ],
  "properties": {
    "consent": {
      "$ref": "#/components/schemas/Consent"
    }
  }
}
object RealNameValidation
{
  "properties": {
    "status": {
      "enum": [
        "APPROVED",
        "PENDING",
        "PENDING_ASSOCIATION_WITH_DOMAIN",
        "PENDING_SUBMISSION_TO_VERIFICATION_SERVICE",
        "PENDING_VERIFICATION_SERVICE_REPLY",
        "PENDING_SUBMISSION_TO_REGISTRY",
        "PENDING_REGISTRY_REPLY",
        "PENDING_DOMAIN_UPDATE",
        "REJECTED"
      ],
      "type": "string"
    }
  }
}
object RenewalDetails
{
  "required": [
    "price",
    "currency"
  ],
  "properties": {
    "price": {
      "type": "integer",
      "format": "currency-micro-unit",
      "description": "Price for the domain renewal excluding taxes or fees"
    },
    "currency": {
      "type": "string",
      "format": "iso-currency-code",
      "default": "USD",
      "pattern": "^[A-Z][A-Z][A-Z]$",
      "description": "Currency in which the `price` is listed"
    },
    "renewable": {
      "type": "boolean",
      "description": "Whether or not the domain is eligble for renewal based on status"
    }
  }
}
object TldSummary
{
  "required": [
    "name",
    "type"
  ],
  "properties": {
    "name": {
      "type": "string",
      "format": "tld",
      "description": "Name of the top-level domain"
    },
    "type": {
      "enum": [
        "COUNTRY_CODE",
        "GENERIC"
      ],
      "type": "string",
      "default": "GENERIC",
      "description": "Type of the top-level domain"
    }
  }
}
array V1CheckDomainAvailabilityPostRequest
{
  "type": "array",
  "items": {
    "type": "string"
  },
  "maximum": 500
}
array V1CheckDomainAvailabilityPostRequest1
{
  "type": "array",
  "items": {
    "type": "string"
  },
  "maximum": 500
}
array V1CheckDomainAvailabilityPostRequest2
{
  "type": "array",
  "items": {
    "type": "string"
  },
  "maximum": 500
}
array V1GetDnsRecords200Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1GetDnsRecords200Response1
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1GetDnsRecords200Response2
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1GetDnsRecords200Response3
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1GetDnsRecordsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1GetDomainsList200Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSummary"
  }
}
array V1GetDomainsList200Response1
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSummary"
  }
}
array V1GetDomainsList200Response2
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSummary"
  }
}
array V1GetDomainsList200Response3
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSummary"
  }
}
array V1GetDomainsListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSummary"
  }
}
array V1GetLegalAgreements200Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/LegalAgreement"
  }
}
array V1GetLegalAgreements200Response1
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/LegalAgreement"
  }
}
array V1GetLegalAgreements200Response2
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/LegalAgreement"
  }
}
array V1GetLegalAgreements200Response3
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/LegalAgreement"
  }
}
array V1GetLegalAgreementsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/LegalAgreement"
  }
}
array V1GetTldsList200Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/TldSummary"
  }
}
array V1GetTldsList200Response1
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/TldSummary"
  }
}
array V1GetTldsList200Response2
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/TldSummary"
  }
}
array V1GetTldsList200Response3
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/TldSummary"
  }
}
array V1GetTldsListResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/TldSummary"
  }
}
array V1ReplaceDnsRecordsRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1ReplaceDnsRecordsRequest1
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1ReplaceDnsRecordsRequest2
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecord"
  }
}
array V1ReplaceDnsRecordsTypeRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecordCreateType"
  }
}
array V1ReplaceDnsRecordsTypeRequest1
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecordCreateType"
  }
}
array V1ReplaceDnsRecordsTypeRequest2
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecordCreateType"
  }
}
array V1ReplaceDnsRecordsTypeRequest3
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecordCreateTypeName"
  }
}
array V1ReplaceDnsRecordsTypeRequest4
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecordCreateTypeName"
  }
}
array V1ReplaceDnsRecordsTypeRequest5
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DNSRecordCreateTypeName"
  }
}
array V1SuggestAlternateDomains200Response
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSuggestion"
  }
}
array V1SuggestAlternateDomains200Response1
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSuggestion"
  }
}
array V1SuggestAlternateDomains200Response2
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSuggestion"
  }
}
array V1SuggestAlternateDomains200Response3
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSuggestion"
  }
}
array V1SuggestAlternateDomainsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/DomainSuggestion"
  }
}
object VerificationDomainName
{
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "enum": [
        "APPROVED",
        "PENDING",
        "REJECTED",
        "UNABLE_TO_RETRIEVE_STATUS"
      ],
      "type": "string",
      "description": "Status of the domain name verification"
    }
  }
}
object VerificationRealName
{
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "enum": [
        "APPROVED",
        "PENDING",
        "REJECTED_DOCUMENT_OUTDATED",
        "REJECTED_EXPIRED_BUSINESS_LICENSE",
        "REJECTED_EXPIRED_ORGANIZATION_CODE",
        "REJECTED_ILLEGIBLE_DOCUMENT_NAME",
        "REJECTED_ILLEGIBLE_IDENTIFICATION",
        "REJECTED_INCOMPLETE_IDENTIFICATION",
        "REJECTED_INCOMPLETE_REGISTRATION_LETTER",
        "REJECTED_INCONSISTENT_IDENTITY_CARD",
        "REJECTED_INCONSISTENT_ORGANIZATION_CODE",
        "REJECTED_INCONSISTENT_REGISTRANT_NAME",
        "REJECTED_INVALID_BUSINESS_LICENSE_OR_ORGANIZATION_CODE",
        "REJECTED_INVALID_DOCUMENT",
        "REJECTED_MISMATCH_BUSINESS_ID",
        "REJECTED_MISMATCH_BUSINESS_NAME",
        "REJECTED_MISMATCH_DOCUMENT_ID",
        "REJECTED_MISMATCH_DOCUMENT_NAME",
        "REJECTED_MISMATCH_DOCUMENT_TYPE",
        "REJECTED_MISMATCH_REGISTRANT_INFO",
        "REJECTED_MISMATCH_REGISTRANT_LOCALITY",
        "REJECTED_MISMATCH_REGISTRANT_NAME",
        "REJECTED_UNABLE_TO_OPEN",
        "REJECTED_UNABLE_TO_VERIFY",
        "REJECTED_UNKNOWN_ERROR",
        "UNABLE_TO_RETRIEVE_STATUS"
      ],
      "type": "string",
      "description": "Status of the real name verification<br/><ul> <li><strong style='margin-left: 12px;'>APPROVED</strong> - All is well</li> <li><strong style='margin-left: 12px;'>PENDING</strong> - Real name verification is working its way through the workflow</li> <li><strong style='margin-left: 12px;'>REJECTED_DOCUMENT_OUTDATED</strong> - Local government verification shows there is a newer version of your document.  Upload the latest version of the document and retry real name verification</li> <li><strong style='margin-left: 12px;'>REJECTED_EXPIRED_BUSINESS_LICENSE</strong> - Business license is expired</li> <li><strong style='margin-left: 12px;'>REJECTED_EXPIRED_ORGANIZATION_CODE</strong> - Organization code certificate number has expired</li> <li><strong style='margin-left: 12px;'>REJECTED_ILLEGIBLE_DOCUMENT_NAME</strong> - There isn’t a clear name on your uploaded document, please upload a different document to retry real name verification</li> <li><strong style='margin-left: 12px;'>REJECTED_ILLEGIBLE_IDENTIFICATION</strong> - Registrant identification is not clear.  Upload a better image to retry</li> <li><strong style='margin-left: 12px;'>REJECTED_INCOMPLETE_IDENTIFICATION</strong> - Registrant identification is incomplete</li> <li><strong style='margin-left: 12px;'>REJECTED_INCOMPLETE_REGISTRATION_LETTER</strong> - Registration letter is incomplete</li> <li><strong style='margin-left: 12px;'>REJECTED_INCONSISTENT_IDENTITY_CARD</strong> - Provided identity card is inconsistent with the identity card on record</li> <li><strong style='margin-left: 12px;'>REJECTED_INCONSISTENT_ORGANIZATION_CODE</strong> - Provided organization information is inconsistent with the results obtained using the submitted organization code</li> <li><strong style='margin-left: 12px;'>REJECTED_INCONSISTENT_REGISTRANT_NAME</strong> - Name on the registrant identification does not match the name in the system</li> <li><strong style='margin-left: 12px;'>REJECTED_INVALID_BUSINESS_LICENSE_OR_ORGANIZATION_CODE</strong> - Your document contains an invalid business license or organization code certificate number</li> <li><strong style='margin-left: 12px;'>REJECTED_INVALID_DOCUMENT</strong> - Document is invalid.  Please upload another document to retry real name verification</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_BUSINESS_ID</strong> - Business id does not match the business id in the document</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_BUSINESS_NAME</strong> - Business name does not match the business name in the document</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_DOCUMENT_ID</strong> - Document id does not match the id in the document</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_DOCUMENT_NAME</strong> - Document name does not match the name in the document</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_DOCUMENT_TYPE</strong> - Document type does not match the document</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_REGISTRANT_INFO</strong> - The information provided for the registrant does not match the document</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_REGISTRANT_LOCALITY</strong> - Registrant region is overseas, but a local identity document was provided</li> <li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_REGISTRANT_NAME</strong> - Registrant name has been changed, so the request must be resubmitted</li> <li><strong style='margin-left: 12px;'>REJECTED_UNABLE_TO_OPEN</strong> - Registrant identification could not be opened.  Please upload the document again to retry real name verification</li> <li><strong style='margin-left: 12px;'>REJECTED_UNABLE_TO_VERIFY</strong> - Unable to initiate verification.  Please upload the document again to retry real name verification</li> <li><strong style='margin-left: 12px;'>REJECTED_UNKNOWN_ERROR</strong> - Document was rejected due to an unknown error. For more information, contact customer support</li> <li><strong style='margin-left: 12px;'>UNABLE_TO_RETRIEVE_STATUS</strong> - Unable to retrieve status for the real name verification process.  Retry, if this status persists, contact customer support</li> </ul>"
    }
  }
}
object VerificationsDomain
{
  "properties": {
    "realName": {
      "$ref": "#/components/schemas/VerificationRealName"
    },
    "domainName": {
      "$ref": "#/components/schemas/VerificationDomainName"
    }
  }
}
object VerificationsDomainV2
{
  "properties": {
    "icann": {
      "enum": [
        "COMPLETED",
        "PENDING",
        "UNABLE_TO_RETRIEVE_STATUS"
      ],
      "type": "string",
      "description": "Status of the Icann verification of domain registrant contact by completing email and/or phone verification<br/><ul><li><strong style='margin-left: 12px;'>COMPLETED</strong> - Icann verification has been completed.</li><li><strong style='margin-left: 12px;'>PENDING</strong> - Icann verification has not been completed.</li><li><strong style='margin-left: 12px;'>UNABLE_TO_RETRIEVE_STATUS</strong> - Icann verification not supported for specified TLD.</li></ul>"
    },
    "realName": {
      "enum": [
        "APPROVED",
        "PENDING",
        "REJECTED_DOCUMENT_OUTDATED",
        "REJECTED_EXPIRED_BUSINESS_LICENSE",
        "REJECTED_EXPIRED_ORGANIZATION_CODE",
        "REJECTED_ILLEGIBLE_DOCUMENT_NAME",
        "REJECTED_ILLEGIBLE_IDENTIFICATION",
        "REJECTED_INCOMPLETE_IDENTIFICATION",
        "REJECTED_INCOMPLETE_REGISTRATION_LETTER",
        "REJECTED_INCONSISTENT_IDENTITY_CARD",
        "REJECTED_INCONSISTENT_ORGANIZATION_CODE",
        "REJECTED_INCONSISTENT_REGISTRANT_NAME",
        "REJECTED_INVALID_BUSINESS_LICENSE_OR_ORGANIZATION_CODE",
        "REJECTED_INVALID_DOCUMENT",
        "REJECTED_MISMATCH_BUSINESS_ID",
        "REJECTED_MISMATCH_BUSINESS_NAME",
        "REJECTED_MISMATCH_DOCUMENT_ID",
        "REJECTED_MISMATCH_DOCUMENT_NAME",
        "REJECTED_MISMATCH_DOCUMENT_TYPE",
        "REJECTED_MISMATCH_REGISTRANT_INFO",
        "REJECTED_MISMATCH_REGISTRANT_LOCALITY",
        "REJECTED_MISMATCH_REGISTRANT_NAME",
        "REJECTED_UNABLE_TO_OPEN",
        "REJECTED_UNABLE_TO_VERIFY",
        "REJECTED_UNKNOWN_ERROR",
        "UNABLE_TO_RETRIEVE_STATUS"
      ],
      "type": "string",
      "description": "Status of the real name verification of an identity by comparing registration data against government issued documents<br/><ul><li><strong style='margin-left: 12px;'>APPROVED</strong> - All is well</li><li><strong style='margin-left: 12px;'>PENDING</strong> - Real name verification is working its way through the workflow</li><li><strong style='margin-left: 12px;'>REJECTED_DOCUMENT_OUTDATED</strong> - Local government verification shows there is a newer version of your document.  Upload the latest version of the document and retry real name verification</li><li><strong style='margin-left: 12px;'>REJECTED_EXPIRED_BUSINESS_LICENSE</strong> - Business license is expired</li><li><strong style='margin-left: 12px;'>REJECTED_EXPIRED_ORGANIZATION_CODE</strong> - Organization code certificate number has expired</li><li><strong style='margin-left: 12px;'>REJECTED_ILLEGIBLE_DOCUMENT_NAME</strong> - There isn’t a clear name on your uploaded document, please upload a different document to retry real name verification</li><li><strong style='margin-left: 12px;'>REJECTED_ILLEGIBLE_IDENTIFICATION</strong> - Registrant identification is not clear.  Upload a better image to retry</li><li><strong style='margin-left: 12px;'>REJECTED_INCOMPLETE_IDENTIFICATION</strong> - Registrant identification is incomplete</li><li><strong style='margin-left: 12px;'>REJECTED_INCOMPLETE_REGISTRATION_LETTER</strong> - Registration letter is incomplete</li><li><strong style='margin-left: 12px;'>REJECTED_INCONSISTENT_IDENTITY_CARD</strong> - Provided identity card is inconsistent with the identity card on record</li><li><strong style='margin-left: 12px;'>REJECTED_INCONSISTENT_ORGANIZATION_CODE</strong> - Provided organization information is inconsistent with the results obtained using the submitted organization code</li><li><strong style='margin-left: 12px;'>REJECTED_INCONSISTENT_REGISTRANT_NAME</strong> - Name on the registrant identification does not match the name in the system</li><li><strong style='margin-left: 12px;'>REJECTED_INVALID_BUSINESS_LICENSE_OR_ORGANIZATION_CODE</strong> - Your document contains an invalid business license or organization code certificate number</li><li><strong style='margin-left: 12px;'>REJECTED_INVALID_DOCUMENT</strong> - Document is invalid.  Please upload another document to retry real name verification</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_BUSINESS_ID</strong> - Business id does not match the business id in the document</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_BUSINESS_NAME</strong> - Business name does not match the business name in the document</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_DOCUMENT_ID</strong> - Document id does not match the id in the document</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_DOCUMENT_NAME</strong> - Document name does not match the name in the document</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_DOCUMENT_TYPE</strong> - Document type does not match the document</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_REGISTRANT_INFO</strong> - The information provided for the registrant does not match the document</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_REGISTRANT_LOCALITY</strong> - Registrant region is overseas, but a local identity document was provided</li><li><strong style='margin-left: 12px;'>REJECTED_MISMATCH_REGISTRANT_NAME</strong> - Registrant name has been changed, so the request must be resubmitted</li><li><strong style='margin-left: 12px;'>REJECTED_UNABLE_TO_OPEN</strong> - Registrant identification could not be opened.  Please upload the document again to retry real name verification</li><li><strong style='margin-left: 12px;'>REJECTED_UNABLE_TO_VERIFY</strong> - Unable to initiate verification.  Please upload the document again to retry real name verification</li><li><strong style='margin-left: 12px;'>REJECTED_UNKNOWN_ERROR</strong> - Document was rejected due to an unknown error. For more information, contact customer support</li><li><strong style='margin-left: 12px;'>UNABLE_TO_RETRIEVE_STATUS</strong> - Unable to retrieve status for the real name verification process.  Retry, if this status persists, contact customer support</li></ul>"
    },
    "domainName": {
      "enum": [
        "APPROVED",
        "PENDING",
        "REJECTED",
        "UNABLE_TO_RETRIEVE_STATUS"
      ],
      "type": "string",
      "description": "Status of the verification of the domain name against a prohibited list maintained by the government"
    }
  },
  "additionalProperties": false
}
object domain
{
  "properties": {
    "id": {
      "type": "number",
      "format": "double"
    }
  }
}