curl --request GET \
--url 'https://api.voice.stateset.com/api/v1/call-logs/latency' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"ok": true,
"slowest": [
{
"call_sid": null,
"duration_seconds": null,
"e2e_p95_ms": null,
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"llm_p50_ms": null,
"llm_p95_ms": null,
"model": null,
"started_at": "2026-07-24T12:00:00Z",
"stream_sid": "string",
"turn_count": null,
"voice": null
}
],
"stats": {
"avg_e2e_first_audio_ms": null,
"avg_llm_first_token_ms": null,
"call_sample_count": 124,
"max_e2e_first_audio_ms": null,
"max_llm_first_token_ms": null,
"p50_e2e_first_audio_ms": null,
"p50_llm_first_token_ms": null,
"p95_e2e_first_audio_ms": null,
"p95_llm_first_token_ms": null,
"p99_e2e_first_audio_ms": null,
"p99_llm_first_token_ms": null,
"turn_sample_count": 1832,
"window": "string"
},
"tenant": "string",
"timeseries": {
"bucket": "string",
"points": [
{
"bucket_start": null,
"call_count": null,
"p50_e2e_first_audio_ms": null,
"p50_llm_first_token_ms": null,
"p95_e2e_first_audio_ms": null,
"p95_llm_first_token_ms": null,
"p99_e2e_first_audio_ms": null,
"p99_llm_first_token_ms": null
}
],
"window": "string"
}
}
Aggregate per-turn latency percentiles across recent calls.
Returns p50/p95/p99 of LLM first-token and end-to-end first-audio latency, plus the slowest calls in the window for inspection.
GET
/
api
/
v1
/
call-logs
/
latency
curl --request GET \
--url 'https://api.voice.stateset.com/api/v1/call-logs/latency' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"ok": true,
"slowest": [
{
"call_sid": null,
"duration_seconds": null,
"e2e_p95_ms": null,
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"llm_p50_ms": null,
"llm_p95_ms": null,
"model": null,
"started_at": "2026-07-24T12:00:00Z",
"stream_sid": "string",
"turn_count": null,
"voice": null
}
],
"stats": {
"avg_e2e_first_audio_ms": null,
"avg_llm_first_token_ms": null,
"call_sample_count": 124,
"max_e2e_first_audio_ms": null,
"max_llm_first_token_ms": null,
"p50_e2e_first_audio_ms": null,
"p50_llm_first_token_ms": null,
"p95_e2e_first_audio_ms": null,
"p95_llm_first_token_ms": null,
"p99_e2e_first_audio_ms": null,
"p99_llm_first_token_ms": null,
"turn_sample_count": 1832,
"window": "string"
},
"tenant": "string",
"timeseries": {
"bucket": "string",
"points": [
{
"bucket_start": null,
"call_count": null,
"p50_e2e_first_audio_ms": null,
"p50_llm_first_token_ms": null,
"p95_e2e_first_audio_ms": null,
"p95_llm_first_token_ms": null,
"p99_e2e_first_audio_ms": null,
"p99_llm_first_token_ms": null
}
],
"window": "string"
}
}
Returns p50/p95/p99 of LLM first-token and end-to-end first-audio
latency, plus the slowest calls in the window for inspection.
Query parameters
string
Aggregation window: 24h | 7d | 30d | all (default 24h).
integer (int64)
Maximum slow-call samples to return (default 10, max 50).
Response
CallLatencyResponse
boolean
required
LatencySample[]
required
LatencyStats
required
Show LatencyStats
Show LatencyStats
number,null (double)
Average of per-call end-to-end first-audio averages, in milliseconds.
number,null (double)
Average of per-call LLM first-token averages, in milliseconds.
integer (int64)
required
Number of calls contributing samples to the aggregate.
number,null (double)
number,null (double)
number,null (double)
number,null (double)
number,null (double)
number,null (double)
number,null (double)
number,null (double)
integer (int64)
required
Sum of per-call turn counts (proxy for total turns observed).
string
required
string
required
LatencyTimeseries
required
p50/p95/p99 latency bucketed over the window for the trend chart.
Show LatencyTimeseries
Show LatencyTimeseries
string
required
Bucket granularity: ‘hour’ or ‘day’.
LatencyTimeseriesPoint[]
required
string
required
Status codes
| Code | Meaning |
|---|---|
200 | Latency aggregates |
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/latency' \
--header 'Authorization: Bearer YOUR_API_KEY'
{
"ok": true,
"slowest": [
{
"call_sid": null,
"duration_seconds": null,
"e2e_p95_ms": null,
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"llm_p50_ms": null,
"llm_p95_ms": null,
"model": null,
"started_at": "2026-07-24T12:00:00Z",
"stream_sid": "string",
"turn_count": null,
"voice": null
}
],
"stats": {
"avg_e2e_first_audio_ms": null,
"avg_llm_first_token_ms": null,
"call_sample_count": 124,
"max_e2e_first_audio_ms": null,
"max_llm_first_token_ms": null,
"p50_e2e_first_audio_ms": null,
"p50_llm_first_token_ms": null,
"p95_e2e_first_audio_ms": null,
"p95_llm_first_token_ms": null,
"p99_e2e_first_audio_ms": null,
"p99_llm_first_token_ms": null,
"turn_sample_count": 1832,
"window": "string"
},
"tenant": "string",
"timeseries": {
"bucket": "string",
"points": [
{
"bucket_start": null,
"call_count": null,
"p50_e2e_first_audio_ms": null,
"p50_llm_first_token_ms": null,
"p95_e2e_first_audio_ms": null,
"p95_llm_first_token_ms": null,
"p99_e2e_first_audio_ms": null,
"p99_llm_first_token_ms": null
}
],
"window": "string"
}
}