Skip to content

Opt a contact out of messaging

POST
/api/v2/contacts/{id}/opt-out
curl --request POST \
--url https://api.sipstack.com/api/v2/contacts/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/opt-out \
--header 'x-api-key: <x-api-key>'

Sets the real send gate for a contact: flips is_opted_out to true and adds the contact’s number to your organization’s STOP list, so campaign and dispatch send-paths both exclude them. This is the compliance-correct way to suppress a contact — updating consent_status via PATCH alone does not stop delivery. Requires contacts:write. Idempotent. 404 when the contact isn’t your organization’s (absent, cross-org, or soft-deleted).

id
required
string format: uuid

Contact opted out.

Media type application/json
object
success
boolean
message
string
Example
{
"message": "Contact opted out successfully"
}

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:write scope, or the Flare API tier is not on your plan.

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"
}

Contact not found in your organization.

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"
}