# Phone Numbers

> Indian virtual phone numbers for the Edesy Voice API - mobile, landline, toll-free and 92-series - with KYC, monthly rental, inbound routing and per-number health.

Source: https://edesy.in/docs/voice-api/phone-numbers

Every Voice API call uses a number in your workspace: as the caller ID for outbound calls, and as the number people dial for inbound calls. You search and buy Indian mobile, landline, toll-free and 92-series numbers yourself after KYC, pay monthly rental from the wallet, and decide per number where inbound calls go.

## Number types and rental

| Type | Monthly rental | Setup |
|---|---|---|
| Mobile / 92-series | Rs 499 | Rs 0 |
| Landline | Rs 449 | Rs 0 |
| Toll-free | Rs 999 | Rs 0 |

Prices exclude 18% GST. Numbers renew automatically and show a "paid until" date.

## Endpoints

| Method | Path | Description |
|---|---|---|
| `GET` | `/v1/dids/available` | Search numbers you can buy. See [Search and Buy](https://edesy.in/docs/voice-api/phone-numbers/search-and-buy) |
| `POST` | `/v1/dids/{id}/purchase` | Buy a listed number |
| `POST` | `/v1/dids/{id}/release` | Release a number you own |
| `GET` | `/v1/phone-numbers` | List your numbers. Filters: `status`, `number_type`, `region`, `page`, `per_page` |
| `GET` | `/v1/phone-numbers/{id}` | One number |
| `PATCH` | `/v1/phone-numbers/{id}` | Friendly name, voice URL, status callback, recording toggle |
| `PATCH` | `/v1/phone-numbers/{id}/routing` | Set any inbound target. See [Inbound Routing](https://edesy.in/docs/voice-api/phone-numbers/inbound-routing) |
| `PUT` / `DELETE` | `/v1/phone-numbers/{id}/inbound` | Bind or detach a webhook, media stream, relay bot or AI voice agent in one call |
| `GET` | `/v1/phone-numbers/{id}/telephony` | Whether the number is ready for outbound and inbound calls |
| `GET` | `/v1/phone-numbers/{id}/stats` | Call counts and answer rate. See [Number Health and Webhook Logs](https://edesy.in/docs/voice-api/phone-numbers/number-health-and-webhook-logs) |
| `GET` | `/v1/phone-numbers/{id}/webhook-logs` | Recent webhook deliveries for this number |
| `POST` | `/v1/phone-numbers/{id}/test-webhook` | Send a test request to the number's voice URL |

`{id}` is the number's `phone_number_id` (a UUID), not the phone number itself.

## Before you buy

- **KYC must be approved.** Purchases return `403 KYC_NOT_APPROVED` until it is. See [KYC](https://edesy.in/docs/voice-api/account/kyc).
- **The wallet must cover the first charge.** Otherwise the purchase returns `402 INSUFFICIENT_BALANCE`.

More on numbers: [virtual phone numbers](https://edesy.in/virtual-phone-number).
