# Verify API: Quick Start

### Setting Up Bird Verify API: A Step-by-Step Guide

The Bird Verify API empowers you to implement automated, multi-step verification strategies across various channels. This guide will walk you through the process of setting up Verify, focusing on SMS and WhatsApp integration.

## Setting Up SMS Verification

### Step 1: Country Coverage

* Identify your target countries, and check the best sender to use using this [guide](https://docs.bird.com/applications/channels/channels/supported-channels/sms/concepts/choose-the-right-sender-availability-and-restrictions-by-country)&#x20;
* Submit a ticket to Bird to provision alphanumeric senders and/or numbers for those countries.

{% hint style="info" %}
To obtain global coverage, you will need only two channels

1. A USA Toll Free number is the most cost-effective solution for USA< Canada, and Puerto Rico. You can purchase it under developer -> numbers -> phone numbers, searching for USA and Toll Free
2. An alphanumeric (A max 11-character string related to your brand name), you can request one via developers -> numbers -> alphanumeric -> request new alphanumeric&#x20;
   {% endhint %}

### Step 2: Install SMS Channels

* Navigate to Developers -> SMS -> SMS Setup.
* Install SMS channels for each Bird-provisioned sender. (you may have to repeat this step twice one for your toll-free number and one for your alphanumeric)&#x20;
* Crucially, always select "2FA" as the message type for navigator compatibility.

{% hint style="info" %}
**Bird strongly recommends using navigators over direct channel selection**. Even if you start with just one SMS channel, when using the Verify API , always send OTPs [via navigator](/api/channels-api/api-reference/navigators.md)s.  Navigators abstract channel UUID changes, ensuring your integration remains stable even if you add or remove channels. This means your API calls will stay consistent, simplifying maintenance.
{% endhint %}

## &#x20;Set  Up WhatsApp 2FA

### Step 3: Install WhatsApp Channel

* Navigate to Developers -> WhatsApp -> WhatsApp Setup -> Install WhatsApp.
* You can use your own number or purchase a cost-effective number (e.g., a Canadian number).

Picture: use your own number

1. ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXe58z6ems5K_UkuhgKXwSI41OWRrZhof6Sn0aqcwMfwnukMXSurRolANaCQOhieUJ33ZH72S3YBLvLp3tqP9Cw0EaymO13ECKvmCMVHAaG7lr92dhpDNzvcJYblHhUujEZDKj5u6g?key=mQhhsCskGchDmYT8j78ZT3fo)

* Important: the Phone number of your WhatsApp account is not directly visible to end-users during the verification. They will see your company logo and anime, making choosing a great number a secondary matter.

{% hint style="info" %}
**Tip**: Don't delay setup trying to get a number from your own country, as these can be expensive or hard to obtain due to regulations. Using your own or a readily available number enables you to get started quickly. You can always add a localized number later as an improvement.
{% endhint %}

### Step 4 Create WhatsApp 2FA Template

* Go to Developers -> WhatsApp -> Manage Templates -> Create Template.
* Tips, use 2FA template configurations

2. ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXexyS76bqYV3iHRqLlK_sEYCZ2tHl2ylDlNrGboeajJn3IqYB4HT8zDK_NyTYoXaqEDllU1jVaibypJ5_i1CF7XJ2Qa7XqRoywArJfi36yB3D50lUYg_MOryk-86ScTTMGRPwSjTQ?key=mQhhsCskGchDmYT8j78ZT3fo)

* Set the authentication body's validity period to match your OTP validity (recommended: 300 seconds or less). This prevents stale OTPs from being delivered if a user's data connection is delayed.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdY2WP03LWMMWq05f16LDeRhF-3mhg3xJM5dIP7DjIRxb6iHLrLJB6BN2xm4GgzcLqG0fOfuyaAlVanmrpOSDnMFJl3DBAymedJ73io_9XD0RZHfBrGbfikhv808CqSy5QhvA6J4w?key=mQhhsCskGchDmYT8j78ZT3fo)

* If your business uses an app, enable 0-click authentication for automatic password autofill in the action button. You can do so in the Action Buttons -> Authentication Button.  This feature works seamlessly on Android phones and gracefully skips on iPhones or unsupported Android versions.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcYA1YJlRFv8vmVTEbul4cbS05dORc4h_SxYyZiQvM0L9u4JVZO-XMFLJnM8lDW1xuYER7saDzmy_hcl6EsL6jRTonEvQ9mhzkZLTJ6AIHwUz4_bVALjmj1hPSXu3Hz7NaG9SeIoQ?key=mQhhsCskGchDmYT8j78ZT3fo)

## &#x20;Use a Two-Step Approach

When using the Verify API, always set up at least two steps (you can optionally add a third step via email). This provides the following advantages:

* Benefit of WhatsApp-Only Features: You can showcase your brand logo and name to your users and utilize buttons and auto-complete, which are impossible on SMS.
* Fallback Mechanism: Implement a two-step approach, starting with WhatsApp and automatically falling back to SMS when necessary.
* Mitigating WhatsApp Limitations: Meta does not provide WhatsApp number lookup. Bird's Verify API automatically falls back to SMS when a "not supported" error occurs, ensuring high verification rates.
* Seamless User Experience: This fallback is internal to the Bird platform and happens quickly, providing a smooth experience for your users.

{% hint style="info" %}
For less time-sensitive application email could be used as a 3rd step
{% endhint %}

### Step 5. Prepare your API call

The only action missing is Retrieving IDs:

* WhatsApp channel and template IDs are available in WhatsApp Setup and WhatsApp -> Manage Templates, respectively.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcgKXR8lrWTLm4xLZVrYpjlydHpLYOAmL1o6mtNiOM7Q-gIwyVTLRwvhyBqvqxyizSnpGZlPLNG6VAKASm5gy0HdpsOmPQVWEu2LyiuHd1xiYaaQgi_D_D9OpAY9tHf7O35Yb6RsQ?key=mQhhsCskGchDmYT8j78ZT3fo)

* OTP navigator UUID is visible in Developers -> Navigators -> Navigator Setup.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfnpUmS9DssgDXPfGsK3jeE0YU1eEaPKF8vy9Awe72IX32C01gaeT_KoQTl50TObF_HA2T5fajan4BgMXWYcz258pu_Eejrlu7zr1lqXHRmsmSC-VEp3LoNn3aPW1orOHnN7po?key=mQhhsCskGchDmYT8j78ZT3fo)

API Request Example:

```
{
    "identifier": {
        "phonenumber": "Recipient Number"
    },
    "maxAttempts": 3,
    "timeout": 300,
    "codeLength": 6,
    "steps": [
        {
            "channelId": "whatsapp_channel_ID",
            "template": {
                "projectId": "whatsapp_template_ID",
                "locale": "en",
                "version": "whatsapp_template_version"
            }
        },
        {
            "navigatorId": "navigator_UUID"
        }
    ]
}
```

{% hint style="info" %}
Auto Fallback: Whenever a WhatsApp message fails, Verify will move to send an OTP via SMS without any action from your side. If or when needed, you can always retrigger a specific step (refer to [API documentation](/api/verify-api.md#resend-a-code-for-a-specific-verification-step) for more info)
{% endhint %}

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/api/verify-api/verify-api-quick-start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
