--- title: "ACME contract management" source_url: https://dev.digicert.com/partner-subscriptions-api/acme-contract-management.html --- Use the ACME Contract Management endpoints to create and manage ACME contracts for automated SSL/TLS certificate provisioning. These endpoints let you create ACME contracts, retrieve contract details, update contract settings, manage SANs, and cancel contracts. For an overview of the Partner Subscriptions API, see [Partner Subscriptions API](https://dev.digicert.com/md/partner-subscriptions-api.md). ## Why use it? - Create ACME contracts for automated SSL/TLS certificate provisioning. - Retrieve ACME contract details, including SANs, organization validation status, auto-renewal status, and contract status. - Retrieve certificates associated with an ACME contract. - Update ACME contract organization data and auto-renewal settings. - Add or remove Subject Alternative Names (SANs) from an ACME contract. - Manage ACME credentials for an ACME contract. - Cancel ACME contracts. - Retrieve the ACME directory URL and External Account Binding (EAB) credentials when creating or regenerating credentials. ## Resource URL Use the Partner Subscriptions API ACME contract management resource URL to construct ACME Contract Management requests. ```console https://www.digicert.com/partner-subscription/api/v1/acme/ ``` ## Authentication and API key scope ACME Contract Management endpoints require authentication with a subaccount Partner Subscriptions 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}} ``` ## Endpoints in this section
Method Endpoint Description
POST /acme Create an ACME contract.
GET /acme/{acme_contract_id} Get ACME contract details.
PUT /acme/{acme_contract_id} Update an ACME contract. This is a full replacement.
PATCH /acme/{acme_contract_id} Partially update an ACME contract.
DELETE /acme/{acme_contract_id} Cancel an ACME contract.
PUT /acme/{acme_contract_id}/sans Add SANs to an ACME contract.
DELETE /acme/{acme_contract_id}/sans Remove SANs from an ACME contract.
GET /acme/{acme_contract_id}/certificates Retrieve certificates for an ACME contract.
GET /acme/{acme_contract_id}/credentials List ACME credentials.
POST /acme/{acme_contract_id}/credentials/revoke Revoke all active ACME credentials.
POST /acme/{acme_contract_id}/credentials/revoke/{credential_id} Revoke an ACME credential.
POST /acme/{acme_contract_id}/credentials/regenerate Regenerate ACME credentials.
## Supported products The following `product_name_id` values are supported when creating an ACME contract. The product determines the certificate validation type and organization requirements. ### DV products
product_name_id Product name
ssl_dv_rapidssl RapidSSL DV Subscription
ssl_dv_geotrust_flex GeoTrust DV Subscription
ssl_dv_thawte Thawte DV Subscription
wildcard_dv_rapidssl RapidSSL DV Wildcard Subscription
### OV products
product_name_id Product name
ssl_geotrust_truebizid GeoTrust OV Subscription
ssl_thawte_webserver Thawte OV Subscription
ssl_basic Basic OV Subscription
ssl_securesite_flex Secure Site OV Subscription
ssl_securesite_pro Secure Site Pro OV Subscription
### EV products
product_name_id Product name
ssl_ev_geotrust_truebizid GeoTrust EV Subscription
ssl_ev_thawte_webserver Thawte EV Subscription
ssl_ev_basic Basic EV Subscription
ssl_ev_securesite_flex Secure Site EV Subscription
ssl_ev_securesite_pro Secure Site Pro EV Subscription
## Contact requirements when creating or updating organizations
Product type Contact requirements
DV No organization contacts required.
OV organization_contact is required. technical_contact is optional.
EV organization_contact and at least one verified_contact are required. technical_contact is optional.
> **Info** > > - For EV products, all verified contacts must include telephone and job_title. > - Contact information may be required when creating or updating organization details for OV and EV subscriptions. Contact information is accepted in requests but is not returned in ACME contract responses. ## Requests and methods All ACME Contract Management requests use RESTful URLs and header-based authentication. Where a request body is required, the endpoint accepts JSON data. ACME Contract Management uses these standard HTTP methods: - `GET` - `POST` - `PUT` - `PATCH` - `DELETE` ## Auto-renewal Use the `auto_renew` parameter to enable or disable automatic renewal of an ACME contract. When creating an ACME contract, set `auto_renew` to `true` to opt in to automatic renewal. If omitted, `auto_renew` defaults to `false`. To update the auto-renewal setting after contract creation, use the [Partially update ACME contract](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/partial-update-acme-contract.md) endpoint. This lets you change `auto_renew` without resubmitting organization details. ## Managing SANs Use SAN management endpoints to add or remove Subject Alternative Names from an existing ACME contract.
Endpoint Request body fields Description
PUT /acme/{acme_contract_id}/sans sans Add domain names to an existing ACME contract.
DELETE /acme/{acme_contract_id}/sans sans Remove domain names from an existing ACME contract.
SAN requests use this field:
Field Type Required Description
sans array[string] Yes Array of domain names to add or remove.
## Canceling ACME contracts Use `DELETE /acme/{acme_contract_id}` to cancel an existing ACME contract. Canceling a contract permanently deactivates the contract and stops certificate issuance under it. ### Cancellation within 30 days If the contract is canceled within 30 days of creation, the following actions are irreversible: - The ACME directory URL associated with the contract becomes inactive. - ACME clients configured to use the contract can no longer issue or renew certificates. - SANs associated with the contract are released. - Eligible SANs are refunded on a per-SAN basis. ### Cancellation outside the 30-day refund window If the contract is older than 30 days, the endpoint returns `400 Bad Request`. To disable automatic renewal for an ACME contract outside the 30-day refund window, use the `PATCH /acme/{acme_contract_id}` endpoint to set `auto_renew` to `false`. ## Responses ACME Contract Management responses return ACME contract data in JSON format. ### Common response codes
Status code Description
200 OK Request succeeded and returned ACME contract data.
201 Created ACME contract created successfully.
204 No Content Request succeeded and the response does not include a body.
400 Bad Request The request data is invalid, the contract has been canceled and cannot be modified, or the requested operation is not allowed.
403 Forbidden Access denied.
404 Not Found The ACME contract was not found.
## In this section - [Create ACME contract](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/create-acme-contract.md) - [Update ACME contract](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/update-acme-contract.md) - [Partially update ACME contract](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/partial-update-acme-contract.md) - [Get ACME contract details](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/get-acme-contract-details.md) - [Cancel ACME contract](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/cancel-acme-contract.md) - [List ACME contract certificates](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/list-acme-contract-certificates.md) - [Add SANs to ACME contract](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/add-sans-to-acme-contract.md) - [Remove SANs from ACME contract](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/remove-sans-from-acme-contract.md) - [List ACME credentials](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/list-acme-credentials.md) - [Regenerate ACME credentials](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/regenerate-acme-credentials.md) - [Revoke all active ACME credentials](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/revoke-all-active-acme-credentials.md) - [Revoke an ACME credential](https://dev.digicert.com/md/partner-subscriptions-api/acme-contract-management/revoke-an-acme-credential.md)