Order AATL Natural Person in Organisation Certificate

POST https://certcentral.digicert.eu/services/v2/order/certificate/aatl_npo

Use this endpoint to order an Adobe Approved Trust List (AATL) natural person certificate associated with an organization. This certificate is issued to an individual acting on behalf of an organization and is used to apply legally recognized electronic signatures. It assures recipients that the document was signed by a verified individual representing the organization and that the document’s integrity has not been compromised or altered.

AATL is a program that enables users worldwide to create trusted digital signatures in Adobe® Acrobat® or Reader®. DigiCert® is a vetted AATL member, and its certificates are automatically trusted because they chain to an approved root.

Example requests and responses

curl -X POST \
  'https://certcentral.digicert.eu/services/v2/order/certificate/aatl_npo' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "csr": "<csr>",
    "signature_hash": "sha256",
    "usage_designation": {
      "primary_usage": "signing",
      "additional_usages": [
        "document_signing",
        "ms_document_signing"
      ]
    },
    "common_name_indicator": "pseudonym",
    "individual": {
      "first_name": "John",
      "last_name": "Doe",
      "pseudonym": "John Doe",
      "email": "john.doe@example.com",
      "telephone": "+31202547999",
      "country": "NL",
      "city": "Amsterdam",
      "state": "Amsterdam",
      "zip": "1013 AA"
    }
  },
  "cs_provisioning_method": "ship_token",
  "ship_info": {
    "name": "John Doe",
    "addr1": "360 Taylor Street",
    "addr2": "Floor 74",
    "city": "Amsterdam",
    "state": "Amsterdam",
    "zip": "1013 AA",
    "country": "NL",
    "method": "STANDARD"
  },
  "organization": {
    "name": "Example organization",
    "country": "NL",
    "address": "577 Tanglewood Drive",
    "address2": "Suite 21",
    "city": "Amsterdam",
    "state": "Amsterdam",
    "zip": "1013 AA",
    "telephone": "+31202547999",
    "contacts": [
      {
        "contact_type": "organization_contact",
        "first_name": "John",
        "last_name": "Doe OC",
        "job_title": "Sec Analyst II",
        "telephone": "+31202547999",
        "email": "john.doeoc@example.com",
        "type": "new_contact"
      },
      {
        "contact_type": "technical_contact",
        "first_name": "John",
        "last_name": "Doe TC",
        "job_title": "Sec Analyst I",
        "telephone": "+31202547999",
        "email": "john.doetc@example.com",
        "type": "new_contact"
      },
      {
        "contact_type": "verified_contact",
        "first_name": "John",
        "last_name": "Doe AR",
        "job_title": "Authorized Representative for Certificate Coordination",
        "telephone": "+31202547999",
        "email": "john.doear@example.com",
        "type": "new_contact"
      }
    ]
  },
  "custom_renewal_message": "Intimate me atleast 30 days before renewal is due",
  "additional_emails": [
    "admin@example.com"
  ],
  "csa_agreed_to": true,
  "order_validity": {
    "years": 1
  },
  "skip_approval": true,
  "payment_method": "balance"
}
curl -X POST \
  'https://certcentral.digicert.eu/services/v2/order/certificate/aatl_npo' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "csr": "<csr>",
    "signature_hash": "sha256",
    "usage_designation": {
      "primary_usage": "signing",
      "additional_usages": [
        "document_signing",
        "ms_document_signing"
      ]
    },
    "common_name_indicator": "given_name_surname",
    "individual": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "telephone": "+31202547999",
      "country": "NL",
      "city": "Amsterdam",
      "state": "Amsterdam",
      "zip": "1013 AA"
    }
  },
  "cs_provisioning_method": "email",
  "organization": {
    "name": "Example organization",
    "country": "NL",
    "address": "577 Tanglewood Drive",
    "address2": "Suite 21",
    "city": "Amsterdam",
    "state": "Amsterdam",
    "zip": "1013 AA",
    "telephone": "+31202547999",
    "contacts": [
      {
        "contact_type": "organization_contact",
        "first_name": "John",
        "last_name": "Doe OC",
        "job_title": "Sec Analyst II",
        "telephone": "+31202547999",
        "email": "john.doeoc@example.com",
        "type": "new_contact"
      },
      {
        "contact_type": "technical_contact",
        "first_name": "John",
        "last_name": "Doe TC",
        "job_title": "Sec Analyst I",
        "telephone": "+31202547999",
        "email": "john.doetc@example.com",
        "type": "new_contact"
      },
      {
        "contact_type": "verified_contact",
        "first_name": "John",
        "last_name": "Doe AR",
        "job_title": "Authorized Representative for Certificate Coordination",
        "telephone": "+31202547999",
        "email": "john.doear@example.com",
        "type": "new_contact"
      }
    ]
  },
  "custom_renewal_message": "Intimate me atleast 30 days before renewal is due",
  "additional_emails": [
    "admin@example.com"
  ],
  "csa_agreed_to": true,
  "order_validity": {
    "years": 1
  },
  "skip_approval": true,
  "payment_method": "balance"
}
curl -X POST \
  'https://certcentral.digicert.eu/services/v2/order/certificate/aatl_npo' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "csr": "<csr>",
    "signature_hash": "sha256",
    "usage_designation": {
      "primary_usage": "signing",
      "additional_usages": [
        "document_signing",
        "ms_document_signing"
      ]
    },
    "common_name_indicator": "given_name_surname",
    "individual": {
      "id": 21
    }
  },
  "cs_provisioning_method": "client_app",
  "organization": {
    "id": 3007572,
    "contacts": [
      {
        "contact_type": "verified_contact",
        "first_name": "John",
        "last_name": "Doe AR",
        "job_title": "Authorized Representative for Certificate Coordination",
        "telephone": "+31202547999",
        "email": "john.doear@example.com",
        "type": "new_contact"
      }
    ]
  },
  "custom_renewal_message": "Intimate me atleast 30 days before renewal is due",
  "additional_emails": [
    "admin@example.com"
  ],
  "csa_agreed_to": true,
  "order_validity": {
    "years": 1
  },
  "skip_approval": true,
  "payment_method": "balance"
}
{
  "id": 112233,
  "requests": [
    {
      "id": 113,
      "status": "pending"
    }
  ]
}
{
  "id": 112233,
  "requests": [
    {
      "id": 113,
      "status": "submitted"
    }
  ]
}
{
  "id": 112233,
  "requests": [
    {
      "id": 113,
      "status": "approved"
    }
  ],  
  "certificate_id": 113
}
{
  "id": 112233,  
  "certificate_id": 113
}

Request parameters

NameReq/OptTypeDescription
certificaterequiredobjectCertificate details.
.. usage_designationrequiredobjectObject that determines the primary use (KU) and additional uses (EKU) for the certificate.
.. .. primary_usagerequiredstringPrimary use for the certificate.
Allowed values: signing
.. .. additional_usagesoptionalarrayList of additional certificate uses.
Default: document_signing
Allowed values: ms_document_signing or document_signing.
cs_provisioning_methodrequiredstringSpecify how you want to receive the token.
Default: email
Allowed values: email, ship_token, or client_app.
For more information about the provisioning methods, see Glossary – Provisioning methods
ship_infooptionalobjectFor orders with the cs_provisioning_method of ship_token, specify the shipping address for the hardware token.
.. namerequiredstringFirst and last name of the recipient of the order.
.. addr1requiredstringShipping address for the token.
.. addr2requiredstringContinuation of street address.
.. cityrequiredstringShipping city.
.. staterequiredstringShipping state.
.. ziprequiredstringShipping postal code.
.. countryrequiredstringShipping country.
.. methodrequiredstringShipping priority for the token.
Allowed values: STANDARD or EXPEDITED (incurs additional cost).
.. csrconditionalstringCertificate signing request (CSR) or public key in PEM format. Format the CSR/public key as a base64-encoded string without line breaks or escape characters. Include the PEM headers and footers (such as -----BEGIN CERTIFICATE REQUEST-----... and ...-----END CERTIFICATE REQUEST-----). For more information about generating a CSR, see Create a CSR.
Required if the cs_provisioning_method is email.
After placing the order, if the status of the order is pending, you can use the Update CSR endpoint to update the CSR. To check the status of the order, use the [Order validation status](https://dev.digicert.com/certcentral-apis/services-api/orders/validation-status.html) endpoint.
Note: The Services API does not extract information from the CSR to fill in the details of a certificate request.
.. key_sizeoptionalintNumber of bits used in the key.
Default: 2048
Allowed values for RSA key type: 2048, 3072, or 4096.
Allowed values for ECC key type: p-256 or p-354.
.. csr_key_typeoptionalstringKey type for the CSR.
Default: RSA
Allowed values: rsa or ecc.
.. signature_hashoptionalstringHash algorithm used for signing the certificate.
Default: sha-256
Allowed values:: sha256, sha384, sha512.
commentsoptionalstringComments about the order for the administrator or approver reviewing the order request. The comments value is stored on the order request. If the order skips the approval step (skip_approval is set to true), any provided comments value is ignored since CertCentral creates the order directly without creating a corresponding request.
additional_emailsoptionalarrayAdditional email addresses to receive certificate notification emails (for example, certificate issuance, duplicate certificate, and certificate renewals).
csa_agreed_torequiredbooleanSpecify if the Certificate Subscriber Agreement (CSA) has been agreed to. Set this parameter to true to indicate agreement and false for disagreement.
Default: true
Allowed values: true or false.
promo_codeoptionalstringPromotional code for the order.
order_validityrequiredobjectDefines the validity period of the order.
.. yearsrequired*intNumber of years the order is valid.
*Can be replaced by order_validity.days or order_validity.custom_expiration_date.
Range: 1
.. daysoptionalintNumber of days the order is valid. Overrides order_validity.years.
Max value: 397
.. custom_expiration_dateoptionalstringCustom expiration date for the order. Overrides order_validity.days and order_validity.years.
Format: dd MMM YYYY (for example, "09 JUN 2025")
Range: Must be within 397 days of the date you request the order.
common_name_indicatorconditionalstringSpecifies how the common name value is derived for the certificate.
Allowed values: given_name_surname or pseudonym.
In most cases, given_name_surname is used, and the common name is constructed from individual.first_name and individual.last_name.
Use pseudonym only when the certificate should display an alternate name instead of the individual’s legal name.
individualrequiredobjectInformation about the individual who is the intended certificate holder.
.. first_namerequiredstringIndividual's first name (given name). This can include middle names or initials, but do not include titles or prefixes such as "Dr.".
.. last_namerequiredstringIndividual's last name (surname). This can include middle names or initials, but do not include titles or prefixes such as "Dr.".
.. pseudonymconditionalstringIndividual's pseudonym or alternate name to be used as the certificate’s common name when common_name_indicator is set to pseudonym. This value replaces the individual’s first and last name in the certificate subject. Use only in specific cases where a non-legal display name is required.
Required when common_name_indicator = pseudonym.
Adding an assumed name requires additional validation and may delay certificate issuance.
.. emailrequiredstringIndividual's email address. This email address is used for processing the order request and receiving order approval notifications. This email address does not appear on the certificate.
.. telephonerequiredstringIndividual’s phone number with the country code (for example, +1-555-555-5555).
.. countryrequiredstringIndividual's country, represented by a two-letter country code.
.. staterequiredstringIndividual's state or province.
.. cityoptionalstringIindividual's city.
.. zipoptionalstringIndividual's postal code.
.. idconditionalintegerUnique identifier for the individual.
Note: Use this parameter only if you are ordering the certificate for an existing individual, whose details are already stored in the CertCentral database. If you are adding a new individual, omit this parameter and provide the full details instead.
organizationrequiredobjectObject with information about the organization to associate with the request. You can associate the request with an existing organization, or you can create a new organization when you submit the order request.
To associate the request with an existing organization, pass the ID of the organization as the value of organization.id in the body of your request. To create a new organization, include the details of the organization in the organization object. For more information about the structure and required parameters of the organization object, see the Create organization documentation.
Note: When you submit an order with organization details instead of providing an organization ID, we check the organizations that already exist in your account to avoid creating a duplicate.
  • If we find one matching organization, we automatically associate the order with that organization instead of creating a new one.
  • If we find two or more matching organizations, we automatically associate the order with the oldest matching organization in your account instead of creating a new one.

To override this behavior and force the request to create a new organization, set the organization.skip_duplicate_org_check parameter to true in the body of your request.
Important: When you want to associate an order with an existing organization, we recommend always using the ID of the organization instead of the organization's details in the body of your request. To get the ID values for organizations in your account, use the List organizations endpoint. Additionally, we recommend deactivating unused organizations to ensure they are never accidentally assigned to a new order request. To deactivate an organization, use the Deactivate organization endpoint.
.. idrequiredintegerThe ID of an existing organization to associate with the order. To get the ID of organizations in your account, use the List organizations endpoint.
Note: Not required if you are creating a new organization with your request. For details on how to create a new organization, see Create organization.
.. contactsrequiredarrayList of contacts for the organization.
When creating a new organization:
  • Providing a verified_contact is required for AATL personal organisation certificates. You can add multiple verified contacts, with a maximum limit of fifteen. For AATL certificates, the verified contact is your organization's Authorized Representative. The authorized representative must be included in the company registry, must represent the organization, and has the authority to approve your AATL personal organisation certificate order.
  • Providing an organization_contact is required.
  • Providing a technical_contact is optional. If omitted, the organization is created with no technical contact.

When using an existing organization ID:
  • Providing an organization_contact and technical_contact is optional. If provided, the new organization and technical contact replace the existing contacts stored on the organization.
  • Providing a verified_contact (authorized representative) is required.
Note: By default, DigiCert creates the order with the organization contact and technical contact (if one exists) assigned to the organization on the request. To create the order with a different organization or technical contact than those assigned to the organization, include the organization_contact or technical_contact object at the root of the request payload.
.. ..idrequiredintegerUnique ID of the contact (organization_contact or technical_contact) within the organization.
Note: Not required if you are creating a new contact with your request. Providing the details for a verified_contact (authorized representative) is required. For details on how to create a new contact, see Contact details object.
.. .. contact_typerequiredstringContact type.
Allowed values: organization_contact, technical_contact, or verified_contact.
Note: This parameter is required when creating a new contact, when creating a new authorized representative, or when using an existing verified contact as an authorized representative.
containeroptionalobjectIf needed, specify the container the order should be placed under.
.. idrequiredintContainer ID.
skip_approvaloptionalboolSpecify if the order should skip the approval step and be immediately submitted for validation and issued when complete.
Default: false
auto_renewoptionalintSpecify if the certificate should automatically renew.
Allowed values:0 (disabled) or 1 (enabled)
Default:0
custom_renewal_messageoptionalstringCustom message to be included in renewal notifications.
payment_methodrequiredstringPayment method for the order. Allowed values:
  • balance (default): Pay with account balance. Returns an error if the option to bill to account balance is disabled for the account, or if the account balance has insufficient funds. Learn how to debit purchases against your CertCentral account balance.
  • profile: Pay with the account’s default credit card. Returns an error if no default credit card is configured for the account. Learn how to set up a default credit card.
  • card: Pay with a new credit card. Requests that use card as the payment method must include a credit_card and billing_address object. Returns an error if the option to pay with a credit card is disabled for the account.
credit_cardrequired (if payment_method is card)objectObject with information about the credit card charged for the order. Required if payment_method is card.
.. numberrequiredstringCredit card number.
.. expiration_monthrequiredstringCredit card expiration month. Format as a two-digit number between 01 (Jan) and 12 (Dec).
.. expiration_yearrequiredstringCredit card expiration year. Format as a four-digit number. For example: 2026
.. cvvrequiredstringCard verification value (CVV). Format as a three- or four-digit number. For example: 333 or 4444
.. cardholder_namerequiredstringCardholder’s first and last name.
.. save_credit_cardoptionalnullSpecify whether to save the credit card details. true for saving the details, false for not saving the details, and null for not indicating the preference.
Allowed Values: true, false, or null.
.. set_as_defaultrequiredstringSet the card as the default payment option or method. To set this card as your default payment method, use 1. To keep your default payment method, use 0.
Allowed Values: 1 or 0.
billing_addressconditionalobjectObject with information about the billing address. Required if payment_method is card.
.. addressrequiredstringBilling street address.
.. address2optionalstringContinuation of street address.
.. cityrequiredstringBilling city.
.. stateconditionalstringBilling state or province. Optional for some countries.
.. countryrequiredstringBilling country.
.. zipconditionalstringBilling zip or postal code. Optional for some countries.

Response parameters

NameTypeDescription
idintOrder ID.
organizationobjectContainer for new organization details. Only returned if a new organization was created with the order.
.. idintOrganization ID for the new organization.
requestsarrayContains information about the request.
.. idintRequest ID.
.. statusstringRequest status.
Possible values:pending, submitted, approved, rejected
certificate_idintCertificate ID. Returned if request status is approved.