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": [
    {}
  ],
  "NotificationURL": "<string>",
  "NotificationAPIKey": "<string>",
  "ScanType": "<string>"
}
'
{
  "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
array
required
Array of 10-digit phone number strings to scan
NotificationURL
string
required
Webhook URL where scan results will be POSTed when complete
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
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)

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

400 Bad Request
Invalid request body or phone number format
401 Unauthorized
Invalid or missing API key
403 Forbidden
Account not authorized for one-time scan or insufficient credits
500 Server Error
Internal server error

Scan Types

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