Verify domain ownership via HTTP

This function checks whether the account's domains can pass Domain Control Validation (DCV) via an HTTP request.

Authorizations:
query Parameters
domain
required
string <domain>

The domains to check.

Note:

To check more than one domain, repeat or increment the parameter name. For example, domain-1, domain-2, and domain-3.

Examples:
domain=domain-1=example.com&domain-2=example2.com&domain-3=example2.com
domain=example.com
dcv_file_allowed_characters
Array of strings
Default: ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",0,1,2,3,4,5,6,7,8,9]

An array of characters that the certificate provider allows in the DCV check file's filename.

dcv_file_extension
string
Default: ""

The DCV check file extension that the certificate provider requires.

Example: dcv_file_extension=txt
dcv_file_random_character_count
integer >= 1
Default: 100

The number of characters that the certificate provider allows in the DCV check file's filename.

Example: dcv_file_random_character_count=32
dcv_file_relative_path
string
Default: ".well-known/pki-validation"

The DCV check file's file path, relative to the domain's document root directory.

Example: dcv_file_relative_path=.well-known/pki-validation
dcv_max_redirects
integer >= 0 Nullable
Default: null

The number of domain redirects the system permits the DCV check to follow. The function checks the provider's supported number of redirects. It will then return the redirect array of objects for the passed value, plus one. This ensures the function will display any redirects causing DCV failures, if any exist.

Note:

  • If you pass a 0 value, this function does not limit the number of redirect returns.
  • Use the Market::get_provider_specific_dcv_constraints UAPI function to list a provider's supported number of redirects.
Example: dcv_max_redirects=2
dcv_user_agent_string
string

The user agent string that the system uses for the imitated local DCV check.

Important:

The default value can change at any time.

Example: dcv_user_agent_string=SECTIGO+DCV

Responses

Response Schema: application/json
apiversion
integer

The version of the API.

func
string

The name of the method called.

module
string

The name of the module called.

object

Request samples

uapi --user=username DCV check_domains_via_http domain='example.com'

Response samples

Content type
application/json
{
  • "apiversion": 3,
  • "func": "check_domains_via_http",
  • "module": "DCV",
  • "result": {
    • "data": [
      • {
        • "failure_reason": "The system queried for a temporary file at http://example.com/.well-known/pki-validationD01511F4E E535A5442FC378AA946CF41.txt, but the web server responded with the following error: 404 (Not Found). A DNS (Domain Name System) or web server misconfiguration may exist. The domain example.com resolved to an IP address 93.184.216.34 that does not exist on this server.",
        • "redirects": [
          • {
            • "content": "<!DOCTYPE HTML PUBLIC \\\"-//IETF//DTD HTML 2.0//EN\\\">\\n<html><head>\\n<title>301 Moved Permanently</title>\\n </head><body>\\n<h1>Moved Permanently</h1>\\n <p>The document has moved <a href=\\\"http://www.example.com/.well-known/pki-validation/770102 17B0CCF0CCF6211602F9A1B2B2.txt\\\">here</a>.</p>\\n</body></html>\\n",
            • "headers": { },
            • "protocol": "HTTP/1.1",
            • "reason": "Moved Permanently",
            • "redirects": null,
            • "status": 301,
            • "success": "",
            }
          ],
        • "redirects_count": 0
        }
      ],
    • "errors": null,
    • "messages": null,
    • "metadata": {
      • "transformed": 1
      },
    • "status": 1,
    • "warnings": null
    }
}