Introduction

What the Edesy Voice API does, how a call flows through it, and the five steps to go from sign-up to a live call on an Indian number.

2 min read

The Voice API lets your server place and answer phone calls on Indian numbers. Edesy connects the call to the phone network; your code decides what the call does, either by returning VoiceML JSON from a webhook, by streaming audio to a bot over a WebSocket, or by exchanging text with a Conversation Relay bot. Everything is billed from a prepaid INR wallet.

How a call flows#

  1. Your server sends POST/v1/calls with from (a number you own), to and one instruction source.
  2. Edesy dials the number. While it rings you get status_callback events (initiated, ringing).
  3. When the callee answers, Edesy runs the instructions: speaks your text, fetches your answer url for VoiceML, opens your stream_url, or follows your application.
  4. When the call ends you get a final status callback with CallStatus, Duration, HangupReason, CallOutcome and SipResponseCode.
  5. The call, its events, price and any recording stay readable through the API.

Inbound calls work the same way in reverse: you set a number's inbound routing once, and every call to it reaches your webhook, bot, SIP endpoint or IVR. See Inbound Routing.

Steps to go live#

Step Where Notes
1. Sign in voice-app.edesy.in One Edesy login works across all Edesy apps
2. Complete KYC KYC page Needed before you can buy a number. Review takes about 24 hours. See KYC
3. Top up the wallet Billing page Razorpay checkout, INR, GST invoice for every top-up. See Wallet and GST Invoices
4. Buy a number Numbers page Mobile, landline, toll-free or 92-series. See Search and Buy
5. Create an API key API Keys page See Authentication

Then place a call with the Quick Start.

Conventions in these docs#

  • Base URL: https://voice-api.edesy.in/v1.
  • Request and response bodies are JSON. Phone numbers are E.164 (+91...). Examples use placeholders such as +9198XXXXXXXX.
  • Successful responses wrap the result in data and add a meta object with request_id and timestamp. Errors return an error object. See Error Codes.
  • Prices are in Indian rupees (Rs) and exclude 18% GST.
Was this page helpful?