# API Reference Overview

> Overview of the Edesy number masking REST API — base URL, authentication, endpoints, and conventions.

Source: https://edesy.in/docs/number-masking/api-reference

Programmatic access to the Edesy click-to-call masking platform.

```
Base URL: https://voice-api.edesy.in/v1
```

All requests are made over HTTPS and authenticated with a Bearer token — see [Authentication](https://edesy.in/docs/number-masking/getting-started/authentication). All responses are JSON. Successful responses wrap the payload in a `data` object; errors wrap it in an `error` object (see [Error Codes](https://edesy.in/docs/number-masking/api-reference/errors)).

## Endpoints

| Method | Path | Description |
|--------|------|-------------|
| `POST` | `/masking/calls` | [Initiate a Call](https://edesy.in/docs/number-masking/api-reference/initiate-call) |
| `GET` | `/masking/calls/:call_sid` | [Get Call Status](https://edesy.in/docs/number-masking/api-reference/get-call-status) |
| `GET` | `/masking/calls/:call_sid/recording` | [Get Call Recording](https://edesy.in/docs/number-masking/api-reference/get-recording) |
| `GET` | `/masking/call-logs` | [List Call Logs](https://edesy.in/docs/number-masking/api-reference/list-call-logs) |
| `GET` | `/masking/stats` | [Get Usage Stats](https://edesy.in/docs/number-masking/api-reference/usage-stats) |
| `GET` | `/masking/billing` | [Get Wallet Balance](https://edesy.in/docs/number-masking/api-reference/wallet-balance) |

Prefer events over polling? Subscribe to [Webhooks](https://edesy.in/docs/number-masking/api-reference/webhooks) to receive a signed POST on every call state transition.

## Conventions

- **Numbers** are 10-digit Indian mobile numbers (e.g. `9876543210`).
- **Timestamps** are RFC 3339 / ISO 8601 in UTC (e.g. `2026-05-11T08:30:00Z`).
- **Money** values are in INR.
- **Rate limit**: 100 requests/minute per API key (`429 rate_limited` when exceeded).
