# Validate domains' DMARC records

This function checks the validity of the current DMARC record for one or more domains.

Endpoint: GET /EmailAuth/validate_current_dmarcs
Version: 11.136.0.4
Security: BasicAuth

## Query parameters:

  - `domain` (string)
    The domain for which to check the DMARC record.

Note:

If you do not include this argument, the system will validate DMARC records for all domains owned by the user.

## Response 200 fields (application/json):

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

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

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

  - `result` (object)

  - `result.data` (array)
    An array that contains information about the
domain's DMARC records.

  - `result.data.domain` (string)
    The target domain of the DMARC policy.
    Example: "example.com"

  - `result.data.error` (string)
    A message that details either why the DNS lookup failed, or if there is a SPF/DKIM failure.

Note:

This will be set to MALFORMED if there is a syntax issue with this domain's SPF and DKIM records.
    Example: "(XID 4krw35) DNS returned SERVFAIL (code 2)\nin response to the system's query for _dmarc.example.com\nTXT records."

  - `result.data.record` (string)
    The domain's DMARC TXT record.
    Example: "v=DMARC1; p=none;"

  - `result.data.state` (string)
    The domain's DMARC record status.
Possible values:

* VALID - A DMARC policy is set for the domain, along with valid SPF and DKIM records for the domain and IP address.
* MALFORMED - A DMARC record is set, but it did not pass a syntax check.
* DKIM_SPF_ERROR - A DMARC record exists; however, both the DKIM and SPF records for this domain did not pass validation.
* DKIM_ERROR - A DMARC record exists; however, the DKIM record for this domain did not pass validation.
* SPF_ERROR - A DMARC record exists; however, the SPF record for this domain did not pass validation.
* MISSING - No DMARC record exists for the domain at the DMARC subdomain location.
* DNS_ERROR - A DNS error prevented validation of the DMARC record.
    Enum: "VALID", "MALFORMED", "DKIM_SPF_ERROR", "DKIM_ERROR", "SPF_ERROR", "MISSING", "DNS_ERROR"

  - `result.data.subdomain` (string)
    The domain that the function used to check
the DMARC record. This will be the value of
the domain parameter with a _dmarc prefix.
    Example: "_dmarc.example.com"

  - `result.data.suggested` (string)
    The recommended DMARC policy.
    Example: "v=DMARC1; p=none;"

  - `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.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 an API.


