Skip to content
Wbiztool

Number verification API

WhatsApp number verification status (API)

Check the progress of a number verification task and get the result for every number in it. Poll this endpoint after creating a verification task until the task is complete.

GEThttps://wbiztool.com/api/v1/verification/status/?campaign_id=4521

Quick example#

curl "https://wbiztool.com/api/v1/verification/status/?campaign_id=4521" \
  -H "Authorization: Bearer YOUR_API_KEY"

Request parameters#

Authorizationheaderrequired

Bearer YOUR_API_KEY, using a key from Settings → API keys. You can pass the key as an api_key query parameter instead, but the header keeps it out of server and proxy logs.

campaign_idintegerrequired

The campaign_id returned by Create verification, sent in the query string. It must be a verification task in the same workspace as the API key.

Response#

A successful request returns HTTP 200:

{
  "status": "success",
  "campaign_id": 4521,
  "campaign_name": "Website leads - September",
  "overall_status": "processing",
  "progress": {
    "total": 3,
    "pending": 1,
    "verified": 1,
    "invalid": 1,
    "completed_percentage": 66.67
  },
  "results": [
    {
      "number": "14155550123",
      "status": "pending",
      "checked_at": null,
      "created_at": "2026-09-16T10:15:00.483101+00:00"
    },
    {
      "number": "919876543210",
      "status": "verified",
      "checked_at": "2026-09-16T10:16:12.204551+00:00",
      "created_at": "2026-09-16T10:15:00.482913+00:00"
    },
    {
      "number": "919876543211",
      "status": "invalid",
      "checked_at": "2026-09-16T10:16:19.915372+00:00",
      "created_at": "2026-09-16T10:15:00.483020+00:00"
    }
  ],
  "created_at": "2026-09-16T10:15:00.471820+00:00",
  "last_updated": "2026-09-16T10:15:00.471820+00:00"
}
FieldTypeDescription
statusstring"success". Errors return "error".
campaign_idintegerID of the verification task.
campaign_namestringName of the task.
overall_statusstringpending, processing or completed. See Overall status values.
progress.totalintegerNumbers in the task.
progress.pendingintegerNumbers not checked yet.
progress.verifiedintegerNumbers registered on WhatsApp.
progress.invalidintegerNumbers marked invalid (not on WhatsApp, not a valid number, or a check that failed).
progress.completed_percentagenumberChecked numbers (verified + invalid) as a percentage of total, rounded to 2 decimals.
resultsarrayEvery number in the task, sorted by number. The whole list is returned at once, with no pagination.
results[].numberstringThe cleaned phone number.
results[].statusstringpending, verified, invalid or unknown. See Number status values.
results[].checked_atstring or nullWhen the number was checked, or null while it's pending.
results[].created_atstringWhen the number was added.
created_atstringWhen the task was created.
last_updatedstringWhen the task record was last changed. It doesn't change as numbers are checked, so use checked_at to see recent activity.

All timestamps are ISO 8601 in UTC with microseconds and a +00:00 offset, for example 2026-09-16T10:16:12.204551+00:00.

Number status values#

ValueMeaning
pendingWaiting to be checked.
verifiedThe number is registered on WhatsApp.
invalidThe number isn't registered on WhatsApp, isn't a valid phone number, or couldn't be checked because of a processing error. If a number you expect to be valid shows invalid, verify it again in a new task.
unknownThe check was cancelled by Wbiztool support. Normal processing doesn't set it.

Overall status values#

ValueMeaning
pendingNo numbers have been checked yet.
processingSome numbers have been checked and some are still pending.
completedNo numbers are pending.

A completed task can show a completed_percentage below 100 if some checks were cancelled, because cancelled numbers count towards total but not towards the percentage.

Errors#

Errors return a JSON body with status set to "error" and an HTTP error code:

{ "status": "error", "message": "Campaign not found" }
HTTPMessageHow to fix it
405Only GET method allowedSend a GET request.
401API key requiredAdd the Authorization: Bearer YOUR_API_KEY header.
401Invalid API keyCheck the key exists and hasn't been deleted or disabled.
400campaign_id is requiredAdd campaign_id to the query string.
404Campaign not foundThe ID doesn't exist, isn't a verification task, or belongs to another workspace. Use a key from the workspace that created the task.
500Internal server error: …Most often campaign_id isn't a number. Send digits only.

Tips#

  • Poll gently. Up to 10 numbers are checked per run in the background, so checking every 30 to 60 seconds is plenty, and a large task can take a long time.
  • Stop polling when overall_status is completed.
  • Stuck on pending? Verification needs a WhatsApp number connected in WhatsApp settings in the same workspace. Without one, numbers are never checked. Checks also wait while your connected number is busy sending messages.
  • Big tasks: this endpoint returns every number in one response. To read results page by page, or only the verified numbers, use Verification results.