Submit for validation

POST https://www.digicert.com/services/v2/domain/{{domain_id}}/validation
Use this endpoint to submit a domain to be validated for the specified validation types.

After you submit a domain for validation, you can get the DCV token for the domain by using the Domain info endpoint. Additionally, you can generate a new DCV token by using the OV/EV SSL: Generate DCV token endpoint.

Example requests and responses

curl --request POST 'https://www.digicert.com/services/v2/domain/{{domain_id}}/validation' \
--header 'X-DC-DEVKEY: {{api_key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
  "validations": [
    {
      "type": "ov"
    },
    {
      "type": "ev"
    }
  ]
}'
import requests

url = "https://www.digicert.com/services/v2/domain/{{domain_id}}/validation"

payload = "{\n\t\"validations\": [\n\t\t\t{\n\t\t\t\t\"type\": \"ov\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"ev\"\n\t\t\t}\n\t\t]\n}"
headers = {
    'X-DC-DEVKEY': "{{api_key}}",
    'Content-Type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://www.digicert.com/services/v2/domain/{{domain_id}}/validation"

	payload := strings.NewReader("{\n\t\"validations\": [\n\t\t\t{\n\t\t\t\t\"type\": \"ov\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"type\": \"ev\"\n\t\t\t}\n\t\t]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
var request = require("request");

var options = { method: 'POST',
  url: 'https://www.digicert.com/services/v2/domain/{{domain_id}}/validation',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: { validations: [ { type: 'ov' }, { type: 'ev' } ] },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
// empty
{
    "id": 112233,
    "validation_emails": {
        "name_scope": "example.com",
        "base_emails": [
            "administrator@example.com",
            "postmaster@example.com",
            "admin@example.com",
            "webmaster@example.com",
            "hostmaster@example.com"
        ]
    }
}
{
    "id": 112233,
    "dcv_token": {
        "token": "{{random_value}}",
        "expiration_date": "2020-02-21T06:29:24+00:00"
    }
}
{
    "id": 112233,
    "dcv_token": {
        "token": "{{random_value}}",
        "expiration_date": "2020-02-21T07:01:29+00:00",
        "verification_value": "dcv.digicert.com"
    }
}
{
    "id": 112233,
    "dcv_token": {
        "token": "{{random_value}}",
        "expiration_date": "2020-02-21T07:01:29+00:00",
        "http_token_url": "http://example.com/.well-known/pki-validation/fileauth.txt"
    }
}

Request parameters

NameReq/OptTypeDescription
validationsrequiredarray of objectsList of validation types to submit the domain for.
.. typerequiredstringValidation type identifier. See Glossary – Validation types.
dcv_methodoptionalstringDCV method to use for the domain. See Glossary – DCV methods.
email_arrayoptionalarray of stringsWhen dcv_method is email, limit who receives verification DCV emails to addresses in this list. Ignored for other DCV methods.
Each email address must be a valid constructed email address for the domain or an approved DNS-based email contact from the domain’s DNS TXT record. Other email addresses are ignored.
Your CertCentral account settings* configure the addresses you can choose from when limiting verification DCV email recipients. If none of the emails you provide are configured to receive verification DCV emails, or if you omit the email_array parameter from your request, DigiCert sends emails to all constructed email addresses and DNS TXT record emails for the domain.
*To view your account settings, in the left main menu, go to Settings > Preferences. Then, on the Preferences page, expand Advanced Settings, and look under Send Verification DCV Emails to.

Response parameters

NameTypeDescription
idintegerID of the added domain.
validation_emailsobjectEmail addresses used when sending DCV emails. Only returned for email DCV method.
.. name_scopestringDomain scope used for constructed email addresses and DNS-based contacts.
.. base_emailsarray of stringsList of constructed email addresses.
.. email_arrayarray of stringsComplete list of email addresses you can choose from when limiting who receives DCV emails for the domain. Configure this list in your CertCentral account.*
The email_array response parameter is only returned if you changed the default settings for which email addresses can receive verification DCV emails for your account.
*To view your account settings, in the left main menu, go to Settings > Preferences. Then, on the Preferences page, expand Advanced Settings, and look under Send Verification DCV Emails to.
dcv_tokenobjectDCV token details. Only returned for dns-txt-token, dns-cname-token, and http-token DCV methods.
.. tokenstringRandom value to use for DCV validation.
.. statusstringDCV status.
Possible values: pending, active
.. expiration_datestringTimestamp for when the token expires.
Format: UTC timezone and ISO 8601 date
.. verification_valuestringValue for the CNAME record’s host field (or equivalent). Only returned for dns-cname-token DCV method.
.. http_token_urlstringFilename of the text file and where it should be placed on the web server. Only returned for http-token DCV method.