# 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.

Source: https://edesy.in/docs/voice-api/getting-started

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](https://edesy.in/docs/voice-api/phone-numbers/inbound-routing).

## Steps to go live

| Step | Where | Notes |
|---|---|---|
| 1. Sign in | [voice-app.edesy.in](https://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](https://edesy.in/docs/voice-api/account/kyc) |
| 3. Top up the wallet | Billing page | Razorpay checkout, INR, GST invoice for every top-up. See [Wallet and GST Invoices](https://edesy.in/docs/voice-api/account/wallet-and-gst-invoices) |
| 4. Buy a number | Numbers page | Mobile, landline, toll-free or 92-series. See [Search and Buy](https://edesy.in/docs/voice-api/phone-numbers/search-and-buy) |
| 5. Create an API key | API Keys page | See [Authentication](https://edesy.in/docs/voice-api/getting-started/authentication) |

Then place a call with the [Quick Start](https://edesy.in/docs/voice-api/getting-started/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](https://edesy.in/docs/voice-api/calls/errors).
- Prices are in Indian rupees (Rs) and exclude 18% GST.
