https://sandbox.voice.miraiminds.co.
How suppression works
Numbers are checked at dial time, in the same database statement that hands contacts to the dialler. Three consequences worth knowing:- Late additions work. A number added while a campaign is running is suppressed from that moment on, even though it was uploaded in the original list.
- Suppression is not deletion. The contact stays in the campaign with
status: "suppressed"and shows up in the report, so you can prove the number was uploaded and not called. - Suppressed contacts are never billed. No dial, no minute, no charge.
POST /v2/calls. A direct
single call is an explicit instruction to ring one number now; refusing it based
on a list would silently swallow transactional calls — a delivery confirmation
to a customer who opted out of marketing, say. Check the list yourself before
placing single calls if that is the behaviour you want.
The entry object
Add a number
201 Created
200 OK with
"added": false instead of 201:
200 OK — already on the list
added if you are keeping your own count; branch on nothing at all if
you are just making sure. Both answers mean the number will not be dialled.
List numbers
200 OK
limit 1–100, default 20, and
cursor from next_cursor.
Remove a number
+ becomes %2B.
204 No Content on success. 404 not_found if the number was not on the list.
Keeping it in sync
The list is a set of numbers, and the operations are idempotent, so the simplest correct integration is also the right one: on every opt-out event in your own system,POST the number. No read-modify-write, no diffing.
- Suppress on the call, not after the campaign. If your agent hears “stop calling me”, write it to the list from the webhook handler that same minute.
- Suppress before you upload. Scrubbing the list you upload and keeping the DNC list current are belt and braces; the DNC list is the one that protects you from the campaign you forgot to scrub.
- Never remove in bulk. Removals should be individual, deliberate, and logged with a reason.