Python
from superu import SuperU
client = SuperU("YOUR_SUPERU_API_KEY")
response = client.call_logs.get_logs(
assistant_id="all",
limit=20,
page=1,
before="2026-02-01T00:00:00Z",
after="2026-01-01T00:00:00Z",
status="completed",
campaign_id="demo_call",
search_query="Ava"
)
print(response)curl --request POST \\
--url https://voip-middlware.superu.ai/call-logs/all?limit=20&page=1&before=2026-02-01T00%3A00%3A00Z&after=2026-01-01T00%3A00%3A00Z&status=completed&campaign_id=demo_call&search_query=Ava \\
--header 'superU-Api-Key: YOUR_SUPERU_API_KEY'{
"success": true,
"data": {
"calls": [
{
"id": "b98d6318-5e5c-40c1-b9b3-805688506d92",
"assistantId": "88c05f57-4aa2-40a6-b12a-848596260dae",
"type": null,
"cost": 0.02,
"endedReason": "Customer Hangup",
"status": "ended",
"startedAt": "2026-04-20T06:59:42.449948+00:00",
"endedAt": "2026-04-20T07:00:02.943036+00:00",
"transcript": [
{
"id": "item_86abffec7b54",
"type": "message",
"role": "assistant",
"content": [
"नमस्ते! मैं पूजा बोल रही हूँ, आवरण होम प्लस से।"
],
"interrupted": false,
"extra": {},
"metrics": {
"tts_node_ttfb": 0.2542913980000776
},
"created_at": "2026-04-20T06:59:46.379377+00:00",
"message": "नमस्ते! मैं पूजा बोल रही हूँ, आवरण होम प्लस से।"
},
{
"id": "item_d16599786c31",
"type": "message",
"role": "assistant",
"content": [
"Can you hear me?"
],
"interrupted": false,
"extra": {},
"metrics": {
"started_speaking_at": 1776668389.9128273,
"stopped_speaking_at": 1776668390.9525201,
"tts_node_ttfb": 0.14719204099992567
},
"created_at": "2026-04-20T06:59:50.952606+00:00",
"message": "Can you hear me?"
},
{
"id": "item_d90d02b3164c",
"type": "message",
"role": "assistant",
"content": [
"Are you there?"
],
"interrupted": false,
"extra": {},
"metrics": {
"started_speaking_at": 1776668394.9146988,
"stopped_speaking_at": 1776668395.8504355,
"tts_node_ttfb": 0.14871830199990654
},
"created_at": "2026-04-20T06:59:55.850494+00:00",
"message": "Are you there?"
}
],
"recordingUrl": "https://static.pathora.in/pluto_recordings/b98d6318-5e5c-40c1-b9b3-805688506d92.ogg",
"summary": {
"Summary": "The customer did not respond during the call. No information or intent was provided.",
"Remarks": {
"Intent": "None",
"Next Call-to-Action": "None"
},
"Call Outcome": {
"RSVP": "None",
"Callback Requested": "None",
"Callback Timeframe": "None",
"Key Questions/Concerns": "None",
"Follow-up Actions": "None"
},
"Customer Stage": {
"Stage": "Not Picked"
},
"Additional Notes": {
"Objections/Concerns": "None",
"Visit Commitment": "None"
}
},
"createdAt": "2026-04-20T06:59:42.449948+00:00",
"updatedAt": "2026-04-20T07:00:02.943036+00:00",
"orgId": "user_3763mSwxXbCByARq7E92FpJcJ71",
"call_duration_seconds": 20.493088,
"agent_id": "88c05f57-4aa2-40a6-b12a-848596260dae",
"user_id": "user_3763mSwxXbCByARq7E92FpJcJ71",
"campaign_id": "demo_call_web",
"to_number": null,
"from_number": null,
"telecom_total_cost": null,
"call_direction": null,
"contact_name": null
}
],
"total": 1,
"total_cost": 0.02,
"avg_duration": 20.49,
"total_duration": 20.49
}
}{
"status": "error",
"code": "BAD_REQUEST",
"message": "Request validation failed."
}{
"status": "error",
"code": "UNAUTHORIZED",
"message": "Invalid or missing superU-Api-Key."
}{
"status": "error",
"code": "NOT_FOUND",
"message": "Resource not found."
}{
"status": "error",
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected server error occurred."
}{
"status": "error",
"code": "NOT_IMPLEMENTED",
"message": "This endpoint is not implemented for your workspace."
}Calls
Get call logs and analysis
Returns detailed call logs, including transcripts, recordings, and AI generated analysis.
POST
/
call-logs
/
{assistant_id}
Python
from superu import SuperU
client = SuperU("YOUR_SUPERU_API_KEY")
response = client.call_logs.get_logs(
assistant_id="all",
limit=20,
page=1,
before="2026-02-01T00:00:00Z",
after="2026-01-01T00:00:00Z",
status="completed",
campaign_id="demo_call",
search_query="Ava"
)
print(response)curl --request POST \\
--url https://voip-middlware.superu.ai/call-logs/all?limit=20&page=1&before=2026-02-01T00%3A00%3A00Z&after=2026-01-01T00%3A00%3A00Z&status=completed&campaign_id=demo_call&search_query=Ava \\
--header 'superU-Api-Key: YOUR_SUPERU_API_KEY'{
"success": true,
"data": {
"calls": [
{
"id": "b98d6318-5e5c-40c1-b9b3-805688506d92",
"assistantId": "88c05f57-4aa2-40a6-b12a-848596260dae",
"type": null,
"cost": 0.02,
"endedReason": "Customer Hangup",
"status": "ended",
"startedAt": "2026-04-20T06:59:42.449948+00:00",
"endedAt": "2026-04-20T07:00:02.943036+00:00",
"transcript": [
{
"id": "item_86abffec7b54",
"type": "message",
"role": "assistant",
"content": [
"नमस्ते! मैं पूजा बोल रही हूँ, आवरण होम प्लस से।"
],
"interrupted": false,
"extra": {},
"metrics": {
"tts_node_ttfb": 0.2542913980000776
},
"created_at": "2026-04-20T06:59:46.379377+00:00",
"message": "नमस्ते! मैं पूजा बोल रही हूँ, आवरण होम प्लस से।"
},
{
"id": "item_d16599786c31",
"type": "message",
"role": "assistant",
"content": [
"Can you hear me?"
],
"interrupted": false,
"extra": {},
"metrics": {
"started_speaking_at": 1776668389.9128273,
"stopped_speaking_at": 1776668390.9525201,
"tts_node_ttfb": 0.14719204099992567
},
"created_at": "2026-04-20T06:59:50.952606+00:00",
"message": "Can you hear me?"
},
{
"id": "item_d90d02b3164c",
"type": "message",
"role": "assistant",
"content": [
"Are you there?"
],
"interrupted": false,
"extra": {},
"metrics": {
"started_speaking_at": 1776668394.9146988,
"stopped_speaking_at": 1776668395.8504355,
"tts_node_ttfb": 0.14871830199990654
},
"created_at": "2026-04-20T06:59:55.850494+00:00",
"message": "Are you there?"
}
],
"recordingUrl": "https://static.pathora.in/pluto_recordings/b98d6318-5e5c-40c1-b9b3-805688506d92.ogg",
"summary": {
"Summary": "The customer did not respond during the call. No information or intent was provided.",
"Remarks": {
"Intent": "None",
"Next Call-to-Action": "None"
},
"Call Outcome": {
"RSVP": "None",
"Callback Requested": "None",
"Callback Timeframe": "None",
"Key Questions/Concerns": "None",
"Follow-up Actions": "None"
},
"Customer Stage": {
"Stage": "Not Picked"
},
"Additional Notes": {
"Objections/Concerns": "None",
"Visit Commitment": "None"
}
},
"createdAt": "2026-04-20T06:59:42.449948+00:00",
"updatedAt": "2026-04-20T07:00:02.943036+00:00",
"orgId": "user_3763mSwxXbCByARq7E92FpJcJ71",
"call_duration_seconds": 20.493088,
"agent_id": "88c05f57-4aa2-40a6-b12a-848596260dae",
"user_id": "user_3763mSwxXbCByARq7E92FpJcJ71",
"campaign_id": "demo_call_web",
"to_number": null,
"from_number": null,
"telecom_total_cost": null,
"call_direction": null,
"contact_name": null
}
],
"total": 1,
"total_cost": 0.02,
"avg_duration": 20.49,
"total_duration": 20.49
}
}{
"status": "error",
"code": "BAD_REQUEST",
"message": "Request validation failed."
}{
"status": "error",
"code": "UNAUTHORIZED",
"message": "Invalid or missing superU-Api-Key."
}{
"status": "error",
"code": "NOT_FOUND",
"message": "Resource not found."
}{
"status": "error",
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected server error occurred."
}{
"status": "error",
"code": "NOT_IMPLEMENTED",
"message": "This endpoint is not implemented for your workspace."
}Authorizations
Your SuperU API key.
Path Parameters
Assistant ID or all
Example:
"all"
Query Parameters
Records per page
Required range:
1 <= x <= 100Example:
20
Page number
Required range:
x >= 1Example:
1
Upper timestamp/date bound
Example:
"2026-02-01T00:00:00Z"
Lower timestamp/date bound
Example:
"2026-01-01T00:00:00Z"
Call status filter
Example:
"completed"
Campaign filter
Example:
"demo_call"
Search filter
Example:
"Ava"
Response
Call logs returned
Hangup Causes
| Cause | Description |
|---|---|
| Normal Completions | |
| Agent Hangup | Agent hangup the call |
| Normal Hangup | Call terminated normally |
| End of XML Instructions | No more XML instructions to execute |
| Multipart Call Ended | MPC ended via API or max duration |
| Kicked Out of Multiparty Call | Participant removed via API |
| Canceled Calls | |
| Unknown | Hangup reason undetermined |
| Canceled | Call canceled via Hangup Call API before answer |
| Canceled (Out of Credits) | Account ran out of credits |
| Canceled (Simultaneous dial limit reached) | Simultaneous dial limit exceeded |
| Destination Issues | |
| Invalid Destination Address | Destination number/endpoint invalid |
| Destination Out of Service | Destination unavailable |
| Endpoint Not Registered | SIP endpoint unregistered/unreachable |
| Destination Country Barred | Country disabled in geo permissions |
| Destination Number Barred | Premium rate numbers disabled |
| Destination Prefix Barred | Prefix not permitted |
| Loop Detected | B-leg would redial A leg's number |
| Violates Media Anchoring | India PSTN regulation violation |
| Call Rejections | |
| No Answer | Destination unavailable/unreachable |
| Busy Line | Destination is busy |
| Rejected | Call rejected by called party |
| Unkown Caller ID | Non-Plivo number used as caller ID |
| Forbiddden | Destination rejected/blocked call |
| Unallocated number | Destination invalid or out of service |
| Carrier Errors | |
| Request timeout | Carrier didn't respond in time |
| Internal server error from carrier | Carrier encountered error |
| Network congestion from carrier | Carrier network overloaded |
| Busy everywhere | All destination endpoints busy |
| Declined | Destination cannot/won't participate |
| User does not exist anywhere | End user doesn't exist |
| Spam block | Carrier rejected due to spam flag |
| DNO Caller ID | Caller ID on Do Not |
| System Errors | |
| Network Error | Fatal network condition |
| Internal Error | Plivo system error |
| Routing Error | Could not route to destination |
| Concurrency Limit Breached | India concurreny call limit exceeded |
| Timeouts | |
| Scheduled Hangup | Max call duration reached |
| Ring Timeout Reached | Not answered within ring timeout |
| Media Timeout | No media packets for 60 seconds |
| URL Errors | |
| Error Reaching Answer URL | Non-2xx response from answer URL |
| Error Reaching Action URL | Non-2xx response from action URL |
| Error Reaching Transfer URL | Non-2xx response from transfer URL |
| Error Reaching Redirect URL | Non-2xx response from redirect URL |
| Invalid Action URL | Action URL not valid |
| Invalid Transfer URL | Transfer URL not valid |
| Invalid Redirect URL | Redirect URL not valid |
| Invalid Method for Action URL | Unsupported HTTP method |
| Invalid Method for Transfer URL | Unsupported HTTP method |
| Invalid Method for Redirect URL | Unsupported HTTP method |
| XML Errors | |
| Invalid Answer XML | Answer URL returned invalid XML |
| Invalid Action XML | Action URL returned invalid XML |
| Invalid Transfer XML | Transfer URL returned invalid XML |
| Invalid Redirect XML | Redirect URL returned invalid XML |
| Special Cases | |
| Lost Race | Another parallel B-leg answered first |
| Machine Detected | Answered by answering machine |
| Confirm Key Challenge Failed | Participant failed to enter confirm key |
⌘I

