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.
categoryId must belong to your organization. Use the category id shown in your Voxxi app.