The opt-out object
Endpoints
All paths are relative to
https://api.vobiz.ai/api/v1/sms. Every request carries your X-Auth-ID and X-Auth-Token headers. In path parameters, URL-encode the + of the number as %2B, for example /opt-outs/%2B14155550123.
Keyword replies
When a contact replies to one of your numbers with a standard keyword, Vobiz records an opt-out for that number and channel withsource: "inbound". The reply is lower-cased, trimmed and stripped of trailing punctuation before matching.
When a contact replies
START, confirm their consent and then remove the entry with Delete an opt-out.
Channels and defaults
Every opt-out applies to one channel.channel defaults to sms on create, check and delete. An sms opt-out also blocks mms to the same number. Create a separate entry for rcs. Creating the same number and channel again updates reason instead of adding a second record, and deleting a number that is not on the list still returns 200.
What happens on a send
POST /messages to an opted-out number on a blocked channel returns 422 with {"error": "recipient has opted out: +14155550123"} and records nothing for that recipient. With several recipients, the others are still sent and the response is 202. Broadcast recipients on the list are marked opted_out and skipped.
Pagination
GET /opt-outs returns a bare JSON array, newest first. Pass both limit and offset on every call. A page with no records, or a request without limit, returns null. Increase offset by limit until a page returns fewer items than limit.
Example
cURL
201 Created
cURL
200 OK