Documentation Index
Fetch the complete documentation index at: https://docs.freeplay.ai/llms.txt
Use this file to discover all available pages before exploring further.
Using Traces
Traces are an organizing component of a session. They are used to group completions together and provide a way to track the progress of a session. Named traces form the basis of Freeplay’s support for Agents. For a comprehensive guide on building agents with traces, see Agents.| Method Name | Parameters | Description |
|---|---|---|
session.create_trace | input: str - Input to the trace. agent_name: str (optional) - Name of the agent/trace. parent_id: UUID (optional) - Parent trace or completion ID for nesting. kind: str (optional) - Either 'tool' or 'agent'. name: str (optional) - Name of the trace/tool. custom_metadata: dict[str, Any] (optional) - Metadata to associate with the trace. | Generate a TraceInfo object that will be used to group completions |
trace.record_output | output: str - Output of the agent/trace. project_id: str - ID of the project to record to. eval_results: dict[str, Any] (optional) - Code evaluation results. test_run_info: TestRunInfo (optional) | Record the output to a trace |
traces.update | project_id: str - ID of the project. session_id: str - ID of the session. trace_id: str - ID of the trace. output: JSONValue (optional) - Updated output. metadata: dict (optional) - Custom metadata. feedback: dict (optional) - Customer feedback. eval_results: dict (optional) - Evaluation results. test_run_info: TestRunInfo (optional) - Test run information. | Update a trace after it has been recorded |
Adding Tools to Traces
When building agents that use tools, tool calls are recorded as the output of an LLM call by default. You can also add explicit tool spans to provide more data about tool execution, including latency and other metadata. These are recorded as a Trace withkind='tool' and linked to the parent completion using parent_id.
For complete examples and code snippets, see Tool Calls.
Updating a Trace
Freeplay allows you to update a trace after it has been recorded. This is useful for adding evaluation results, customer feedback, metadata, or updating the output. To do this, you need theproject_id, session_id, and trace_id. You must provide at least one of output, metadata, feedback, eval_results, or test_run_info.

