# Verify domain ownership via DNS

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

Endpoint: POST /DCV/check_domains_via_dns
Version: 11.136.0.4
Security: BasicAuth

## Query parameters:

  - `domain` (string, required)
    The domain or domains to check.

Note:

 To check multiple domains, increment the parameter name. For example, domain-0, domain-1, and domain-2.
    Example: "example.com"

## Response 200 fields (application/json):

  - `apiversion` (integer)
    The version of the API.
    Example: 3

  - `func` (string)
    The name of the method called.
    Example: "check_domains_via_dns"

  - `module` (string)
    The name of the module called.
    Example: "DCV"

  - `result` (object)

  - `result.data` (array)
    An array of objects containing the results from each domain parameter’s DCV check.

Note:

 The function returns the results from the domain parameter in the same order in which you called them.

  - `result.data.dcv_string` (string)
    The expected value of the queried DNS record.
    Example: "_dcv-test-record=wsWRlG9IsG7KNnLdIsx9Oz2oTw8m5q0imRR9L6LnDBz14sZelvDHqrJyJc6LA0DY"

  - `result.data.domain` (string)
    The domain that the system verified.
    Example: "example.com"

  - `result.data.failure_reason` (string)
    A message that contains the reason why the DCV check failed.

Note:

  If the server fails to update the DNS zone, the system returns this value.
    Example: "The DNS query to _dcv-test-record.example2.org for the DCV challenge returned no TXT record that matches the value _dcv-test-record=wRUFPTN1DskKDG8KHfYM_5cQF5QUGWq1_A2ovO8rKsrIYO_HilAjsQABFCrbJkLX."

  - `result.data.query_results` (array)
    The strings that the DNS query returned. This array may be empty.

Note:

 If the server fails to update the DNS zone, the system returns the failure_reason value.
    Example: ["_dcv-test-record=wsWRlG9IsG7KNnLdIsx9Oz2oTw8m5q0imRR9L6LnDBz14sZelvDHqrJyJc6LA0DY"]

  - `result.data.succeeded` (integer)
    Whether the DCV check succeeded.
- 1 - At least one of the query_results values equals the dcv_string value.
- 0 - None of the query_results values equal the dcv_string value.
    Enum: 1, 0

  - `result.data.zone` (string)
    The altered and queried DNS zone name.
    Example: "example.com"

  - `result.errors` (array,null)
    List of errors if the API failed.

  - `result.messages` (array,null)
    List of messages generated by the API.

  - `result.metadata` (object)

  - `result.metadata.transformed` (integer)
    Post-processing may have transformed the data.
    Enum: 1

  - `result.status` (integer)
    - 1 - Success
- 0 - Failed: Check the errors field for more details.
    Enum: 0, 1

  - `result.warnings` (array,null)
    List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.


