curl -X POST https://api.voicy.co/functions/v1/call-list \
-H "Authorization: Bearer voicy_sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"filter_criteria": {
"call_status": ["user_hangup", "agent_hangup"]
},
"sort_order": "descending",
"limit": 10
}'
const response = await fetch('https://api.voicy.co/functions/v1/call-list', {
method: 'POST',
headers: {
'Authorization': 'Bearer voicy_sk_live_xxx',
'Content-Type': 'application/json',
},
body: JSON.stringify({
filter_criteria: {
call_status: ['user_hangup', 'agent_hangup'],
},
sort_order: 'descending',
limit: 10,
}),
});
const calls = await response.json();
import requests
response = requests.post(
'https://api.voicy.co/functions/v1/call-list',
headers={
'Authorization': 'Bearer voicy_sk_live_xxx',
'Content-Type': 'application/json',
},
json={
'filter_criteria': {
'call_status': ['user_hangup', 'agent_hangup'],
},
'sort_order': 'descending',
'limit': 10,
},
)
calls = response.json()
{
"calls": [
{
"call_id": "550e8400-e29b-41d4-a716-446655440000",
"call_type": "phone_call",
"call_status": "user_hangup",
"agent": {
"name": "Customer Support Agent",
"version": 2
},
"from_number": "+15551234567",
"to_number": "+15559876543",
"direction": "outgoing",
"start_timestamp": 1704067200000,
"duration_ms": 120000
},
{
"call_id": "550e8400-e29b-41d4-a716-446655440002",
"call_type": "phone_call",
"call_status": "agent_hangup",
"agent": {
"name": "Customer Support Agent",
"version": 1
},
"from_number": "+15559876543",
"to_number": "+15551234567",
"direction": "incoming",
"start_timestamp": 1704063600000,
"duration_ms": 180000
}
],
"total_count": 42
}
Calls
Call List
List calls with optional filtering and pagination
POST
/
v1
/
call-list
curl -X POST https://api.voicy.co/functions/v1/call-list \
-H "Authorization: Bearer voicy_sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"filter_criteria": {
"call_status": ["user_hangup", "agent_hangup"]
},
"sort_order": "descending",
"limit": 10
}'
const response = await fetch('https://api.voicy.co/functions/v1/call-list', {
method: 'POST',
headers: {
'Authorization': 'Bearer voicy_sk_live_xxx',
'Content-Type': 'application/json',
},
body: JSON.stringify({
filter_criteria: {
call_status: ['user_hangup', 'agent_hangup'],
},
sort_order: 'descending',
limit: 10,
}),
});
const calls = await response.json();
import requests
response = requests.post(
'https://api.voicy.co/functions/v1/call-list',
headers={
'Authorization': 'Bearer voicy_sk_live_xxx',
'Content-Type': 'application/json',
},
json={
'filter_criteria': {
'call_status': ['user_hangup', 'agent_hangup'],
},
'sort_order': 'descending',
'limit': 10,
},
)
calls = response.json()
{
"calls": [
{
"call_id": "550e8400-e29b-41d4-a716-446655440000",
"call_type": "phone_call",
"call_status": "user_hangup",
"agent": {
"name": "Customer Support Agent",
"version": 2
},
"from_number": "+15551234567",
"to_number": "+15559876543",
"direction": "outgoing",
"start_timestamp": 1704067200000,
"duration_ms": 120000
},
{
"call_id": "550e8400-e29b-41d4-a716-446655440002",
"call_type": "phone_call",
"call_status": "agent_hangup",
"agent": {
"name": "Customer Support Agent",
"version": 1
},
"from_number": "+15559876543",
"to_number": "+15551234567",
"direction": "incoming",
"start_timestamp": 1704063600000,
"duration_ms": 180000
}
],
"total_count": 42
}
Retrieve a list of calls with optional filtering by status, agent, direction, and time range.
This endpoint uses POST to support complex filter criteria in the request body.
Request Body
object
Optional filters to apply.
Show Filter options
Show Filter options
array
Filter by agent IDs (array of UUIDs).
array
Filter by direction:
incoming, outgoing.object
Filter by time range (Unix milliseconds).
{
"lower_threshold": 1704067200000,
"upper_threshold": 1704153600000
}
boolean
default:"false"
Include test calls in results. Test calls are excluded by default.
string
default:"descending"
Sort order:
ascending or descending (by start time).integer
default:"50"
Maximum number of results (1-1000).
string
Cursor for pagination. Use the last
call_id from the previous page.Response
Returns an object withcalls (array of lightweight call objects) and total_count. These include core metadata (status, agent, timing) but omit transcript, summary, recording_url, detected_gender, vars_provided, vars_extracted, and vars_collected for performance. Use Get Call to retrieve the full call object.
array
Array of call objects with the following fields:
Show Call object properties
Show Call object properties
string
Unique call identifier (UUID)
string
phone_call or web_callstring
Why the call never connected —
no_answer, busy, declined, not_in_service, carrier_rejected or failed; null once connected (see Call)object
string
Caller’s phone number
string
Called phone number
string
incoming or outgoinginteger
Unix timestamp (ms) when the call started
integer
Call duration in milliseconds
boolean
Whether this call was made by a test user contact
integer
Total number of calls matching the filter criteria (for pagination).
curl -X POST https://api.voicy.co/functions/v1/call-list \
-H "Authorization: Bearer voicy_sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"filter_criteria": {
"call_status": ["user_hangup", "agent_hangup"]
},
"sort_order": "descending",
"limit": 10
}'
const response = await fetch('https://api.voicy.co/functions/v1/call-list', {
method: 'POST',
headers: {
'Authorization': 'Bearer voicy_sk_live_xxx',
'Content-Type': 'application/json',
},
body: JSON.stringify({
filter_criteria: {
call_status: ['user_hangup', 'agent_hangup'],
},
sort_order: 'descending',
limit: 10,
}),
});
const calls = await response.json();
import requests
response = requests.post(
'https://api.voicy.co/functions/v1/call-list',
headers={
'Authorization': 'Bearer voicy_sk_live_xxx',
'Content-Type': 'application/json',
},
json={
'filter_criteria': {
'call_status': ['user_hangup', 'agent_hangup'],
},
'sort_order': 'descending',
'limit': 10,
},
)
calls = response.json()
{
"calls": [
{
"call_id": "550e8400-e29b-41d4-a716-446655440000",
"call_type": "phone_call",
"call_status": "user_hangup",
"agent": {
"name": "Customer Support Agent",
"version": 2
},
"from_number": "+15551234567",
"to_number": "+15559876543",
"direction": "outgoing",
"start_timestamp": 1704067200000,
"duration_ms": 120000
},
{
"call_id": "550e8400-e29b-41d4-a716-446655440002",
"call_type": "phone_call",
"call_status": "agent_hangup",
"agent": {
"name": "Customer Support Agent",
"version": 1
},
"from_number": "+15559876543",
"to_number": "+15551234567",
"direction": "incoming",
"start_timestamp": 1704063600000,
"duration_ms": 180000
}
],
"total_count": 42
}
⌘I