--- title: "Submit for validation" source_url: https://dev.digicert.com/certcentral-apis/services-api/domains/submit-for-validation.html api_method: POST api_endpoint: "/services/v2/domain/{{domain_id}}/validation" api_url: "https://www.digicert.com/services/v2/domain/{{domain_id}}/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](https://dev.digicert.com/md/certcentral-apis/services-api/domains/domain-info.md) endpoint. Additionally, you can generate a new DCV token by using the [OV/EV SSL: Generate DCV token](https://dev.digicert.com/md/certcentral-apis/services-api/domains/ov-ev-ssl-generate-dcv-token.md) endpoint. > **Info** > > Include the optional `dcv_method` parameter to specify the DCV method to used when proving control over the domain. > **Info** > > **Domain validation reuse periods will continue to decrease** > > Due to industry-wide changes, the domain validation reuse period will continue to shorten over time. Starting February 24, 2026, the maximum domain validation reuse period will be 199 days. For existing pre-validated domains, the new expiration date must be calculated as the last validation date + 199 days. By 2029, the domain validation reuse period will be reduced to 10 days. For more information, see Domain validation reuse changes in 2026. ## Example requests and responses **cURL** ```bash 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" } ] }' ``` **Python** ```python 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) ``` **Go** ```go 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)) } ``` **NodeJS** ```javascript 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); }); ``` **204 No Content** ```json // empty ``` **201 Created (email)** ```json { "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" ] } } ``` **201 Created (dns-txt-token)** ```json { "id": 112233, "dcv_token": { "token": "{{random_value}}", "expiration_date": "2020-02-21T06:29:24+00:00" } } ``` **201 Created (dns-cname-token)** ```json { "id": 112233, "dcv_token": { "token": "{{random_value}}", "expiration_date": "2020-02-21T07:01:29+00:00", "verification_value": "dcv.digicert.com" } } ``` **201 Created (http-token)** ```json { "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
Name Req/Opt Type Description
validations required array of objects List of validation types to submit the domain for.
.. type required string Validation type identifier. See Glossary – Validation types.
dcv_method optional string DCV method to use for the domain. See Glossary – DCV methods.
email_array optional array of strings When 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
Name Type Description
id integer ID of the added domain.
validation_emails object Email addresses used when sending DCV emails. Only returned for email DCV method.
.. name_scope string Domain scope used for constructed email addresses and DNS-based contacts.
.. base_emails array of strings List of constructed email addresses.
.. email_array array of strings Complete 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_token object DCV token details. Only returned for dns-txt-token, dns-cname-token, and http-token DCV methods.
.. token string Random value used to complete DCV. For DNS CNAME validation, this value is used to construct the CNAME record target.
.. status string DCV status.
Possible values: pending, active
.. expiration_date string Timestamp for when the token expires.
Format: UTC timezone and ISO 8601 date
.. verification_value string Base value used to construct the DNS CNAME record target. Only returned if the DCV method is dns-cname-token.
.. http_token_url string Filename of the text file and where it should be placed on the web server. Only returned for http-token DCV method.