DMARC Monitoring

Receive and analyze DMARC reports to identify potential sending issues. Create and manage monitors for your domains, retrieve aggregated and IP-specific reports, and track DMARC compliance across your email infrastructure.

List monitors

If you want to retrieve information about multiple DMARC monitors, use this GET request:

GET https://api.mailersend.com/v1/dmarc-monitoring

Request parameters

Query parameterTypeRequiredLimitationsDetails
pageintno
limitintnoMin: 10, Max: 100Default: 25

Responses

Valid

Response Code: 200 OK
Response Headers:
	content-type: application/json
{
    "data": [
        {
            "id": "9dnxr7qvdqg6pm0e",
            "dmarc_record": "v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.example.org,mailto:rua-dev@tests.example.org,mailto:rua@example.org; ruf=mailto:dmarc_fr@dmarc.example.org; fo=1; pct=100; rf=afrf",
            "wanted_dmarc_record": "v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.example.org,mailto:rua-dev@tests.example.org,mailto:rua@example.org; ruf=mailto:dmarc_fr@dmarc.example.org; fo=1; pct=100; rf=afrf",
            "dmarc_valid": true,
            "dmarc_record_checked_at": "2025-11-05T09:06:35.000000Z",
            "spf_record": "v=spf1 include:_spf.example.org include:_spf.example.org include:example.org include:_spf.example.org ip4:192.0.2.1 include:example.org -all",
            "spf_status": "valid",
            "created_at": "2025-11-05T09:06:35.000000Z",
            "updated_at": "2025-11-05T09:06:35.000000Z",
            "domain": {
                "id": "5genxmqlgozlyvk7",
                "name": "example.org",
                "created_at": "2025-11-05T06:18:44.000000Z",
                "updated_at": "2025-11-05T06:19:14.000000Z"
            }
        }
    ]
}

Error

Response Code: 422 Unprocessable Entity

See - Validation errors

Create a monitor

If you want to create a new DMARC monitor for a domain, use this POST request:

POST https://api.mailersend.com/v1/dmarc-monitoring

Request parameters

JSON parameters are provided in dot notation

JSON ParameterTypeRequiredLimitationsDetails
domain_idstringyes

Request body

{
    "domain_id": "0z76k5jg0o3yeg2d"
}

Responses

Valid

Response Code: 201 CREATED
Response Headers:
	content-type: application/json
{
    "data": {
        "id": "lx1p78jk1o53rzn4",
        "dmarc_record": "",
        "wanted_dmarc_record": "rua=mailto:rua@example.org",
        "dmarc_valid": false,
        "dmarc_record_checked_at": null,
        "spf_record": null,
        "spf_status": "not_found",
        "created_at": "2025-11-06T10:27:34.000000Z",
        "updated_at": "2025-11-06T10:27:34.000000Z"
    }
}

Error

Response Code: 422 Unprocessable Entity

See - Validation errors

Update a monitor

If you want to update a DMARC monitor, use this PUT request:

PUT https://api.mailersend.com/v1/dmarc-monitoring/{monitor_id}

Request parameters

URL parameterTypeRequiredLimitationsDetails
monitor_idstringyes

JSON parameters are provided in dot notation

JSON ParameterTypeRequiredLimitationsDetails
wanted_dmarc_recordstringyes

Request body

{
    "wanted_dmarc_record": "v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.example.org"
}

Responses

Valid

Response Code: 200 OK
Response Headers:
	content-type: application/json
{
    "data": {
        "id": "lx1p78jk1o53rzn4",
        "dmarc_record": "",
        "wanted_dmarc_record": "v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.example.org,mailto:rua-ms@example.org",
        "dmarc_valid": false,
        "dmarc_record_checked_at": "2025-11-06T10:31:55.000000Z",
        "spf_record": null,
        "spf_status": "not_found",
        "created_at": "2025-11-06T10:27:34.000000Z",
        "updated_at": "2025-11-06T10:31:55.000000Z",
        "domain": {
            "id": "0z76k5jg0o3yeg2d",
            "name": "example.org",
            "created_at": "2025-11-06T10:24:03.000000Z",
            "updated_at": "2025-11-06T10:25:47.000000Z"
        }
    }
}

Error

Response Code: 422 Unprocessable Entity

See - Validation errors

Delete a monitor

If you want to delete a DMARC monitor, use this DELETE request:

DELETE https://api.mailersend.com/v1/dmarc-monitoring/{monitor_id}

Request parameters

URL parameterTypeRequiredLimitationsDetails
monitor_idstringyes

Responses

Valid

Response Code: 204 No Content

Error

Response Code: 404 Not Found

Get aggregated reports

If you want to retrieve aggregated DMARC reports for a monitor, use this GET request:

GET https://api.mailersend.com/v1/dmarc-monitoring/{monitor_id}/report

Request parameters

URL parameterTypeRequiredLimitationsDetails
monitor_idstringyes
Query parameterTypeRequiredLimitationsDetails
pageintno
limitintnoMin: 10, Max: 100Default: 25

Responses

Valid

Response Code: 200 OK
Response Headers:
	content-type: application/json
{
    "data": [
        {
            "ip_address": "192.0.2.1",
            "total_volume": 2,
            "passed_dmarc": "100%",
            "passed_spf": "0%",
            "passed_dkim": "100%",
            "domain": "example.org",
            "country": "United States",
            "country_code": "US",
            "city": null,
            "is_favorite": true
        },
        {
            "ip_address": "192.0.2.2",
            "total_volume": 2,
            "passed_dmarc": "100%",
            "passed_spf": "100%",
            "passed_dkim": "100%",
            "domain": "example.org",
            "country": "United States",
            "country_code": "US",
            "city": null
        }
    ]
}

Error

Response Code: 404 Not Found

Get IP-specific reports

If you want to retrieve detailed DMARC reports for a specific IP address, use this GET request:

GET https://api.mailersend.com/v1/dmarc-monitoring/{monitor_id}/report/{ip}

Request parameters

URL parameterTypeRequiredLimitationsDetails
monitor_idstringyes
ipstringyes
Query parameterTypeRequiredLimitationsDetails
pageintno
limitintnoMin: 10, Max: 100Default: 25

Responses

Valid

Response Code: 200 OK
Response Headers:
	content-type: application/json
{
    "data": [
        {
            "id": "690b12b39dc30891fc35d3da",
            "ip_address": "192.0.2.1",
            "ip_domain": "example.org",
            "total_volume": 2,
            "passed_dmarc": "100%",
            "passed_spf": "0%",
            "spf_domain": null,
            "aligned_spf": false,
            "passed_dkim": "100%",
            "aligned_dkim": true,
            "dkim_domain": null,
            "created_at": "2025-11-05T00:00:00.000000Z",
            "applied_policy": "none",
            "override_reason": null,
            "override_comment": null,
            "domain": null,
            "country": null,
            "country_code": null,
            "city": null,
            "report_source": "example.com",
            "spf_auth": [
                {
                    "type": "spf",
                    "result": "pass",
                    "domain": "example.org",
                    "selector": null
                }
            ],
            "dkim_auth": [
                {
                    "type": "dkim",
                    "result": "fail",
                    "domain": "example.org",
                    "selector": "example"
                }
            ]
        }
    ]
}

Error

Response Code: 404 Not Found

Get report sources

If you want to retrieve a list of report sources for a monitor, use this GET request:

GET https://api.mailersend.com/v1/dmarc-monitoring/{monitor_id}/report-sources

Request parameters

URL parameterTypeRequiredLimitationsDetails
monitor_idstringyes

Responses

Valid

Response Code: 200 OK
Response Headers:
	content-type: application/json
{
    "data": [
        {
            "report_source": "example.com",
            "reports": 3
        }
    ]
}

Error

Response Code: 404 Not Found

Mark IP as favorite

If you want to mark an IP address as a favorite for a monitor, use this PUT request:

PUT https://api.mailersend.com/v1/dmarc-monitoring/{monitor_id}/favorite/{ip}

Request parameters

URL parameterTypeRequiredLimitationsDetails
monitor_idstringyes
ipstringyes

Responses

Valid

Response Code: 200 OK
Response Body: [EMPTY]

Error

Response Code: 404 Not Found

Remove IP from favorites

If you want to remove an IP address from favorites for a monitor, use this DELETE request:

DELETE https://api.mailersend.com/v1/dmarc-monitoring/{monitor_id}/favorite/{ip}

Request parameters

URL parameterTypeRequiredLimitationsDetails
monitor_idstringyes
ipstringyes

Responses

Valid

Response Code: 200 OK
Response Body: [EMPTY]

Error

Response Code: 404 Not Found
Last Updated: