Skip to content

List SMS opt-outs

GET
/api/v2/opt-outs
curl --request GET \
--url 'https://api.sipstack.com/api/v2/opt-outs?since=2026-10-01T00%3A00%3A00Z&limit=100' \
--header 'x-api-key: <x-api-key>'

Returns your organization’s SMS opt-out list — one row per suppressed phone number (not per contact), ordered by updated_at ascending. Use it to keep a CRM or your own suppression list in sync. Requires the contacts:read scope and the same Flare API plan and rate limit as the contacts endpoints.

Pass since to get only numbers added or changed after that timestamp, and page with next_cursor. A number that is opted back in leaves this list, so it never shows up here as a removal — subscribe to the contact.opted_in webhook or read is_opted_out on GET /api/v2/contacts?updated_since= to see opt-ins. The text of the opt-out message is never returned.

since
string format: date-time

ISO-8601 timestamp. Return only numbers added or changed after it. An unparseable date returns 400.

Example
2026-10-01T00:00:00Z
limit
integer
default: 100 >= 1 <= 500
cursor
string

Opaque keyset cursor from a previous response’s next_cursor.

A page of opt-outs, oldest change first.

Media type application/json
object
success
boolean
data
Array<object>

One phone number on your organization’s SMS opt-out list.

object
phone_number

The opted-out number (E.164).

string
method

How the number was opted out.

string
Allowed values: sms web admin crm
opted_out_at

When the number was first added to the list.

string format: date-time
updated_at

When the entry last changed — the field since filters on.

string format: date-time
pagination
object
limit
integer
next_cursor

Pass as cursor to fetch the next page; null on the last page.

string
nullable
Example
{
"success": true,
"data": [
{
"phone_number": "+14165550100",
"method": "sms"
}
],
"pagination": {
"limit": 100
}
}

Invalid since date or cursor.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

Missing or invalid API key.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

The key is missing the contacts:read scope, or the plan does not include Flare API access.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

Rate limit exceeded.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

Internal error.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}