Add an address to the suppression list
Suppresses an address in the API key's environment: later sends skip it, either for every email (scope: "*", the default) or only for emails with the given category (e.g. to back an unsubscribe link). Adding an address that is already suppressed with the same scope returns the existing entry with status 200.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
Coss-Version?"2026-10-10"The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.
"2026-10-10"application/json- body
address*stringThe address to suppress. Display names are ignored; matching is case-insensitive.
scope?|Defaults to * (every email). Pass a category, e.g. "marketing", to only skip those.
The address already had an entry with this scope.
application/json- response
object*"suppression""suppression"id*stringaddress*stringThe bare, lower-cased address.
scope*string* (every email) or a category.
reason*stringbounce: added after a permanent bounce. complaint: added after a spam complaint. manual: added one by one through the API or dashboard. import: added by a bulk import.
"bounce""complaint""manual""import"email_id*|The email whose bounce or complaint added this entry.
created_at*stringdate-timeimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.email.suppressions.add({ address: "user@example.com", scope: "marketing",});{ "object": "suppression", "id": "sup_01k7c8m4q2f3e9v6t5r1n0p8yz", "address": "user@example.com", "scope": "marketing", "reason": "manual", "email_id": null, "created_at": "2026-01-15T09:30:00.000Z"}Check whether an address is suppressed GET
Whether a send to `address` (with `category`, if given) would skip it, and the entries that match: those with scope `*` and, with a `category`, those for that category.
Remove a suppression DELETE
Removes the entry, so later sends reach the address again (unless another entry still matches). Entries added for bounces and complaints can be removed too.