1) to confirm ownership. No verification code is generated — the keypress is the confirmation.
The POST /verifications/{id}/actions/verify endpoint is not used. Verification completes on the call itself.
Flow
Up to 3 attempts per call. After 3 wrong digits, the call ends with status
invalid.Use cases
Caller ID verification
Confirm ownership before allowing a number as outbound Caller ID.
Landline verification
Verify numbers that cannot receive SMS.
Accessibility
Single keypress instead of reading and typing a code.
Account recovery
Confirm phone ownership without code entry.
Create a verify profile
Create a profile withdtmf_confirm settings. This can be combined with other verification types (SMS, call) on the same profile.
id is required for verification requests.
Trigger verification
Response
“This is a verification call to confirm that this phone number is going to be used as a Caller ID for outbound calls. If you did not request this verification, or if someone is asking you to accept this call, please ignore this message. If you did request this verification, please press 1.”The TTS language is determined by the
language field on the Verify Profile (default: en-US).
Handle the result
Verification completes on the call — no verify endpoint call needed. Receive the outcome via webhooks.Accepted (digit 1 pressed)
Failed (wrong digit, timeout, or call failure)
Polling alternative
Complete example
Full flow: create profile, trigger verification, handle webhook.- Python (Flask)
- Node (Express)
- Ruby (Sinatra)
- Go
Verification type comparison
Troubleshooting
Call reaches voicemail
Call reaches voicemail
Verification times out with status
expired. Implement a retry with delay, or fall back to SMS.Wrong digit pressed
Wrong digit pressed
Up to 3 attempts per call. After 3 failures, status is
invalid. Trigger a new verification to retry.Stuck in pending
Stuck in pending
Call was not answered and no webhook received. Verify the webhook URL is configured and reachable. Poll the status endpoint as fallback.
Custom TTS prompt
Custom TTS prompt
The prompt is fixed to the standard verification message. Voice and language are determined by the Verify Profile’s
language setting. Custom prompt text is not yet supported.Rate limits
Rate limits
Standard Verify API rate limits apply. Avoid triggering multiple concurrent verifications for the same phone number — the previous call must complete or time out first.
Next steps
Receiving Webhooks
Real-time verification status updates.
Custom Templates
Branded verification messages for SMS and call types.
Verify API Reference
Full API specification.
Verify Quickstart
SMS and call verification guide.