Re-runs post-call analysis in the background on ended calls that match the filters. Use it after you add a new analysis field so older calls get a value. Backfills do not send call_analyzed webhooks and do not trigger CRM or contact updates. Beyond Retell
Request#
Body#
| Field | Type | Required | Description |
|---|---|---|---|
agent_ids |
string[] | No | Only calls from these agents. Default: all agents. |
from |
integer | No | Created at or after, epoch ms. |
to |
integer | No | Created at or before, epoch ms. |
only_missing |
string[] | No | Only calls where at least one of these custom_analysis_data keys has no value. |
limit |
integer | No | 1 to 2000 newest matching calls. Default 500. |
Example request#
curl -X POST "https://api.tried.com.au/backfill-call-analysis" \
-H "Authorization: Bearer $TRIED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_ids": [
"agent_3f9a1c0b2d4e5f6a7b8c9d0e"
],
"only_missing": [
"appointment_date"
],
"limit": 1000
}'const res = await fetch("https://api.tried.com.au/backfill-call-analysis", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.TRIED_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"agent_ids": [
"agent_3f9a1c0b2d4e5f6a7b8c9d0e"
],
"only_missing": [
"appointment_date"
],
"limit": 1000
}),
});
const data = await res.json();import os, requests
res = requests.post(
"https://api.tried.com.au/backfill-call-analysis",
headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
json={
"agent_ids": ["agent_3f9a1c0b2d4e5f6a7b8c9d0e"],
"only_missing": ["appointment_date"],
"limit": 1000,
},
)
data = res.json()Response#
202 Accepted
{ "queued": 214, "matched": 1000 }| Field | Type | Description |
|---|---|---|
matched |
integer | Ended calls that matched agent_ids, from, to and limit. |
queued |
integer | Calls queued for analysis after the only_missing check. |
Errors#
| Status | When |
|---|---|
400 |
Validation failed. |
401 |
Missing or invalid API key. |
403 |
The key's IP allowlist or scopes reject the request. This route needs the calls scope. |
429 |
Rate limit exceeded. See Rate limits. |
See Errors for the body format.