Skip to main content
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.
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 list
string
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 are text/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:
Use the 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:
Numbers must be exactly 10 digits (no +1, country code, or punctuation). In plain text mode, a number in any other format is silently skipped — it produces no output line at all, and if every number is skipped the response body is empty. Use JSON mode to have invalid numbers reported explicitly.

count

JSON mode:
Plain text mode returns a single line, <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:
Response (HTTP 4xx):

Skipping Invalid Numbers

By default, a single bad number aborts the entire add request. To import the valid numbers and silently skip invalid ones, pass ignoreInvalid=1:
The two valid numbers are added; BADNUMBER is skipped.

Best Practices

Always validate that phone numbers are exactly 10 digits before making the API call.
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.
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 a number that doesn’t exist has no effect and won’t cause an error.
If you have multiple campaigns or clients, use the projId parameter to organize your IDNC lists.