Quick Start

Make your first masked call in under a minute with the Edesy number masking API — curl, Node.js, and Python examples.

Quick Start

Make your first masked call in under a minute. Create an API key on the API Keys page, replace vp_YOUR_API_KEY below with your own, then run one of these:

curl -X POST https://voice-api.edesy.in/v1/masking/calls \
  -H "Authorization: Bearer vp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "party_a": "9876543210",
    "party_b": "9123456789"
  }'
const response = await fetch("https://voice-api.edesy.in/v1/masking/calls", {
  method: "POST",
  headers: {
    "Authorization": "Bearer vp_YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    party_a: "9876543210",
    party_b: "9123456789",
  }),
});

const data = await response.json();
console.log(data);
import requests

response = requests.post(
    "https://voice-api.edesy.in/v1/masking/calls",
    headers={
        "Authorization": "Bearer vp_YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "party_a": "9876543210",
        "party_b": "9123456789",
    },
)
print(response.json())

What happens

We dial Party A (9876543210). When they answer, we bridge Party B (9123456789). Both parties see the masked number as the caller ID.

The response includes a call_sid you can use to poll status and fetch the recording:

{
  "data": {
    "call_sid": "d28be7cd-9840-4b23-9627-199f1ef81fc6",
    "status": "initiated",
    "party_a": "9876543210",
    "party_b": "9123456789",
    "masked_number": "917969002802"
  }
}

Next