API Overview
class ActionsExecuteBatchReq
Pydantic Fields:
project_id
:<class 'str'>
action_ref
:<class 'str'>
call_ids
:list[str]
wb_user_id
:typing.Optional[str]
class ActionsExecuteBatchRes
class BaseModelStrict
Base model with strict validation that forbids extra fields.
class CallBatchEndMode
Pydantic Fields:
mode
:<class 'str'>
req
:<class 'CallEndReq'>
class CallBatchStartMode
Pydantic Fields:
mode
:<class 'str'>
req
:<class 'CallStartReq'>
class CallCreateBatchReq
Pydantic Fields:
batch
:list[typing.Union[CallBatchStartMode, CallBatchEndMode]]
class CallCreateBatchRes
Pydantic Fields:
res
:list[typing.Union[CallStartRes, CallEndRes]]
class CallEndReq
Pydantic Fields:
end
:<class 'EndedCallSchemaForInsert'>
class CallEndRes
class CallReadReq
Pydantic Fields:
project_id
:<class 'str'>
id
:<class 'str'>
include_costs
:typing.Optional[bool]
include_storage_size
:typing.Optional[bool]
include_total_storage_size
:typing.Optional[bool]
class CallReadRes
Pydantic Fields:
call
:typing.Optional[CallSchema]
class CallSchema
Pydantic Fields:
id
:<class 'str'>
project_id
:<class 'str'>
op_name
:<class 'str'>
display_name
:typing.Optional[str]
trace_id
:<class 'str'>
parent_id
:typing.Optional[str]
thread_id
:typing.Optional[str]
turn_id
:typing.Optional[str]
started_at
:<class 'datetime.datetime'>
attributes
:dict[str, typing.Any]
inputs
:dict[str, typing.Any]
ended_at
:typing.Optional[datetime.datetime]
exception
:typing.Optional[str]
output
:typing.Optional[typing.Any]
summary
:typing.Optional[SummaryMap]
wb_user_id
:typing.Optional[str]
wb_run_id
:typing.Optional[str]
wb_run_step
:typing.Optional[int]
wb_run_step_end
:typing.Optional[int]
deleted_at
:typing.Optional[datetime.datetime]
storage_size_bytes
:typing.Optional[int]
total_storage_size_bytes
:typing.Optional[int]
method serialize_typed_dicts
class CallStartReq
Pydantic Fields:
start
:<class 'StartedCallSchemaForInsert'>
class CallStartRes
Pydantic Fields:
id
:<class 'str'>
trace_id
:<class 'str'>
class CallUpdateReq
Pydantic Fields:
project_id
:<class 'str'>
call_id
:<class 'str'>
display_name
:typing.Optional[str]
wb_user_id
:typing.Optional[str]
class CallUpdateRes
class CallsDeleteReq
Pydantic Fields:
project_id
:<class 'str'>
call_ids
:list[str]
wb_user_id
:typing.Optional[str]
class CallsDeleteRes
class CallsFilter
Pydantic Fields:
op_names
:typing.Optional[list[str]]
input_refs
:typing.Optional[list[str]]
output_refs
:typing.Optional[list[str]]
parent_ids
:typing.Optional[list[str]]
trace_ids
:typing.Optional[list[str]]
call_ids
:typing.Optional[list[str]]
thread_ids
:typing.Optional[list[str]]
turn_ids
:typing.Optional[list[str]]
trace_roots_only
:typing.Optional[bool]
wb_user_ids
:typing.Optional[list[str]]
wb_run_ids
:typing.Optional[list[str]]
class CallsQueryReq
Pydantic Fields:
project_id
:<class 'str'>
filter
:typing.Optional[CallsFilter]
limit
:typing.Optional[int]
offset
:typing.Optional[int]
sort_by
:typing.Optional[list[SortBy]]
query
:typing.Optional[weave.trace_server.interface.query.Query]
include_costs
:typing.Optional[bool]
include_feedback
:typing.Optional[bool]
include_storage_size
:typing.Optional[bool]
include_total_storage_size
:typing.Optional[bool]
columns
:typing.Optional[list[str]]
expand_columns
:typing.Optional[list[str]]
return_expanded_column_values
:typing.Optional[bool]
class CallsQueryRes
Pydantic Fields:
calls
:list[CallSchema]
class CallsQueryStatsReq
Pydantic Fields:
project_id
:<class 'str'>
filter
:typing.Optional[CallsFilter]
query
:typing.Optional[weave.trace_server.interface.query.Query]
limit
:typing.Optional[int]
include_total_storage_size
:typing.Optional[bool]
expand_columns
:typing.Optional[list[str]]
class CallsQueryStatsRes
Pydantic Fields:
count
:<class 'int'>
total_storage_size_bytes
:typing.Optional[int]
class CompletionsCreateReq
Pydantic Fields:
project_id
:<class 'str'>
inputs
:<class 'CompletionsCreateRequestInputs'>
wb_user_id
:typing.Optional[str]
track_llm_call
:typing.Optional[bool]
class CompletionsCreateRequestInputs
Pydantic Fields:
model
:<class 'str'>
messages
:<class 'list'>
timeout
:typing.Union[float, str, NoneType]
temperature
:typing.Optional[float]
top_p
:typing.Optional[float]
n
:typing.Optional[int]
stop
:typing.Union[str, list, NoneType]
max_completion_tokens
:typing.Optional[int]
max_tokens
:typing.Optional[int]
modalities
:typing.Optional[list]
presence_penalty
:typing.Optional[float]
frequency_penalty
:typing.Optional[float]
stream
:typing.Optional[bool]
logit_bias
:typing.Optional[dict]
user
:typing.Optional[str]
response_format
:typing.Union[dict, type[pydantic.main.BaseModel], NoneType]
seed
:typing.Optional[int]
tools
:typing.Optional[list]
tool_choice
:typing.Union[str, dict, NoneType]
logprobs
:typing.Optional[bool]
top_logprobs
:typing.Optional[int]
parallel_tool_calls
:typing.Optional[bool]
extra_headers
:typing.Optional[dict]
functions
:typing.Optional[list]
function_call
:typing.Optional[str]
api_version
:typing.Optional[str]
class CompletionsCreateRes
Pydantic Fields:
response
:dict[str, typing.Any]
weave_call_id
:typing.Optional[str]
class CostCreateInput
Pydantic Fields:
prompt_token_cost
:<class 'float'>
completion_token_cost
:<class 'float'>
prompt_token_cost_unit
:typing.Optional[str]
completion_token_cost_unit
:typing.Optional[str]
effective_date
:typing.Optional[datetime.datetime]
provider_id
:typing.Optional[str]
class CostCreateReq
Pydantic Fields:
project_id
:<class 'str'>
costs
:dict[str, CostCreateInput]
wb_user_id
:typing.Optional[str]
class CostCreateRes
Pydantic Fields:
ids
:list[tuple[str, str]]
class CostPurgeReq
Pydantic Fields:
project_id
:<class 'str'>
query
:<class 'weave.trace_server.interface.query.Query'>
class CostPurgeRes
class CostQueryOutput
Pydantic Fields:
id
:typing.Optional[str]
llm_id
:typing.Optional[str]
prompt_token_cost
:typing.Optional[float]
completion_token_cost
:typing.Optional[float]
prompt_token_cost_unit
:typing.Optional[str]
completion_token_cost_unit
:typing.Optional[str]
effective_date
:typing.Optional[datetime.datetime]
provider_id
:typing.Optional[str]
class CostQueryReq
Pydantic Fields:
project_id
:<class 'str'>
fields
:typing.Optional[list[str]]
query
:typing.Optional[weave.trace_server.interface.query.Query]
sort_by
:typing.Optional[list[SortBy]]
limit
:typing.Optional[int]
offset
:typing.Optional[int]
class CostQueryRes
Pydantic Fields:
results
:list[CostQueryOutput]
class EndedCallSchemaForInsert
Pydantic Fields:
project_id
:<class 'str'>
id
:<class 'str'>
ended_at
:<class 'datetime.datetime'>
exception
:typing.Optional[str]
output
:typing.Optional[typing.Any]
summary
:<class 'SummaryInsertMap'>
wb_run_step_end
:typing.Optional[int]
method serialize_typed_dicts
class EnsureProjectExistsRes
Pydantic Fields:
project_name
:<class 'str'>
class EvaluateModelReq
Pydantic Fields:
project_id
:<class 'str'>
evaluation_ref
:<class 'str'>
model_ref
:<class 'str'>
wb_user_id
:typing.Optional[str]
class EvaluateModelRes
Pydantic Fields:
call_id
:<class 'str'>
class EvaluationStatusComplete
Pydantic Fields:
code
:typing.Literal['complete']
output
:dict[str, typing.Any]
class EvaluationStatusFailed
Pydantic Fields:
code
:typing.Literal['failed']
error
:typing.Optional[str]
class EvaluationStatusNotFound
Pydantic Fields:
code
:typing.Literal['not_found']
class EvaluationStatusReq
Pydantic Fields:
project_id
:<class 'str'>
call_id
:<class 'str'>
class EvaluationStatusRes
Pydantic Fields:
status
:typing.Union[EvaluationStatusNotFound, EvaluationStatusRunning, EvaluationStatusFailed, EvaluationStatusComplete]
class EvaluationStatusRunning
Pydantic Fields:
code
:typing.Literal['running']
completed_rows
:<class 'int'>
total_rows
:<class 'int'>
class ExportTracePartialSuccess
Pydantic Fields:
rejected_spans
:<class 'int'>
error_message
:<class 'str'>
class ExtraKeysTypedDict
class Feedback
Pydantic Fields:
id
:<class 'str'>
project_id
:<class 'str'>
weave_ref
:<class 'str'>
creator
:typing.Optional[str]
feedback_type
:<class 'str'>
payload
:dict[str, typing.Any]
annotation_ref
:typing.Optional[str]
runnable_ref
:typing.Optional[str]
call_ref
:typing.Optional[str]
trigger_ref
:typing.Optional[str]
wb_user_id
:typing.Optional[str]
created_at
:<class 'datetime.datetime'>
class FeedbackCreateBatchReq
Pydantic Fields:
batch
:list[FeedbackCreateReq]
class FeedbackCreateBatchRes
Pydantic Fields:
res
:list[FeedbackCreateRes]
class FeedbackCreateReq
Pydantic Fields:
id
:typing.Optional[str]
project_id
:<class 'str'>
weave_ref
:<class 'str'>
creator
:typing.Optional[str]
feedback_type
:<class 'str'>
payload
:dict[str, typing.Any]
annotation_ref
:typing.Optional[str]
runnable_ref
:typing.Optional[str]
call_ref
:typing.Optional[str]
trigger_ref
:typing.Optional[str]
wb_user_id
:typing.Optional[str]
class FeedbackCreateRes
Pydantic Fields:
id
:<class 'str'>
created_at
:<class 'datetime.datetime'>
wb_user_id
:<class 'str'>
payload
:dict[str, typing.Any]
class FeedbackDict
class FeedbackPurgeReq
Pydantic Fields:
project_id
:<class 'str'>
query
:<class 'weave.trace_server.interface.query.Query'>
class FeedbackPurgeRes
class FeedbackQueryReq
Pydantic Fields:
project_id
:<class 'str'>
fields
:typing.Optional[list[str]]
query
:typing.Optional[weave.trace_server.interface.query.Query]
sort_by
:typing.Optional[list[SortBy]]
limit
:typing.Optional[int]
offset
:typing.Optional[int]
class FeedbackQueryRes
Pydantic Fields:
result
:list[dict[str, typing.Any]]
class FeedbackReplaceReq
Pydantic Fields:
id
:typing.Optional[str]
project_id
:<class 'str'>
weave_ref
:<class 'str'>
creator
:typing.Optional[str]
feedback_type
:<class 'str'>
payload
:dict[str, typing.Any]
annotation_ref
:typing.Optional[str]
runnable_ref
:typing.Optional[str]
call_ref
:typing.Optional[str]
trigger_ref
:typing.Optional[str]
wb_user_id
:typing.Optional[str]
feedback_id
:<class 'str'>
class FeedbackReplaceRes
Pydantic Fields:
id
:<class 'str'>
created_at
:<class 'datetime.datetime'>
wb_user_id
:<class 'str'>
payload
:dict[str, typing.Any]
class FileContentReadReq
Pydantic Fields:
project_id
:<class 'str'>
digest
:<class 'str'>
class FileContentReadRes
Pydantic Fields:
content
:<class 'bytes'>
class FileCreateReq
Pydantic Fields:
project_id
:<class 'str'>
name
:<class 'str'>
content
:<class 'bytes'>
class FileCreateRes
Pydantic Fields:
digest
:<class 'str'>
class FilesStatsReq
Pydantic Fields:
project_id
:<class 'str'>
class FilesStatsRes
Pydantic Fields:
total_size_bytes
:<class 'int'>
class ImageGenerationCreateReq
Pydantic Fields:
project_id
:<class 'str'>
inputs
:<class 'ImageGenerationRequestInputs'>
wb_user_id
:typing.Optional[str]
track_llm_call
:typing.Optional[bool]
class ImageGenerationCreateRes
Pydantic Fields:
response
:dict[str, typing.Any]
weave_call_id
:typing.Optional[str]
class ImageGenerationRequestInputs
Pydantic Fields:
model
:<class 'str'>
prompt
:<class 'str'>
n
:typing.Optional[int]
class LLMCostSchema
class LLMUsageSchema
class ObjCreateReq
Pydantic Fields:
obj
:<class 'ObjSchemaForInsert'>
class ObjCreateRes
Pydantic Fields:
digest
:<class 'str'>
class ObjDeleteReq
Pydantic Fields:
project_id
:<class 'str'>
object_id
:<class 'str'>
digests
:typing.Optional[list[str]]
class ObjDeleteRes
Pydantic Fields:
num_deleted
:<class 'int'>
class ObjQueryReq
Pydantic Fields:
project_id
:<class 'str'>
filter
:typing.Optional[ObjectVersionFilter]
limit
:typing.Optional[int]
offset
:typing.Optional[int]
sort_by
:typing.Optional[list[SortBy]]
metadata_only
:typing.Optional[bool]
include_storage_size
:typing.Optional[bool]
class ObjQueryRes
Pydantic Fields:
objs
:list[ObjSchema]
class ObjReadReq
Pydantic Fields:
project_id
:<class 'str'>
object_id
:<class 'str'>
digest
:<class 'str'>
metadata_only
:typing.Optional[bool]
class ObjReadRes
Pydantic Fields:
obj
:<class 'ObjSchema'>
class ObjSchema
Pydantic Fields:
project_id
:<class 'str'>
object_id
:<class 'str'>
created_at
:<class 'datetime.datetime'>
deleted_at
:typing.Optional[datetime.datetime]
digest
:<class 'str'>
version_index
:<class 'int'>
is_latest
:<class 'int'>
kind
:<class 'str'>
base_object_class
:typing.Optional[str]
leaf_object_class
:typing.Optional[str]
val
:typing.Any
wb_user_id
:typing.Optional[str]
size_bytes
:typing.Optional[int]
class ObjSchemaForInsert
Pydantic Fields:
project_id
:<class 'str'>
object_id
:<class 'str'>
val
:typing.Any
builtin_object_class
:typing.Optional[str]
set_base_object_class
:typing.Optional[str]
wb_user_id
:typing.Optional[str]
method model_post_init
class ObjectVersionFilter
Pydantic Fields:
base_object_classes
:typing.Optional[list[str]]
exclude_base_object_classes
:typing.Optional[list[str]]
leaf_object_classes
:typing.Optional[list[str]]
object_ids
:typing.Optional[list[str]]
is_op
:typing.Optional[bool]
latest_only
:typing.Optional[bool]
class OpCreateReq
Pydantic Fields:
op_obj
:<class 'ObjSchemaForInsert'>
class OpCreateRes
Pydantic Fields:
digest
:<class 'str'>
class OpQueryReq
Pydantic Fields:
project_id
:<class 'str'>
filter
:typing.Optional[OpVersionFilter]
class OpQueryRes
Pydantic Fields:
op_objs
:list[ObjSchema]
class OpReadReq
Pydantic Fields:
project_id
:<class 'str'>
name
:<class 'str'>
digest
:<class 'str'>
class OpReadRes
Pydantic Fields:
op_obj
:<class 'ObjSchema'>
class OpVersionFilter
Pydantic Fields:
op_names
:typing.Optional[list[str]]
latest_only
:typing.Optional[bool]
class OtelExportReq
Pydantic Fields:
project_id
:<class 'str'>
traces
:typing.Any
wb_user_id
:typing.Optional[str]
class OtelExportRes
Pydantic Fields:
partial_success
:typing.Optional[ExportTracePartialSuccess]
class ProjectStatsReq
Pydantic Fields:
project_id
:<class 'str'>
include_trace_storage_size
:typing.Optional[bool]
include_object_storage_size
:typing.Optional[bool]
include_table_storage_size
:typing.Optional[bool]
include_file_storage_size
:typing.Optional[bool]
class ProjectStatsRes
Pydantic Fields:
trace_storage_size_bytes
:<class 'int'>
objects_storage_size_bytes
:<class 'int'>
tables_storage_size_bytes
:<class 'int'>
files_storage_size_bytes
:<class 'int'>
class RefsReadBatchReq
Pydantic Fields:
refs
:list[str]
class RefsReadBatchRes
Pydantic Fields:
vals
:list[typing.Any]
class SortBy
Pydantic Fields:
field
:<class 'str'>
direction
:typing.Literal['asc', 'desc']
class StartedCallSchemaForInsert
Pydantic Fields:
project_id
:<class 'str'>
id
:typing.Optional[str]
op_name
:<class 'str'>
display_name
:typing.Optional[str]
trace_id
:typing.Optional[str]
parent_id
:typing.Optional[str]
thread_id
:typing.Optional[str]
turn_id
:typing.Optional[str]
started_at
:<class 'datetime.datetime'>
attributes
:dict[str, typing.Any]
inputs
:dict[str, typing.Any]
wb_user_id
:typing.Optional[str]
wb_run_id
:typing.Optional[str]
wb_run_step
:typing.Optional[int]
class SummaryInsertMap
class SummaryMap
class TableAppendSpec
Pydantic Fields:
append
:<class 'TableAppendSpecPayload'>
class TableAppendSpecPayload
Pydantic Fields:
row
:dict[str, typing.Any]
class TableCreateFromDigestsReq
Pydantic Fields:
project_id
:<class 'str'>
row_digests
:list[str]
class TableCreateFromDigestsRes
Pydantic Fields:
digest
:<class 'str'>
class TableCreateReq
Pydantic Fields:
table
:<class 'TableSchemaForInsert'>
class TableCreateRes
Pydantic Fields:
digest
:<class 'str'>
row_digests
:list[str]
class TableInsertSpec
Pydantic Fields:
insert
:<class 'TableInsertSpecPayload'>
class TableInsertSpecPayload
Pydantic Fields:
index
:<class 'int'>
row
:dict[str, typing.Any]
class TablePopSpec
Pydantic Fields:
pop
:<class 'TablePopSpecPayload'>
class TablePopSpecPayload
Pydantic Fields:
index
:<class 'int'>
class TableQueryReq
Pydantic Fields:
project_id
:<class 'str'>
digest
:<class 'str'>
filter
:typing.Optional[TableRowFilter]
limit
:typing.Optional[int]
offset
:typing.Optional[int]
sort_by
:typing.Optional[list[SortBy]]
class TableQueryRes
Pydantic Fields:
rows
:list[TableRowSchema]
class TableQueryStatsBatchReq
Pydantic Fields:
project_id
:<class 'str'>
digests
:typing.Optional[list[str]]
include_storage_size
:typing.Optional[bool]
class TableQueryStatsBatchRes
Pydantic Fields:
tables
:list[TableStatsRow]
class TableQueryStatsReq
Pydantic Fields:
project_id
:<class 'str'>
digest
:<class 'str'>
class TableQueryStatsRes
Pydantic Fields:
count
:<class 'int'>
class TableRowFilter
Pydantic Fields:
row_digests
:typing.Optional[list[str]]
class TableRowSchema
Pydantic Fields:
digest
:<class 'str'>
val
:typing.Any
original_index
:typing.Optional[int]
class TableSchemaForInsert
Pydantic Fields:
project_id
:<class 'str'>
rows
:list[dict[str, typing.Any]]
class TableStatsRow
Pydantic Fields:
count
:<class 'int'>
digest
:<class 'str'>
storage_size_bytes
:typing.Optional[int]
class TableUpdateReq
Pydantic Fields:
project_id
:<class 'str'>
base_digest
:<class 'str'>
updates
:list[typing.Union[TableAppendSpec, TablePopSpec, TableInsertSpec]]
class TableUpdateRes
Pydantic Fields:
digest
:<class 'str'>
updated_row_digests
:list[str]
class ThreadSchema
Pydantic Fields:
thread_id
:<class 'str'>
turn_count
:<class 'int'>
start_time
:<class 'datetime.datetime'>
last_updated
:<class 'datetime.datetime'>
first_turn_id
:typing.Optional[str]
last_turn_id
:typing.Optional[str]
p50_turn_duration_ms
:typing.Optional[float]
p99_turn_duration_ms
:typing.Optional[float]
class ThreadsQueryFilter
Pydantic Fields:
after_datetime
:typing.Optional[datetime.datetime]
before_datetime
:typing.Optional[datetime.datetime]
thread_ids
:typing.Optional[list[str]]
class ThreadsQueryReq
Query threads with aggregated statistics based on turn calls only.
Turn calls are the immediate children of thread contexts (where call.id == turn_id). This provides meaningful conversation-level statistics rather than including all nested implementation details.
Pydantic Fields:
project_id
:<class 'str'>
filter
:typing.Optional[ThreadsQueryFilter]
limit
:typing.Optional[int]
offset
:typing.Optional[int]
sort_by
:typing.Optional[list[SortBy]]