Skip to main content
The Phone Verification API provides a two-step flow: send a one-time code to a phone number, then verify the code. The system detects carrier type, virtual numbers, and disposable phones.

Endpoints

Send Phone Code

POST /v3/phone/send/ — Send a one-time verification code via SMS.

Check Phone Code

POST /v3/phone/check/ — Verify the code and retrieve phone risk data.

How it works

  1. Call Send Phone Code with the phone number in E.164 format (e.g., +14155552671)
  2. The user receives a code via SMS (valid for 5 minutes)
  3. Call Check Phone Code with the phone number and code
  4. Receive verification result plus risk signals (carrier type, virtual number detection)

Delivery channels

Didit supports multiple channels depending on country availability:

Risk signals

For full response structure, see Phone Verification Report.

Provider outages

If the upstream phone provider fails to answer a send or check request, both endpoints return 502 with code: "phone_provider_unavailable" instead of a generic error. This is safe to retry, is not billed, and does not consume an attempt from the per-number hourly cap. Branch on code rather than parsing the detail message, since the message text is not a stable contract.