agentlyleads docs
Suppressions API

Suppressions

The suppression list holds every address the workspace will not email: no campaign, sequence, automation or one-off send reaches it. Reading needs the read:suppressions scope; adding and removing need write:suppressions (or * for both).

The Suppression object

FieldTypeNotes
idstringUse it to remove the entry
emailstringStored in lower case
reasonstringUNSUBSCRIBE (the person opted out, or an imported list), MANUAL (added through the API or by the assistant), BOUNCE (hard bounce), COMPLAINT (marked as spam)
removablebooleanfalse for BOUNCE and COMPLAINT
createdAtstring (ISO 8601)When it was added

GET /api/v1/suppressions

Newest first, cursor-paginated.

ParameterDescription
reasonOnly this reason
emailLook up one address. Case-insensitive
sinceISO 8601 datetime. Only entries added at or after it
limit1 to 1000, default 100
cursorThe nextCursor from the previous page
{
  "suppressions": [
    { "id": "cmq8supp0alk34567890", "email": "ann@example.com", "reason": "UNSUBSCRIBE", "removable": true, "createdAt": "2026-09-27T14:02:00.000Z" }
  ],
  "nextCursor": null
}

POST /api/v1/suppressions

Records a manual opt-out and marks any contact with that address as opted out.

POST /api/v1/suppressions HTTP/1.1
Host: agentlyleads.com
Authorization: Bearer alk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

{ "email": "ann@example.com" }

Returns 201 with { "suppression": { ... }, "created": true }. Sending an address that is already listed is safe: it returns 200 with "created": false, and the entry keeps its original reason, so a bounce stays a bounce.

DELETE /api/v1/suppressions/{id}

Removes the entry and makes the address contactable again, clearing the opt-out flags on matching contacts.

{ "deleted": 1, "id": "cmq8supp0alk34567890", "email": "ann@example.com" }

A hard bounce or spam complaint can't be removed through the API. Those come from the receiving mail server or the recipient, and mailing them again hurts your sending reputation. The API returns 409:

{ "error": "b@example.com is suppressed because of a hard bounce. That can only be removed by a person in Settings, Suppressions." }

Errors

StatusMeaning
400Invalid email, reason, since, limit or cursor
401Missing, malformed, expired or revoked API key
403The key lacks the scope
404No suppression with that ID in your workspace
409A bounce or complaint, which only a person can remove
429Rate limit exceeded

On this page