Monitor a domain or IP for blocklists
POST/v1/blocklist/monitors
Watches a domain name or a public IPv4 address against well-known public spam blocklists (Spamhaus, SURBL, URIBL, SpamCop and others). It is checked straight away, then again every six hours, and the account’s owners and admins are emailed when it becomes listed and when it is cleared. Domains are checked against domain blocklists and IPs against IP blocklists. A list that refuses to answer is reported as not checked and never counted as clean.
Required scope: domains:manage
Request body
| Field | Type |
|---|---|
targetrequired | string |
Unknown fields are rejected, so a typo never silently does nothing.
Example
curl -X POST 'https://api.sendsend.email/v1/blocklist/monitors' \
-H "Authorization: Bearer $SENDSEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"target": "acme.com"
}'Response 201
{
"id": "blm_7c1d…",
"object": "blocklist_monitor",
"kind": "domain",
"target": "acme.com",
"status": "clean",
"listed_on": [],
"listed_since": null,
"last_checked_at": "2026-10-15T09:00:00.000Z",
"created_at": "2026-10-15T08:59:00.000Z"
}Errors
| Status | Code | When |
|---|---|---|
| 400 | validation_error | The request body or parameters are invalid. The message says which field. |
| 401 | unauthorized | The API key is missing, invalid or revoked. |
| 403 | forbidden | The key does not have the scope this endpoint needs. |
| 403 | plan_limit_reached | Your plan’s blocklist monitors are all in use. |
| 409 | domain_already_registered | This target is already monitored in the project. |
Every error has the same shape. See Errors.