Number Health and Webhook Logs

Check an Edesy number's call volume and answer rate, see whether your webhook was reached, send a test request, and toggle recording - per number.

1 min read

Each number has its own health view: call counts for today, 7 and 30 days, the 7-day answer rate and the last call, plus the recent webhook deliveries for that number and a button that sends a test request to your voice URL. Use them to answer "is this number working, and did my server get the call?" without opening a ticket.

Stats#

GEThttps://voice-api.edesy.in/v1/phone-numbers/{id}/stats
{
  "data": {
    "calls_today": 14,
    "calls_7d": 96,
    "calls_30d": 402,
    "answered_pct": 91.7,
    "last_call_at": "2026-10-28T09:12:44Z",
    "last_call_status": "completed",
    "active_last_1h": true
  }
}
Field Description
calls_today, calls_7d, calls_30d Inbound call counts
answered_pct Share of the last 7 days' calls that completed
last_call_at, last_call_status Most recent call
active_last_1h Whether the number had a call in the last hour

A number that suddenly drops to zero calls, or whose answer rate falls, usually has a broken target. Check the webhook logs and the call event timeline.

Webhook logs#

GEThttps://voice-api.edesy.in/v1/phone-numbers/{id}/webhook-logs?limit=10

Returns the most recent webhook deliveries for calls to this number: the URL, method, response status, response time and error, if any. limit defaults to 10.

Test your webhook#

POSThttps://voice-api.edesy.in/v1/phone-numbers/{id}/test-webhook

Sends a sample inbound request (CallStatus=ringing, Direction=inbound, plus EdesyTestRequest=true) to the number's voice URL and reports what came back:

{
  "data": {
    "ok": true,
    "method": "POST",
    "url": "https://example.com/edesy/inbound",
    "status_code": 200,
    "latency_ms": 184,
    "content_type": "application/json",
    "body_preview": "{\"instructions\":[{\"verb\":\"say\",..."
  }
}

It returns no_webhook_url if the number has no voice URL. Ignore requests with EdesyTestRequest=true in your business logic.

Telephony readiness#

GEThttps://voice-api.edesy.in/v1/phone-numbers/{id}/telephony shows whether the number can place calls (outbound_capable) and whether an inbound target is bound (inbound_bound).

Recording toggle#

Turn recording on or off for every call on the number:

curl -X PATCH https://voice-api.edesy.in/v1/phone-numbers/{id} \
  -H "Authorization: Bearer $EDESY_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "recording_enabled": true }'

See Recordings and Transcriptions.

Test call#

The number's page in voice-app.edesy.in has a test-call button that rings the number so you can hear the inbound target end to end.

Was this page helpful?