API Reference
get/api/v1/orgsGet organization for bearer API key
Description
Get organization for bearer API key
Authentication
Requires a bearer API key with read access.
Path Parameters
No path parameters.
Query Parameters
No query parameters.
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": {
"id": "67dcf43bfd4f88e25d9d569b",
"name": "Acme Corp",
"slug": "acme-corp",
"createdAt": "2026-03-31T12:00:00.000Z",
"logo": null,
"metadata": {}
}
} get/api/v1/orgs/{orgId}/domainsList domains for an organization
Description
List domains for an organization
Authentication
Requires a bearer API key with read access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Query Parameters
name
stringOptionalOptional exact domain name filter.
Example
example.com
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains?name=example.com' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": [
{
"id": "67dcf5f5fd4f88e25d9d56a1",
"ts": 1711886400000,
"organizationId": "67dcf43bfd4f88e25d9d569b",
"name": "example.com",
"isOrganizationalDomain": true,
"isHidden": false
}
],
"meta": {
"total": 1
}
} post/api/v1/orgs/{orgId}/domainsCreate a domain for an organization
Description
Create a domain for an organization
Authentication
Requires a bearer API key with write access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Query Parameters
No query parameters.
Request Body
Content type: application/json
Schema: Inline schema
{
"domain": "example.com"
}Example request
POST
curl --request POST \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains' \
--header 'Authorization: Bearer $DMARC_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"domain": "example.com"
}'Example response
JSON
{
"data": {
"id": "67dcf5f5fd4f88e25d9d56a1",
"ts": 1711886400000,
"organizationId": "67dcf43bfd4f88e25d9d569b",
"name": "example.com",
"isOrganizationalDomain": true,
"isHidden": false
}
} post/api/v1/orgs/{orgId}/domains/bulkCreate multiple domains for an organization
Description
Create multiple domains for an organization
Authentication
Requires a bearer API key with write access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Query Parameters
No query parameters.
Request Body
Content type: application/json
Schema: BulkAddDomainsRequest
{
"domains": [
"example.com",
"mail.example.com"
]
}Example request
POST
curl --request POST \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains/bulk' \
--header 'Authorization: Bearer $DMARC_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"domains": [
"example.com",
"mail.example.com"
]
}'Example response
JSON
{
"data": [
{
"id": "67dcf5f5fd4f88e25d9d56a1",
"ts": 1711886400000,
"organizationId": "67dcf43bfd4f88e25d9d569b",
"name": "example.com",
"isOrganizationalDomain": true,
"isHidden": false
}
],
"meta": {
"total": 1
}
} get/api/v1/orgs/{orgId}/domains/{domainId}/setupGet DMARC setup guidance for a domain
Description
Get DMARC setup guidance for a domain
Authentication
Requires a bearer API key with read access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Domain Id
stringRequiredDomain ID within the organization.
Example
67dcf5f5fd4f88e25d9d56a1
Query Parameters
No query parameters.
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains/67dcf5f5fd4f88e25d9d56a1/setup' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": {
"domainId": "67dcf5f5fd4f88e25d9d56a1",
"domain": "example.com",
"receiverAddress": "67dcf5f5fd4f88e25d9d56a1@in.dmarcdefender.io",
"dnsProvider": {
"nameservers": [
"ns1.cloudflare.com",
"ns2.cloudflare.com"
],
"provider": "Cloudflare"
},
"current": {
"lookup": {
"domain": "example.com",
"organizationalDomain": "example.com",
"isUsingParentRecord": false,
"raw": "v=DMARC1; p=none"
},
"record": {
"ts": 1711886400000,
"raw": "v=DMARC1; p=none",
"version": "DMARC1",
"policy": "none",
"unknownTags": {},
"tags": [
"v=DMARC1",
"p=none"
],
"domain": "example.com",
"organizationalDomain": "example.com",
"isUsingParentRecord": false
}
},
"recommended": {
"action": "update",
"hostname": "_dmarc.example.com",
"recordType": "TXT",
"ttlSeconds": 3600,
"value": "v=DMARC1; p=none; rua=mailto:67dcf5f5fd4f88e25d9d56a1@in.dmarcdefender.io",
"lookup": {
"domain": "example.com",
"organizationalDomain": "example.com",
"isUsingParentRecord": false,
"raw": "v=DMARC1; p=none; rua=mailto:67dcf5f5fd4f88e25d9d56a1@in.dmarcdefender.io"
},
"record": {
"ts": 1711886400000,
"raw": "v=DMARC1; p=none; rua=mailto:67dcf5f5fd4f88e25d9d56a1@in.dmarcdefender.io",
"version": "DMARC1",
"policy": "none",
"aggregateReportUris": [
{
"raw": "mailto:67dcf5f5fd4f88e25d9d56a1@in.dmarcdefender.io",
"scheme": "mailto",
"address": "67dcf5f5fd4f88e25d9d56a1@in.dmarcdefender.io",
"params": {}
}
],
"unknownTags": {},
"tags": [
"v=DMARC1",
"p=none",
"rua=mailto:67dcf5f5fd4f88e25d9d56a1@in.dmarcdefender.io"
],
"domain": "example.com",
"organizationalDomain": "example.com",
"isUsingParentRecord": false
}
}
}
} get/api/v1/orgs/{orgId}/domains/{domainId}/recommendationsGet recommendations and grade details for a domain
Description
Get recommendations and grade details for a domain
Authentication
Requires a bearer API key with read access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Domain Id
stringRequiredDomain ID within the organization.
Example
67dcf5f5fd4f88e25d9d56a1
Query Parameters
No query parameters.
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains/67dcf5f5fd4f88e25d9d56a1/recommendations' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": {
"domainId": "67dcf5f5fd4f88e25d9d56a1",
"domain": "example.com",
"timestamp": "2026-03-31T12:00:00.000Z",
"grade": "B",
"score": {
"score": 82,
"grade": "B"
},
"recommendations": [
{
"title": "No aggregate report URI configured",
"category": "dmarc",
"severity": "warning",
"description": "No aggregate report URI (rua) is configured.",
"remediation": "Add a rua destination to your DMARC record.",
"docs": [
{
"title": "DMARC Explained",
"url": "https://dmarcdefender.io/docs/dmarc-explained"
}
]
}
]
}
} get/api/v1/orgs/{orgId}/domains/{domainId}/recordsGet DNS record details for a domain
Description
Get DNS record details for a domain
Authentication
Requires a bearer API key with read access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Domain Id
stringRequiredDomain ID within the organization.
Example
67dcf5f5fd4f88e25d9d56a1
Query Parameters
No query parameters.
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains/67dcf5f5fd4f88e25d9d56a1/records' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": {
"domainId": "67dcf5f5fd4f88e25d9d56a1",
"domain": "example.com",
"timestamp": "2026-03-31T12:00:00.000Z",
"dmarc": {
"lookup": {
"domain": "example.com",
"organizationalDomain": "example.com",
"isUsingParentRecord": false,
"raw": "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
},
"record": {
"ts": 1711886400000,
"raw": "v=DMARC1; p=none; rua=mailto:dmarc@example.com",
"version": "DMARC1",
"policy": "none",
"unknownTags": {},
"tags": [
"v=DMARC1",
"p=none",
"rua=mailto:dmarc@example.com"
],
"domain": "example.com",
"organizationalDomain": "example.com",
"isUsingParentRecord": false
}
},
"spf": {
"lookup": {
"domain": "example.com",
"raw": "v=spf1 include:_spf.google.com ~all"
},
"record": {},
"tree": {}
},
"dkim": {
"selectors": [
"google"
],
"records": []
},
"bimi": {
"lookup": {
"domain": "example.com",
"selector": "default",
"raw": ""
},
"record": null
},
"tlsRpt": {
"lookup": {
"domain": "example.com",
"raw": "v=TLSRPTv1; rua=mailto:tlsrpt@example.com"
},
"record": {}
},
"mtaSts": {
"lookup": {
"domain": "example.com",
"raw": "version: STSv1",
"policy": "mode: testing"
},
"record": {}
},
"mxRecords": [
{
"exchange": "aspmx.l.google.com",
"priority": 1
}
],
"dnsProvider": {
"nameservers": [
"ns1.cloudflare.com",
"ns2.cloudflare.com"
],
"provider": "Cloudflare"
}
}
} get/api/v1/orgs/{orgId}/domains/{domainId}/volumeGet DMARC email volume totals for a domain
Description
Get DMARC email volume totals for a domain
Authentication
Requires a bearer API key with read access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Domain Id
stringRequiredDomain ID within the organization.
Example
67dcf5f5fd4f88e25d9d56a1
Query Parameters
days
numberOptionalLookback window in days. Defaults to 30.
Example
30
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains/67dcf5f5fd4f88e25d9d56a1/volume?days=30' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": {
"totalEmails": 1932,
"dmarcPasses": 1825,
"dmarcQuarantines": 33,
"dmarcRejects": 41,
"dmarcOverrides": 14,
"days": 30
}
} delete/api/v1/orgs/{orgId}/domains/{domainId}Delete a domain from an organization
Description
Delete a domain from an organization
Authentication
Requires a bearer API key with write access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Domain Id
stringRequiredDomain ID within the organization.
Example
67dcf5f5fd4f88e25d9d56a1
Query Parameters
No query parameters.
Request Body
No request body.
Example request
DELETE
curl --request DELETE \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/domains/67dcf5f5fd4f88e25d9d56a1' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": {
"id": "67dcf5f5fd4f88e25d9d56a1",
"ts": 1711886400000,
"organizationId": "67dcf43bfd4f88e25d9d569b",
"name": "example.com",
"isOrganizationalDomain": true,
"isHidden": false
}
} get/api/v1/orgs/{orgId}/audit-logsList audit logs for an organization
Description
List audit logs for an organization
Authentication
Requires a bearer API key with read access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Query Parameters
page
numberOptional1-based page number for the audit log result set.
Example
1
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/audit-logs?page=1' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": [
{
"id": "67dd0000fd4f88e25d9d57aa",
"ts": 1711886400000,
"organizationId": "67dcf43bfd4f88e25d9d569b",
"organizationName": "Acme Corp",
"apiKeyId": "67dd1111fd4f88e25d9d57ab",
"action": "domain_added",
"message": "Domain example.com added",
"data": {
"domain": "example.com"
}
}
],
"meta": {
"page": 1,
"pageSize": 1000,
"total": 42
}
} get/api/v1/orgs/{orgId}/ingestion-eventsList ingestion events for an organization
Description
List ingestion events for an organization
Authentication
Requires a bearer API key with read access.
Path Parameters
Org Id
stringRequiredOrganization ID associated with the bearer API key.
Example
67dcf43bfd4f88e25d9d569b
Query Parameters
page
numberOptional1-based page number for the ingestion result set.
Example
1
limit
numberOptionalPage size for the ingestion result set. Max 200.
Example
50
domainId
undefinedOptionalOptional domain id filter.
Example
Request Body
No request body.
Example request
GET
curl --request GET \
--url 'https://dmarcdefender.io/api/v1/orgs/67dcf43bfd4f88e25d9d569b/ingestion-events?page=1&limit=50' \
--header 'Authorization: Bearer $DMARC_API_KEY'Example response
JSON
{
"data": [
{
"id": "67dcfb46fd4f88e25d9d5703",
"ts": 1711906200000,
"organizationId": "67dcf43bfd4f88e25d9d569b",
"domainId": "67dcf5f5fd4f88e25d9d56a1",
"aggregateReportIds": [
"67dcfb46fd4f88e25d9d5704"
],
"fileNames": [
"report.xml.gz"
],
"storageURLs": [
"https://blob.example/report.xml.gz"
],
"source": "postmark",
"status": "completed",
"totalEmails": 1932,
"domains": [
"example.com"
]
}
],
"meta": {
"page": 1,
"pageSize": 50,
"total": 1
}
}