Internal DNC List
Full Scrub
Internal DNC List
Add or remove phone numbers from your Internal DNC list
GET
Internal DNC List
Manage your Internal Do Not Call (IDNC) list programmatically. The IDNC list is your organization’s private DNC database, separate from national and state DNC lists.
Plain text mode returns an empty body with HTTP 200. JSON mode returns:
JSON mode returns an array with one object per phone number:
Use the
JSON mode:
Plain text mode returns a single line,
Response (HTTP 4xx):
The two valid numbers are added;
If a consumer on your Internal DNC list later opts back in with express
written consent, see
Handling Opt-Outs and Opt-Ins
— remove them from Internal DNC and record a Permission EBR.
Request
Headers
string
required
Your API Key
Query Parameters
string
required
The 10-digit phone number(s) to add or remove. For multiple numbers,
comma-separate them (e.g.,
5039367187,7075276405)string
required
Action to perform: -
add - Add numbers to Internal DNC list - remove -
Remove numbers from Internal DNC list - count - Get the count of numbers in
your IDNC database - status - Check if a number is on your Internal DNC liststring
Optional Project ID of the Internal DNC list.
boolean
default:"false"
Only applies to
actionType=add. Controls behavior when the request contains
an invalid phone number:0/false(default) - Abort the entire import on the first invalid number. No numbers are added and a 4xx error is returned.1/true- Skip invalid numbers and import the valid ones.
Example Request
Response
Responses aretext/plain by default. To receive JSON instead, include the
request header Content-Type: application/json — all four actions (and error
responses, as { "error": "..." }) then return JSON.
add / remove
Plain text mode returns an empty body with HTTP 200. JSON mode returns:
status
JSON mode returns an array with one object per phone number:
onList boolean to determine membership. A number that isn’t exactly
10 digits is reported with "invalid": true.
Plain text mode returns one line per number, <phoneNumber>,<addedOn>,<lastModifiedOn>
with dates as YYYY-MM-DD. A number not on your Internal DNC list has
empty dates:
count
JSON mode:
<count>,<lastModifiedOn> — for
example 1523,2024-03-15. An account whose Internal DNC list has never had
numbers added returns 0, (or { "count": 0, "lastModifiedOn": null } in
JSON mode).
Multiple Phone Numbers
Add or remove multiple phone numbers by comma-separating them:Add to Specific Project
To add a phone number to a specific project’s IDNC list:Error Handling
If you pass an invalid phone number, the API returns an error: Request:Skipping Invalid Numbers
By default, a single bad number aborts the entireadd request. To import the
valid numbers and silently skip invalid ones, pass ignoreInvalid=1:
BADNUMBER is skipped.
Best Practices
Validate Before Adding
Validate Before Adding
Always validate that phone numbers are exactly 10 digits before making the
API call.
Handle Duplicates
Handle Duplicates
Adding a number that already exists won’t cause an error - it simply has no
effect (idempotent). Note this means re-adding a number does not
refresh its added-on date, which matters when EBR/consent records are also
present — see Handling Opt-Outs and Opt-Ins.
Remove on Opt-In
Remove on Opt-In
When a consumer on your Internal DNC list opts back in with express
written consent, remove them from the list (
actionType=remove) and add a
Permission EBR with the consent date. See
Handling Opt-Outs and Opt-Ins.Removing Non-Existent Numbers
Removing Non-Existent Numbers
Removing a number that doesn’t exist has no effect and won’t cause an error.
Use Projects
Use Projects
If you have multiple campaigns or clients, use the
projId parameter to
organize your IDNC lists.