swagger: '2.0' info: title: Abuse Actions Domains API version: 2.0.0 description: GoDaddy Abuse API Terms of Use:

GoDaddy’s Abuse API is provided to simplify and standardize the abuse reporting experience. To help us streamline the review of abuse reports, you acknowledge and agree that your use of GoDaddy’s Abuse API is subject to the following quality metrics and terms of use.

GoDaddy may, in its sole and absolute discretion, change or modify these terms, and such changes or modifications shall be effective immediately upon notice to you. Your use of GoDaddy’s Abuse API after such changes or modifications shall constitute your acceptance of these terms as last revised. If you do not agree to be bound by these terms as last revised, do not use (or continue to use) our Abuse API.

As an Abuse API user, you must only submit abuse reports via the API portal and cease all email submissions, including but not limited, to phishing@godaddy.com, netabuse@godaddy.com, malware@godaddy.com, or spam@godaddy.com, etc. Any additional or duplicate submission outside of the API portal will be deprioritized for review. Submissions related to trademark, copyright or content issues may still be sent to trademarkclaims@godaddy.com, coyprightclaims@godaddy.com, and contentcomplaints@godaddy.com, respectively. Our [Front of Site](https://supportcenter.godaddy.com/AbuseReport) also describes other scenarios not covered by the API.

When you submit abuse reports via GoDaddy’s Abuse API, you must ensure that you accurately categorize the abuse type of each report to match our definitions in the API documentations provided to you. Any submission that fails to match our definitions or is miscategorized will be marked as a false positive. Examples include, but are not limited to, submissions of trademark complaints marked as phishing or malware, or submissions of copyright complaints marked as phishing or malware, etc.

If, at any time, the false positive rate of submissions exceeds 40% of your total submissions, as determined by GoDaddy, GoDaddy may in its sole discretion deprioritize any subsequent reports submitted by you and/or your organization.

You acknowledge and agree that submitting every URL for a single domain is not necessary and will not expedite the review process. If your submissions exceed five (5) URLs for a single domain, your report will be marked as a duplicate submission taking into account that the final outcome of such submissions would yield the same result as the original report. GoDaddy may in its sole discretion deprioritize reports submitted by you and/or your organization in the event more than 20% of your submissions are classified as duplicate submissions.

You further acknowledge and agree that our Customer Support lines are not intended to address abuse reporting matters or your use of GoDaddy’s Abuse API. Contacting Customer Support will not expedite the review process and may result in abuse reports being deprioritized, to be determined in our sole discretion.

Should you have any questions about GoDaddy’s Abuse API or any of the terms and conditions set forth above, please contact abuseapisupport@godaddy.com.

host: api.ote-godaddy.com tags: - name: Domains description: '' paths: /v2/customers/{customerId}/domains/{domain}: get: tags: - Domains produces: - application/json summary: Retrieve details for the specified Domain parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain name whose details are to be retrieved name: domain in: path required: true type: string - name: includes required: false in: query type: array items: enum: - actions - contacts - dnssecRecords - registryStatusCodes type: string description: Optional details to be included in the response responses: '200': description: Request was successful schema: $ref: '#/definitions/DomainDetailV2' '203': description: Request was partially successful, but actions, contacts, and/or verifications may not be included. schema: $ref: '#/definitions/DomainDetailV2' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The contact does not exist schema: $ref: '#/definitions/Error' '422': description: '`domain` must be specified' schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/changeOfRegistrant: delete: tags: - Domains summary: Cancels a pending change of registrant request for a given domain parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain whose change of registrant is to be cancelled name: domain in: path required: true type: string responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/CHANGE_OF_REGISTRANT_DELETE to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The contact does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: '`domain` must be specified' schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' '502': description: Dependent service unavailable schema: $ref: '#/definitions/Error' get: tags: - Domains produces: - application/json summary: Retrieve change of registrant information parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain whose change of registrant information is to be retrieved name: domain in: path required: true type: string responses: '200': description: Request was successful schema: $ref: '#/definitions/DomainChangeOfRegistrant' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The contact does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: '`domain` must be specified' schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' '502': description: Dependent service unavailable schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/dnssecRecords: patch: tags: - Domains consumes: - application/json produces: - application/json summary: Add the specifed DNSSEC records to the domain parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to add the DNSSEC record for name: domain in: path required: true type: string - description: DNSSEC records to add name: body in: body required: true schema: items: $ref: '#/definitions/DomainDnssec' type: array responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DNSSEC_CREATE to poll status '400': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '401': description: Request was malformed schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' delete: tags: - Domains consumes: - application/json produces: - application/json summary: Remove the specifed DNSSEC record from the domain parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to delete the DNSSEC record for name: domain in: path required: true type: string - description: DNSSEC records to remove name: body in: body required: true schema: items: $ref: '#/definitions/DomainDnssec' type: array responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DNSSEC_DELETE to poll status '400': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '401': description: Request was malformed schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/nameServers: put: tags: - Domains consumes: - application/json produces: - application/json summary: Replaces the existing name servers on the domain. parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain whose name servers are to be replaced name: domain in: path required: true type: string - description: Name server records to replace on the domain name: body in: body required: true schema: $ref: '#/definitions/DomainNameServerUpdateV2' responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/DOMAIN_UPDATE_NAME_SERVERS to poll status '400': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '401': description: Request was malformed schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/privacy/forwarding: get: tags: - Domains produces: - application/json summary: Retrieve privacy email forwarding settings showing where emails are delivered parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain name whose details are to be retrieved name: domain in: path required: true type: string responses: '200': description: Request was successful schema: $ref: '#/definitions/DomainPrivacyForwarding' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '422': description: '`domain` must be specified' schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' patch: tags: - Domains produces: - application/json summary: Update privacy email forwarding settings to determine how emails are delivered parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain name whose details are to be retrieved name: domain in: path required: true type: string - description: Update privacy email forwarding settings in: body name: body required: true schema: $ref: '#/definitions/DomainPrivacyForwardingUpdate' responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/PRIVACY_FORWARDING_UPDATE to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/redeem: post: tags: - Domains consumes: - application/json produces: - application/json summary: Purchase a restore for the given domain to bring it out of redemption parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to request redeem for name: domain in: path required: true type: string - description: Options for redeeming existing Domain name: body in: body required: false schema: $ref: '#/definitions/DomainRedeemV2' responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/REDEEM to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Domain invalid schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/renew: post: tags: - Domains consumes: - application/json produces: - application/json summary: Renew the specified Domain parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to be renewed name: domain in: path required: true type: string - description: Options for renewing existing Domain name: body in: body required: true schema: $ref: '#/definitions/DomainRenewV2' responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/RENEW to poll status '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transfer: post: tags: - Domains consumes: - application/json produces: - application/json summary: Purchase and start or restart transfer process parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to transfer in name: domain in: path required: true type: string - description: Details for domain transfer purchase name: body in: body required: true schema: $ref: '#/definitions/DomainTransferInV2' responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER to poll status '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Based on restrictions declared in JSON schema returned by `./schema/{tld}` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' get: tags: - Domains produces: - application/json summary: Query the current transfer status parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain Name name: domain in: path required: true type: string responses: '200': description: Request was successful schema: $ref: '#/definitions/DomainTransferStatus' '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transfer/validate: post: tags: - Domains consumes: - application/json produces: - application/json summary: Validate the request body using the Domain Transfer Schema for the specified TLD parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to transfer in name: domain in: path required: true type: string - description: Details for domain transfer purchase name: body in: body required: true schema: $ref: '#/definitions/DomainTransferInV2' responses: '204': description: Request was successful '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Based on restrictions declared in JSON schema returned by `./schema/{tld}` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transferInAccept: post: tags: - Domains consumes: - application/json produces: - application/json summary: Accepts the transfer in parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - name: customerId required: true in: path type: string description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' - name: domain required: true in: path type: string description: Domain to accept the transfer in for - name: body in: body description: An Authorization code for transferring the Domain required: true schema: $ref: '#/definitions/DomainTransferAuthCode' responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_ACCEPT to poll status '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: The domain status does not allow performing the operation schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transferInCancel: post: tags: - Domains consumes: - application/json produces: - application/json summary: Cancels the transfer in parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to cancel the transfer in for name: domain in: path required: true type: string responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_CANCEL to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transferInRestart: post: tags: - Domains consumes: - application/json produces: - application/json summary: Restarts transfer in request from the beginning parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - name: customerId required: true in: path type: string description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' - name: domain required: true in: path type: string description: Domain to restart the transfer in responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_RESTART to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: Resource not found schema: $ref: '#/definitions/Error' '409': description: The domain status does not allow performing the operation schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transferInRetry: post: tags: - Domains consumes: - application/json produces: - application/json summary: Retries the current transfer in request with supplied Authorization code parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - name: customerId required: true in: path type: string description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' - name: domain required: true in: path type: string description: Domain to retry the transfer in - name: body in: body description: An Authorization code for transferring the Domain required: true schema: $ref: '#/definitions/DomainTransferAuthCode' responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_IN_RETRY to poll status '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: Resource not found schema: $ref: '#/definitions/Error' '409': description: The domain status does not allow performing the operation schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transferOut: post: tags: - Domains consumes: - application/json produces: - application/json summary: Initiate transfer out to another registrar for a .uk domain. parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to initiate the transfer out for name: domain in: path required: true type: string - description: Registrar tag to push transfer to name: registrar in: query required: true type: string responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_OUT_REQUESTED to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Domain invalid. TLD must be .uk schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transferOutAccept: post: tags: - Domains consumes: - application/json produces: - application/json summary: Accept transfer out parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to accept the transfer out for name: domain in: path required: true type: string responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_OUT_ACCEPT to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/transferOutReject: post: tags: - Domains consumes: - application/json produces: - application/json summary: Reject transfer out parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to reject the transfer out for name: domain in: path required: true type: string - name: reason description: Transfer out reject reason in: query required: false enum: - EVIDENCE_OF_FRAUD - URDP_ACTION - COURT_ORDER - DISPUTE_OVER_IDENTITY - NO_PAYMENT_FOR_PREVIOUS_REGISTRATION_PERIOD - WRITTEN_OBJECTION - TRANSFERRED_WITHIN_SIXTY_DAYS type: string responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/TRANSFER_OUT_REJECT to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/forwards/{fqdn}: delete: description: Notes: tags: - Domains consumes: [] produces: - application/json parameters: - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: The fully qualified domain name whose forwarding details are to be deleted. in: path name: fqdn required: true type: string responses: '204': description: Request was successful '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: Resource not found schema: $ref: '#/definitions/Error' '409': description: The domain status does not allow performing the operation schema: $ref: '#/definitions/Error' '422': description: A valid `fqdn` must be specified schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' operationId: domainsForwardsDelete summary: Submit a forwarding cancellation request for the given fqdn get: description: Notes: tags: - Domains consumes: [] produces: - application/json parameters: - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: The fully qualified domain name whose forwarding details are to be retrieved. in: path name: fqdn required: true type: string - description: Optionally include all sub domains if the fqdn specified is a domain and not a sub domain. name: includeSubs required: false in: query type: boolean responses: '200': description: Request was successful schema: items: $ref: '#/definitions/DomainForwarding' type: array '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: Resource not found schema: $ref: '#/definitions/Error' '422': description: A valid `fqdn` must be specified schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' operationId: domainsForwardsGet summary: Retrieve the forwarding information for the given fqdn put: description: Notes: tags: - Domains consumes: - application/json produces: - application/json parameters: - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: The fully qualified domain name whose forwarding details are to be modified. in: path name: fqdn required: true type: string - description: Domain forwarding rule to create or replace on the fqdn name: body required: true in: body schema: $ref: '#/definitions/DomainForwardingCreate' responses: '204': description: Request was successful '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: Resource not found schema: $ref: '#/definitions/Error' '409': description: The domain status does not allow performing the operation schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' operationId: domainsForwardsPut summary: Modify the forwarding information for the given fqdn post: description: Notes: tags: - Domains consumes: - application/json produces: - application/json parameters: - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your own customer id.' in: path name: customerId required: true type: string - description: The fully qualified domain name whose forwarding details are to be modified. in: path name: fqdn required: true type: string - description: Domain forwarding rule to create for the specified fqdn name: body required: true in: body schema: $ref: '#/definitions/DomainForwardingCreate' responses: '204': description: Request was successful '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: Resource not found schema: $ref: '#/definitions/Error' '409': description: Provided `fqdn` already has forwarding setup schema: $ref: '#/definitions/Error' '422': description: Request body doesn't fulfill schema, see details in `fields` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' operationId: domainsForwardsPost summary: Create a new forwarding configuration for the given FQDN /v2/customers/{customerId}/domains/register: post: tags: - Domains consumes: - application/json produces: - application/json summary: Purchase and register the specified Domain parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - name: body required: true in: body schema: $ref: '#/definitions/DomainPurchaseV2' description: An instance document expected to match the JSON schema returned by `./schema/{tld}` responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/REGISTER to poll status '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '422': description: Based on restrictions declared in JSON schema returned by `./schema/{tld}` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/register/schema/{tld}: get: tags: - Domains consumes: - application/json produces: - application/json summary: Retrieve the schema to be submitted when registering a Domain for the specified TLD parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - name: tld required: true in: path type: string description: The Top-Level Domain whose schema should be retrieved responses: '200': description: Request was successful schema: $ref: '#/definitions/JsonSchema' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The tld does not exist schema: $ref: '#/definitions/Error' '422': description: '`tld` must be specified' schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/register/validate: post: tags: - Domains consumes: - application/json produces: - application/json summary: Validate the request body using the Domain Registration Schema for the specified TLD parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - name: body required: true in: body schema: $ref: '#/definitions/DomainPurchaseV2' description: An instance document expected to match the JSON schema returned by `./schema/{tld}` responses: '204': description: Request was successful '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The customer does not exist schema: $ref: '#/definitions/Error' '422': description: Based on restrictions declared in JSON schema returned by `./schema/{tld}` schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/domains/maintenances: get: tags: - Domains produces: - application/json summary: Retrieve a list of upcoming system Maintenances parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - name: status in: query required: false description: 'Only include results with the selected `status` value. Returns all results if omitted
' type: string enum: - ACTIVE - CANCELLED - name: modifiedAtAfter required: false in: query type: string format: iso-datetime description: Only include results with `modifiedAt` after the supplied date - name: startsAtAfter required: false in: query type: string format: iso-datetime description: Only include results with `startsAt` after the supplied date - name: limit required: false in: query type: integer default: 100 minimum: 1 maximum: 100 description: Maximum number of results to return responses: '200': description: Request was successful schema: $ref: '#/definitions/Maintenance' '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '422': description: Filter parameters don't match schema and/or restrictions schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/domains/maintenances/{maintenanceId}: get: tags: - Domains produces: - application/json summary: Retrieve the details for an upcoming system Maintenances parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - name: maintenanceId in: path required: true description: The identifier for the system maintenance type: string responses: '200': description: Request was successful schema: $ref: '#/definitions/MaintenanceDetail' '400': description: Request was malformed schema: $ref: '#/definitions/Error' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The maintenance does not exist schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/domains/usage/{yyyymm}: get: tags: - Domains produces: - application/json summary: Retrieve api usage request counts for a specific year/month. The data is retained for a period of three months. parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - name: yyyymm description: The year/month timeframe for the request counts (in the format yyyy-mm) in: path required: true type: string pattern: ^\d{4}-\d{2}$ - name: includes required: false in: query type: array items: enum: - details type: string description: Determines if the detail records (grouped by request path) are included in the response responses: '200': description: Request was successful schema: $ref: '#/definitions/UsageMonthly' '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' /v2/customers/{customerId}/domains/{domain}/regenerateAuthCode: post: tags: - Domains consumes: - application/json produces: - application/json summary: Regenerate the auth code for the given domain parameters: - name: X-Request-Id required: false in: header type: string description: A client provided identifier for tracking this request. - description: 'The Customer identifier
Note: For API Resellers, performing actions on behalf of your customers, you need to specify the Subaccount you''re operating on behalf of; otherwise use your shopper id.' in: path name: customerId required: true type: string - description: Domain to update authcode for name: domain in: path required: true type: string responses: '202': description: Request Accepted. You may use GET /v2/customers/{customerId}/domains/{domain}/actions/AUTH_CODE_REGENERATE to poll status '401': description: Authentication info not sent or invalid schema: $ref: '#/definitions/Error' '403': description: Authenticated user is not allowed access schema: $ref: '#/definitions/Error' '404': description: The domain does not exist schema: $ref: '#/definitions/Error' '409': description: There is already a similar action processing schema: $ref: '#/definitions/Error' '429': description: Too many requests received within interval schema: $ref: '#/definitions/ErrorLimit' '500': description: Internal server error schema: $ref: '#/definitions/Error' definitions: DomainTransferInV2: additionalProperties: false properties: authCode: type: string description: Authorization code from registrar for transferring a domain period: type: integer format: integer-positive default: 1 minimum: 1 maximum: 10 pattern: ^[0-9]+$ description: Can be more than 1 but no more than 10 years total including current registration length renewAuto: type: boolean default: true description: Whether or not the domain should be configured to automatically renew privacy: type: boolean default: false description: Whether or not privacy has been requested 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 consent: $ref: '#/definitions/ConsentV2' description: Required agreements can be retrieved via the GET ./domains/agreements endpoint contacts: $ref: '#/definitions/DomainContactsCreateV2' description: Contacts for the domain registration metadata: type: object description: The domain eligibility data fields as specified by GET /v2/customers/{customerId}/domains/register/schema/{tld} required: - authCode - consent Action: properties: type: type: string description: 'The type of action being performed
' enum: - AUTH_CODE_PURCHASE - AUTH_CODE_REGENERATE - AUTO_RENEWAL - BACKORDER_PURCHASE - BACKORDER_DELETE - BACKORDER_UPDATE - CHANGE_OF_REGISTRANT_DELETE - CONTACT_CREATE - CONTACT_DELETE - CONTACT_UPDATE - DNS_VERIFICATION - DNSSEC_CREATE - DNSSEC_DELETE - DOMAIN_DELETE - DOMAIN_UPDATE - DOMAIN_UPDATE_CONTACTS - DOMAIN_UPDATE_NAME_SERVERS - EXPIRY - HOST_CREATE - HOST_DELETE - ICANN_VERIFICATION - MIGRATE - MIGRATE_IN - PREMIUM - PRIVACY_FORWARDING_UPDATE - PRIVACY_PURCHASE - PRIVACY_DELETE - REDEEM - REGISTER - RENEW - RENEW_UNDO - TRADE - TRADE_CANCEL - TRADE_PURCHASE - TRADE_PURCHASE_AUTH_TEXT_MESSAGE - TRADE_RESEND_AUTH_EMAIL - TRANSFER - TRANSFER_IN - TRANSFER_IN_ACCEPT - TRANSFER_IN_CANCEL - TRANSFER_IN_RESTART - TRANSFER_IN_RETRY - TRANSFER_OUT - TRANSFER_OUT_ACCEPT - TRANSFER_OUT_REJECT - TRANSFER_OUT_REQUESTED - TRANSIT origination: type: string enum: - USER - SYSTEM description: 'The origination of the action
' createdAt: type: string format: iso-datetime description: Timestamp indicating when the action was created startedAt: type: string format: iso-datetime description: Timestamp indicating when the action was started completedAt: type: string format: iso-datetime description: Timestamp indicating when the action was completed modifiedAt: type: string format: iso-datetime description: Timestamp indicating when the action was last modified status: type: string default: ACCEPTED enum: - ACCEPTED - AWAITING - CANCELLED - FAILED - PENDING - SUCCESS description: 'The current status of the action
' reason: $ref: '#/definitions/ActionReason' description: The detailed reason for the status requestId: type: string description: A client provided identifier (via X-Request-Id header) used for tracking individual requests required: - type - origination - createdAt - status DomainContactsCreateV2: additionalProperties: false type: object properties: admin: $ref: '#/definitions/ContactDomainCreate' adminId: 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. ' type: string billing: $ref: '#/definitions/ContactDomainCreate' billingId: 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. ' type: string registrant: $ref: '#/definitions/ContactDomainCreate' registrantId: 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. ' type: string tech: $ref: '#/definitions/ContactDomainCreate' techId: 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. ' type: string Error: properties: code: description: Short identifier for the error, suitable for indicating the specific error within client code format: constant type: string fields: description: List of the specific fields, and the errors found with their contents items: $ref: '#/definitions/ErrorField' type: array message: description: Human-readable, English description of the error type: string required: - code ConsentV2: additionalProperties: false properties: 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 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 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 agreedBy: type: string description: Originating client IP address of the end-user's computer when they consented to these legal agreements agreedAt: type: string format: iso-datetime description: Timestamp indicating when the end-user consented to these legal agreements claimToken: description: The trademark claim token, only needed if the domain has an active trademark claim type: string required: - agreementKeys - price - currency - agreedBy - agreedAt DomainForwarding: properties: fqdn: type: string description: The fqdn (domain or sub domain) to forward (ex somedomain.com or sub.somedomain.com) type: type: string default: REDIRECT_PERMANENT enum: - MASKED - REDIRECT_PERMANENT - REDIRECT_TEMPORARY description: 'The type of fowarding to implement
' url: type: string format: url description: Forwards http(s) traffic to this destination url (ex. http://www.somedomain.com/) mask: $ref: '#/definitions/DomainForwardingMask' description: Additional configuration that can be provided when type = 'MASKED' required: - fqdn - type - url JsonSchema: properties: id: type: string models: items: $ref: '#/definitions/JsonSchema' type: object properties: items: $ref: '#/definitions/JsonProperty' type: object required: items: type: string type: array required: - id - properties - required - models DomainPrivacyForwarding: properties: privateEmail: type: string description: The private email forwardingEmail: type: string description: The email that it forwards to emailPreference: type: string enum: - EMAIL_FILTER - EMAIL_SEND_ALL - EMAIL_SEND_NONE description: 'The email forwarding preference for the domain
' DomainForwardingCreate: properties: type: type: string default: REDIRECT_PERMANENT enum: - MASKED - REDIRECT_PERMANENT - REDIRECT_TEMPORARY description: 'The type of fowarding to implement
' url: type: string format: url description: Forwards http(s) traffic to this destination url (ex. http://www.somedomain.com/) mask: $ref: '#/definitions/DomainForwardingMask' description: Additional configuration that can be provided when type = 'MASKED' required: - type - url RenewalDetails: properties: renewable: type: boolean description: Whether or not the domain is eligble for renewal based on status 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 required: - price - currency ContactDomain: properties: contactId: type: string description: Unique identifier for this Contact encoding: type: string default: ASCII enum: - ASCII - UTF-8 description: 'The encoding of the contact data
' nameFirst: type: string format: person-name maxLength: 30 nameMiddle: type: string nameLast: type: string format: person-name maxLength: 30 organization: type: string format: organization-name maxLength: 100 jobTitle: type: string email: type: string format: email maxLength: 80 phone: type: string format: phone maxLength: 17 fax: type: string format: phone maxLength: 17 addressMailing: $ref: '#/definitions/Address' exposeRegistrantOrganization: type: boolean description: Whether or not the domain registrant contact organization field should be shown in the WHOIS exposeWhois: type: boolean description: Whether or not the contact details should be shown in the WHOIS metadata: type: object description: The contact eligibility data fields as specified by GET /v2/customers/{customerId}/domains/contacts/schema/{tld} tlds: type: array description: The tlds that this contact can be assigned to items: type: string _createdAt: type: string format: iso-datetime description: Timestamp indicating when the contact was created _modifiedAt: type: string format: iso-datetime description: Timestamp indicating when the contact was last modified _deleted: type: boolean description: Flag indicating if the contact has been logically deleted in the system _revision: type: integer description: The current revision number of the contact. required: - nameFirst - nameLast - email - phone - addressMailing - exposeWhois - exposeRegistrantOrganization MaintenanceSystem: additionalProperties: false properties: name: type: string enum: - DOMAIN_CHECKS - DOMAIN_MANAGEMENT - DOMAIN_REGISTRATION - DOMAIN_REGISTRATION_DATA - DOMAIN_RESOLUTION - RESELLER_ADMIN_PORTAL - RESELLER_STOREFRONT description: 'The name of the system affected by the maintenance
' impact: type: array items: type: string enum: - DELAYED - DOWN - NON_AUTHORITATIVE - PARTIAL description: 'The impact of the maintenance to the system
' required: - name - impact JsonDataType: properties: format: type: string pattern: type: string type: type: string required: - type - $ref ErrorField: properties: code: description: Short identifier for the error, suitable for indicating the specific error within client code format: constant type: string message: description: Human-readable, English description of the problem with the contents of the field type: string path: description: '' format: json-path type: string pathRelated: description: JSONPath referring to a field containing an error, which is referenced by `path` format: json-path type: string required: - path - code DomainPrivacyForwardingUpdate: properties: privateEmailType: type: string enum: - DEFAULT - RANDOM description: 'The private email type
' forwardingEmail: type: string description: The email that it forwards to emailPreference: type: string enum: - EMAIL_FILTER - EMAIL_SEND_ALL - EMAIL_SEND_NONE description: 'The email forwarding preference for the domain
' required: - privateEmailType - emailPreference DomainPurchaseV2: additionalProperties: false 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 consent: $ref: '#/definitions/ConsentV2' period: type: integer format: integer-positive default: 1 minimum: 1 maximum: 10 pattern: ^[0-9]+$ nameServers: type: array items: type: string format: host-name maxItems: 2 renewAuto: type: boolean default: true privacy: type: boolean default: false contacts: $ref: '#/definitions/DomainContactsCreateV2' description: Contacts for the domain registration metadata: type: object description: The domain eligibility data fields as specified by GET /v2/customers/{customerId}/domains/register/schema/{tld} required: - domain - consent ConsentRenew: additionalProperties: false 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 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 agreedBy: type: string description: Originating client IP address of the end-user's computer when they consented to these legal agreements agreedAt: type: string format: iso-datetime description: Timestamp indicating when the end-user consented to these legal agreements required: - price - currency - agreedBy - agreedAt MaintenanceDetail: additionalProperties: false properties: createdAt: description: Date and time (UTC) when this maintenance was created type: string format: iso-datetime endsAt: description: Date and time (UTC) when this maintenance will complete type: string format: iso-datetime environment: type: string enum: - OTE - PRODUCTION description: 'The environment on which the maintenance will be performed
' maintenanceId: type: string description: The identifier for the system maintenance modifiedAt: type: string format: iso-datetime description: Date and time (UTC) when this maintenance was last modified reason: type: string enum: - EMERGENCY - PLANNED description: 'The reason for the maintenance being performed
' startsAt: type: string format: iso-datetime description: Date and time (UTC) when this maintenance will start status: type: string enum: - ACTIVE - CANCELLED description: 'The status of maintenance
' summary: type: string description: A brief description of what is being performed systems: type: array items: $ref: '#/definitions/MaintenanceSystem' description: List of systems that are impacted by the maintenance. tlds: type: array items: type: string description: List of tlds that are in maintenance. Generally only applies when `type` is REGISTRY type: type: string enum: - API - REGISTRY - UI description: 'The type of maintenance being performed
' required: - createdAt - endsAt - environment - maintenanceId - modifiedAt - reason - startsAt - status - summary - type ErrorLimit: properties: code: description: Short identifier for the error, suitable for indicating the specific error within client code format: constant type: string fields: description: List of the specific fields, and the errors found with their contents items: $ref: '#/definitions/ErrorField' type: array message: description: Human-readable, English description of the error type: string retryAfterSec: description: Number of seconds to wait before attempting a similar request format: integer-positive type: integer required: - retryAfterSec - code DomainTransferAuthCode: type: object additionalProperties: false properties: authCode: description: Authorization code for transferring the Domain type: string required: - authCode DomainDnssec: properties: algorithm: description: 'This identifies the cryptographic algorithm used to generate the signature
' enum: - RSAMD5 - DH - DSA - RSASHA1 - DSA_NSEC3_SHA1 - RSASHA1_NSEC3_SHA1 - RSASHA256 - RSASHA512 - ECC_GOST - ECDSAP256SHA256 - ECDSAP384SHA384 - ED25519 - ED448 - PRIVATEDNS - PRIVATEOID type: string keyTag: description: This is an integer value less than 65536 used to identify the DNSSEC record for the domain name. type: integer format: integer-positive maximum: 65536 digestType: description: 'This identifies the algorithm used to construct the digest
' enum: - SHA1 - SHA256 - GOST - SHA384 type: string digest: type: string description: The digest is an alpha-numeric value flags: description: 'This identifies the key type; either a Zone-Signing Key or a Key-Signing Key
' enum: - ZSK - KSK type: string publicKey: type: string description: Registries use this value to encrypt DS records. Decryption requires a matching public key 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 required: - algorithm VerificationsDomainV2: additionalProperties: false properties: icann: type: string enum: - COMPLETED - PENDING - UNABLE_TO_RETRIEVE_STATUS description: 'Status of the Icann verification of domain registrant contact by completing email and/or phone verification
' realName: type: string 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 description: 'Status of the real name verification of an identity by comparing registration data against government issued documents
' domainName: type: string enum: - APPROVED - PENDING - REJECTED - UNABLE_TO_RETRIEVE_STATUS description: Status of the verification of the domain name against a prohibited list maintained by the government Maintenance: additionalProperties: false properties: createdAt: description: Date and time (UTC) when this maintenance was created type: string format: iso-datetime endsAt: description: Date and time (UTC) when this maintenance will complete type: string format: iso-datetime environment: type: string enum: - OTE - PRODUCTION description: 'The environment on which the maintenance will be performed
' maintenanceId: type: string description: The identifier for the system maintenance modifiedAt: type: string format: iso-datetime description: Date and time (UTC) when this maintenance was last modified reason: type: string enum: - EMERGENCY - PLANNED description: 'The reason for the maintenance being performed
' startsAt: type: string format: iso-datetime description: Date and time (UTC) when this maintenance will start status: type: string enum: - ACTIVE - CANCELLED description: 'The status of maintenance
' summary: type: string description: A brief description of what is being performed tlds: type: array items: type: string description: List of tlds that are in maintenance. Generally only applies when `type` is REGISTRY type: type: string enum: - API - REGISTRY - UI description: 'The type of maintenance being performed
' required: - createdAt - endsAt - environment - maintenanceId - modifiedAt - reason - startsAt - status - summary - type DomainTransferStatus: type: object additionalProperties: false properties: transferStatusCodes: type: array items: type: string enum: - CLIENT_APPROVED - CLIENT_CANCELLED - CLIENT_REJECTED - PENDING - SERVER_APPROVED - SERVER_CANCELLED description: 'The current registry transfer status codes of the domain
' required: - transferStatusCodes UsageMonthlyDetail: additionalProperties: false properties: path: type: string description: The api path for the requests total: type: integer description: The total number of requests in the month for the request path. required: - path - total DomainContactsV2: additionalProperties: false properties: registrant: $ref: '#/definitions/ContactDomain' description: Registrant contact for the domain admin: $ref: '#/definitions/ContactDomain' description: Administrative contact for the domain tech: $ref: '#/definitions/ContactDomain' description: Technical contact for the domain billing: $ref: '#/definitions/ContactDomain' description: Billing contact for the domain DomainForwardingMask: properties: title: type: string description: Displays at the top of the browser window and in search results. description: type: string description: A short description of your website to display in search engine results. keywords: type: string description: A list of comma-separated keywords that describes the content and purpose of your website. UsageMonthly: additionalProperties: false properties: details: type: array items: $ref: '#/definitions/UsageMonthlyDetail' description: List of total request counts per endpoint. quota: type: integer description: The total number of allowed requests in the month. See https://developer.godaddy.com/getstarted for more information on api quotas and access limits. total: type: integer description: The total number of requests in the month. yyyymm: type: string description: The year/month timeframe for the request counts (in the format yyyy-mm) required: - total - yyyymm DomainNameServerUpdateV2: additionalProperties: false properties: nameServers: type: array items: type: string description: Fully-qualified domain names for name servers to associate with the domain DomainRenewV2: additionalProperties: false properties: expires: type: string format: iso-datetime description: Current date when this domain will expire consent: $ref: '#/definitions/ConsentRenew' period: type: integer description: Number of years to extend the Domain. Must not exceed maximum for TLD. When omitted, defaults to `period` specified during original purchase format: integer-positive minimum: 1 maximum: 10 pattern: ^[0-9]+$ required: - consent - expires ActionReason: additionalProperties: false 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 message: type: string description: Human-readable, English description of the code fields: type: array items: $ref: '#/definitions/ErrorField' description: List of the specific fields, and the errors found with their contents required: - code ContactRegistrantChange: properties: email: type: string format: email maxLength: 80 firstName: type: string format: person-name maxLength: 30 lastName: type: string format: person-name maxLength: 30 organization: type: string format: organization-name maxLength: 100 required: - email - firstName - lastName JsonProperty: properties: defaultValue: type: string format: type: string items: items: $ref: '#/definitions/JsonDataType' type: object maxItems: type: integer maximum: type: integer minItems: type: integer minimum: type: integer pattern: type: string required: type: boolean type: type: string required: - type - $ref - required Address: properties: address1: format: street-address type: string address2: format: street-address2 type: string city: format: city-name type: string country: default: US description: 'Two-letter ISO country code to be used as a hint for target region

NOTE: These are sample values, there are many more' 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 format: iso-country-code type: string postalCode: description: Postal or zip code format: postal-code type: string state: description: State or province or territory format: state-province-territory type: string required: - address1 - city - state - postalCode - country ContactDomainCreate: additionalProperties: false properties: encoding: type: string default: ASCII enum: - ASCII - UTF-8 description: 'The encoding of the contact data
' nameFirst: type: string format: person-name maxLength: 30 nameMiddle: type: string nameLast: type: string format: person-name maxLength: 30 organization: type: string format: organization-name maxLength: 100 jobTitle: type: string email: type: string format: email maxLength: 80 phone: type: string format: phone maxLength: 17 fax: type: string format: phone maxLength: 17 addressMailing: $ref: '#/definitions/Address' metadata: type: object description: The contact eligibility data fields as specified by GET /v2/customers/{customerId}/domains/contacts/schema/{tld} required: - encoding - nameFirst - nameLast - email - phone - addressMailing DomainDetailV2: additionalProperties: false properties: domainId: type: string description: Unique identifier for this Domain domain: type: string description: Name of the domain format: domain subaccountId: type: string description: Reseller subaccount shopperid who can manage the domain status: type: string description: 'The current status of the domain
' enum: - ACTIVE - CANCELLED - DELETED_REDEEMABLE - EXPIRED - FAILED - LOCKED_REGISTRAR - PARKED - HELD_REGISTRAR - OWNERSHIP_CHANGED - PENDING_TRANSFER - PENDING_REGISTRATION - REPOSSESSED - SUSPENDED - TRANSFERRED expiresAt: type: string format: iso-datetime description: Date and time when this domain will expire expirationProtected: type: boolean description: Whether or not the domain is protected from expiration holdRegistrar: type: boolean description: Whether or not the domain is on-hold by the registrar locked: type: boolean description: Whether or not the domain is locked to prevent transfers privacy: type: boolean description: Whether or not the domain has privacy protection registrarCreatedAt: type: string format: iso-datetime description: Date and time when this domain was created by the registrar renewAuto: type: boolean description: Whether or not the domain is configured to automatically renew renewDeadline: type: string format: iso-datetime description: Date the domain must renew on transferProtected: type: boolean description: Whether or not the domain is protected from transfer 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 modifiedAt: type: string format: iso-datetime description: Date and time when this domain was last modified transferAwayEligibleAt: type: string format: iso-datetime description: Date and time when this domain is eligible to transfer authCode: type: string description: Authorization code for transferring the Domain nameServers: type: array items: type: string format: host-name description: Fully-qualified domain names for DNS servers hostnames: type: array items: type: string format: host-name description: Hostnames owned by the domain renewal: $ref: '#/definitions/RenewalDetails' description: Information for renewal of domain verifications: $ref: '#/definitions/VerificationsDomainV2' description: Progress and status for each of the verification processes required for this domain contacts: $ref: '#/definitions/DomainContactsV2' description: Contacts for the domain registration actions: type: array items: $ref: '#/definitions/Action' description: List of current actions in progress for this domain dnssecRecords: type: array items: $ref: '#/definitions/DomainDnssec' description: List of active DNSSEC records for this domain registryStatusCodes: type: array items: type: string 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 description: 'The current registry status codes of the domain
' required: - domainId - domain - status - expirationProtected - holdRegistrar - locked - privacy - renewAuto - renewDeadline - transferProtected - createdAt - authCode - nameServers - contacts DomainChangeOfRegistrant: properties: createDate: type: string format: iso-datetime gainingContact: $ref: '#/definitions/ContactRegistrantChange' losingContact: $ref: '#/definitions/ContactRegistrantChange' otherDomainsAffected: type: integer format: integer-positive shopperEmail: type: string format: email required: - createDate - gainingContact - losingContact DomainRedeemV2: additionalProperties: false properties: consent: $ref: '#/definitions/ConsentRedemption' required: - consent ConsentRedemption: additionalProperties: false properties: 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 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 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 agreedBy: type: string description: Originating client IP address of the end-user's computer when they consented to these legal agreements agreedAt: type: string format: iso-datetime description: Timestamp indicating when the end-user consented to these legal agreements required: - price - fee - currency - agreedBy - agreedAt