GoDaddy v1 API

The v1 API from GoDaddy — 49 operation(s) for v1.

Operations 62

GET /v1/abuse/tickets List all abuse tickets ids that match user provided filters #
POST /v1/abuse/tickets Create a new abuse ticket #
GET /v1/abuse/tickets/{ticketId} Return the abuse ticket data for a given ticket id #
GET /v1/agreements Retrieve Legal Agreements for provided agreements keys #
POST /v1/certificates Create a pending order for certificate #
POST /v1/certificates/validate Validate a pending order for certificate #
GET /v1/certificates/{certificateId} Retrieve certificate details #
GET /v1/certificates/{certificateId}/actions Retrieve all certificate actions #
POST /v1/certificates/{certificateId}/email/{emailId}/resend Resend an email #
POST /v1/certificates/{certificateId}/email/resend/{emailAddress} Add alternate email address #
POST /v1/certificates/{certificateId}/email/{emailId}/resend/{emailAddress} Resend email to email address #
GET /v1/certificates/{certificateId}/email/history Retrieve email history #
DELETE /v1/certificates/{certificateId}/callback Unregister system callback #
GET /v1/certificates/{certificateId}/callback Retrieve system stateful action callback url #
PUT /v1/certificates/{certificateId}/callback Register of certificate action callback #
POST /v1/certificates/{certificateId}/cancel Cancel a pending certificate #
GET /v1/certificates/{certificateId}/download Download certificate #
POST /v1/certificates/{certificateId}/reissue Reissue active certificate #
POST /v1/certificates/{certificateId}/renew Renew active certificate #
POST /v1/certificates/{certificateId}/revoke Revoke active certificate #
GET /v1/certificates/{certificateId}/siteSeal Get Site seal #
POST /v1/certificates/{certificateId}/verifyDomainControl Check Domain Control #
GET /v1/countries Retrieves summary country information for the provided marketId and filters #
GET /v1/countries/{countryKey} Retrieves country and summary state information for provided countryKey #
GET /v1/domains Retrieve a list of Domains for the specified Shopper #
GET /v1/domains/agreements Retrieve the legal agreement(s) required to purchase the specified TLD and add-ons #
GET /v1/domains/available Determine whether or not the specified domain is available for purchase #
POST /v1/domains/available Determine whether or not the specified domains are available for purchase #
POST /v1/domains/contacts/validate Validate the request body using the Domain Contact Validation Schema for specified domains. #
POST /v1/domains/purchase Purchase and register the specified Domain #
GET /v1/domains/purchase/schema/{tld} Retrieve the schema to be submitted when registering a Domain for the specified TLD #
POST /v1/domains/purchase/validate Validate the request body using the Domain Purchase Schema for the specified TLD #
GET /v1/domains/suggest Suggest alternate Domain names based on a seed Domain, a set of keywords, or the shopper's purchase history #
GET /v1/domains/tlds Retrieves a list of TLDs supported and enabled for sale #
DELETE /v1/domains/{domain} Cancel a purchased domain #
GET /v1/domains/{domain} Retrieve details for the specified Domain #
PATCH /v1/domains/{domain} Update details for the specified Domain #
PATCH /v1/domains/{domain}/contacts Update domain #
DELETE /v1/domains/{domain}/privacy Submit a privacy cancellation request for the given domain #
POST /v1/domains/{domain}/privacy/purchase Purchase privacy for a specified domain #
PATCH /v1/domains/{domain}/records Add the specified DNS Records to the specified Domain #
PUT /v1/domains/{domain}/records Replace all DNS Records for the specified Domain #
GET /v1/domains/{domain}/records/{type}/{name} Retrieve DNS Records for the specified Domain, optionally with the specified Type and/or Name #
PUT /v1/domains/{domain}/records/{type}/{name} Replace all DNS Records for the specified Domain with the specified Type and Name #
DELETE /v1/domains/{domain}/records/{type}/{name} Delete all DNS Records for the specified Domain with the specified Type and Name #
PUT /v1/domains/{domain}/records/{type} Replace all DNS Records for the specified Domain with the specified Type #
POST /v1/domains/{domain}/renew Renew the specified Domain #
POST /v1/domains/{domain}/transfer Purchase and start or restart transfer process #
POST /v1/domains/{domain}/verifyRegistrantEmail Re-send Contact E-mail Verification for specified Domain #
GET /v1/orders Retrieve a list of orders for the authenticated shopper. Only one filter may be used at a time #
GET /v1/orders/{orderId} Retrieve details for specified order #
POST /v1/shoppers/subaccount Create a Subaccount owned by the authenticated Reseller #
GET /v1/shoppers/{shopperId} Get details for the specified Shopper #
POST /v1/shoppers/{shopperId} Update details for the specified Shopper #
DELETE /v1/shoppers/{shopperId} Request the deletion of a shopper profile #
GET /v1/shoppers/{shopperId}/status Get details for the specified Shopper #
PUT /v1/shoppers/{shopperId}/factors/password Set subaccount's password #
GET /v1/subscriptions Retrieve a list of Subscriptions for the specified Shopper #
GET /v1/subscriptions/productGroups Retrieve a list of ProductGroups for the specified Shopper #
DELETE /v1/subscriptions/{subscriptionId} Cancel the specified Subscription #
GET /v1/subscriptions/{subscriptionId} Retrieve details for the specified Subscription #
PATCH /v1/subscriptions/{subscriptionId} Update details for the specified Subscription #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/godaddy-v1-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

godaddy-v1-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Abuse Actions V1 API
  version: 2.0.0
  description: <strong>GoDaddy Abuse API Terms of Use:</strong><p>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.</p><p>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.</p><p>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.</p><p>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.</p><p>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.</p><p>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.</p><p>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.</p><p>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.</p>
servers:
- url: https://api.ote-godaddy.com
tags:
- name: v1
  description: ''
paths:
  /v1/abuse/tickets:
    get:
      tags:
      - v1
      parameters:
      - description: The type of abuse.
        in: query
        name: type
        required: false
        schema:
          type: string
          enum:
          - A_RECORD
          - CHILD_ABUSE
          - CONTENT
          - FRAUD_WIRE
          - IP_BLOCK
          - MALWARE
          - NETWORK_ABUSE
          - PHISHING
          - SPAM
      - description: Is this abuse ticket closed?
        in: query
        name: closed
        required: false
        schema:
          type: boolean
          default: false
      - description: The domain name or ip address the abuse originated from
        in: query
        name: sourceDomainOrIp
        required: false
        schema:
          type: string
          format: host-name-or-ip-address
      - description: 'The brand/company the abuse is targeting. ie: brand name/bank name'
        in: query
        name: target
        required: false
        schema:
          type: string
      - description: The earliest abuse ticket creation date to pull abuse tickets for
        in: query
        name: createdStart
        required: false
        schema:
          type: string
          format: iso-datetime
      - description: The latest abuse ticket creation date to pull abuse tickets for
        in: query
        name: createdEnd
        required: false
        schema:
          type: string
          format: iso-datetime
      - description: Number of abuse ticket numbers to return.
        in: query
        name: limit
        required: false
        schema:
          type: integer
          format: integer-positive
          default: 100
          maximum: 100
      - description: The earliest result set record number to pull abuse tickets for
        in: query
        name: offset
        required: false
        schema:
          type: integer
          format: integer-positive
          default: 0
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbuseTicketList'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: getTickets
      summary: List all abuse tickets ids that match user provided filters
    post:
      tags:
      - v1
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbuseTicketId'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: createTicket
      summary: Create a new abuse ticket
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AbuseTicketCreateLegacy'
        description: The endpoint which allows the Reporter to create a new abuse ticket
        required: true
  /v1/abuse/tickets/{ticketId}:
    get:
      tags:
      - v1
      parameters:
      - description: A unique abuse ticket identifier
        in: path
        name: ticketId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AbuseTicketLegacy'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Invalid ticket id provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: getTicketInfo
      summary: Return the abuse ticket data for a given ticket id
  /v1/agreements:
    get:
      tags:
      - v1
      parameters:
      - description: PrivateLabelId to operate as, if different from JWT
        in: header
        name: X-Private-Label-Id
        required: false
        schema:
          type: integer
      - description: Unique identifier of the Market used to retrieve/translate Legal Agreements
        in: header
        name: X-Market-Id
        required: false
        schema:
          type: string
          format: bcp-47
          default: en-US
      - description: Keys for Agreements whose details are to be retrieved
        in: query
        name: keys
        required: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LegalAgreement'
                type: array
            application/javascript:
              schema:
                items:
                  $ref: '#/components/schemas/LegalAgreement'
                type: array
            application/xml:
              schema:
                items:
                  $ref: '#/components/schemas/LegalAgreement'
                type: array
            text/javascript:
              schema:
                items:
                  $ref: '#/components/schemas/LegalAgreement'
                type: array
            text/xml:
              schema:
                items:
                  $ref: '#/components/schemas/LegalAgreement'
                type: array
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
        '429':
          description: Too many requests received within interval
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorLimit'
            application/javascript:
              schema:
                $ref: '#/components/schemas/ErrorLimit'
            application/xml:
              schema:
                $ref: '#/components/schemas/ErrorLimit'
            text/javascript:
              schema:
                $ref: '#/components/schemas/ErrorLimit'
            text/xml:
              schema:
                $ref: '#/components/schemas/ErrorLimit'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            application/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/javascript:
              schema:
                $ref: '#/components/schemas/Error_2'
            text/xml:
              schema:
                $ref: '#/components/schemas/Error_2'
      operationId: get
      summary: Retrieve Legal Agreements for provided agreements keys
  /v1/certificates:
    post:
      tags:
      - v1
      parameters:
      - description: Setting locale for communications such as emails and error messages
        in: header
        name: X-Market-Id
        required: false
        schema:
          type: string
          default: Default locale for shopper account
      responses:
        '202':
          description: Request was successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateIdentifier'
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '409':
          description: Certificate state does not allow renew
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '422':
          description: '`email` is not empty<br>`csr` is invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: '<p>Creating a certificate order can be a long running asynchronous operation in the PKI workflow. The PKI API supports 2 options for getting the completion stateful actions for this asynchronous operations: 1) by polling operations -- see /v1/certificates/{certificateId}/actions 2) via WebHook style callback -- see ''/v1/certificates/{certificateId}/callback''.</p>'
      operationId: certificate_create
      summary: Create a pending order for certificate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateCreate'
        description: The certificate order information
        required: true
  /v1/certificates/validate:
    post:
      tags:
      - v1
      parameters:
      - description: Setting locale for communications such as emails and error messages
        in: header
        name: X-Market-Id
        required: false
        schema:
          type: string
          default: Default locale for shopper account
      responses:
        '204':
          description: Request validated successfully
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '409':
          description: Certificate state does not allow renew
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '422':
          description: '`email` is not empty <br> `csr` is invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      operationId: certificate_validate
      summary: Validate a pending order for certificate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateCreate'
        description: The certificate order info
        required: true
  /v1/certificates/{certificateId}:
    get:
      tags:
      - v1
      parameters:
      - description: Certificate id to lookup
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Certificate details retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Certificate'
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '404':
          description: Certificate id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: Once the certificate order has been created, this method can be used to check the status of the certificate. This method can also be used to retrieve details of the certificate.
      operationId: certificate_get
      summary: Retrieve certificate details
  /v1/certificates/{certificateId}/actions:
    get:
      tags:
      - v1
      parameters:
      - description: Certificate id to register for callback
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Action retrieval successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfCertificateAction'
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '404':
          description: Certificate not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: This method is used to retrieve all stateful actions relating to a certificate lifecycle.
      operationId: certificate_action_retrieve
      summary: Retrieve all certificate actions
  /v1/certificates/{certificateId}/email/{emailId}/resend:
    post:
      tags:
      - v1
      parameters:
      - description: Certificate id to resend email
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      - description: Email id for email to resend
        in: path
        name: emailId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Email sent successfully
        '404':
          description: Certificate not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '409':
          description: Email Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: This method can be used to resend emails by providing the certificate id and the email id
      operationId: certificate_resend_email
      summary: Resend an email
  /v1/certificates/{certificateId}/email/resend/{emailAddress}:
    post:
      tags:
      - v1
      parameters:
      - description: Certificate id to resend emails
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      - description: Specific email address to resend email
        in: path
        name: emailAddress
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Alternate email address added and emails re-sent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateEmailHistory'
        '404':
          description: Certificate not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '409':
          description: Certificate state does not allow alternate email address
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: This method adds an alternate email address to a certificate order and re-sends all existing request emails to that address.
      operationId: certificate_alternate_email_address
      summary: Add alternate email address
  /v1/certificates/{certificateId}/email/{emailId}/resend/{emailAddress}:
    post:
      tags:
      - v1
      parameters:
      - description: Certificate id to resend emails
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      - description: Email id for email to resend
        in: path
        name: emailId
        required: true
        schema:
          type: string
      - description: Specific email address to resend email
        in: path
        name: emailAddress
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Email sent successfully
        '404':
          description: Certificate not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '409':
          description: Email Id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: This method can be used to resend emails by providing the certificate id, the email id, and the recipient email address
      operationId: certificate_resend_email_address
      summary: Resend email to email address
  /v1/certificates/{certificateId}/email/history:
    get:
      tags:
      - v1
      parameters:
      - description: Certificate id to retrieve email history
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Email history retrieval successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateEmailHistory'
        '409':
          description: Email history not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: This method can be used to retrieve all emails sent for a certificate.
      operationId: certificate_email_history
      summary: Retrieve email history
  /v1/certificates/{certificateId}/callback:
    delete:
      tags:
      - v1
      parameters:
      - description: Certificate id to unregister callback
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Callback removed
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '404':
          description: Certificate id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: Unregister the callback for a particular certificate.
      operationId: certificate_callback_delete
      summary: Unregister system callback
    get:
      tags:
      - v1
      parameters:
      - description: Certificate id to register for stateful action callback
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Callback registered
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateCallback'
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '404':
          description: Certificate id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: This method is used to retrieve the registered callback url for a certificate.
      operationId: certificate_callback_get
      summary: Retrieve system stateful action callback url
    put:
      tags:
      - v1
      parameters:
      - description: Certificate id to register/replace for callback
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      - description: Callback url registered/replaced to receive stateful actions
        in: query
        name: callbackUrl
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Callback replaced/registered
        '400':
          description: Request was malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '404':
          description: Certificate id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '422':
          description: Callback url is missing <br> Callback url is malformed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: This method is used to register/replace url for callbacks for stateful actions relating to a certificate lifecycle. The callback url is a Webhook style pattern and will receive POST http requests with json body defined in the CertificateAction model definition for each certificate action.  Only one callback URL is allowed to be registered for each certificateId, so it will replace a previous registration.
      operationId: certificate_callback_replace
      summary: Register of certificate action callback
  /v1/certificates/{certificateId}/cancel:
    post:
      tags:
      - v1
      parameters:
      - description: Certificate id to cancel
        in: path
        name: certificateId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Certificate order has been canceled
        '401':
          description: Authentication info not sent or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '403':
          description: Authenticated user is not allowed access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '404':
          description: Certificate id not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '409':
          description: Certificate state does not allow cancel
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_3'
      description: Use the cancel cal

# --- truncated at 32 KB (381 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/godaddy/refs/heads/main/openapi/godaddy-v1-api-openapi.yml