Returns every runtime event logged for a call. You do not build this URL yourself: open the public_log_url field of the call object. The link carries its own signature, so it works without an API key and can be passed to someone outside your workspace until it expires.
Signed links#
public_log_url looks like https://api.tried.com.au/public/calls/<call_id>/log?exp=<ms>&sig=<hex>.
expis the expiry time in Unix ms. A new link is signed each time the call object is returned, valid for 7 days from then.sigis an HMAC-SHA256 of the link kind, call ID andexp, keyed with the API's session secret. Changing any part of the URL breaks the signature.- Calls with
call_status: "registered"havepublic_log_url: null.
Fetch the call again to get a fresh link once one has expired.
Request#
Path parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
call_id |
string | Yes | The call. |
Query parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
exp |
string | Yes | Expiry from the signed link. |
sig |
string | Yes | Signature from the signed link. |
Example request#
curl "$PUBLIC_LOG_URL"const call = await (await fetch("https://api.tried.com.au/v2/get-call/call_c837e1e2d9691e32ae3bbd47", {
headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` },
})).json();
const log = await (await fetch(call.public_log_url)).json();import os, requests
call = requests.get(
"https://api.tried.com.au/v2/get-call/call_c837e1e2d9691e32ae3bbd47",
headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
).json()
log = requests.get(call["public_log_url"]).json()Response#
200 OK
{
"call_id": "call_c837e1e2d9691e32ae3bbd47",
"events": [
{ "type": "call_started", "ts": 1792310400000 },
{ "type": "utterance", "role": "agent", "content": "Hi, thanks for calling Harbour Dental.", "ts": 1792310400900 },
{ "type": "utterance", "role": "user", "content": "Are you open on Saturday?", "ts": 1792310404100 },
{ "type": "latency", "e2e_ms": 742, "asr_ms": 160, "llm_ms": 310, "tts_ms": 190 }
]
}| Field | Type | Description |
|---|---|---|
call_id |
string | The call. |
events |
array | Runtime events in the order they were stored. Each has a type, for example call_started, utterance, tool_call_invocation, tool_call_result, node_transition, dtmf, dynamic_variables or latency. Most carry ts in Unix ms. |
A call with no stored events returns an empty events array.
Errors#
| Status | When |
|---|---|
403 |
Invalid or expired link: exp or sig is missing, exp is in the past, or the signature does not match. |
429 |
Per-IP rate limit exceeded. See Rate limits. |
See Errors for the body format.