An email address. A confirmed recipient.

Send a managed code to the supplied email address. Keep the verification result separate from delivery and from the account access your app grants.

A code received.
A recipient confirmed.

Bring the verification into your sign-in flow. Collect the code, check the answer, and help the customer continue.

HarborSecure account access

Confirm your email

We sent a six-digit code to
maya@example.com

MAIL nowBird VerifyYour verification code is 123456.
123456
Code confirmed
Recipient confirmedsuccess: true

Your application decides whether to grant access.

Illustrative product records. These controls change the example only; no request or purchase is made.

A code in the inbox.
A result in your app.

Confirm control of an email address.

Start with the exact address.

Create the verification using the email recipient. If the original request included both email and phone, supply both again when checking the code.

Choose the sending identity.

Use Bird Verify, Authifly or a verified sending domain in your workspace. The managed email template carries the code and expiry; its wording is not an editable marketing template.

Store the definitive result.

A wrong code is a normal HTTP 200 response with success: false. After a verification becomes final, another check returns 404. Keep the first definitive result for your application’s next step.

Scale without
losing control.

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

BirdHarborOrganization
WorkspacesProductionSandbox

Delivery agent

API key · Customer operations team
Active
PermissionsAccess
EmailRead & write
SMSRead & write
ALAlex Lee AdminPermissions updated

Audit log

Production
Workspace
Production
Resource
Delivery agent
WhatsApp
Read accessRead & write
Succeeded

Start with Verify.
Build across channels with Bird.

Your next idea. Ready to connect.