> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Telnyx Verify API

> Use the Telnyx Verify API to add carrier-grade two-factor authentication via SMS, voice, and WhatsApp one-time passwords (OTPs).

The Telnyx Verify API delivers one-time passwords (OTPs) and validates them across SMS, voice call, WhatsApp, and flash call channels. Built on Telnyx's carrier-grade messaging and voice network, Verify handles code generation, delivery, expiration, and validation so you can add two-factor authentication without building the infrastructure yourself.

## How it works

1. **Create a verification** — Send a POST request specifying the phone number and channel (SMS, voice, WhatsApp, or flash call). Telnyx generates a code and delivers it.
2. **User receives the code** — The end user receives the OTP on their device.
3. **Submit the code** — Your application sends the code back to the Verify API. Telnyx responds with whether the code is valid, expired, or incorrect.

## Key features

* **Multiple channels** — Deliver OTPs via SMS, voice call, WhatsApp, or flash call from a single API.
* **Verify profiles** — Configure sender settings, code length, expiration, and delivery preferences per use case.
* **Custom templates** — Customize the message text and branding for SMS and WhatsApp verifications.
* **Rate limiting and fraud prevention** — Built-in protections against enumeration attacks, toll fraud, and excessive retry attempts.
* **Webhooks** — Receive real-time status updates on verification delivery and completion.

## Common use cases

* **Login 2FA** — Add a second factor to user sign-in flows.
* **Transaction verification** — Confirm high-value actions like payments or account changes.
* **Account recovery** — Verify identity before resetting passwords or recovering accounts.
* **Phone number confirmation** — Validate that a user owns the number they provided during registration.

## Get started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" href="/docs/identity/verify/quickstart">
    Send and verify your first OTP in a few lines of code.
  </Card>

  <Card title="Custom Templates" icon="palette" href="/docs/identity/verify/custom-templates">
    Customize the message your users receive.
  </Card>

  <Card title="Rate Limiting" icon="shield" href="/docs/identity/verify/rate-limiting-fraud-prevention">
    Configure fraud prevention and rate limits.
  </Card>

  <Card title="Webhooks" icon="bell" href="/docs/identity/verify/receiving-webhooks">
    Track verification status in real time.
  </Card>
</CardGroup>
