Open a flow in Edesy IVR and press Use via API. You get the flow ID, the variables it uses, a ready-to-run request in cURL, Node.js, Python or PHP, and a checklist of anything that would make a call fail. Try it places a real call to your phone and shows the requests the flow sends as it runs.
₹20 Free Credit, No Card
₹1 per Minute
Visual Flow Builder
Without reading the API reference first
API calls always run the published version of the flow.
The panel lists the flow ID and every {{var.name}} the flow uses, with example values you can edit.
Copy the request in cURL, Node.js, Python or PHP, with your flow ID, variables and caller ID filled in.
Published flow, caller ID, wallet balance, API key, signing secret and calling hours.
Your phone rings with the flow. The panel shows the call status and each request the flow sends.
| Part | Details |
|---|---|
| Endpoint | POST https://voice-api.edesy.in/v1/ivr/calls, returns 202 with data.call_sid |
| Languages | cURL, Node.js (18+, built-in fetch), Python, PHP |
| Fields | flow_id, to, from, variables, reference_id, status_callback_url |
| Auth | X-API-Key header; create a key from the panel |
| Retries | Reusing an Idempotency-Key within 24 hours returns the first call instead of dialling again |
| Signed requests | Requests your flow sends carry X-Edesy-Signature |
| Hand-off | "Copy for your developer" note with endpoint, flow ID, variables and a cURL example, never the API key |
| Check | Error if it fails |
|---|---|
| Flow published | 409 flow_not_published |
| Caller ID set or a default IVR number | no_caller_id |
| Wallet balance at least ₹1.50 | 402 insufficient_balance |
| API key exists | Your system can't authenticate |
| Signing secret generated | Your system can't verify requests from the flow |
| Inside 09:00 to 21:00 IST | 422 outside_calling_hours |
const res = await fetch("https://voice-api.edesy.in/v1/ivr/calls", {
method: "POST",
headers: { "X-API-Key": process.env.EDESY_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ flow_id: "<your flow id>", to: "+919800000000", variables: { name: "Ravi" } }),
});
console.log(res.status, await res.json());
For every field, limit and error, see the outbound IVR calls reference.
Call a customer from your backend with the order number and amount as variables.
Trigger a press 1 to confirm call from your booking system.
The full API: variables, idempotency, status callbacks and signatures.
Share your use case and volume. We reply within one working day with a setup plan and pricing.
Resources to help you evaluate and implement
Build a flow, open Use via API and place a Try it call to your phone. ₹20 free credit, no card.