Partner Subscriptions API

The Partner Subscriptions API lets you manage partner subscriptions accounts, API keys, ACME contracts, emergency contact emails, account reporting, and billing account links.

What you can do

  • Manage API keys: List API keys, get API key details, create API keys for subaccounts, and activate or deactivate API keys.
  • Manage ACME contracts: Create, retrieve, update, partially update, cancel, manage SANs, and manage ACME credentials for automated SSL/TLS certificate provisioning.
  • Manage accounts: Create subaccounts, manage emergency contact email addresses, and configure account settings.
  • View reporting: Retrieve ACME contract reporting grouped by subaccount.
  • Link billing: Link a CertCentral billing account to a partner subscriptions account.

Authentication

All Partner Subscriptions API endpoints require authentication with a partner subscriptions API key.

A Partner Subscriptions API key is separate from a CertCentral API key. Partner Subscriptions API requests use the X-PARTNER-APIKEY header. CertCentral API requests use the X-DC-DEVKEY header.

To request access to the Partner Subscriptions API, contact your DigiCert Partner Account Manager.

Include this header in each request:

X-PARTNER-APIKEY: {your_api_key}

Some endpoints require additional authentication:

API or endpoint typeRequired header
Partner Subscriptions API endpointsX-PARTNER-APIKEY
Finance account-link endpointX-PARTNER-APIKEY and X-DC-DEVKEY

Base URL and resource paths

To construct API requests, the Partner Subscriptions API uses a single base URL and resource-specific endpoint paths.

Base URL

https://www.digicert.com/partner-subscription/api/v1
SegmentDescriptionExample
{base_url}Partner Subscriptions API base URL.https://www.digicert.com/partner-subscription/api/v1
{resource}Resource-specific endpoint path./api-key
/acme
/account/subaccount
/finance/account-link

Partner Subscriptions API accounts and API keys

The Partner Subscriptions API supports parent accounts and subaccounts. API keys are scoped to the account that owns them, and some endpoints require a parent account API key while others require a subaccount API key.

TypeCapabilities / usage
Parent accountCan view, create, and update the status of its own API keys and all subaccount API keys. Can also create subaccounts and access account reporting.
SubaccountCan manage only its own API keys and cannot create subaccounts.
Parent account API keyUsed to manage partner-level resources, such as subaccounts, subaccount API keys, and account reporting.
Subaccount API keyUsed to manage subaccount-owned resources, such as ACME contracts.
Using the wrong Partner Subscriptions API key type can result in a 403 Forbidden response.

Include this header to use the parent Partner Subscriptions API key in the API request:

X-PARTNER-APIKEY: {{partner_api_key}}

Include this header to use the subaccount Partner Subscriptions API key in the API request:

X-PARTNER-APIKEY: {{subaccount_partner_api_key}}
Some API tasks may require a parent Partner Subscriptions API key. If a request made with a subaccount API key returns an error, retry with the parent account API key.

Important considerations

  • Only parent accounts can create subaccounts. Subaccounts cannot create their own subaccounts.
  • Only parent accounts can access account reporting. Subaccounts receive a 403 Forbidden response for /account/reporting.
  • PUT /acme/{acme_contract_id} is a full replacement. For OV and EV contracts, organization is required. If auto_renew is omitted, it resets to false.
  • PATCH /acme/{acme_contract_id} is a partial update. Only the fields included in the request body are updated. Omitted fields retain their current values.
  • Changing organization information affects validation. For OV and EV ACME contracts, changing organization details rejects existing validation for that organization and can affect multiple ACME contracts that use the same organization details.
  • Emergency contact emails must remain configured. You cannot remove all emergency contact email addresses from an account.
  • Billing fallback applies. If a subaccount does not have a linked DigiCert CertCentral® billing account, it uses the parent account billing account.
  • Review the endpoint authorization requirements before making a request. Some endpoints require a parent account API key, while others require a subaccount API key.
  • ACME contract endpoints require a subaccount Partner Subscriptions API key. Parent account API keys are not accepted for ACME contract operations.

Common operations

MethodEndpointDescription
GET/partner-subscription/api/v1/api-keyList all API keys accessible to the authenticated account.
GET/partner-subscription/api/v1/api-key/{apiKeyId}Get details for a specific API key.
POST/partner-subscription/api/v1/api-key/account/{accountId}Create an API key for an existing subaccount.
PUT/partner-subscription/api/v1/api-key/{apiKeyId}/statusUpdate an API key status.
POST/partner-subscription/api/v1/acmeCreate an ACME contract.
GET/partner-subscription/api/v1/acme/{acme_contract_id}Get ACME contract details.
PUT/partner-subscription/api/v1/acme/{acme_contract_id}Replace an ACME contract.
PATCH/partner-subscription/api/v1/acme/{acme_contract_id}Partially update an ACME contract.
DELETE/partner-subscription/api/v1/acme/{acme_contract_id}Cancel an ACME contract.
PUT/partner-subscription/api/v1/acme/{acme_contract_id}/sansAdd SANs to a contract.
DELETE/partner-subscription/api/v1/acme/{acme_contract_id}/sansRemove SANs from a contract.
POST/partner-subscription/api/v1/account/subaccountCreate a subaccount with an API key.
GET/partner-subscription/api/v1/account/emergency-emailsGet emergency contact emails.
PUT/partner-subscription/api/v1/account/emergency-emailsAdd emergency contact emails.
DELETE/partner-subscription/api/v1/account/emergency-emailsRemove emergency contact emails.
GET/partner-subscription/api/v1/account/reportingGet ACME contract reporting for all subaccounts.
PUT/partner-subscription/api/v1/finance/account-linkLink a CertCentral billing account.
GET/partner-subscription/api/v1/account/settingsList account settings.
PATCH/partner-subscription/api/v1/account/settingsUpdate an account setting.
GET/partner-subscription/api/v1/acme/{acme_contract_id}/certificatesRetrieve certificates for an ACME contract.
GET/partner-subscription/api/v1/acme/{acme_contract_id}/credentialsList ACME credentials.
POST/partner-subscription/api/v1/acme/{acme_contract_id}/credentials/revokeRevoke all active ACME credentials.
POST/partner-subscription/api/v1/acme/{acme_contract_id}/credentials/revoke/{credential_id}Revoke an ACME credential.
POST/partner-subscription/api/v1/acme/{acme_contract_id}/credentials/regenerateRegenerate ACME credentials.

Error responses

The API uses standard HTTP status codes to indicate success or failure. Error responses include a JSON body with additional details.

Error CodeDenotes
400Bad request
401Unauthorized request
403Forbidden request
404URL query parameter or request parameter not found
500Internal server error