Skip to content
TriedDocs
Public endpoints

Get public call log

Read a call's runtime event log through the signed public_log_url.

GEThttps://api.tried.com.au/public/calls/{call_id}/log

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.

public_log_url looks like https://api.tried.com.au/public/calls/<call_id>/log?exp=<ms>&sig=<hex>.

  • exp is the expiry time in Unix ms. A new link is signed each time the call object is returned, valid for 7 days from then.
  • sig is an HMAC-SHA256 of the link kind, call ID and exp, keyed with the API's session secret. Changing any part of the URL breaks the signature.
  • Calls with call_status: "registered" have public_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.