--- title: "Partner Subscriptions API" source_url: https://dev.digicert.com/partner-subscriptions-api.html --- 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. > **Info** > > 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: ```http X-PARTNER-APIKEY: {your_api_key} ``` Some endpoints require additional authentication:
API or endpoint type Required header
Partner Subscriptions API endpoints X-PARTNER-APIKEY
Finance account-link endpoint X-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** ```text https://www.digicert.com/partner-subscription/api/v1 ``` | Segment | Description | Example | | --- | --- | --- | | `{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. | Type | Capabilities / usage | | --- | --- | | Parent account | Can view, create, and update the status of its own API keys and all subaccount API keys. Can also create subaccounts and access account reporting. | | Subaccount | Can manage only its own API keys and cannot create subaccounts. | | Parent account API key | Used to manage partner-level resources, such as subaccounts, subaccount API keys, and account reporting. | | Subaccount API key | Used to manage subaccount-owned resources, such as ACME contracts. | > **Warning** > > 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: ```http X-PARTNER-APIKEY: {{partner_api_key}} ``` Include this header to use the subaccount Partner Subscriptions API key in the API request: ```http X-PARTNER-APIKEY: {{subaccount_partner_api_key}} ``` > **Info** > > 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 | Method | Endpoint | Description | | --- | --- | --- | | GET | `/partner-subscription/api/v1/api-key` | List 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}/status` | Update an API key status. | | POST | `/partner-subscription/api/v1/acme` | Create 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}/sans` | Add SANs to a contract. | | DELETE | `/partner-subscription/api/v1/acme/{acme_contract_id}/sans` | Remove SANs from a contract. | | POST | `/partner-subscription/api/v1/account/subaccount` | Create a subaccount with an API key. | | GET | `/partner-subscription/api/v1/account/emergency-emails` | Get emergency contact emails. | | PUT | `/partner-subscription/api/v1/account/emergency-emails` | Add emergency contact emails. | | DELETE | `/partner-subscription/api/v1/account/emergency-emails` | Remove emergency contact emails. | | GET | `/partner-subscription/api/v1/account/reporting` | Get ACME contract reporting for all subaccounts. | | PUT | `/partner-subscription/api/v1/finance/account-link` | Link a CertCentral billing account. | | GET | `/partner-subscription/api/v1/account/settings` | List account settings. | | PATCH | `/partner-subscription/api/v1/account/settings` | Update an account setting. | | GET | `/partner-subscription/api/v1/acme/{acme_contract_id}/certificates` | Retrieve certificates for an ACME contract. | | GET | `/partner-subscription/api/v1/acme/{acme_contract_id}/credentials` | List ACME credentials. | | POST | `/partner-subscription/api/v1/acme/{acme_contract_id}/credentials/revoke` | Revoke 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/regenerate` | Regenerate 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 Code | Denotes | | --- | --- | | `400` | Bad request | | `401` | Unauthorized request | | `403` | Forbidden request | | `404` | URL query parameter or request parameter not found | | `500` | Internal server error | ## In this section - [API key management](https://dev.digicert.com/md/partner-subscriptions-api/api-key-management.md) - [ACME contract management](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management.md) - [Account management](https://dev.digicert.com/md/partner-subscriptions-api/account-management.md) - [Finance management](https://dev.digicert.com/md/partner-subscriptions-api/finance-management.md) - [Partner subscriptions workflow](https://dev.digicert.com/md/partner-subscriptions-api/partner-subscription-workflow.md) - [Glossary](https://dev.digicert.com/md/partner-subscriptions-api/glossary.md)