one.mp3 and two.mp3.
The key must have the Call analysis permission. New keys have it. For a key created earlier, open Developers → API keys, edit the key and switch on Call analysis. Without it every call returns
403 DA_API_KEY_SCOPE_MISSING. See Permissions.jq to read IDs from responses. Every response is { "success": true, "data": ... }.
1
Create an analyzer
2
Create a batch for your files
The CSV lists the files by The response shows
file_name. Audio is not sent here.total, valid and invalid rows.3
Find the row for each file
id of one.mp3 as ITEM. Repeat steps 4 to 6 for each file.4
Get an upload slot
5
Upload the file to storage
Send every entry of
upload.fields first, then the file as the last field, file. Do not send your API key to storage.A
2xx reply means success. Storage answers 403 when the slot expired and 400 when the size or type does not match. The same flow in code is in the JavaScript section.6
Confirm the upload
ASSET_* code.7
Analyze
The This uses credits. The response includes
confirm_count must equal the number of recordings in status ready.estimated_credits_usd.8
Poll until done
status is done or failed.9
Read the results
The same in JavaScript
Next steps
- Watch your AI agents or dialer numbers so new calls are analyzed automatically: Set sources
- Add recordings by URL instead of upload: Create batch with
csv_urls, then Fetch recordings - Improve your AI agent from a bad call: Suggest agent fix
- All limits and errors: Call Analysis API