Calls
Reference documentation for Calls.
Endpoints
Create call
Creates a call record and asynchronously starts recording ingestion and analysis. memberId accepts either member id or agent email. If date is provided, createdAt/updatedAt are initialized from that timestamp (date-only values default to IST 09:00).
Request body
- Name
memberId- Type
- string, required
- Description
Agent identifier who handled the call. Accepts either member id or agent email.
- Name
categoryId- Type
- string, required
- Description
Call category id used for analysis.
- Name
audio_url- Type
- string, required
- Description
Public URL to a call recording. This URL is always ingested before analysis.
- Name
udfs- Type
- object
- Description
Optional user-defined fields to persist with this call.
- Name
date- Type
- string
- Description
Optional call date/time input. Supports YYYY-MM-DD (stored as IST 09:00 start of workday), ISO-8601 date-time, and common date-time formats like YYYY/MM/DD, DD-MM-YYYY, and DD/MM/YYYY with optional time.
Request
curl -X POST https://app.voxxi.ai/api/external/v1/calls \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"memberId":"string","categoryId":"string","audio_url":"https://example.com","udfs":{},"date":"string"}'
202 Response
{
"data": {
"callId": "string",
"status": "processing"
}
}
Get call analysis
Returns current analysis status and available analysis output for a call.
Required parameters
- Name
callId- Type
- string, required
- Description
Call id returned from the create call endpoint.
Request
curl -X GET https://app.voxxi.ai/api/external/v1/calls/callId/analysis \
-H "Authorization: Bearer {token}"
200 Response
{
"data": {
"callId": "string",
"status": "pending",
"analysis": {
"score": 0,
"outcomeLabel": "string",
"outcomeRationale": "string",
"callObservations": null,
"areasForImprovement": null,
"extractions": null,
"sections": [
{
"sectionId": "string",
"sectionName": "string",
"score": 0,
"totalScore": 0,
"criterias": [
{
"criteriaId": "string",
"question": "string",
"result": "string",
"rationale": "string"
}
]
}
]
},
"metadata": {
"date": "string",
"duration": 0,
"summary": "string",
"audioUrl": "https://example.com",
"udfs": {},
"createdAt": "2026-01-01T00:00:00Z",
"updatedAt": "2026-01-01T00:00:00Z"
}
}
}
Create presigned upload URL
Creates a temporary signed URL to upload an audio file to Voxxi-managed storage.
Request body
- Name
filename- Type
- string, required
- Description
Original file name, including extension.
- Name
contentType- Type
- string, required
- Description
MIME type of the audio file.
Request
curl -X POST https://app.voxxi.ai/api/external/v1/calls/presigned-url \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"filename":"string","contentType":"string"}'
200 Response
{
"data": {
"key": "string",
"presignedUrl": "https://example.com",
"publicUrl": "https://example.com"
}
}