VocalDocscontracts 1.65.0

The Call trace

The Call trace explains one finalized Call: a timeline in segments (the setup, one per Turn, and the end), each holding marks on lanes, with the stages, the Providers that served them, quality flags and the cost of each Turn. It holds identifiers, codes and numbers; content is added only on request, with the scope for it, and every such read is audited.

On the Phase 0 host. Served: the trace since contracts 1.3.0, the latency and cost reads since 1.9.0 and 1.13.0, the OTLP form, the comparison, capture windows, reveal grants and the Call analytics since 1.57.0, and the content access read since 1.58.0.

Read the trace

GET /v1/calls/{call_id}/trace answers the segments with their marks. Parameters narrow and widen it:

  • turns limits the segments to a range of Turns.
  • include adds content classes, each with its scope for an API key: transcripts (transcripts:read), model_io (model_io:read) and tool_payloads (tool_payloads:read). Naming any class makes the read an audited content read.
  • The segments' cost needs usage:read.

GET /v1/calls/{call_id}/trace/otlp answers the same trace, metadata only, as an OTLP JSON ExportTraceServiceRequest your own collector accepts: a root span call.session, one span per segment and one span event per mark. Its trace id is the one of the traceparent header that started the Call, when there was one.

GET /v1/calls/{call_id}/compare aligns the Call with another finalized Call, or with the trailing 7-day percentiles of its Agent version (with=baseline), Turn by Turn, and answers the stage, Provider, Policy and cost deltas.

Who may see content

GET /v1/calls/{call_id}/content-access answers, for the caller, each content class of a Call as allowed, reveal or denied: an API key by its scopes, a Member by its role's cell in the Compliance profile and its active reveal grants. A reveal grant is a time-boxed right to read named classes of named Calls; under reveal_approval: required another owner or auditor approves it. Reveal grants are Member operations.

Capture more on purpose

A capture window makes the Calls of an Agent verbose for a while or for a number of Calls, so their traces keep model input and output. It is refused with 403 capture_not_allowed when the Compliance profile's verbose_capture forbids it. capture on POST /v1/calls asks the same for one Call.

Across Calls

The analytics reads aggregate over windows of Calls: stage percentiles and ended reasons, the Call counts by dimension, and the estimated cost, which rates the Calls from list prices and is not a bill. Alerts on latency regressions have their own settings, changed by an owner or admin in a Member session.