Authentication
Create a token under API in your workspace settings. Send it as a bearer token. Tokens are scoped to one workspace and can be revoked at any time.
curl https://blacklistmonitoring.com/api/v1/assets \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
Assets
An asset is a domain, an IP address or, on Scale, a CIDR range.
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/assets | List assets with score and listed count |
| POST | /api/v1/assets | Add a domain, IP or range |
| GET | /api/v1/assets/{id} | One asset with its latest check |
| POST | /api/v1/assets/{id}/check | Re-check now |
| DELETE | /api/v1/assets/{id} | Stop monitoring |
POST /api/v1/assets
{ "value": "198.51.100.0/24", "label": "Customer 4410", "tags": ["msp", "eu"] }
Listings
GET /api/v1/listings?status=open returns every open listing in the workspace with the list, return code, its meaning, when it started and the removal page.
Findings
GET /api/v1/assets/{id}/findings returns the Domain Health findings, each with severity, a code, the sentence you see in the dashboard and the fix.
Webhooks
Webhooks are sent as JSON POST requests for listing.opened, listing.closed, finding.opened and finding.resolved. Every request carries an X-Signature header, an HMAC SHA-256 of the raw body with your webhook secret.
{
"event": "listing.opened",
"asset": { "id": 812, "value": "185.62.14.20", "type": "ip" },
"list": { "name": "Barracuda BRBL", "zone": "b.barracudacentral.org" },
"return_code": "127.0.0.2",
"removal_url": "https://www.barracudacentral.org/rbl/removal-request",
"detected_at": "2026-10-11T03:12:08Z"
}
Rate limits
120 requests per minute per token. Responses over the limit return HTTP 429 with a Retry-After header.