Recursively generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
id is this run's UUID.
app_path identifies the application code location that produced this run, if
recorded.
attachments maps each attachment file name to a pre-signed HTTPS download URL.
completion_cost is estimated USD cost for the completion.
completion_cost_details is the per-category USD breakdown of
completion_cost.
Categories mirror completion_token_details. Returned only when the
COMPLETION_COST_DETAILS field is requested.
completion_token_details is the per-category breakdown of completion_tokens.
Category names are model-specific (for example reasoning, audio). Returned
only when the COMPLETION_TOKEN_DETAILS field is requested.
completion_tokens is the completion-side token count.
dotted_order is the hierarchical ordering key for trace trees.
end_time is when the run ended (RFC3339 date-time).
JSON null if the run has not finished yet.
error is the error message when status indicates failure.
error_preview is a truncated plain-text error snippet.
events is the ordered list of run events (for example streaming tokens).
extra is additional runtime JSON attached to the run.
feedback_stats aggregates feedback scores keyed by feedback key.
first_token_time is when the first output token was produced (RFC3339
date-time), when recorded for streamed runs.
inputs is the run input payload (arbitrary JSON object).
inputs_preview is a truncated plain-text preview of inputs.
is_in_dataset is true when this run is linked to a dataset example.
is_root is true when this run has no parent (it is the trace root).
latency_seconds is wall-clock duration from start to end in seconds.
manifest is the serialized configuration of the traced component (for example
the model parameters, prompt template, or pipeline definition), when recorded.
metadata is arbitrary user-defined JSON metadata.
name is a human-readable label for the run (for example the model name,
function name, or step name chosen when the run was traced).
outputs is the run output payload (arbitrary JSON object).
outputs_preview is a truncated plain-text preview of outputs.
parent_run_ids lists ancestor run UUIDs from the trace root down to the direct
parent.
price_model_id identifies the pricing model UUID used for cost estimates, when
recorded.
project_id is the tracing project UUID this run was logged to.
prompt_cost is estimated USD cost for the prompt.
prompt_cost_details is the per-category USD breakdown of prompt_cost.
Categories mirror prompt_token_details. Returned only when the
PROMPT_COST_DETAILS field is requested.
prompt_token_details is the per-category breakdown of prompt_tokens.
Category names are model-specific (for example cache_read, cache_write).
Returned only when the PROMPT_TOKEN_DETAILS field is requested.
prompt_tokens is the prompt-side token count.
reference_dataset_id is the dataset UUID for the reference example, if any.
reference_example_id is the dataset example UUID this run was compared
against, if any.
run_type identifies what kind of operation this run represents (for example an
LLM call, a tool invocation, or a chain step). See the RunType enum for
allowed values.
share_url is the fully-qualified URL of this run's public view, rooted at the
deployment's LangSmith app origin (for example
https://smith.langchain.com/public/4f7a1b2c-8d9e-4a0b-9c1d-2e3f4a5b6c7d/r). It
is returned only when SHARE_URL is included in selects, and only when the
run has been explicitly shared; the URL remains stable until the run is
unshared. Anyone with this URL can view the run anonymously, so treat it as a
secret and do not log it.
start_time is when the run started (RFC3339 date-time).
status is the completion status of the run.
tags lists user-defined tags on this run.
thread_evaluation_time is thread-level evaluation timing (RFC3339 date-time),
when recorded.
thread_id is the conversation thread UUID this run belongs to, if any.
total_cost is total estimated USD cost (prompt plus completion).
total_tokens is prompt plus completion tokens.
trace_id is the root trace UUID; for a root run it matches id.