Per-call emotion arc — per-turn 4-axis timeline + final sentiment
GET
/api/v1/calls/{call_id}/emotions
const url = 'https://api.ultimateteam.ai/api/v1/calls/example/emotions';const options = {method: 'GET', headers: {'X-API-Key': '<X-API-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.ultimateteam.ai/api/v1/calls/example/emotions \ --header 'X-API-Key: <X-API-Key>'Return the emotion arc for a single call.
Tenant isolation: the repository is called with
tenant_id = UUID(user.tenant_id) so another tenant cannot
retrieve this call’s scores even if they guess the call_id.
Args: call_id: Retell call identifier. user: Authenticated principal (injected). session: Async DB session (injected).
Returns:
The canonical emotion arc JSON shape; see
:meth:EmotionArc.as_dict.
Raises:
HTTPException: 404 when no emotion rows exist for the
authenticated tenant’s copy of call_id.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”call_id
required
Call Id
string
Responses
Section titled “ Responses ”Successful Response
Media typeapplication/json
Response Emotion Arc Endpoint Api V1 Calls Call Id Emotions Get
object
key
additional properties
any
Examplegenerated
{}Validation Error
Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}