Skip to main content
import { createClient } from "@mailsai/sdk";

const client = createClient(); // reads MAILS_API_KEY

const result = await client.suppression.list({
  limit: 10,
});
console.log(result);
{
  "suppressed": false,
  "type": "hard_bounce",
  "scope": "<scope>",
  "since": "2026-10-04T12:00:00.000Z",
  "allowed": {
    "id": "sup_01JZX8K3M9Q4P7VN2YB6RTDC0E",
    "attestation": "<attestation>",
    "created_at": "<created_at>"
  }
}

List allowlist or look up an address

Three answers from one route.
GET/v1/suppressionscope · read
import { createClient } from "@mailsai/sdk";

const client = createClient(); // reads MAILS_API_KEY

const result = await client.suppression.list({
  limit: 10,
});
console.log(result);
{
  "suppressed": false,
  "type": "hard_bounce",
  "scope": "<scope>",
  "since": "2026-10-04T12:00:00.000Z",
  "allowed": {
    "id": "sup_01JZX8K3M9Q4P7VN2YB6RTDC0E",
    "attestation": "<attestation>",
    "created_at": "<created_at>"
  }
}

Query Parameters

addressstring

Look up suppression status for this address instead of listing the allowlist.

viewstring

suppressed: list which of your own recent recipients are suppressed for you, and why, instead of the allowlist.

One of: suppressed

limitinteger

Page size (1–100).

Default: 25

cursorstring

Opaque cursor from a previous page's next_cursor.

With ?address=, the suppression status of that address. With ?view=suppressed, which of your own recent recipients are suppressed for you, and why (up to 500, in one page; addresses are stored hashed, so the list itself cannot be browsed). Without either, the workspace allowlist (paginated).

Was this page helpful?