Deployment
Each deployment generates a unique ID. View logs in the console.
Call Logs
You can click into a call and view any logging statements generated by your reasoning code.Transcripts
Each call has a transcript with independently separated transcribed audio and text to be generated. When you export these transcripts with the API or CLI, these include more granular turn level timestamps.
Loggable Events
Record events without tying them to tool calls.SDK
In the SDK, yieldLogMessage events from your agent or tools to record custom events:
Websocket
If you’re not using the SDK and instead just relying on the bare websocket, logging events will look like this:Playground
You can view these events in the Playground under theTranscript tab of the call.
Loggable Metrics
Record metrics at any point in your workflow.SDK
In the context of the SDK, we can log a metric by broadcasting theLogMetric event.
Here’s a snippet from the form filling template that exhibits this:
LogMetric event by default, and it will
log it over the websocket by default when it sees that LogMetric has been broadcast.
Websocket
If you’re not using the SDK and instead just relying on the bare websocket, logging metrics will look like this:Playground
You can view these events in the Playground under theTranscript tab of the call.

Call Recordings
Call recordings can be downloaded from the playground.
Webhooks
On call start, completion, or failure, Cartesia **POST**s JSON (full transcript) to your HTTPS URL. Expose POST + application/json, read the fields in Webhook payload. The webhook secret x-webhook-secret on each request must match that secret or return 401.

Verify the webhook secret
Cartesia sends the webhook secret onx-webhook-secret. Compare it to the value you stored when you created the webhook so you know the POST is from Cartesia.
- Python
- TypeScript
Test your endpoint with curl
Test your endpoint authentication using x-webhook-secret.
200 when the handler accepts the request.
Webhook payload
| Field | Description |
|---|---|
type | One of call_started, call_completed, or call_failed. |
request_id | Unique id for the call session. |
agent_id | Agent that handled the call. |
webhook_id | Webhook config id. |
body | Transcript turns (see below). |
timestamp | RFC 3339 event time. |
body
| Field | Description |
|---|---|
role | assistant or user. |
text | Turn text. |
start_timestamp / end_timestamp | Seconds on the audio timeline. |
tts_ttfb | Assistant TTS time-to-first-byte (seconds), when present. |