# Send a code by SMS. Check it by recipient.

SMS verification sends a one-time code to a phone number and confirms the person typing it back holds the line. Bird generates the code, sends it, enforces per-recipient caps, and checks it by recipient — so there's no id to store and no resend endpoint to wire.

## SMS OTP is one call to send and one to check.

SMS is a phone-family channel on the Bird Verify API: post a verification with a phone number and we send the code on the shared Authifly SMS sender; check it by that same number. Re-posting the create is the resend (create-or-retry), and every code in the session stays valid until it verifies, expires, or runs out of attempts.

## What you get on an SMS verification.

Built in, on every send.

## The whole flow, two calls.

Create-or-retry sends the code to the phone number; check confirms it by that number. There's no id to thread between the two — the recipient is the key.

## The verification API with nothing to store.

SMS is one channel of Bird Verify: email and WhatsApp ship with it, and voice is rolling out — all on the same two endpoints.