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
Pydantic Fields:
num_deleted:<class 'int'>
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 DatasetCreateV2Body
Pydantic Fields:
name:typing.Optional[str]description:typing.Optional[str]rows:list[dict[str, typing.Any]]
class DatasetCreateV2Req
Pydantic Fields:
name:typing.Optional[str]description:typing.Optional[str]rows:list[dict[str, typing.Any]]project_id:<class 'str'>wb_user_id:typing.Optional[str]
class DatasetCreateV2Res
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>
class DatasetDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:typing.Optional[list[str]]wb_user_id:typing.Optional[str]
class DatasetDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class DatasetListV2Req
Pydantic Fields:
project_id:<class 'str'>limit:typing.Optional[int]offset:typing.Optional[int]wb_user_id:typing.Optional[str]
class DatasetReadV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:typing.Optional[str]
class DatasetReadV2Res
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:typing.Optional[str]rows:<class 'str'>
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 EvaluationCreateV2Body
Pydantic Fields:
name:<class 'str'>description:typing.Optional[str]dataset:<class 'str'>scorers:typing.Optional[list[str]]trials:<class 'int'>evaluation_name:typing.Optional[str]eval_attributes:typing.Optional[dict[str, typing.Any]]
class EvaluationCreateV2Req
Pydantic Fields:
name:<class 'str'>description:typing.Optional[str]dataset:<class 'str'>scorers:typing.Optional[list[str]]trials:<class 'int'>evaluation_name:typing.Optional[str]eval_attributes:typing.Optional[dict[str, typing.Any]]project_id:<class 'str'>wb_user_id:typing.Optional[str]
class EvaluationCreateV2Res
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>evaluation_ref:<class 'str'>
class EvaluationDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:typing.Optional[list[str]]wb_user_id:typing.Optional[str]
class EvaluationDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class EvaluationListV2Req
Pydantic Fields:
project_id:<class 'str'>limit:typing.Optional[int]offset:typing.Optional[int]wb_user_id:typing.Optional[str]
class EvaluationReadV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:typing.Optional[str]
class EvaluationReadV2Res
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:typing.Optional[str]dataset:<class 'str'>scorers:list[str]trials:<class 'int'>evaluation_name:typing.Optional[str]evaluate_op:typing.Optional[str]predict_and_score_op:typing.Optional[str]summarize_op:typing.Optional[str]
class EvaluationRunCreateV2Body
Pydantic Fields:
evaluation:<class 'str'>model:<class 'str'>
class EvaluationRunCreateV2Req
Pydantic Fields:
evaluation:<class 'str'>model:<class 'str'>project_id:<class 'str'>wb_user_id:typing.Optional[str]
class EvaluationRunCreateV2Res
Pydantic Fields:
evaluation_run_id:<class 'str'>
class EvaluationRunDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>evaluation_run_ids:list[str]wb_user_id:typing.Optional[str]
class EvaluationRunDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class EvaluationRunFilterV2
Pydantic Fields:
evaluations:typing.Optional[list[str]]models:typing.Optional[list[str]]evaluation_run_ids:typing.Optional[list[str]]
class EvaluationRunFinishV2Body
Request body for finishing an evaluation run via REST API.
This model excludes project_id and evaluation_run_id since they come from the URL path in RESTful endpoints.
Pydantic Fields:
summary:typing.Optional[dict[str, typing.Any]]
class EvaluationRunFinishV2Req
Pydantic Fields:
summary:typing.Optional[dict[str, typing.Any]]project_id:<class 'str'>evaluation_run_id:<class 'str'>wb_user_id:typing.Optional[str]
class EvaluationRunFinishV2Res
Pydantic Fields:
success:<class 'bool'>
class EvaluationRunListV2Req
Pydantic Fields:
project_id:<class 'str'>filter:typing.Optional[EvaluationRunFilterV2]limit:typing.Optional[int]offset:typing.Optional[int]
class EvaluationRunReadV2Req
Pydantic Fields:
project_id:<class 'str'>evaluation_run_id:<class 'str'>
class EvaluationRunReadV2Res
Pydantic Fields:
evaluation_run_id:<class 'str'>evaluation:<class 'str'>model:<class 'str'>status:typing.Optional[str]started_at:typing.Optional[datetime.datetime]finished_at:typing.Optional[datetime.datetime]summary:typing.Optional[dict[str, typing.Any]]
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 FullTraceServerInterface
Complete trace server interface supporting both V1 and V2 APIs.
This protocol represents a trace server implementation that supports the full set of APIs - both legacy V1 endpoints and modern V2 endpoints. Use this type for implementations that need to support both API versions.
method actions_execute_batch
method call_end
method call_read
method call_start
method call_start_batch
method call_update
method calls_delete
method calls_query
method calls_query_stats
method calls_query_stream
method completions_create
method completions_create_stream
method cost_create
method cost_purge
method cost_query
method dataset_create_v2
method dataset_delete_v2
method dataset_list_v2
method dataset_read_v2
method ensure_project_exists
method evaluate_model
method evaluation_create_v2
method evaluation_delete_v2
method evaluation_list_v2
method evaluation_read_v2
method evaluation_run_create_v2
method evaluation_run_delete_v2
method evaluation_run_finish_v2
method evaluation_run_list_v2
method evaluation_run_read_v2
method evaluation_status
method feedback_create
method feedback_create_batch
method feedback_purge
method feedback_query
method feedback_replace
method file_content_read
method file_create
method files_stats
method image_create
method model_create_v2
method model_delete_v2
method model_list_v2
method model_read_v2
method obj_create
method obj_delete
method obj_read
method objs_query
method op_create
method op_create_v2
method op_delete_v2
method op_list_v2
method op_read
method op_read_v2
method ops_query
method otel_export
method prediction_create_v2
method prediction_delete_v2
method prediction_finish_v2
method prediction_list_v2
method prediction_read_v2
method project_stats
method refs_read_batch
method score_create_v2
method score_delete_v2
method score_list_v2
method score_read_v2
method scorer_create_v2
method scorer_delete_v2
method scorer_list_v2
method scorer_read_v2
method table_create
method table_create_from_digests
method table_query
method table_query_stats
method table_query_stats_batch
method table_query_stream
method table_update
method threads_query_stream
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 ModelCreateV2Body
Pydantic Fields:
name:<class 'str'>description:typing.Optional[str]source_code:<class 'str'>attributes:typing.Optional[dict[str, typing.Any]]
class ModelCreateV2Req
Pydantic Fields:
name:<class 'str'>description:typing.Optional[str]source_code:<class 'str'>attributes:typing.Optional[dict[str, typing.Any]]project_id:<class 'str'>wb_user_id:typing.Optional[str]
class ModelCreateV2Res
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>model_ref:<class 'str'>
class ModelDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:typing.Optional[list[str]]wb_user_id:typing.Optional[str]
class ModelDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class ModelListV2Req
Pydantic Fields:
project_id:<class 'str'>limit:typing.Optional[int]offset:typing.Optional[int]
class ModelReadV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>
class ModelReadV2Res
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:typing.Optional[str]source_code:<class 'str'>attributes:typing.Optional[dict[str, typing.Any]]
class ObjCreateReq
Pydantic Fields:
obj:<class 'ObjSchemaForInsert'>
class ObjCreateRes
Pydantic Fields:
digest:<class 'str'>object_id:typing.Optional[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.Anywb_user_id:typing.Optional[str]size_bytes:typing.Optional[int]
class ObjSchemaForInsert
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>val:typing.Anybuiltin_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 OpCreateV2Body
Request body for creating an Op object via REST API.
This model excludes project_id since it comes from the URL path in RESTful endpoints.
Pydantic Fields:
name:typing.Optional[str]source_code:typing.Optional[str]
class OpCreateV2Req
Request model for creating an Op object.
Extends OpCreateV2Body by adding project_id for internal API usage.
Pydantic Fields:
name:typing.Optional[str]source_code:typing.Optional[str]project_id:<class 'str'>wb_user_id:typing.Optional[str]
class OpCreateV2Res
Response model for creating an Op object.
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>
class OpDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:typing.Optional[list[str]]wb_user_id:typing.Optional[str]
class OpDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class OpListV2Req
Pydantic Fields:
project_id:<class 'str'>limit:typing.Optional[int]offset:typing.Optional[int]wb_user_id:typing.Optional[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 OpReadV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:typing.Optional[str]
class OpReadV2Res
Response model for reading an Op object.
The code field contains the actual source code of the op.
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>code:<class 'str'>
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.Anywb_run_id:typing.Optional[str]wb_user_id:typing.Optional[str]
class OtelExportRes
Pydantic Fields:
partial_success:typing.Optional[ExportTracePartialSuccess]
class PredictionCreateV2Body
Request body for creating a Prediction via REST API.
This model excludes project_id since it comes from the URL path in RESTful endpoints.
Pydantic Fields:
model:<class 'str'>inputs:dict[str, typing.Any]output:typing.Anyevaluation_run_id:typing.Optional[str]
class PredictionCreateV2Req
Request model for creating a Prediction.
Extends PredictionCreateV2Body by adding project_id for internal API usage.
Pydantic Fields:
model:<class 'str'>inputs:dict[str, typing.Any]output:typing.Anyevaluation_run_id:typing.Optional[str]project_id:<class 'str'>wb_user_id:typing.Optional[str]
class PredictionCreateV2Res
Pydantic Fields:
prediction_id:<class 'str'>
class PredictionDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>prediction_ids:list[str]wb_user_id:typing.Optional[str]
class PredictionDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class PredictionFinishV2Req
Pydantic Fields:
project_id:<class 'str'>prediction_id:<class 'str'>wb_user_id:typing.Optional[str]
class PredictionFinishV2Res
Pydantic Fields:
success:<class 'bool'>
class PredictionListV2Req
Pydantic Fields:
project_id:<class 'str'>evaluation_run_id:typing.Optional[str]limit:typing.Optional[int]offset:typing.Optional[int]wb_user_id:typing.Optional[str]
class PredictionListV2Res
Pydantic Fields:
predictions:list[PredictionReadV2Res]
class PredictionReadV2Req
Pydantic Fields:
project_id:<class 'str'>prediction_id:<class 'str'>wb_user_id:typing.Optional[str]
class PredictionReadV2Res
Pydantic Fields:
prediction_id:<class 'str'>model:<class 'str'>inputs:dict[str, typing.Any]output:typing.Anyevaluation_run_id:typing.Optional[str]wb_user_id:typing.Optional[str]
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 ScoreCreateV2Body
Request body for creating a Score via REST API.
This model excludes project_id since it comes from the URL path in RESTful endpoints.
Pydantic Fields:
prediction_id:<class 'str'>scorer:<class 'str'>value:<class 'float'>evaluation_run_id:typing.Optional[str]
class ScoreCreateV2Req
Request model for creating a Score.
Extends ScoreCreateV2Body by adding project_id for internal API usage.
Pydantic Fields:
prediction_id:<class 'str'>scorer:<class 'str'>value:<class 'float'>evaluation_run_id:typing.Optional[str]project_id:<class 'str'>wb_user_id:typing.Optional[str]
class ScoreCreateV2Res
Pydantic Fields:
score_id:<class 'str'>
class ScoreDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>score_ids:list[str]wb_user_id:typing.Optional[str]
class ScoreDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class ScoreListV2Req
Pydantic Fields:
project_id:<class 'str'>evaluation_run_id:typing.Optional[str]limit:typing.Optional[int]offset:typing.Optional[int]wb_user_id:typing.Optional[str]
class ScoreReadV2Req
Pydantic Fields:
project_id:<class 'str'>score_id:<class 'str'>wb_user_id:typing.Optional[str]
class ScoreReadV2Res
Pydantic Fields:
score_id:<class 'str'>scorer:<class 'str'>value:<class 'float'>evaluation_run_id:typing.Optional[str]wb_user_id:typing.Optional[str]
class ScorerCreateV2Body
Pydantic Fields:
name:<class 'str'>description:typing.Optional[str]op_source_code:<class 'str'>
class ScorerCreateV2Req
Pydantic Fields:
name:<class 'str'>description:typing.Optional[str]op_source_code:<class 'str'>project_id:<class 'str'>wb_user_id:typing.Optional[str]
class ScorerCreateV2Res
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>scorer:<class 'str'>
class ScorerDeleteV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:typing.Optional[list[str]]wb_user_id:typing.Optional[str]
class ScorerDeleteV2Res
Pydantic Fields:
num_deleted:<class 'int'>
class ScorerListV2Req
Pydantic Fields:
project_id:<class 'str'>limit:typing.Optional[int]offset:typing.Optional[int]wb_user_id:typing.Optional[str]
class ScorerReadV2Req
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:typing.Optional[str]
class ScorerReadV2Res
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:typing.Optional[str]score_op:<class 'str'>
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]otel_dump:typing.Optional[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.Anyoriginal_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]]