$0.01 per successful verification

OTP verification API: one-time codes by SMS and email

One call starts a verification, one call checks the code. The SMS-then-email fallback ladder is built in, and you pay only when the person actually gets through.

What you get

Pay for success, not attempts

The platform fee is charged when a code is entered correctly. A code that was never delivered, or never entered, costs nothing beyond the channel.

Fallback that is a product, not a flag

Ask for SMS and email in one request. If the SMS is not delivered in time, the email goes out; the user sees one code and one input box.

Routing scored on conversion

Carriers are ranked by how often people enter the code they carried, not by whether a delivery receipt said OK. That signal exists only because Woyra owns the verification layer.

Localised out of the box

Pass a locale such as am-ET or sw-KE and the message arrives in that language, on a sender ID that country allows.

The call

The same key works on every country endpoint; which one you call sets the rules and the currency.

curl -X POST https://api.woyra.io/v1/verifications \
  -H "Authorization: Bearer $WOYRA_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"to": "+254712345678", "email": "abebe@example.com", "channels": ["sms", "email"]}'

# Later, when the user types the code:
curl -X POST https://api.woyra.io/v1/verifications/ver_01J.../check \
  -H "Authorization: Bearer $WOYRA_KEY" \
  -d '{"code": "483920"}'

Reference price: Twilio Verify $0.05. Full list on the pricing page.

Questions

What does a verification cost?

$0.01 when the code is entered correctly, plus the SMS or email that carried it. Nothing when it is not.

Can I verify by email instead of SMS?

Yes. Ask for email alone, SMS alone, or both in order; Woyra falls back to the next channel when the first does not deliver in time.

How long is a code valid?

Ten minutes by default, configurable per request. A code can be checked a limited number of times before the verification is cancelled.

Do I need my own sender ID?

No. Verification codes go out on a sender that is already registered in each country. Bring your own brand name when you have one.

Verify by country

Each market has its own rules, currency and endpoint. Pick yours.

On the same key

OTP verification API: one-time codes by SMS and email · Woyra