# v2 (https://developer.godaddy.com/en/docs/references/rest/certificates/v2)

***

title: v2
description: ''
full: true
\_openapi:
toc:

* depth: 2
  title: Search for certificate details by entitlement
  url: '#search-for-certificate-details-by-entitlement'
* depth: 2
  title: Create a pending order for certificate
  url: '#create-a-pending-order-for-certificate'
* depth: 2
  title: Reissue active certificate
  url: '#reissue-active-certificate'
* depth: 2
  title: Download certificate by entitlement
  url: '#download-certificate-by-entitlement'
* depth: 2
  title: Retrieve customer's certificates
  url: '#retrieve-customers-certificates'
* depth: 2
  title: Retrieve individual certificate details
  url: '#retrieve-individual-certificate-details'
* depth: 2
  title: Retrieve domain verification status
  url: '#retrieve-domain-verification-status'
* depth: 2
  title: Retrieve detailed information for supplied domain
  url: '#retrieve-detailed-information-for-supplied-domain'
* depth: 2
  title: Retrieves the external account binding for the specified customer
  url: '#retrieves-the-external-account-binding-for-the-specified-customer'
* depth: 2
  title: Get a page of subscriptions by domain
  url: '#get-a-page-of-subscriptions-by-domain'
* depth: 2
  title: GET a page of certificates for a specific domain product
  url: '#get-a-page-of-certificates-for-a-specific-domain-product'
  structuredData:
  headings:
  * content: Search for certificate details by entitlement
    id: search-for-certificate-details-by-entitlement
  * content: Create a pending order for certificate
    id: create-a-pending-order-for-certificate
  * content: Reissue active certificate
    id: reissue-active-certificate
  * content: Download certificate by entitlement
    id: download-certificate-by-entitlement
  * content: Retrieve customer's certificates
    id: retrieve-customers-certificates
  * content: Retrieve individual certificate details
    id: retrieve-individual-certificate-details
  * content: Retrieve domain verification status
    id: retrieve-domain-verification-status
  * content: Retrieve detailed information for supplied domain
    id: retrieve-detailed-information-for-supplied-domain
  * content: Retrieves the external account binding for the specified customer
    id: retrieves-the-external-account-binding-for-the-specified-customer
  * content: Get a page of subscriptions by domain
    id: get-a-page-of-subscriptions-by-domain
  * content: GET a page of certificates for a specific domain product
    id: get-a-page-of-certificates-for-a-specific-domain-product
    contents:
  * content: >-
    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 certificates associated to an entitlement.
    heading: search-for-certificate-details-by-entitlement
  * content: >-
    Creating a certificate order for a subscription 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//actions 2) via WebHook style callback
    \-- see '/v1/certificates//callback'.
    heading: create-a-pending-order-for-certificate
  * content: >-
    Rekeying is the process by which the private and public key is
    changed for a certificate. It is a simplified reissue,where only the
    CSR is changed. Reissue extends validity of the existing certificate
    by requesting a new certificate with all the same values as existing
    issued certificate. Once a request is validated and approved, the
    certificate will be reissued with the same common name and sans
    specified from existing certificate. Unlimited reissues are available
    during the lifetime of the certificate.If this API call is made before
    a previous pending reissue has been validated and issued, the previous
    reissue request is automatically rejected and replaced with the
    current request.
    heading: reissue-active-certificate
  * content: >-
    This method can be used to retrieve a list of certificates for a
    specified customer. **shopperId** is **not the same** as
    **customerId**.  **shopperId** is a number of max length 10 digits
    (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:*
    295e3bc3-b3b9-4d95-aae5-ede41a994d13)
    heading: retrieve-customers-certificates
  * content: >-
    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. **shopperId** is **not
    the same** as **customerId**. **shopperId** is a number of max length
    10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:*
    295e3bc3-b3b9-4d95-aae5-ede41a994d13)
    heading: retrieve-individual-certificate-details
  * content: >-
    This method can be used to retrieve the domain verification status for
    a certificate request.**shopperId** is **not the same** as
    **customerId**.  **shopperId** is a number of max length 10 digits
    (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:*
    295e3bc3-b3b9-4d95-aae5-ede41a994d13)"
    heading: retrieve-domain-verification-status
  * content: >-
    Retrieve detailed information for supplied domain, including domain
    verification details and Certificate Authority Authorization (CAA)
    verification details. **shopperId** is **not the same** as
    **customerId**.  **shopperId** is a number of max length 10 digits
    (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:*
    295e3bc3-b3b9-4d95-aae5-ede41a994d13)
    heading: retrieve-detailed-information-for-supplied-domain
  * content: >-
    Use this endpoint to retrieve a key identifier and Hash-based Message
    Authentication Code (HMAC) key for Automated Certificate Management
    Environment (ACME) External Account Binding (EAB). These credentials
    can be used with an ACME client that supports EAB (ex. CertBot) to
    automate the issuance request and deployment of DV SSL certificates
    heading: retrieves-the-external-account-binding-for-the-specified-customer
  * content: >-
    The pagination starts at page 1. Each page contains a page of
    *subscriptions*, not certificates. This endpoint is meant for paging
    the subscriptions under the authorized user's account. Each
    subscription contains a snapshot of certificates contained within the
    subscription. To fetch further certificates under a subscription, use
    the /v2/certificates/subscription/ endpoint with the
    subscription GUID obtained from this call. If any filtering is
    applied, subscriptions without any certificates will be omitted.
    heading: get-a-page-of-subscriptions-by-domain

***

## GET /v2/certificates

Search for certificate details by entitlement

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 certificates associated to an entitlement.

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `entitlementId` | string | yes | Entitlement id to lookup |
| `latest` | boolean | no | Fetch only the most recent certificate |

### Responses

**200** — Certificate details retrieved

Content-Type: `application/json`

Schema:

- array
  - items:
      - `certificateId` (required): string — The unique identifier of the certificate request. Only present if no errors returned
      - `commonName`: string — Common name of certificate
      - `contact` (required): object
          - `email` (required): string — Email address of requestor contact
          - `jobTitle`: string — Only used for EVSSL. Job title of requestor contact
          - `nameFirst` (required): string — First name of requestor contact
          - `nameLast` (required): string — Last name of requestor contact
          - `nameMiddle`: string — Middle initial of requestor contact
          - `phone` (required): string — Phone number for requestor contact
          - `suffix`: string — Suffix of requestor contact
      - `createdAt` (required): string <iso-datetime> — The date the certificate was ordered.
      - `deniedReason`: string — Only present if certificate order has been denied
      - `organization`: object
          - `address` (required): object
              - `address1` (required): string — Address line 1 of organization address
              - `address2`: string — Address line 2 of organization address
              - `city`: string — City/Locality of organization address
              - `country` (required): string <iso-country-code> — Two character country code of organization
                - enum: "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "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", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", false, "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", "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", "YU", "ZA", "ZM", "ZW"
              - `postalCode`: string — Postal code of organization address
              - `state`: string — Full name of State/Province/Territory of organization address
          - `assumedName`: string — Only for EVSSL. The DBA(does business as) name for the organization.
          - `jurisdictionOfIncorporation`: object
              - `city`: string
              - `country` (required): string <iso-country-code>
              - `county`: string
              - `state`: string
          - `name` (required): string — Name of organization that owns common name
          - `phone` (required): string — Phone number for organization
          - `registrationAgent`: string — Only for EVSSL.
          - `registrationNumber`: string — Only for EVSSL.
      - `period` (required): integer — Validity period of order. Specified in years
      - `productType` (required): string — Certificate product type
        - enum: "DV_SSL", "DV_WILDCARD_SSL", "EV_SSL", "OV_CS", "OV_DS", "OV_SSL", "OV_WILDCARD_SSL", "UCC_DV_SSL", "UCC_EV_SSL", "UCC_OV_SSL"
      - `progress`: integer — Percentage of completion for certificate vetting
      - `revokedAt`: string <iso-datetime> — The revocation date of certificate (if revoked).
      - `rootType`: string — Root Type
        - enum: "GODADDY_SHA_1", "GODADDY_SHA_2", "STARFIELD_SHA_1", "STARFIELD_SHA_2"
      - `serialNumber`: string — Serial number of certificate (if issued or revoked)
      - `serialNumberHex`: string — Hexadecmial format for Serial number of certificate(if issued or revoked)
      - `slotSize`: string — Number of subject alternative names(SAN) to be included in certificate
        - enum: "FIVE", "TEN", "FIFTEEN", "TWENTY", "THIRTY", "FOURTY", "FIFTY", "ONE_HUNDRED"
      - `status` (required): string — Status of certificate
        - enum: "PENDING_ISSUANCE", "ISSUED", "REVOKED", "CANCELED", "DENIED", "PENDING_REVOCATION", "PENDING_REKEY", "UNUSED", "EXPIRED"
      - `subjectAlternativeNames`: array — Contains subject alternative names set
          - items:
              - `status` (required): string — Total number of page results
                - enum: "PENDING", "INVALID", "COMPLETED", "FRAUD"
              - `subjectAlternativeName` (required): string — Subject alternative name to be included in certificate
      - `validEnd`: string <iso-datetime> — The end date of the certificate's validity (if issued or revoked).
      - `validStart`: string <iso-datetime> — The start date of the certificate's validity (if issued or revoked).

**400** — Request was malformed

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — Entitlement id not provided

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**500** — Internal server error

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## POST /v2/certificates

Create a pending order for certificate

<p>Creating a certificate order for a subscription 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>

### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `X-Market-Id` | string | no | Setting locale for communications such as emails and error messages |

### Request body (required)

The certificate order information

Content-Type: `application/json`

Schema:

- object
  - `callbackUrl`: string — Required if client would like to receive stateful actions via callback during certificate lifecyle
  - `commonName`: string — Name to be secured in certificate. If provided, CN field in CSR will be ignored.
  - `certificateId`: string — Id of the existing certificate to renew. If provided, all other fields will be ignored and copied from the existing certificate.
  - `contact`: object
      - `email` (required): string — Email address of requestor contact
      - `jobTitle`: string — Only used for EVSSL. Job title of requestor contact
      - `nameFirst` (required): string — First name of requestor contact
      - `nameLast` (required): string — Last name of requestor contact
      - `nameMiddle`: string — Middle initial of requestor contact
      - `phone` (required): string — Phone number for requestor contact
      - `suffix`: string — Suffix of requestor contact
  - `csr`: string — Certificate Signing Request
  - `intelVPro`: boolean — Only used for OV
  - `organization`: object
      - `address`: object
          - `address1` (required): string — Address line 1 of organization address
          - `address2`: string — Address line 2 of organization address
          - `city`: string — City/Locality of organization address
          - `country` (required): string <iso-country-code> — Two character country code of organization
            - enum: "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "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", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", false, "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", "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", "YU", "ZA", "ZM", "ZW"
          - `postalCode`: string — Postal code of organization address
          - `state`: string — Full name of State/Province/Territory of organization address
      - `assumedName`: string — Only for EVSSL. The DBA(does business as) name for the organization.
      - `name` (required): string — Name of organization that owns common name
      - `phone` (required): string — Phone number for organization
      - `registrationAgent`: string — Only for EVSSL.
      - `registrationNumber`: string — Only for EVSSL.
  - `period`: integer — Number of years for certificate validity period
  - `termType`: string — Determines the temporal unit used for period value.
    - enum: "YEARS", "DAYS"
  - `productType`: string — Type of product requesting a certificate. Only required non-renewal
    - enum: "DV_SSL", "DV_WILDCARD_SSL", "EV_SSL", "OV_CS", "OV_DS", "OV_SSL", "OV_WILDCARD_SSL", "UCC_DV_SSL", "UCC_EV_SSL", "UCC_OV_SSL"
  - `rootType`: string — Root Type. Depending on certificate expiration date, SHA_1 not be allowed. Will default to SHA_2 if expiration date exceeds sha1 allowed date
    - enum: "GODADDY_SHA_1", "GODADDY_SHA_2", "STARFIELD_SHA_1", "STARFIELD_SHA_2"
  - `slotSize`: string — Number of subject alternative names(SAN) to be included in certificate
    - enum: "FIVE", "TEN", "FIFTEEN", "TWENTY", "THIRTY", "FOURTY", "FIFTY", "ONE_HUNDRED"
  - `subjectAlternativeNames`: array — Subject Alternative names. Collection of subjectAlternativeNames to be included in certificate.
      - items:

### Responses

**202** — Request was successful

Content-Type: `application/json`

Schema:

- object
  - `certificateId` (required): string — The unique identifier of the certificate request. Only present if verified.
  - `subscriptionId` (required): string — The unique identifier of the subscription owning the certificate request.
  - `subscriptionCreatedForOrder` (required): boolean — Was subscription purchased for certificate order.

**400** — Request was malformed

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**409** — Certificate state does not allow renew

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — `email` is not empty<br>`csr` is invalid

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**500** — Internal server error

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## POST /v2/certificates/{certificateId}/reissue

Reissue active certificate

<p>Rekeying is the process by which the private and public key is changed for a certificate. It is a simplified reissue,where only the CSR is changed. Reissue extends validity of the existing certificate by requesting a new certificate with all the same values as existing issued certificate. Once a request is validated and approved, the certificate will be reissued with the same common name and sans specified from existing certificate. Unlimited reissues are available during the lifetime of the certificate.If this API call is made before a previous pending reissue has been validated and issued, the previous reissue request is automatically rejected and replaced with the current request.</p>

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `certificateId` | string | yes | Certificate id to reissue |

### Request body

The reissue request info

Content-Type: `application/json`

Schema:

- object
  - `csr`: string — Certificate Signing Request.
  - `revokeExistingCertificate`: boolean — Whether to revoke existing certificate upon issuance of new certificate
  - `delayExistingRevoke`: integer — In hours, time to delay revoking existing certificate after issuance of new certificate. If revokeExistingCertOnIssuance is enabled, this value will be ignored
  - `forceDomainRevetting`: array — Optional field. Domain verification will be required for each domain listed here. Specify a value of * to indicate that all domains associated with the request should have their domain information reverified.
      - items:

### Responses

**202** — Reissue request created

**400** — Request was malformed

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**404** — Certificate id not found

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**409** — Certificate state does not allow reissue

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — `csr` is invalid<br>Delay revocation exceeds maximum

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**500** — Internal server error

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## GET /v2/certificates/download

Download certificate by entitlement

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `entitlementId` | string | yes | Entitlement id to download |

### Responses

**200** — Certificate retrieved

Content-Type: `application/json`

Schema:

- object
  - `pems` (required): object
      - `certificate` (required): string — End entity certificate in PEM format
      - `cross`: string — CA Cross Intermediate certificate in PEM format
      - `intermediate`: string — CA Signing Intermediate certificate in PEM format
      - `root`: string — CA Root certificate in PEM format
  - `serialNumber` (required): string — Serial number of certificate requested

**400** — Request was malformed

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**404** — Entitlement id not found

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**409** — Certificate state does not allow download

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — Entitlement id not provided

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**500** — Internal server error

Content-Type: `application/json`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## GET /v2/customers/{customerId}/certificates

Retrieve customer's certificates

This method can be used to retrieve a list of certificates for a specified customer. <ul><li>**shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | An identifier for a customer |

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `offset` | integer <integer-positive> | no | Number of results to skip for pagination |
| `limit` | integer <integer-positive> | no | Maximum number of items to return |

### Responses

**200** — Customer certificate information retrieved.

Content-Type: `application/json`

Schema:

- object
  - `certificates` (required): array — List of certificates for a specified customer.
      - items:
          - `certificateId` (required): string — The unique identifier of the certificate request.
          - `commonName` (required): string <domain> — Common name for the certificate request.
          - `period` (required): integer — Validity period of order. Specified in years.
          - `type` (required): string — Certificate type:
            - enum: "DV_SSL", "DV_WILDCARD_SSL", "EV_SSL", "OV_CODE_SIGNING", "OV_DRIVER_SIGNING", "OV_SSL", "OV_WILDCARD_SSL", "UCC_DV_SSL", "UCC_EV_SSL", "UCC_OV_SSL"
          - `status` (required): string — Certificate status (if issued or revoked):
            - enum: "ISSUED", "CANCELED", "DENIED", "EXPIRED", "PENDING_ISSUANCE", "PENDING_REKEY", "PENDING_REVOCATION", "REVOKED", "UNUSED"
          - `createdAt` (required): string <iso-datetime> — Date that the certificate request was received.
          - `completedAt`: string <iso-datetime> — The date the certificate request completed processing (if issued or revoked).
          - `validEndAt`: string <iso-datetime> — The end date of the certificate's validity (if issued or revoked).
          - `validStartAt`: string <iso-datetime> — The start date of the certificate's validity (if issued or revoked).
          - `revokedAt`: string <iso-datetime> — The revocation date of certificate (if revoked).
          - `renewalAvailable`: boolean — Only returned when a renewal is available.
          - `serialNumber`: string — Serial number of certificate (if issued or revoked).
          - `slotSize`: string — Number of subject alternative names (SAN) to be included in certificate (if UCC):
            - enum: "FIVE", "TEN", "FIFTEEN", "TWENTY", "THIRTY", "FOURTY", "FIFTY", "ONE_HUNDRED"
          - `subjectAlternativeNames`: array <domain> — Subject Alternative names (if UCC). Collection of subjectAlternativeNames to be included in certificate.
              - items:
  - `pagination` (required): object
      - `first`: string — URI to access the first page
      - `previous`: string — URI to access the previous page
      - `next`: string — URI to access the next page
      - `last`: string — URI to access the last page
      - `total`: integer — Number of records available

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — Application-specific request error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- allOf(object & object)

**500** — Internal server error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## GET /v2/customers/{customerId}/certificates/{certificateId}

Retrieve individual certificate details

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

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | An identifier for a customer |
| `certificateId` | string | yes | Certificate id to lookup |

### Responses

**200** — Certificate details retrieved

Content-Type: `application/json`

Schema:

- object
  - `certificateId` (required): string — The unique identifier of the certificate request. Only present if no errors returned
  - `commonName` (required): string <domain> — Common name of certificate
  - `period` (required): integer — Validity period of order. Specified in years
  - `type` (required): string — Certificate type:
    - enum: "DV_SSL", "DV_WILDCARD_SSL", "EV_SSL", "OV_CODE_SIGNING", "OV_DRIVER_SIGNING", "OV_SSL", "OV_WILDCARD_SSL", "UCC_DV_SSL", "UCC_EV_SSL", "UCC_OV_SSL"
  - `status` (required): string — Certificate status (if issued or revoked):
    - enum: "PENDING_ISSUANCE", "ISSUED", "REVOKED", "CANCELED", "DENIED", "PENDING_REVOCATION", "PENDING_REKEY", "UNUSED", "EXPIRED"
  - `createdAt` (required): string <iso-datetime> — The date the certificate was ordered.
  - `completedAt`: string <iso-datetime> — The date the certificate request completed processing.
  - `validEndAt`: string <iso-datetime> — The end date of the certificate's validity (if issued or revoked).
  - `validStartAt`: string <iso-datetime> — The start date of the certificate's validity (if issued or revoked).
  - `revokedAt`: string <iso-datetime> — The revocation date of certificate (if revoked).
  - `renewalAvailable`: boolean — Only returned when a renewal is available.
  - `serialNumber`: string — Serial number of certificate (if issued or revoked)
  - `serialNumberHex`: string — Hexadecmial format for Serial number of certificate(if issued or revoked)
  - `slotSize`: string — Number of subject alternative names (SAN) to be included in certificate (if UCC):
    - enum: "FIVE", "TEN", "FIFTEEN", "TWENTY", "THIRTY", "FOURTY", "FIFTY", "ONE_HUNDRED"
  - `subjectAlternativeNames`: array — Subject Alternative names. Collection of subjectAlternativeNames to be included in certificate.
      - items:
  - `contact` (required): object
      - `email` (required): string — Email address of requestor contact
      - `jobTitle`: string — Only used for EVSSL. Job title of requestor contact
      - `nameFirst` (required): string — First name of requestor contact
      - `nameLast` (required): string — Last name of requestor contact
      - `nameMiddle`: string — Middle initial of requestor contact
      - `phone` (required): string — Phone number for requestor contact
      - `suffix`: string — Suffix of requestor contact
  - `organization`: object
      - `address` (required): object
          - `address1` (required): string — Address line 1 of organization address
          - `address2`: string — Address line 2 of organization address
          - `city`: string — City/Locality of organization address
          - `country` (required): string <iso-country-code> — Two character country code of organization
            - enum: "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "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", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", false, "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", "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", "YU", "ZA", "ZM", "ZW"
          - `postalCode`: string — Postal code of organization address
          - `state`: string — Full name of State/Province/Territory of organization address
      - `assumedName`: string — Only for EVSSL. The DBA(does business as) name for the organization.
      - `jurisdictionOfIncorporation`: object
          - `city`: string
          - `country` (required): string <iso-country-code>
          - `county`: string
          - `state`: string
      - `name` (required): string — Name of organization that owns common name
      - `phone` (required): string — Phone number for organization
      - `registrationAgent`: string — Only for EVSSL.
      - `registrationNumber`: string — Only for EVSSL.
  - `csr`: string — Certificate signing request (if present) in PEM format
  - `rootType`: string — Root type:
    - enum: "GODADDY_SHA_1", "GODADDY_SHA_2", "STARFIELD_SHA_1", "STARFIELD_SHA_2"
  - `deniedReason`: string — Only present if certificate order has been denied
  - `progress`: integer — Percentage of completion for certificate vetting

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**404** — Resource not found

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — Application-specific request error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- allOf(object & object)

**500** — Internal server error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## GET /v2/customers/{customerId}/certificates/{certificateId}/domainVerifications

Retrieve domain verification status

This method can be used to retrieve the domain verification status for a certificate request.<ul><li>**shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>"

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | An identifier for a customer |
| `certificateId` | string | yes | Certificate id to lookup |

### Responses

**200** — Domain verification status list for specified certificateId.

Content-Type: `application/json`

Schema:

- array
  - items:
      - `domain` (required): string <domain> — Domain name
      - `domainEntityId` (required): integer — A unique identifier that can be leveraged for retrieving domain verification related information. Primarily used when troubleshooting a request
      - `dceToken`: string — DCE verification type token (if DCE verification type).
      - `status` (required): string — Domain verification status:
        - enum: "COMPLETED", "FAILED_VERIFICATION", "VERIFIED_POSSIBLE_FRAUD", "DROPPED", "DROPPED_CERTIFICATE_AUTHORITY_AUTHORIZATION", "DROPPED_GOOGLE_SAFE_BROWSING", "INVALID", "AWAITING", "PENDING_POSSIBLE_FRAUD", "REVOKED_CERTIFICATE"
      - `createdAt` (required): string <iso-datetime> — Timestamp indicating when the domain verification process was started
      - `modifiedAt` (required): string <iso-datetime> — Timestamp indicating when the domain verification process was last updated
      - `type` (required): string — Domain verification type:
        - enum: "DOMAIN_CONTROL_EMAIL", "AUTO_GENERATED_DOMAIN_ACCESS_EMAIL_ADMIN", "AUTO_GENERATED_DOMAIN_ACCESS_EMAIL_ADMINSTRATOR", "AUTO_GENERATED_DOMAIN_ACCESS_EMAIL_HOST_MASTER", "AUTO_GENERATED_DOMAIN_ACCESS_EMAIL_POST_MASTER", "AUTO_GENERATED_DOMAIN_ACCESS_EMAIL_WEB_MASTER", "DOMAIN_ACCESS_EMAIL", "DOMAIN_ACCESS_LETTER", "DOMAIN_ZONE_CONTROL", "MANUAL_DOMAIN_ACCESS_EMAIL", "PREVIOUS_DOMAIN_ACCESS_EMAIL", "REGISTRATION_AUTHORITY_DOMAIN_ACCESS_LETTER", "REGISTRATION_AUTHORITY_DOMAIN_ZONE_CONTROL", "REGISTRATION_AUTHORITY_OVERRIDE", "REGISTRATION_AUTHORITY_WEBSITE_CONTROL", "CUSTOMER_OWNED", "WEBSITE_CONTROL"
      - `usage` (required): string — Type of domain name used for domain verification
        - enum: "COMMON_NAME", "SUBJECT_ALTERNATIVE_NAME"

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**404** — Resource not found

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — Application-specific request error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- allOf(object & object)

**500** — Internal server error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## GET /v2/customers/{customerId}/certificates/{certificateId}/domainVerifications/{domain}

Retrieve detailed information for supplied domain

Retrieve detailed information for supplied domain, including domain verification details and Certificate Authority Authorization (CAA) verification details. <ul><li>**shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13)</li></ul>

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | An identifier for a customer |
| `certificateId` | string | yes | Certificate id to lookup |
| `domain` | string <domain> | yes | A valid domain name in the certificate request |

### Responses

**200** — Retrieve detailed information for supplied domain, including domain verification details and Certificate Authority Authorization (CAA) verification details.

Content-Type: `application/json`

Schema:

- allOf(object & object)

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**404** — Resource not found

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — Application-specific request error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- allOf(object & object)

**500** — Internal server error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## GET /v2/customers/{customerId}/certificates/acme/externalAccountBinding

Retrieves the external account binding for the specified customer

Use this endpoint to retrieve a key identifier and Hash-based Message Authentication Code (HMAC) key for Automated Certificate Management Environment (ACME) External Account Binding (EAB). These credentials can be used with an ACME client that supports EAB (ex. CertBot) to automate the issuance request and deployment of DV SSL certificates

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `customerId` | string | yes | An identifier for a customer |

### Responses

**200** — Acme key identifier and HMAC key for the external account binding. Directory URI is also provided for making ACME requests.

Content-Type: `application/json`

Schema:

- object
  - `directoryUrl` (required): string <url> — ACME directory resource URL.
  - `keyId` (required): string — EAB key identifier for the ACME account.
  - `hmacKey` (required): string — EAB HMAC key for the ACME account

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**404** — Resource not found

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

**422** — Application-specific request error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

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

Content-Type: `*/*`

Schema:

- allOf(object & object)

**500** — Internal server error

Content-Type: `*/*`

Schema:

- object
  - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
  - `fields`: array — List of the specific fields, and the errors found with their contents
      - items:
          - `code` (required): string <constant> — Short identifier for the error, suitable for indicating the specific error within client code
          - `message`: string — Description of the problem with the contents of the field
          - `path` (required): string <json-path> — JSONPath referring to the field within the submitted data containing an error
  - `message`: string — Description of the error

## GET /v2/certificates/subscriptions/search

Get a page of subscriptions by domain

The pagination starts at page 1. Each page contains a page of *subscriptions*, not certificates. This endpoint is meant for paging the subscriptions under the authorized user's account. Each subscription contains a snapshot of certificates contained within the subscription. To fetch further certificates under a subscription, use the /v2/certificates/subscription/{guid} endpoint with the subscription GUID obtained from this call. If any filtering is applied, subscriptions without any certificates will be omitted.

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `pageSize` | integer <int32> | no | The number of records to return per query. |
| `page` | integer <int32> | no | The page number. <b>(First page is <i>one</i> instead of zero.)</b> |
| `domain` | string | no | Filter by domain name / common name. This will look for the text inside the content of the domain. This is not a "find domains that start with x" search. |
| `status` | string | no | The certificate lifecycle stage. <br> Active, Expired, and Revoked are all Issued certificates. <br> Active means the validity period includes today. <br> Expired means the validity period was prior to today. <br> Revoked means that the certificate has been revoked. <br> Pending means that the certificate is still going through the issuance process and has not been signed or issued yet. <br> Denied means that the certificate went from pending to denied for any valid denial reason.  (Customer canceled request, CAA records exist for the domain, fraud, etc...) |
| `type` | string | no | The type of certificate in terms of the number of applicable domains. |
| `validation` | string | no | The validation type for the certificate.  Standard/Basic Validation (DV).  Organizational/Deluxe Vetting (OV). Extended/Premium Validation (EV). |

### Responses

**200** — OK

Content-Type: `application/json`

Schema:

- object
  - `currentPage` (required): integer <int32> — The page number.
  - `data` (required): array
      - items:
  - `pageSize` (required): integer <int32> — The page size.
  - `total` (required): integer <int64> — The total aggregate count.

## GET /v2/certificates/subscription/{guid}

GET a page of certificates for a specific domain product

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `guid` | string | yes | The Subscription GUID containing the certificates being requested. |

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `pageSize` | integer <int32> | no | The number of records to return per query. |
| `page` | integer <int32> | no | The page number. <b>(First page is <i>one</i> instead of zero.)</b> |
| `domain` | string | no | Filter by domain name / common name. This will look for the text inside the content of the domain. This is not a "find domains that start with x" search. |
| `status` | string | no | The certificate lifecycle stage. <br> Active, Expired, and Revoked are all Issued certificates. <br> Active means the validity period includes today. <br> Expired means the validity period was prior to today. <br> Revoked means that the certificate has been revoked. <br> Pending means that the certificate is still going through the issuance process and has not been signed or issued yet. <br> Denied means that the certificate went from pending to denied for any valid denial reason.  (Customer canceled request, CAA records exist for the domain, fraud, etc...) |
| `type` | string | no | The type of certificate in terms of the number of applicable domains. |
| `validation` | string | no | The validation type for the certificate.  Standard/Basic Validation (DV).  Organizational/Deluxe Vetting (OV). Extended/Premium Validation (EV). |

### Responses

**200** — OK

Content-Type: `application/json`

Schema:

- allOf(object & object)
