Create ACME contract

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

NameReq/OptTypeDescription
product_name_idrequiredstringProduct 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).
sansrequiredarray[string]Array of domain names to include in the ACME contract.
Maximum: 250
organizationconditionalobjectObject 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_nameoptionalstringAssumed name or public name of the organization. Also called Doing Business As (DBA) name.
.. nameconditionalstringLegal name of the organization.

Note: Required for OV or EV products and when creating a new organization.
.. addressconditionalstringAddress of the organization.

Note: Required for OV or EV products and when creating a new organization.
.. address2optionalstringSecond line of the organization's address. Additional address information, such as suite, floor, or unit.
.. cityconditionalstringCity where the organization is located.

Note: Required for OV or EV products and when creating a new organization.
.. stateconditionalstringState 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.
.. zipconditionalstringPostal or ZIP code where the organization is located.

Note: Required for OV or EV products and when creating a new organization.
.. countryconditionalstringTwo-letter country code where the organization is located.

Note: Required for OV or EV products and when creating a new organization.
.. telephoneoptionalstringOrganization phone number.
.. organization_contactconditionalobjectPrimary 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.



Note: Required when adding organization object details for OV or EV products.

.. technical_contactoptionalobjectTechnical contact for the organization.

A technical_contact is optional. If omitted, the organization is created with no technical contact.



Note: Optionally used when adding organization object details for OV or EV products.

.. verified_contactsconditionalarray[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_nameconditionalstringFirst name of the new organization, technical, or verified contact.

Note: Required for OV or EV products if you are creating a new contact.
.. .. last_nameconditionalstringLast name of the new organization, technical, or verified contact.

Note: Required for OV or EV products if you are creating a new contact.
.. .. emailconditionalstringEmail address of the new organization, technical, or verified contact.

Note: Required for OV or EV products if you are creating a new contact.
.. .. telephoneconditionalstringTelephone number of the new organization, technical, or verified contact.

Note: Required for OV or EV products if you are creating a new contact.
.. .. job_titleconditionalstringJob 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_renewoptionalbooleanEnable 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

NameTypeDescription
acme_contract_idintegerUnique identifier for the ACME contract.
account_idintegerAccount ID.
directory_urlstringACME directory URL for your ACME client.
eab_setobjectExternal account binding credentials.
eab_set.ext_act_kidstringEAB key ID for the ACME client.
eab_set.ext_act_hmacstringEAB HMAC key for the ACME client.
valid_tillstringContract expiration date in ISO 8601 format.