Add a number to the SMS suppression list

POST
/v1/sms/suppressions

Later sends from the API key's environment to the number are skipped. Adding a number already on the list returns its entry with status 200.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.

Header Parameters

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.

Value in"2026-10-10"

Request Body

application/json
  1. body
phone_number*string
Match^\+[1-9]\d{6,14}$

Response Body

The number already had an entry.

application/json
  1. response
object*"sms_suppression"
Value in"sms_suppression"
id*string
phone_number*string
reason*string

opt_out: the number replied STOP (or the carrier says it opted out). invalid_number: not a number that can receive SMS. manual: added by you.

Value in"opt_out""manual""invalid_number"
sms_id*|

The message whose failure added it, if any.

created_at*string
Formatdate-time
import { Coss } from "coss";const coss = new Coss({  apiKey: process.env.COSS_API_KEY,  baseUrl: "https://api.coss.com",});const { data, error } = await coss.sms.suppressions.add({  phone_number: "+14155550199",});
{  "object": "sms_suppression",  "id": "smssup_01k7c8m4q2f3e9v6t5r1n0p8yz",  "phone_number": "+14155550199",  "reason": "opt_out",  "sms_id": null,  "created_at": "2026-11-10T12:05:00.000Z"}