curl -X POST 'https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/analyze' \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"confirm_count": 2}'
const res = await fetch('https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/analyze', {
method: 'POST',
headers: {
Authorization: 'Bearer your-api-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"confirm_count": 2
}),
});
const { success, data, message, code } = await res.json();
if (!success) throw new Error(`${code}: ${message}`);
Call Analysis
Analyze Batch
Start analysis of one batch
POST
/
deep-analytics
/
analysis-agents
/
:agentId
/
batches
/
:batchId
/
analyze
curl -X POST 'https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/analyze' \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"confirm_count": 2}'
const res = await fetch('https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/analyze', {
method: 'POST',
headers: {
Authorization: 'Bearer your-api-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"confirm_count": 2
}),
});
const { success, data, message, code } = await res.json();
if (!success) throw new Error(`${code}: ${message}`);
Queues every valid row of the batch.
confirm_count must equal the number of valid rows, so you always confirm what will be analyzed and paid for.
Needs
manage on the analyzer.Request
Headers
Path
Body
The number of valid rows in the batch (
valid from Create Batch). 0 or moreResponse
200committed is how many recordings this call queued. starting_now start right away. waiting_for_upload start when their audio is verified. already_committed were queued before, so repeating a call commits nothing new. estimated_credits_usd is an estimate of the speech-to-text cost. estimate_partial is true when duration_unknown_count recordings have no known length.
Analysis uses paid speech-to-text and model credits.
{
"success": true,
"data": {
"committed": 2,
"starting_now": 2,
"waiting_for_upload": 0,
"already_committed": 0,
"estimated_credits_usd": 0.04,
"estimate_partial": false,
"duration_unknown_count": 0
}
}
Errors
Errors use{ "success": false, "message": "...", "code": "..." }. See the overview for the codes every route can return.
This endpoint
| Status | Code | When |
|---|---|---|
| 409 | COMMIT_CONFIRMATION_MISMATCH | confirm_count is not the server’s count. Read the count again and resend |
| 404 | NOT_FOUND | The batch is not a batch of this analyzer |
Example
curl -X POST 'https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/analyze' \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"confirm_count": 2}'
const res = await fetch('https://api.60db.ai/deep-analytics/analysis-agents/3f1c2d4e-5a6b-4c7d-8e9f-0a1b2c3d4e5f/batches/9b7e6d5c-4b3a-4291-8f0e-1d2c3b4a5968/analyze', {
method: 'POST',
headers: {
Authorization: 'Bearer your-api-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"confirm_count": 2
}),
});
const { success, data, message, code } = await res.json();
if (!success) throw new Error(`${code}: ${message}`);