Calls

Reference documentation for Calls.

Endpoints


POST/calls

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

POST
/calls
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/calls/{callId}/analysis

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

GET
/calls/{callId}/analysis
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"
    }
  }
}

POST/calls/presigned-url

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

POST
/calls/presigned-url
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"
  }
}