Quick Start

Send your first voice OTP with a single curl request and check the result.

Quick Start

1. Send a voice OTP

curl -X POST https://voice-api.edesy.in/v1/voice-otp/send \
  -H "Authorization: Bearer sk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "9876543210",
    "otp_code": "482913",
    "callback_url": "https://your-app.com/webhooks/voice-otp"
  }'

Leave out otp_code and we generate a 6-digit code for you. The response returns it:

{
  "data": {
    "id": "5b1c2d3e-0000-4000-8000-000000000000",
    "call_sid": "a1b2c3",
    "phone_number": "9876543210",
    "otp_code": "482913",
    "status": "initiated",
    "created_at": "2026-09-26T10:15:12Z"
  },
  "meta": { "timestamp": "2026-09-26T10:15:12Z" }
}

2. Check the code in your app

The user hears "Your verification code is 4 8 2 9 1 3. I repeat, 4 8 2 9 1 3." and types it into your app. Your backend compares it with the code you sent. There is no verify endpoint yet (available on request), so store the code (or a hash of it) with an expiry, typically 5-10 minutes.

3. Get the result

When the call ends we POST the outcome to your callback_url - see Webhooks. You can also poll Get a Call.

Code in other languages

Node.js, Python, PHP, Java, React, Flutter, Android and iOS examples are on the integration pages.