REST ClientLogsVoice Logs

list

View as MarkdownOpen in Claude

List voice call log entries.

Query parameters

include_deletedbooleanOptionalDefaults to false
Include logs for deleted activity.
created_beforestringOptional
Return logs for activity prior to this date.
created_onstringOptional
Return logs for activity on this date.
created_afterstringOptional
Return logs for activity after this date.
page_numberintegerOptional>=0Defaults to 0
Page number to return. Requires `page_token` for values greater than 0.
page_sizeintegerOptional1-1000Defaults to 50
Specify the number of results to return on a single page. The default page size is `50` and the maximum is `1000`.
page_tokenstringOptional
Token for cursor-based pagination. Required when `page_number` is greater than 0.

Response

datalist of objectsRequired
Array of voice log entries

Response Example

Response
1{
2 "links": {
3 "self": "https://example.signalwire.com/api/voice/logs?page_number=0&page_size=50",
4 "first": "https://example.signalwire.com/api/voice/logs?page_size=50",
5 "next": "https://example.signalwire.com/api/voice/logs?page_number=1&page_size=50&page_token=PA2fa20774-64a1-41d3-a88a-1c61f563d0e7",
6 "prev": "https://example.signalwire.com/api/voice/logs?page_number=0&page_size=50&page_token=PA2fa20774-64a1-41d3-a88a-1c61f563d0e7"
7 },
8 "data": [
9 {
10 "id": "b7182dc2-00f3-40e4-a5ce-20f164b329df",
11 "from": "+12065551212",
12 "to": "+12065553434",
13 "source": "realtime_api",
14 "charge": 0.01,
15 "charge_details": [],
16 "created_at": "2024-05-06T12:20:00Z",
17 "type": "relay_sip_call",
18 "direction": "inbound",
19 "status": "completed",
20 "duration": 9,
21 "duration_ms": 9638,
22 "billing_ms": 60000
23 }
24 ]
25}

Example

1from signalwire.rest import RestClient
2
3client = RestClient(
4 project="your-project-id",
5 token="your-api-token",
6 host="your-space.signalwire.com",
7)
8
9calls = client.logs.voice.list(page_size=20)
10for call in calls.get("data", []):
11 print(call.get("from"), "->", call.get("to"), call.get("duration"))