# Voice OTP · Verify with a spoken one-time code

**✦ Verification flow •••**

Your account

Confirm it’s you.

Enter the code sent to

Example verification code

Code verified

Send a code. Confirm the recipient.

## The channel that reaches users when text can't.

Voice is a phone-family channel on the [Bird Verify API](/verify-api): the recipient is the same phone number, and voice becomes an orderable entry in the per-country plan, typically the fallback after SMS. Landline-only users, accessibility needs, and markets where SMS underdelivers are exactly where a spoken code earns its place.

## What voice verification adds.

Rolling out as a channel in the existing plan.

- **01** Spoken, synthesized code. The code is read aloud on a call, so a user who can't read a text, or doesn't have one, can still verify.
- **02** Reaches landlines. Voice works on lines that never receive SMS, widening who you can verify without a separate integration.
- **03** A natural SMS fallback. Order voice after SMS in the channel plan so that, as delivery-driven advancement rolls out, the session moves on to a call when the text doesn't land.
- **04** Same recipient, same calls. Address the same phone number and call the same create and check endpoints. Voice is the channel, not a different API.
- **05** The same code guarantees. Server-generated, hashed codes; configurable length and TTL; check by recipient, with every guarantee the other channels carry.

## Voice is an entry in the plan.

Once voice ships, it slots into the plan the same way any other channel does, and the create call stays the same. As delivery-driven advancement rolls out, the session moves to voice when the channel ahead of it doesn't complete.

**voice-otp.ts**

```typescript
await bird.verify.verifications.create({
  to: { phone_number: "+15551234567" },
}).safe();

// resolved channels today: [{ channel: "sms" }] — voice joins as it rolls out
```

## How the fallback works.

Order SMS first and voice second, and a single verification works the plan in order. SMS is attempted; if it doesn't arrive, the session moves to a voice call that reads the code aloud, and every code in the session stays valid so the user can use whichever reaches them. That advancement is automatic on the channels that ship today: a failed channel moves the session on, and a per-attempt delivery timer moves it when no delivery status arrives. Voice joins the plan as an orderable channel when it lands.

## The rest of the Verify platform

One API, one set of keys. Explore the other capabilities.

- [SMS OTP](/verify-api/features/sms): One-time passcodes over SMS, with global reach and built-in rate limits.
- [Email OTP](/verify-api/features/email): Verify by email on the network that already carries your transactional mail.
- [WhatsApp OTP](/verify-api/features/whatsapp): Codes on WhatsApp as an orderable channel in the same plan.
- [Channel orchestration](/verify-api/features/orchestration): Per-country channel order and senders, resolved automatically and tunable per request.
- [Anti-abuse & code security](/verify-api/features/security): Hashed codes, per-recipient caps, attempt lockout, and the fraud roadmap.
- [Verify API overview](/verify-api): The full Verify API: create-or-retry, check by target, and advance to the next channel.

## Scale without  losing control.

Organize teams in workspaces, control API access, and trace changes through audit logs.

Harbor Organization
Workspaces Production Sandbox

### Delivery agent

API key · Customer operations team
Active
Permissions Access
Email Read & write
SMS Read & write
WhatsApp Read Read & write
AL Alex Lee Admin  Permissions updated

### Audit log

Production
 API key updated Alex Lee · 09:42:18 UTC

Workspace
Production

Resource
Delivery agent

WhatsApp
Read Read & write

Succeeded

 [Workspaces](/docs/guides/workspaces)[Team roles](/docs/guides/users-teams-roles)[API authentication](/docs/guides/authentication)
[Explore Enterprise](/enterprise)

## Start with Verify. Build across channels with Bird.

[Get started](/dashboard/signup?returnTo=%2Fdashboard%2Fw%2Fverify) · [Contact Sales](/demo?product=verify)

[Email](/email-api) · [SMS](/sms-api) · [WhatsApp](/whatsapp-api) · [Apple Messages](/apple-messages-api) · [Voice](/voice-api)



## Related resources

- [Verify phone numbers at signup](/learn/series/verify-phone-numbers-at-signup) (video)
- [Verify your first customer](/docs/get-started/verify-your-first-customer) (docs)
- [What does OTP mean? One-time passwords explained](/explained/verify/what-does-otp-mean) (answer)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=verify)
