List Call Logs

GET /masking/call-logs — paginated call history with optional status and date-range filters.

List Call Logs

GET /masking/call-logs

Returns paginated call history with optional filters by status and date range.

Query parameters

Parameter Type Required Description
page integer No Page number (1-based). Default 1.
per_page integer No Results per page (max 100). Default 20.
status string No Filter by status: initiated, ringing, answered, in-progress, completed, failed, no-answer.
start_date RFC3339 datetime No Only return calls started after this timestamp.
end_date RFC3339 datetime No Only return calls started before this timestamp.

Request

curl 'https://voice-api.edesy.in/v1/masking/call-logs?page=1&per_page=20' \
  -H "Authorization: Bearer vp_YOUR_API_KEY"
const response = await fetch(
  "https://voice-api.edesy.in/v1/masking/call-logs?page=1&per_page=20",
  { headers: { "Authorization": "Bearer vp_YOUR_API_KEY" } },
);
console.log(await response.json());
import requests

response = requests.get(
    "https://voice-api.edesy.in/v1/masking/call-logs",
    headers={"Authorization": "Bearer vp_YOUR_API_KEY"},
    params={"page": 1, "per_page": 20},
)
print(response.json())

Responses

200 — Paginated list of calls

{
  "data": [
    {
      "id": "d28be7cd-9840-4b23-9627-199f1ef81fc6",
      "caller_number": "917969002802",
      "target_number": "9876543210",
      "masked_number": "917969002802",
      "direction": "click_to_call",
      "status": "completed",
      "started_at": "2026-05-11T08:30:00Z",
      "duration_sec": 94,
      "price": 3.0
    }
  ],
  "meta": { "total": 142, "page": 1, "per_page": 20, "total_pages": 8 }
}