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
{
"links": {
"self": "https://example.signalwire.com/api/voice/logs?page_number=0&page_size=50",
"first": "https://example.signalwire.com/api/voice/logs?page_size=50"
},
"data": [
{
"billing_ms": 60000,
"charge": 0.01,
"charge_details": [],
"created_at": "2024-05-06T12:20:00Z",
"direction": "inbound",
"duration": 9,
"duration_ms": 9638,
"from": "+12065551212",
"id": "b7182dc2-00f3-40e4-a5ce-20f164b329df",
"parent_id": null,
"source": "realtime_api",
"status": "completed",
"to": "+12065553434",
"type": "relay_pstn_call",
"url": null
}
]
}

Example

from signalwire.rest import RestClient
client = RestClient(
project="your-project-id",
token="your-api-token",
host="your-space.signalwire.com",
)
calls = client.logs.voice.list(page_size=20)
for call in calls.get("data", []):
print(call.get("from"), "->", call.get("to"), call.get("duration"))