Skip to main content
POST
https://dataapi.dncscrub.com
/
v1.5
/
TrustCall
/
OneTimeScan
Submit One-Time Scan
curl --request POST \
  --url https://dataapi.dncscrub.com/v1.5/TrustCall/OneTimeScan \
  --header 'Content-Type: <content-type>' \
  --header 'loginId: <loginid>' \
  --data '
{
  "PhoneNumbers": [
    "<string>"
  ],
  "NotificationURL": "<string>",
  "NotificationAPIKey": "<string>",
  "ScanType": "<string>",
  "TestNotificationURL": true
}
'
{
  "JobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "Status": "Submitted",
  "PhoneCount": 3
}
Submit a batch of phone numbers for one-time carrier spam score scanning. Results are delivered asynchronously via webhook notification.
Unlike TrustCall monitoring, one-time scans do not add numbers to ongoing monitoring. Results are delivered to your webhook URL when the scan completes.

Request

Headers

loginId
string
required
Your API Key (LoginId from your DNCScrub account)
Content-Type
string
required
Must be application/json

Request Body

PhoneNumbers
string[]
required
Array of 10-digit phone number strings to scan
NotificationURL
string
required
Webhook URL where scan results will be POSTed when complete. Maximum 1500 characters.
Consider using webhook.site to generate a temporary URL for testing. It lets you inspect the exact payload and headers sent by the callback, making it easy to understand the webhook structure before implementing your production endpoint.
NotificationAPIKey
string
Optional API key to include in the webhook notification header. Maximum 1500 characters.
ScanType
string
required
Type of scan to perform: - carrier - Carrier scores only (Verizon, AT&T, T-Mobile) - carrierandapps - Carrier scores plus app scores (RoboKiller, Nomorobo, FTC complaints)
TestNotificationURL
boolean
Set to true to test your webhook URL without performing an actual scan. The system will send a test payload to verify your endpoint is reachable.

Example Request

curl --location --request POST \
  'https://dataapi.dncscrub.com/v1.5/TrustCall/OneTimeScan' \
  --header 'loginId: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "PhoneNumbers": ["5039367187", "8084565302", "7867056421"],
    "NotificationURL": "https://your-server.com/webhook/trustcall",
    "NotificationAPIKey": "your-webhook-api-key",
    "ScanType": "carrierandapps"
  }'
{
  "JobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "Status": "Submitted",
  "PhoneCount": 3
}

Response Fields

JobId
string (UUID)
Unique identifier for the scan job. Use this to check scan status.
Status
string
Initial status of the scan: Submitted
PhoneCount
integer
Number of phone numbers submitted for scanning

Webhook Notification

When the scan completes, results are POSTed to your NotificationURL:
{
  "JobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "Status": "Complete",
  "Results": [
    {
      "Phone": "5039367187",
      "CurrScore": "Clean",
      "VerizonScore": "Clean",
      "ATTScore": "Clean",
      "TMobileScore": "Clean",
      "RoboKillerStatus": "Clean",
      "NomoroboStatus": "Clean",
      "FTCComplaints": null
    }
  ]
}

Error Responses

StatusDescription
400 Bad RequestInvalid request body or phone number format
401 UnauthorizedInvalid or missing API key
403 ForbiddenAccount not authorized for one-time scan or insufficient credits
500 Server ErrorInternal server error

Scan Types

Scan TypeIncluded Data
carrierVerizon, AT&T, T-Mobile scores
carrierandappsCarrier scores + RoboKiller, Nomorobo, FTC complaints