curl --request GET \
--url https://www.tryunleashx.com/api/v1/global/agents/executions/list \
--header 'token: <token>'{
"datalist": [
{
"ID": 123,
"AGENT_ID": 123,
"agent_name": "<string>",
"CALLING_NUMBER": "<string>",
"PROVIDER_NUMBER": "<string>",
"STATUS": "<string>",
"CALL_STATUS": "<string>",
"TOTAL_DURATION": 123,
"total_duration": "<string>",
"CREATED_AT": "<string>",
"TRANSCRIPT": "<string>",
"FILE_PATH": "<string>",
"DISPOSITION": "<string>"
}
]
}curl --request GET \
--url https://www.tryunleashx.com/api/v1/global/agents/executions/list \
--header 'token: <token>'{
"datalist": [
{
"ID": 123,
"AGENT_ID": 123,
"agent_name": "<string>",
"CALLING_NUMBER": "<string>",
"PROVIDER_NUMBER": "<string>",
"STATUS": "<string>",
"CALL_STATUS": "<string>",
"TOTAL_DURATION": 123,
"total_duration": "<string>",
"CREATED_AT": "<string>",
"TRANSCRIPT": "<string>",
"FILE_PATH": "<string>",
"DISPOSITION": "<string>"
}
]
}/api/v1/global/agents/executions/list
Content-Type: application/json
Authentication: Required (API token validated by middleware apiauth.verifyToken). Provide token via header token or api_access_token.
| Parameter | Type | Required | Description |
|---|---|---|---|
agent_id | integer | No | Filter records for a specific agent. |
calling_number | string | No | Partial-match against CALLING_NUMBER (uses SQL LIKE). |
provider_number | string | No | Exact match against PROVIDER_NUMBER. |
status | string/integer | No | Filter by execution STATUS (or CALL_STATUS in some places). Examples: completed, failed. |
fromdate | string | No | Start date (e.g. 2025-01-01 or datetime). Defaults to 1 month back if omitted. |
todate | string | No | End date. Defaults to now if omitted. |
page | integer | No | Page number (used with limit to paginate results). |
limit | integer | No | Page size / limit. |
audio_url | string | No | Use available to return records that have an audio file (FILE_PATH present). |
transcript | string | No | Use available to return records that have TRANSCRIPT present. |
sentiment | string | No | Filter by OVERALL_SENTIMENT (if voice analysis available). |
disposition | string | No | Comma-separated dispositions; will be applied as SQL IN filter. |
emotion | string | No | Filter by DETECTED_EMOTION. |
input_data | string | No | Partial-match (LIKE) against INPUT_DATA. |
cost_breakdown | string | No | Partial-match (LIKE) against COST_BREAKDOWN or within RETURN_DATA. |
duration | string | No | Range filter (e.g., 30-300) for TOTAL_DURATION (per-call list). |
Note: The handler accepts parameters from req.query (GET). The underlying implementation also supports similar filters for POST bodies in the agent controller, but this global route is exposed as GET.
curl -X GET "https://www.tryunleashx.com/api/v1/global/agents/executions/list?agent_id=962&page=1&limit=50&fromdate=2025-01-01&todate=2025-01-31" \
-H "token: YOUR_API_TOKEN"
curl -X GET "https://www.tryunleashx.com/api/v1/global/agents/executions/list?agent_id=962&calling_number=91234&page=1&limit=20" \
-H "token: YOUR_API_TOKEN"
curl -X GET "https://www.tryunleashx.com/api/v1/global/agents/executions/list?agent_id=962&audio_url=available&transcript=available" \
-H "token: YOUR_API_TOKEN"
curl -X GET "https://www.tryunleashx.com/api/v1/global/agents/executions/list?agent_id=962&disposition=resolved,followup&sentiment=positive" \
-H "token: YOUR_API_TOKEN"
datalist containing call execution records. Each record includes many fields; the key fields are listed below. The controller formats durations and dates (e.g., total_duration as 1h:2m:3s, date, time).
{
"datalist": [
{
"ID": 98765,
"AGENT_ID": 962,
"agent_name": "Support Agent A",
"CALLING_NUMBER": "+919876543210",
"PROVIDER_NUMBER": "+14045551234",
"STATUS": "completed",
"CALL_STATUS": "completed",
"TOTAL_DURATION": 185, // raw seconds in DB (in code returned as TOTAL_DURATION but formatted)
"total_duration": "3m:5s", // formatted string added by controller
"CREATED_AT": "2025-01-15T10:12:34Z",
"date": "15 Jan, 2025",
"time": "10:12",
"TRANSCRIPT": "Customer said ...",
"FILE_PATH": "https://storage.example.com/recordings/..",
"DISPOSITION": "resolved",
"SUMMARY": "Call summary text",
"RETURN_DATA": { /* trimmed, filtered in response */ },
"INPUT_DATA": { /* request metadata */ },
"COST_BREAKDOWN": [ /* formatted cost items */ ],
"VOICE_CALL_ANALYSIS": { /* optional analysis */ },
"VOICE_QUALITY_FEEDBACK": 1,
"workflow_name": "Support Flow",
"workflow_type": "IVR"
}
]
}
total_duration is formatted by the controller as Xh:Ym:Zs or Mm:Ss style for readability (the DB stores seconds).RETURN_DATA is filtered to remove some internal fields; cost_breakdown may be moved into RETURN_DATA.cost_breakdown if present.FILE_PATH is the URL to audio recording (if available).TRANSCRIPT may be null or empty if speech-to-text was not produced.VOICE_QUALITY_FEEDBACK is a numeric rating stored for voice analysis (e.g., upvote/downvote).agent_name is provided via join with agent details when available.page and limit to paginate results. The controller applies limit and offset when querying.datalist (array) and does not include pagination metadata (totalRecords, totalPages) in the response. Use page and limit to page through results.{
"error": true,
"code": 400,
"message": "Invalid parameters",
"data": {}
}
{
"error": true,
"code": 401,
"message": "Invalid Auth Key or Session Expired",
"data": {}
}
{
"error": true,
"code": 500,
"message": "Internal server error",
"data": {}
}
fromdate/todate are omitted./api/v1/global/agents/call-history (agent-level summary).downloadConversationalData) which streams an XLSX.totalRecords and totalPages.API token for authentication
Executions list retrieved
Show child attributes
Was this page helpful?