curl --request GET \
--url https://app.thinnest.ai/api/v1/calls/{id}/analysis \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.thinnest.ai/api/v1/calls/{id}/analysis', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.thinnest.ai/api/v1/calls/{id}/analysis"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "out_9f2c1a44-6b0e-4c1d-8a7f-2e5b3c9d1f60",
"callRef": "out_9f2c1a44-6b0e-4c1d-8a7f-2e5b3c9d1f60",
"status": "completed",
"outcome": {
"kind": "answered",
"label": "Answered"
},
"summary": "Asha is keen on a 2 BHK at Sky Towers with a budget around 80 lakh. She asked to visit the site on Saturday.",
"fields": {
"budget": 8000000,
"interest": "Hot",
"site_visit": true
},
"analysedAt": "2026-10-06T04:33:20.311Z"
}{
"error": "Send a valid API key as `Authorization: Bearer <key>`."
}{
"error": "No call with that id."
}{
"error": "Over 240 requests a minute. Slow down and retry."
}Get Call Analysis
What one call came to, without the transcript: the outcome as the console’s call log shows it (“Answered”, “Line busy”, “Answering machine”), the summary and the collected fields. outcome is null until the call has ended; analysedAt null means the summary and fields may still arrive, and call.analysed is sent the moment they do. Any id List Calls hands out works.
curl --request GET \
--url https://app.thinnest.ai/api/v1/calls/{id}/analysis \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.thinnest.ai/api/v1/calls/{id}/analysis', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.thinnest.ai/api/v1/calls/{id}/analysis"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "out_9f2c1a44-6b0e-4c1d-8a7f-2e5b3c9d1f60",
"callRef": "out_9f2c1a44-6b0e-4c1d-8a7f-2e5b3c9d1f60",
"status": "completed",
"outcome": {
"kind": "answered",
"label": "Answered"
},
"summary": "Asha is keen on a 2 BHK at Sky Towers with a budget around 80 lakh. She asked to visit the site on Saturday.",
"fields": {
"budget": 8000000,
"interest": "Hot",
"site_visit": true
},
"analysedAt": "2026-10-06T04:33:20.311Z"
}{
"error": "Send a valid API key as `Authorization: Bearer <key>`."
}{
"error": "No call with that id."
}{
"error": "Over 240 requests a minute. Slow down and retry."
}Authorizations
Your API key (ta_live_…) from Settings → API keys, sent as Authorization: Bearer <key>. Keep it on a server: it can message every customer you have. A key is full, build or read-only; a request its level does not allow is refused with 403.
Headers
Developers only: the customer workspace this request acts in — its org_… id from POST /customers. Leave it out to act in your own workspace.
"org_3fKq9TzQ1mN8vB2xR7cLpA"
Path Parameters
The call's id as Place Call or List Calls gave it: out_… or sch_… for a call you placed, the call reference for any other.
"out_9f2c1a44-6b0e-4c1d-8a7f-2e5b3c9d1f60"
Response
The call's analysis.
The call's id.
The attempt that rang.
Where the call is.
scheduled, ringing, connected, completed, missed, failed, cancelled How it ended. Null until it has.
Show child attributes
Show child attributes
Two or three sentences, when the call was summarised.
The collected details — the agent's fields, or the call's own extract.
When the post-call work finished. Null means the summary and fields may still change.