PadiMail Docs
API reference

Suppressions

Addresses we won't send to, and why.

All requests go to https://api.padimail.app with Authorization: Bearer <your key>. Try these in the interactive reference with a pm_test_ key.

List suppressions

GET/v1/suppressions

Query parameters

FieldTypeRequiredNotes
limitintegerNoPage size, 1 to 100. Default 50.
afterstringNoReturn items after this ID (the next value of the previous page).
beforestringNoReturn items before this ID.
addressstringNoSearch by address.
reason"bounce" | "complaint" | "unsubscribe" | "manual" | "invalid"No

Example

import { PadiMail } from "@padimail/node";

const pm = new PadiMail(process.env.PADIMAIL_API_KEY);

const result = await pm.suppressions.list({ reason: "bounce" });

Response 200

{
  "data": [
    {
      "id": "sup_01JBX7Q3F6ZK0Q9W1Y2R3T4V5S",
      "object": "suppression",
      "address": "ada@example.com",
      "reason": "bounce",
      "stream": "transactional",
      "source_email_id": "em_01JBX7Q3F6ZK0Q9W1Y2R3T4V5S",
      "created_at": "2026-10-27T13:05:09Z",
      "expires_at": "2026-10-27T13:05:09Z"
    }
  ],
  "has_more": false,
  "next": "string"
}

Suppress an address (reason manual)

POST/v1/suppressions

Body

FieldTypeRequiredNotes
addressstring (email)Yes
stream"transactional" | "marketing" | nullNoLeave out to suppress the address on every stream.

Send an Idempotency-Key header to make retries safe. The Node SDK adds one for you.

Example

import { PadiMail } from "@padimail/node";

const pm = new PadiMail(process.env.PADIMAIL_API_KEY);

const result = await pm.suppressions.create({ address: "ada@example.com" });

Response 200

{
  "id": "sup_01JBX7Q3F6ZK0Q9W1Y2R3T4V5S",
  "object": "suppression",
  "address": "ada@example.com",
  "reason": "bounce",
  "stream": "transactional",
  "source_email_id": "em_01JBX7Q3F6ZK0Q9W1Y2R3T4V5S",
  "created_at": "2026-10-27T13:05:09Z",
  "expires_at": "2026-10-27T13:05:09Z"
}

Remove a suppression (not for complaints)

DELETE/v1/suppressions/{id}

Path parameters

FieldTypeRequiredNotes
idstringYes

Example

import { PadiMail } from "@padimail/node";

const pm = new PadiMail(process.env.PADIMAIL_API_KEY);

const result = await pm.suppressions.remove("sup_01JBX7Q3F6ZK0Q9W1Y2R3T4V5S");

Response 200

{ "id": "string", "object": "string", "deleted": true }
Was this page helpful?

On this page