Quickstart

Create and analyze your first call in a few requests.

Requirements

  • A Voxxi organization with at least one call category configured
  • An external API key for that organization
  • A call recording file (for example, demo-call.mp3)

Step 1: Configure base URL and API key

export VOXXI_BASE_URL="https://app.voxxi.ai/api/external/v1/"
export VOXXI_API_KEY="your_external_api_key"

Step 2: Create an agent

curl -X POST "${VOXXI_BASE_URL}agents" \
  -H "Authorization: Bearer $VOXXI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Agent",
    "email": "jane.agent@example.com"
  }'

Save data.id as MEMBER_ID.

Step 3: Request an upload URL

curl -X POST "${VOXXI_BASE_URL}calls/presigned-url" \
  -H "Authorization: Bearer $VOXXI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filename": "demo-call.mp3",
    "contentType": "audio/mpeg"
  }'

Save data.presignedUrl as PRESIGNED_URL and data.publicUrl as PUBLIC_URL.

Step 4: Upload audio

curl -X PUT "$PRESIGNED_URL" \
  -H "Content-Type: audio/mpeg" \
  --data-binary @demo-call.mp3

Step 5: Create a call

curl -X POST "${VOXXI_BASE_URL}calls" \
  -H "Authorization: Bearer $VOXXI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "memberId": "'"$MEMBER_ID"'",
    "categoryId": "'"$CATEGORY_ID"'",
    "audio_url": "'"$PUBLIC_URL"'"
  }'

Save data.callId as CALL_ID.

Step 6: Poll analysis

curl -X GET "${VOXXI_BASE_URL}calls/$CALL_ID/analysis" \
  -H "Authorization: Bearer $VOXXI_API_KEY"

Repeat until data.status becomes completed.