Supported Formats

JSON

GET https://api.dmarcreport.com/v2/all_domains.json
List of all Domains

Returns a list of all domains across all accounts for the authenticated user.

Response includes: - parked_domain (boolean): Indicates if the domain is parked (true) or live (false). Parked domains have limited message volume. - tags (array): Array of tag objects associated with the domain, each containing id, name, and color.

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

Examples

{
    "domains": [
        {
            "id": 2593,
            "user_id": 1,
            "address": "123.com",
            "slug": "123-com",
            "rua_report": true,
            "ruf_report": true,
            "mta_sts_report": null,
            "dmarc_status": "dmarc_record_published",
            "mta_sts_status": "mta_sts_inactive",
            "parked_domain": false,
            "created_at": "2023-03-31T11:49:04.099Z",
            "updated_at": "2023-04-06T16:00:41.258Z",
            "tags": [
                {
                    "id": 1,
                    "name": "Production",
                    "color": "#3B82F6"
                }
            ]
        },
        {
            "id": 2503,
            "user_id": 1,
            "address": "sampledomain.com",
            "slug": "sampledomain-com",
            "rua_report": true,
            "ruf_report": true,
            "mta_sts_report": false,
            "dmarc_status": "dmarc_inactive",
            "mta_sts_status": "mta_sts_inactive",
            "parked_domain": true,
            "created_at": "2022-04-15T11:05:05.212Z",
            "updated_at": "2023-04-06T16:00:26.839Z",
            "tags": []
        },
        {
            "id": 2596,
            "user_id": 1,
            "address": "dmarcreport.com",
            "slug": "dmarcreport-com",
            "rua_report": true,
            "ruf_report": true,
            "mta_sts_report": true,
            "dmarc_status": "dmarc_record_published",
            "mta_sts_status": "mta_sts_active",
            "parked_domain": false,
            "created_at": "2022-04-15T11:05:05.212Z",
            "updated_at": "2023-04-06T16:00:26.839Z",
            "tags": [
                {
                    "id": 2,
                    "name": "Client-A",
                    "color": "#10B981"
                },
                {
                    "id": 3,
                    "name": "Enterprise",
                    "color": "#F59E0B"
                }
            ]
        }
    ]
}

GET https://api.dmarcreport.com/v2/accounts/:account_id/domains.json
List of all domains in given account

Returns a list of all domains in the specified account.

Response includes: - parked_domain (boolean): Indicates if the domain is parked (true) or live (false). Parked domains have limited message volume. - tags (array): Array of tag objects associated with the domain, each containing id, name, and color.

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

Examples

{
    "domains": [
        {
            "id": 2593,
            "user_id": 1,
            "address": "123.com",
            "slug": "123-com",
            "rua_report": true,
            "ruf_report": true,
            "mta_sts_report": null,
            "dmarc_status": "dmarc_record_published",
            "mta_sts_status": "mta_sts_inactive",
            "parked_domain": false,
            "created_at": "2023-03-31T11:49:04.099Z",
            "updated_at": "2023-04-06T16:00:41.258Z",
            "tags": [
                {
                    "id": 1,
                    "name": "Production",
                    "color": "#3B82F6"
                }
            ]
        },
        {
            "id": 2503,
            "user_id": 1,
            "address": "sampledomain.com",
            "slug": "sampledomain-com",
            "rua_report": true,
            "ruf_report": true,
            "mta_sts_report": false,
            "dmarc_status": "dmarc_inactive",
            "mta_sts_status": "mta_sts_inactive",
            "parked_domain": true,
            "created_at": "2022-04-15T11:05:05.212Z",
            "updated_at": "2023-04-06T16:00:26.839Z",
            "tags": []
        },
        {
            "id": 2596,
            "user_id": 1,
            "address": "dmarcreport.com",
            "slug": "dmarcreport-com",
            "rua_report": true,
            "ruf_report": true,
            "mta_sts_report": true,
            "dmarc_status": "dmarc_record_published",
            "mta_sts_status": "mta_sts_active",
            "parked_domain": false,
            "created_at": "2022-04-15T11:05:05.212Z",
            "updated_at": "2023-04-06T16:00:26.839Z",
            "tags": [
                {
                    "id": 2,
                    "name": "Client-A",
                    "color": "#10B981"
                },
                {
                    "id": 3,
                    "name": "Enterprise",
                    "color": "#F59E0B"
                }
            ]
        }
    ]
}

GET https://api.dmarcreport.com/v2/accounts/:account_id/domains/:id.json
Get all the details of a Domain

Returns detailed information about a specific domain.

The :id parameter can be either the numeric ID or the slug of the domain.

Response includes: - parked_domain (boolean): Indicates if the domain is parked (true) or live (false). Parked domains have limited message volume. - tags (array): Array of tag objects associated with the domain, each containing id, name, and color.

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

Examples

{
    "id": 16,
    "user_id": 1,
    "address": "abc.com",
    "slug": "abc-com",
    "rua_report": true,
    "ruf_report": true,
    "mta_sts_report": true,
    "dmarc_status": "dmarc_active",
    "mta_sts_status": "mta_sts_active",
    "parked_domain": false,
    "created_at": "2020-04-21T23:33:47.526Z",
    "updated_at": "2023-04-06T16:00:24.086Z",
    "tags": [
        {
            "id": 1,
            "name": "Production",
            "color": "#3B82F6"
        },
        {
            "id": 2,
            "name": "Client-A",
            "color": "#10B981"
        }
    ]
}

Params

Param name Description
id
required

Domain ID (numeric, e.g., “123”) or slug (e.g., “example-com”)

Validations:

  • Must be a String


POST https://api.dmarcreport.com/v2/accounts/:account_id/domains.json
Add your domain

Creates a new domain in the specified account.

Parked Domains: Set parked_domain: true to create a parked domain. Parked domains have limited message volume and are useful for domains that don’t actively send email. Requires parked domain quota in your subscription.

Response includes: - parked_domain (boolean): Indicates if the domain is parked or live - parked_domain_credits (integer): Message credits remaining (only for parked domains) - parked_domain_status (string): Status of parked domain (only for parked domains) - tags (array): Array of tag objects associated with the domain

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

Params

Param name Description
domain
required

Validations:

  • Must be a Hash

domain[address]
required

Address of your domain

Validations:

  • Must be a String

domain[rua_report]
required

Receives RUA Report against your domain

Validations:

  • Must be one of: true, false, true, false.

domain[ruf_report]
required

Receives RUF Report against your domain

Validations:

  • Must be one of: true, false, true, false.

domain[mta_sts_report]
optional

Receives MTA-STS Report against your domain

Validations:

  • Must be one of: true, false, true, false.

domain[parked_domain]
optional

Set to true to create a parked domain with limited message volume (requires parked domain quota)

Validations:

  • Must be one of: true, false, true, false.

domain[tag_ids]
optional

Array of tag IDs to attach to the domain

Validations:

  • Must be an array of any type

domain[tag_names]
optional

Array of tag names to attach to the domain (must exist)

Validations:

  • Must be an array of any type

domain[mta_sts_policy]
optional

Validations:

  • Must be a Hash

domain[mta_sts_policy][mode]
required

Policy Mode

Validations:

  • Must be one of: testing, enforce.

domain[mta_sts_policy][mx]
required

Detected Mail Records Separated by comma eg: custmx.cscdns.net, mail.dmarc.com

Validations:

  • Must be a String

domain[mta_sts_policy][mx_age]
required

Policy Age (Valid Time in_days)

Validations:

  • Must be one of: 1_day, 2_days, 3_days, 4_days, 5_days, 6_days, 7_days, 2_weeks, 1_month, 2_months, 3_months, 6_months, 12_months.


PUT https://api.dmarcreport.com/v2/accounts/:account_id/domains/:id.json
Update domain settings

Updates settings for a specific domain.

Hosted Services: Enable hosted DMARC or MTA-STS to have DNS records managed by our system. When enabled, the response includes CNAME records you must add to your DNS.

  • hosted_dmarc: Enable hosted DMARC (requires paid plan)
  • hosted_mta_sts: Enable hosted MTA-STS (requires paid plan and mta_sts_report enabled)

After adding the CNAME records, use the verify endpoints to check propagation.

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

Params

Param name Description
domain
required

Validations:

  • Must be a Hash

domain[rua_report]
optional

Receives RUA Report against your domain

Validations:

  • Must be one of: true, false, true, false.

domain[ruf_report]
optional

Receives RUF Report against your domain

Validations:

  • Must be one of: true, false, true, false.

domain[mta_sts_report]
optional

Receives MTA-STS Report against your domain

Validations:

  • Must be one of: true, false, true, false.

domain[hosted_dmarc]
optional

Enable hosted DMARC - DNS records managed by our system (requires paid plan)

Validations:

  • Must be one of: true, false, true, false.

domain[hosted_mta_sts]
optional

Enable hosted MTA-STS - DNS records managed by our system (requires paid plan and mta_sts_report)

Validations:

  • Must be one of: true, false, true, false.


GET https://api.dmarcreport.com/v2/accounts/:account_id/domains/:id/hosted_services.json
Get hosted services status and CNAME records

Returns the current status of hosted services for a domain, including: - Whether hosted DMARC and MTA-STS are enabled - CNAME records that need to be added to DNS - Current CNAME verification status

Use this endpoint to get the CNAME values after enabling hosted services, and to check the current propagation status.

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

POST https://api.dmarcreport.com/v2/accounts/:account_id/domains/:id/verify_hosted_dmarc.json
Verify hosted DMARC CNAME propagation

Checks if the hosted DMARC CNAME record has propagated to DNS. Call this after adding the CNAME record to your DNS to verify it’s working.

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

POST https://api.dmarcreport.com/v2/accounts/:account_id/domains/:id/verify_hosted_mta_sts.json
Verify hosted MTA-STS CNAME propagation

Checks if the hosted MTA-STS CNAME records have propagated to DNS. Call this after adding the CNAME records to your DNS to verify they’re working.

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason

Params

Param name Description
record
optional

Which record to verify: policy, mta_sts, tls_rpt, or all (default: all)

Validations:

  • Must be one of: policy, mta_sts, tls_rpt, all.


DELETE https://api.dmarcreport.com/v2/accounts/:account_id/domains/:id.json
Delete a domain

Supported Formats

JSON

Errors

Code Description
401 Unauthorized
403 Forbidden
404 Not Found
500 Server crashed for some reason