Documentation Index Fetch the complete documentation index at: https://docs.dncscrub.com/llms.txt
Use this file to discover all available pages before exploring further.
Pass a unique identifier (such as Account ID, Record ID, or Member ID) with each phone number and have it returned in the response. This allows you to easily match scrub results back to your records.
How It Works
Append a pipe character (|) followed by your unique identifier to each phone number:
phoneList=5039367181|UniqueID
The unique identifier will be returned in the Reserved field of the response.
Request
Query Parameters
Phone number with identifier in format: PHONE|ID (e.g.,
5039367181|ACCT-12345). For multiple numbers, comma-separate them:
5039367181|ACCT-001,7075276405|ACCT-002
version
string
default: "5"
required
API version. Use 5
Response format: json or csv
Example Request
curl --location --request GET \
'https://www.dncscrub.com/app/main/rpc/scrub?phoneList=5039367181|ACCT-12345&version=5&output=json' \
--header 'loginId: YOUR_API_KEY'
[
{
"Phone" : "5039367181" ,
"ResultCode" : "W" ,
"Reserved" : "ACCT-12345" ,
"Reason" : ";;;W" ,
"RegionAbbrev" : "OR" ,
"Country" : "US" ,
"Locale" : "Portland" ,
"CarrierInfo" : "5820;WIRELESS; \" Verizon Wireless:Verizon Wireless \" " ,
"NewReassignedAreaCode" : "" ,
"TZCode" : "4" ,
"CallingWindow" : "8:00-21:00;8:00-21:00;8:00-21:00" ,
"UTCOffset" : "-420" ,
"DoNotCallToday" : "0" ,
"CallingTimeRestrictions" : "4" ,
"EBRType" : "" ,
"IsWirelessOrVoIP" : "1" ,
"LineType" : "Wireless"
}
]
The Reserved field contains your unique identifier "ACCT-12345".
Response Fields
The phone number that was scrubbed
Your unique identifier passed with the phone number
Explanation of why the number is flagged
State/region abbreviation (e.g., “CA”)
Country code (e.g., “US”)
Carrier information in format: ID;TYPE;"Name"
1 if wireless/VoIP, 0 otherwise
Line type: Wireless, VoIP, or AllOther
Multiple Numbers with Identifiers
Comma-separate multiple phone numbers with their identifiers:
phoneList=5039367181|ACCT-001,7075276405|ACCT-002,7072842774|ACCT-003
Example
const records = [
{ phone: "5039367181" , accountId: "ACCT-001" },
{ phone: "7075276405" , accountId: "ACCT-002" },
{ phone: "7072842774" , accountId: "ACCT-003" },
];
const phoneList = records . map (( r ) => ` ${ r . phone } | ${ r . accountId } ` ). join ( "," );
// phoneList = "5039367181|ACCT-001,7075276405|ACCT-002,7072842774|ACCT-003"
const response = await fetch (
`https://www.dncscrub.com/app/main/rpc/scrub?phoneList= ${ encodeURIComponent (
phoneList
) } &version=5&output=json` ,
{
method: "GET" ,
headers: { loginId: "YOUR_API_KEY" },
}
);
const results = await response . json ();
// Match results back to original records
results . forEach (( result ) => {
console . log ( `Account ${ result . Reserved } : ${ result . ResultCode } ` );
});
Use Cases
CRM Integration Pass your CRM Record ID to update records directly after scrubbing
Batch Processing Track which phone number belongs to which customer in large batches
Audit Trail Include transaction IDs for compliance logging
Database Updates Pass primary keys to enable efficient database updates
Best Practices
The unique identifier should not contain commas (,) or pipe characters (|)
as these are used as delimiters.
Keep identifiers reasonably short
Use URL-safe characters
Consider encoding special characters if needed