curl --request GET \
--url 'https://api.voice.stateset.com/api/v1/call-logs' \
--header "Authorization: Bearer $STATESET_VOICE_API_KEY"
{
"calls": [
{
"direction": "inbound",
"duration_seconds": 142,
"ended_at": "2024-01-15T10:32:22Z",
"escalated": false,
"from_number": "+15555555678",
"function_call_count": 3,
"id": "550e8400-e29b-41d4-a716-446655440000",
"outcome": "string",
"started_at": "2024-01-15T10:30:00Z",
"status": "completed",
"stream_sid": "MZ1234567890abcdef1234567890abcdef",
"to_number": "+15555551234",
"transcript_length": 12
}
],
"count": 25,
"next_cursor": "string",
"ok": true,
"tenant": "tenant_123"
}
List call logs for the authenticated tenant
Returns a paginated list of call logs with summary information. Use query parameters to filter by status, phone number, direction, etc.
GET
/
api
/
v1
/
call-logs
curl --request GET \
--url 'https://api.voice.stateset.com/api/v1/call-logs' \
--header "Authorization: Bearer $STATESET_VOICE_API_KEY"
{
"calls": [
{
"direction": "inbound",
"duration_seconds": 142,
"ended_at": "2024-01-15T10:32:22Z",
"escalated": false,
"from_number": "+15555555678",
"function_call_count": 3,
"id": "550e8400-e29b-41d4-a716-446655440000",
"outcome": "string",
"started_at": "2024-01-15T10:30:00Z",
"status": "completed",
"stream_sid": "MZ1234567890abcdef1234567890abcdef",
"to_number": "+15555551234",
"transcript_length": 12
}
],
"count": 25,
"next_cursor": "string",
"ok": true,
"tenant": "tenant_123"
}
Returns a paginated list of call logs with summary information.
Use query parameters to filter by status, phone number, direction, etc.
Query parameters
string
Filter by call status
string
Filter by normalized terminal outcome: answered, voicemail, no_answer, busy, failed
string
Filter by caller phone number
string
Filter by called phone number
string
Filter by call direction (inbound/outbound)
boolean
Filter by escalation status
string
Only calls after this ISO8601 datetime
string
Only calls before this ISO8601 datetime
integer (int32)
Minimum call duration in seconds
integer (int32)
Maximum call duration in seconds
string
Search transcript text (case-insensitive)
string
Filter by Twilio call SID
integer (int64)
Maximum number of results (default 50, max 100)
integer (int64)
Legacy offset-based pagination. Prefer
cursor (keyset pagination) for any list longer than a few hundred rows.string
Opaque keyset cursor returned by a previous response’s
next_cursor. Pass it back to fetch the next page; takes precedence over offset.Response
CallLogsListResponse
CallLogSummary[]
required
Compact call summaries
Show CallLogSummary
Show CallLogSummary
string
required
Call direction: ‘inbound’ or ‘outbound’
integer,null (int32)
Call duration in seconds
string,null
When the call ended (ISO 8601)
boolean
required
Whether the call was escalated to a human
string,null
Caller phone number
integer
required
Number of AI function calls made during the conversation
string
required
Unique call log identifier
string,null
Normalized terminal outcome: answered, voicemail, no_answer, busy, failed
string
required
When the call started (ISO 8601)
string
required
Call status: in_progress, completed, failed, escalated, busy, no_answer, canceled
string
required
Twilio stream SID
string,null
Called phone number
integer
required
Number of transcript turns
integer
required
Number of calls returned in this page
string,null
Opaque cursor to pass back as
?cursor=... to fetch the next page. null when this is the last page. Prefer this over offset for large tenants — it is O(log n) regardless of page depth.boolean
required
Whether the request succeeded
string
required
Authenticated tenant identifier
Status codes
| Code | Meaning |
|---|---|
200 | List of call logs |
400 | Invalid query filter |
401 | Unauthorized |
500 | Internal server error |
503 | Call logging is not configured |
curl --request GET \
--url 'https://api.voice.stateset.com/api/v1/call-logs' \
--header "Authorization: Bearer $STATESET_VOICE_API_KEY"
{
"calls": [
{
"direction": "inbound",
"duration_seconds": 142,
"ended_at": "2024-01-15T10:32:22Z",
"escalated": false,
"from_number": "+15555555678",
"function_call_count": 3,
"id": "550e8400-e29b-41d4-a716-446655440000",
"outcome": "string",
"started_at": "2024-01-15T10:30:00Z",
"status": "completed",
"stream_sid": "MZ1234567890abcdef1234567890abcdef",
"to_number": "+15555551234",
"transcript_length": 12
}
],
"count": 25,
"next_cursor": "string",
"ok": true,
"tenant": "tenant_123"
}
Last modified on August 31, 2026