Create ACME contract
6 minute read
POST
https://www.digicert.com/partner-subscription/api/v1/acme
Use this endpoint to create an ACME contract with certificate product details, SANs, and, when required, organization information.
Requirements vary based on the selected product. DV products do not require organization details. OV and EV products require an organization object. EV products also require a verified contact.
When you create an ACME contract, the response includes the ACME directory URL and External Account Binding (EAB) credentials required to configure your ACME client.
Example requests and responses
curl -X POST \
https://www.digicert.com/partner-subscription/api/v1/acme \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-APIKEY: {{subaccount_partner_api_key}}' \
-d '{
"product_name_id": "ssl_dv_rapidssl",
"sans": [
"example.com",
"www.example.com"
]
}'curl -X POST \
https://www.digicert.com/partner-subscription/api/v1/acme \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-APIKEY: {{subaccount_partner_api_key}}' \
-d '{
"product_name_id": "ssl_basic",
"sans": [
"example.com",
"www.example.com"
],
"organization": {
"name": "Example Corporation",
"assumed_name": "Example Corp",
"address": "123 Main Street",
"address2": "Suite 500",
"city": "San Francisco",
"state": "CA",
"zip": "94105",
"country": "US",
"telephone": "+1-555-0100",
"organization_contact": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"telephone": "+1-555-0100",
"job_title": "IT Director"
},
"technical_contact": {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"telephone": "+1-555-0200",
"job_title": "DevOps Lead"
}
}
}'curl -X POST \
https://www.digicert.com/partner-subscription/api/v1/acme \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-APIKEY: {{subaccount_partner_api_key}}' \
-d '{
"product_name_id": "ssl_ev_basic",
"sans": [
"secure.example.com",
"www.secure.example.com"
],
"organization": {
"name": "Example Corporation",
"assumed_name": "Example Corp",
"address": "123 Main Street",
"address2": "Suite 500",
"city": "San Francisco",
"state": "CA",
"zip": "94105",
"country": "US",
"telephone": "+1-555-0100",
"organization_contact": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"telephone": "+1-555-0100",
"job_title": "IT Director"
},
"technical_contact": {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"telephone": "+1-555-0200",
"job_title": "DevOps Lead"
},
"verified_contacts": [
{
"first_name": "Alice",
"last_name": "Johnson",
"email": "alice.johnson@example.com",
"telephone": "+1-555-0300",
"job_title": "Chief Technology Officer"
},
{
"first_name": "Bob",
"last_name": "Williams",
"email": "bob.williams@example.com",
"telephone": "+1-555-0400",
"job_title": "VP of Engineering"
}
]
}
}'201 Created
{
"acme_contract_id": 12345,
"account_id": 67890,
"directory_url": "https://acme-v02.api.digicert.org/directory",
"eab_set": {
"ext_act_kid": "abc123def456ghi789",
"ext_act_hmac": "xyz789uvw456rst123"
},
"valid_till": "2027-01-29T10:30:00Z"
}
URL path and query parameters
This endpoint does not use URL query parameters.
Request parameters
| Name | Req/Opt | Type | Description |
|---|---|---|---|
| product_name_id | required | string | Product identifier for the certificate type. The product determines the certificate validation type and organization requirements. For supported product_name_id values, see [Supported products](https://dev.digicert.com/partner-subscriptions-api/glossary.html#supported-products). |
| sans | required | array[string] | Array of domain names to include in the ACME contract. Maximum: 250 |
| organization | conditional | object | Object with information about the organization to associate with the ACME contract. Note: Required for OV and EV products. You can associate the contract with an existing organization or you can create a new organization. To create a new organization, include the organization details in the organization object.Duplicate organization check: When you submit a request with organization details, we check the organizations that already exist in your account to avoid creating a duplicate. • If we find one matching organization, we associate the ACME contract with that organization instead of creating a new one. • If we find two or more matching organizations, we associate the ACME contract with the oldest matching organization in your account instead of creating a new one. |
| .. assumed_name | optional | string | Assumed name or public name of the organization. Also called Doing Business As (DBA) name. |
| .. name | conditional | string | Legal name of the organization. Note: Required for OV or EV products and when creating a new organization. |
| .. address | conditional | string | Address of the organization. Note: Required for OV or EV products and when creating a new organization. |
| .. address2 | optional | string | Second line of the organization's address. Additional address information, such as suite, floor, or unit. |
| .. city | conditional | string | City where the organization is located. Note: Required for OV or EV products and when creating a new organization. |
| .. state | conditional | string | State or province where the organization is located. Use the full name instead of an abbreviation. Note: Required for OV or EV products and when creating a new organization. |
| .. zip | conditional | string | Postal or ZIP code where the organization is located. Note: Required for OV or EV products and when creating a new organization. |
| .. country | conditional | string | Two-letter country code where the organization is located. Note: Required for OV or EV products and when creating a new organization. |
| .. telephone | optional | string | Organization phone number. |
| .. organization_contact | conditional | object | Primary organization contact. When creating a new organization, an organization_contact is required. If omitted, the organization is created and the authenticated user is used as the organization contact.
|
| .. technical_contact | optional | object | Technical contact for the organization. A technical_contact is optional. If omitted, the organization is created with no technical contact.
|
| .. verified_contacts | conditional | array[object] | Verified contacts for EV contracts. Note: At least one verified_contacts is required when adding organization object details for EV products. Also, can be optionally used when adding organization object details for OV product. |
| .. .. first_name | conditional | string | First name of the new organization, technical, or verified contact. Note: Required for OV or EV products if you are creating a new contact. |
| .. .. last_name | conditional | string | Last name of the new organization, technical, or verified contact. Note: Required for OV or EV products if you are creating a new contact. |
| conditional | string | Email address of the new organization, technical, or verified contact. Note: Required for OV or EV products if you are creating a new contact. | |
| .. .. telephone | conditional | string | Telephone number of the new organization, technical, or verified contact. Note: Required for OV or EV products if you are creating a new contact. |
| .. .. job_title | conditional | string | Job title of the new organization, technical, or verified contact. Note: Required for verified_contact contact type. Optional for OV or EV products while creating a new contact. |
| auto_renew | optional | boolean | Enable auto-renewal for this ACME contract. If not provided, defaults to the account's auto_renew_subscription setting. If no account setting is configured, defaults to false. |
For OV products, include an organization contact in the request. For EV products, include an organization contact and at least one verified contact. Technical contacts are optional.
Response parameters
| Name | Type | Description |
|---|---|---|
| acme_contract_id | integer | Unique identifier for the ACME contract. |
| account_id | integer | Account ID. |
| directory_url | string | ACME directory URL for your ACME client. |
| eab_set | object | External account binding credentials. |
| eab_set.ext_act_kid | string | EAB key ID for the ACME client. |
| eab_set.ext_act_hmac | string | EAB HMAC key for the ACME client. |
| valid_till | string | Contract expiration date in ISO 8601 format. |
Was this page helpful?
Provide feedback