Prompt Logs

List prompt logs for a workspace

get

Lists prompt_log events emitted by agent-engine — full system prompt, conversation history, tool catalog, LLM model, and response — for auditing and debugging. Reads the Delta world_events ledger via Databricks SQL; typical latency is 1-5s with a 15s ceiling on cold-start.

Conversation filter: pass conversation_id (UUID from world.entities) for the canonical mental model — works uniformly across voice, text, sim, and scribe modalities. call_sid is the legacy direct-SID filter (Twilio CA-SID for voice, session_id UUID otherwise) and is mutually exclusive with conversation_id.

Other filters: prompt_type, state_name, from_ts, to_ts. When no selectivity-bearing filter (conversation_id / call_sid / time range) is supplied, the query is auto-capped to the last 7 days; the applied window is reported in applied_time_window_days.

Pagination: peek-ahead — has_more is true when more rows exist; use next_offset to fetch the next page.

Auth: admin or owner role required. Reads are audit-logged (prompt_logs.queried); responses can include PHI from prompt history.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Query parameters
conversation_idany ofOptional

Conversation entity UUID (canonical identifier across all modalities — voice, text/web, sms, sim, scribe). Resolves to the underlying call_sid via world.entities. Mutually exclusive with the call_sid query parameter.

string · uuidOptional
or
nullOptional
call_sidany ofOptional

Direct conversation identifier as stored on the prompt-log event: Twilio CA-SID for voice calls, session_id UUID for text/sim/scribe sessions. Most callers should use conversation_id instead — this is kept for legacy callers and external systems that hold the SID directly. Mutually exclusive with conversation_id.

string · max: 64Optional
or
nullOptional
prompt_typeany ofOptional

Filter by prompt_type (e.g. engage_user, navigation, tool)

string · max: 64Optional
or
nullOptional
state_nameany ofOptional

Filter by HSM state_name at render time

string · max: 128Optional
or
nullOptional
from_tsany ofOptional

Inclusive lower bound on effective_at

string · date-timeOptional
or
nullOptional
to_tsany ofOptional

Exclusive upper bound on effective_at

string · date-timeOptional
or
nullOptional
limitinteger · min: 1 · max: 200Optional

Max rows to return (default 20, max 200)

Default: 20
offsetinteger · max: 10000Optional

Offset for pagination (max 10000)

Default: 0
Responses
chevron-right
200

Prompt log entries (newest first)

application/json
countintegerRequired
has_morebooleanRequired
next_offsetany ofOptional

Pass back as offset to fetch the next page; null when has_more is false

integerOptional
or
nullOptional
applied_time_window_daysany ofOptional

Auto-applied time bound (in days) when no call_sid/from_ts/to_ts was passed. Null when the caller supplied an explicit selectivity-bearing filter.

integerOptional
or
nullOptional
resolved_call_sidany ofOptional

When conversation_id was supplied, this is the underlying call_sid that the lookup resolved to. Useful for callers that want to drill into per-call surfaces afterward without re-querying world.entities. Null when the caller filtered by call_sid directly or did not filter by conversation.

string · max: 64Optional
or
nullOptional
resolved_conversation_kindany ofOptional

entity_type of the conversation entity when conversation_id was supplied (call for voice/sim/scribe, conversation for text/sms/whatsapp/email). Null otherwise.

string · enumOptionalPossible values:
or
nullOptional
get
/v1/{workspace_id}/prompt-logs

Last updated

Was this helpful?