Skip to main content
The do-not-call list is a per-workspace set of phone numbers that campaigns will not dial. Once you add a number, every campaign in the workspace skips it, whether the campaign is running, paused or not yet created. Base URL https://sandbox.voice.miraiminds.co.
This is your suppression list, not the national registry.It suppresses numbers for your campaigns on our platform. It is separate from TRAI’s DND/NCPR register, and we do not scrub against that register for you. The consent and DND obligations sit with the business placing the calls, and putting a number on this list does not meet them. See India calling rules.

How suppression works

We check numbers at dial time, in the same database statement that hands contacts to the dialler. This has three consequences:
  • 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. We never dial them, so there are no minutes to charge.
The list does not apply to POST /v2/calls. A direct single call is an explicit instruction to ring one number now. If we refused it because the number is on the list, transactional calls would be dropped without any notice, such as a delivery confirmation to a customer who opted out of marketing. If you want single calls checked as well, check the list yourself before you place them.

The entry object


Add a number

201 Created
Adding a number that is already on the list is not an error, because the number is already suppressed. You get 200 OK with "added": false instead of 201:
200 OK — already on the list
If you keep your own count, branch on added. If you only need the number suppressed, you can ignore it. Both responses mean the number will not be dialled.

List numbers

200 OK
This route uses standard pagination: limit from 1 to 100 (default 20), and cursor from next_cursor.

Remove a number

The number goes in the path, URL-encoded, so + becomes %2B.
A successful delete returns 204 No Content. If the number was not on the list, you get 404 not_found.
Removing a number un-suppresses it immediately. Contacts already marked suppressed in a campaign stay marked, because that status records a decision already taken. Any future campaign, and any contact not yet claimed, will dial the number. Keep an audit trail of who removed each number. If a reversed opt-out leads to a complaint, you will be asked about it.

Keeping it in sync

The list is a set of numbers and the operations are idempotent, so the simplest integration is also correct: on every opt-out event in your own system, POST the number. You don’t need to read the list first or diff it against yours.
We recommend three habits:
  1. Suppress on the call, not after the campaign. If your agent hears “stop calling me”, add the number to the list from the webhook handler that same minute.
  2. Suppress before you upload. Scrub each contact list before you upload it, and keep the DNC list current. If you forget to scrub a campaign’s list, the DNC list still keeps those numbers from being dialled.
  3. Never remove in bulk. Remove numbers one at a time, deliberately, and log a reason for each removal.