API Overview
Source
class ActionsExecuteBatchReq
Pydantic Fields:
project_id:<class 'str'>action_ref:<class 'str'>call_ids:list[str]wb_user_id:str | None
Source
class ActionsExecuteBatchRes
Source
class AggregationType
Basic aggregation functions for metrics.
Source
class AnnotationQueueAddCallsReq
Request to add calls to an annotation queue in batch.
Extends AnnotationQueueAddCallsBody by adding queue_id for internal API usage.
Pydantic Fields:
project_id:<class 'str'>call_ids:list[str]display_fields:list[str]queue_id:<class 'str'>wb_user_id:str | None
Source
class AnnotationQueueAddCallsRes
Response from adding calls to a queue.
Pydantic Fields:
added_count:<class 'int'>duplicates:<class 'int'>
Source
class AnnotationQueueCreateReq
Request to create a new annotation queue.
Pydantic Fields:
project_id:<class 'str'>name:<class 'str'>description:<class 'str'>scorer_refs:list[str]wb_user_id:str | None
Source
class AnnotationQueueCreateRes
Response from creating an annotation queue.
Pydantic Fields:
id:<class 'str'>
Source
class AnnotationQueueDeleteReq
Request to delete (soft-delete) an annotation queue.
Pydantic Fields:
project_id:<class 'str'>queue_id:<class 'str'>wb_user_id:str | None
Source
class AnnotationQueueDeleteRes
Response from deleting an annotation queue.
Pydantic Fields:
queue:<class 'AnnotationQueueSchema'>
Source
class AnnotationQueueItemSchema
Schema for annotation queue item responses.
Pydantic Fields:
id:<class 'str'>project_id:<class 'str'>queue_id:<class 'str'>call_id:<class 'str'>call_started_at:<class 'datetime.datetime'>call_ended_at:datetime.datetime | Nonecall_op_name:<class 'str'>call_trace_id:<class 'str'>display_fields:list[str]added_by:str | Noneannotation_state:typing.Literal['unstarted', 'in_progress', 'completed', 'skipped']annotator_user_id:str | Nonecreated_at:<class 'datetime.datetime'>created_by:<class 'str'>updated_at:<class 'datetime.datetime'>deleted_at:datetime.datetime | Noneposition_in_queue:int | None
Source
class AnnotationQueueItemsQueryReq
Request to query items in an annotation queue.
Extends AnnotationQueueItemsQueryBody by adding queue_id for internal API usage.
Pydantic Fields:
project_id:<class 'str'>filter:weave.trace_server.common_interface.AnnotationQueueItemsFilter | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | Nonelimit:int | Noneoffset:int | Noneinclude_position:<class 'bool'>queue_id:<class 'str'>
Source
class AnnotationQueueItemsQueryRes
Response from querying annotation queue items.
Pydantic Fields:
items:list[AnnotationQueueItemSchema]
Source
class AnnotationQueueReadReq
Request to read a specific annotation queue.
Pydantic Fields:
project_id:<class 'str'>queue_id:<class 'str'>
Source
class AnnotationQueueReadRes
Response from reading an annotation queue.
Pydantic Fields:
queue:<class 'AnnotationQueueSchema'>
Source
class AnnotationQueueSchema
Schema for annotation queue responses.
Pydantic Fields:
id:<class 'str'>project_id:<class 'str'>name:<class 'str'>description:<class 'str'>scorer_refs:list[str]created_at:<class 'datetime.datetime'>created_by:<class 'str'>updated_at:<class 'datetime.datetime'>deleted_at:datetime.datetime | None
Source
class AnnotationQueueStatsSchema
Statistics for a single annotation queue.
Pydantic Fields:
queue_id:<class 'str'>total_items:<class 'int'>completed_items:<class 'int'>
Source
class AnnotationQueueUpdateReq
Request to update an annotation queue.
All fields except project_id and queue_id are optional - only provided fields will be updated.
Pydantic Fields:
project_id:<class 'str'>queue_id:<class 'str'>name:str | Nonedescription:str | Nonescorer_refs:list[str] | Nonewb_user_id:str | None
Source
class AnnotationQueueUpdateRes
Response from updating an annotation queue.
Pydantic Fields:
queue:<class 'AnnotationQueueSchema'>
Source
class AnnotationQueuesQueryReq
Request to query annotation queues for a project.
Pydantic Fields:
project_id:<class 'str'>name:str | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | Nonelimit:int | Noneoffset:int | None
Source
class AnnotationQueuesQueryRes
Response from querying annotation queues.
Pydantic Fields:
queues:list[AnnotationQueueSchema]
Source
class AnnotationQueuesStatsReq
Request to get stats for multiple annotation queues.
Pydantic Fields:
project_id:<class 'str'>queue_ids:list[str]
Source
class AnnotationQueuesStatsRes
Response with stats for multiple annotation queues.
Pydantic Fields:
stats:list[AnnotationQueueStatsSchema]
Source
class AnnotatorQueueItemsProgressUpdateReq
Request to update the annotation state of a queue item for the current annotator.
Valid state transitions:
- (absence) -> ‘in_progress’: Mark item as in progress (only when no record exists)
- (absence) -> ‘completed’ or ‘skipped’: Directly complete/skip item
- ‘in_progress’ or ‘unstarted’ -> ‘completed’ or ‘skipped’: Complete/skip started item
- same_state -> same_state: Idempotent no-op (returns existing item unchanged)
project_id:<class 'str'>queue_id:<class 'str'>item_id:<class 'str'>annotation_state:<class 'str'>wb_user_id:str | None
Source
class AnnotatorQueueItemsProgressUpdateRes
Response from updating annotation state.
Pydantic Fields:
item:<class 'AnnotationQueueItemSchema'>
Source
class CallBatchEndMode
Pydantic Fields:
mode:<class 'str'>req:<class 'CallEndReq'>
Source
class CallBatchStartMode
Pydantic Fields:
mode:<class 'str'>req:<class 'CallStartReq'>
Source
class CallCreateBatchReq
Pydantic Fields:
batch:list[CallBatchStartMode | CallBatchEndMode]
Source
class CallCreateBatchRes
Pydantic Fields:
res:list[CallStartRes | CallEndRes]
Source
class CallEndReq
Pydantic Fields:
end:<class 'EndedCallSchemaForInsert'>
Source
class CallEndRes
Source
class CallEndV2Req
Request for ending a single call via v2 API.
Pydantic Fields:
end:<class 'EndedCallSchemaForInsertWithStartedAt'>
Source
class CallEndV2Res
Response for ending a single call via v2 API.
Source
class CallMetricSpec
Specification for a call-level metric to aggregate (not grouped by model).
Pydantic Fields:
metric:typing.Literal['latency_ms', 'call_count', 'error_count']aggregations:list[AggregationType]percentiles:list[float]
Source
class CallReadReq
Pydantic Fields:
project_id:<class 'str'>id:<class 'str'>include_costs:bool | Noneinclude_storage_size:bool | Noneinclude_total_storage_size:bool | None
Source
class CallReadRes
Pydantic Fields:
call:CallSchema | None
Source
class CallSchema
Pydantic Fields:
id:<class 'str'>project_id:<class 'str'>op_name:<class 'str'>display_name:str | Nonetrace_id:<class 'str'>parent_id:str | Nonethread_id:str | Noneturn_id:str | Nonestarted_at:<class 'datetime.datetime'>attributes:dict[str, typing.Any]inputs:dict[str, typing.Any]ended_at:datetime.datetime | Noneexception:str | Noneoutput:typing.Any | Nonesummary:SummaryMap | Nonewb_user_id:str | Nonewb_run_id:str | Nonewb_run_step:int | Nonewb_run_step_end:int | Nonedeleted_at:datetime.datetime | Nonestorage_size_bytes:int | Nonetotal_storage_size_bytes:int | None
method serialize_typed_dicts
Source
class CallStartReq
Pydantic Fields:
start:<class 'StartedCallSchemaForInsert'>
Source
class CallStartRes
Pydantic Fields:
id:<class 'str'>trace_id:<class 'str'>
Source
class CallStartV2Req
Request for starting a single call via v2 API.
Pydantic Fields:
start:<class 'StartedCallSchemaForInsert'>
Source
class CallStartV2Res
Response for starting a single call via v2 API.
Pydantic Fields:
id:<class 'str'>trace_id:<class 'str'>
Source
class CallStatsReq
Request for aggregated call statistics over a time range.
Pydantic Fields:
project_id:<class 'str'>start:<class 'datetime.datetime'>end:datetime.datetime | Nonegranularity:int | Noneusage_metrics:list[UsageMetricSpec] | Nonecall_metrics:list[CallMetricSpec] | Nonefilter:CallsFilter | Nonetimezone:<class 'str'>
method validate_date_range
Source
class CallStatsRes
Response containing time-series call statistics.
Pydantic Fields:
start:<class 'datetime.datetime'>end:<class 'datetime.datetime'>granularity:<class 'int'>timezone:<class 'str'>usage_buckets:list[dict[str, typing.Any]]call_buckets:list[dict[str, typing.Any]]
Source
class CallUpdateReq
Pydantic Fields:
project_id:<class 'str'>call_id:<class 'str'>display_name:str | Nonewb_user_id:str | None
Source
class CallUpdateRes
Source
class CallsDeleteReq
Pydantic Fields:
project_id:<class 'str'>call_ids:list[str]wb_user_id:str | None
Source
class CallsDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class CallsFilter
Pydantic Fields:
op_names:list[str] | Noneinput_refs:list[str] | Noneoutput_refs:list[str] | Noneparent_ids:list[str] | Nonetrace_ids:list[str] | Nonecall_ids:list[str] | Nonethread_ids:list[str] | Noneturn_ids:list[str] | Nonetrace_roots_only:bool | Nonewb_user_ids:list[str] | Nonewb_run_ids:list[str] | None
Source
class CallsQueryReq
Pydantic Fields:
project_id:<class 'str'>filter:CallsFilter | Nonelimit:int | Noneoffset:int | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | Nonequery:weave.trace_server.interface.query.Query | Noneinclude_costs:bool | Noneinclude_feedback:bool | Noneinclude_storage_size:bool | Noneinclude_total_storage_size:bool | Nonecolumns:list[str] | Noneexpand_columns:list[str] | Nonereturn_expanded_column_values:bool | None
Source
class CallsQueryRes
Pydantic Fields:
calls:list[CallSchema]
Source
class CallsQueryStatsReq
Pydantic Fields:
project_id:<class 'str'>filter:CallsFilter | Nonequery:weave.trace_server.interface.query.Query | Nonelimit:int | Noneinclude_total_storage_size:bool | Noneexpand_columns:list[str] | None
Source
class CallsQueryStatsRes
Pydantic Fields:
count:<class 'int'>total_storage_size_bytes:int | None
Source
class CallsUpsertCompleteReq
Request for upserting a batch of completed calls.
Pydantic Fields:
batch:list[CompletedCallSchemaForInsert]
Source
class CallsUpsertCompleteRes
Response for upserting a batch of completed calls.
Source
class CallsUsageReq
Request to compute aggregated usage for multiple root calls.
This endpoint returns usage metrics for each requested root call, where each root’s metrics include the sum of its own usage plus all descendants’ usage.
Note: All matching calls are loaded into memory for aggregation. For very large result sets (>10k calls), consider batching root call IDs or using narrower filters at the application layer.
Pydantic Fields:
project_id:<class 'str'>call_ids:list[str]include_costs:<class 'bool'>limit:<class 'int'>
Source
class CallsUsageRes
Response with aggregated usage metrics per root call.
Pydantic Fields:
call_usage:dict[str, dict[str, LLMAggregatedUsage]]unfinished_call_ids:list[str]
Source
class CompletedCallSchemaForInsert
Schema for inserting a completed call directly.
This represents a call that is already finished at insertion time, with both start and end information provided together. Used by the calls_complete endpoint.
Pydantic Fields:
project_id:<class 'str'>id:<class 'str'>trace_id:<class 'str'>op_name:<class 'str'>started_at:<class 'datetime.datetime'>ended_at:<class 'datetime.datetime'>display_name:str | Noneparent_id:str | Nonethread_id:str | Noneturn_id:str | Noneattributes:dict[str, typing.Any]inputs:dict[str, typing.Any]output:typing.Any | Nonesummary:<class 'SummaryInsertMap'>otel_dump:dict[str, typing.Any] | Noneexception:str | Nonewb_user_id:str | Nonewb_run_id:str | Nonewb_run_step:int | Nonewb_run_step_end:int | None
method serialize_typed_dicts
Source
class CompletionsCreateReq
Pydantic Fields:
project_id:<class 'str'>inputs:<class 'CompletionsCreateRequestInputs'>wb_user_id:str | Nonetrack_llm_call:bool | None
Source
class CompletionsCreateRequestInputs
Pydantic Fields:
model:<class 'str'>messages:<class 'list'>timeout:float | str | Nonetemperature:float | Nonetop_p:float | Nonen:int | Nonestop:str | list | Nonemax_completion_tokens:int | Nonemax_tokens:int | Nonemodalities:list | Nonepresence_penalty:float | Nonefrequency_penalty:float | Nonestream:bool | Nonelogit_bias:dict | Noneuser:str | Noneresponse_format:dict | type[pydantic.main.BaseModel] | Noneseed:int | Nonetools:list | Nonetool_choice:str | dict | Nonelogprobs:bool | Nonetop_logprobs:int | Noneparallel_tool_calls:bool | Noneextra_headers:dict | Nonefunctions:list | Nonefunction_call:str | Noneapi_version:str | Noneprompt:str | Nonetemplate_vars:dict[str, typing.Any] | Nonevertex_credentials:str | None
Source
class CompletionsCreateRes
Pydantic Fields:
response:dict[str, typing.Any]weave_call_id:str | None
Source
class CostCreateInput
Pydantic Fields:
prompt_token_cost:<class 'float'>completion_token_cost:<class 'float'>prompt_token_cost_unit:str | Nonecompletion_token_cost_unit:str | Noneeffective_date:datetime.datetime | Noneprovider_id:str | None
Source
class CostCreateReq
Pydantic Fields:
project_id:<class 'str'>costs:dict[str, CostCreateInput]wb_user_id:str | None
Source
class CostCreateRes
Pydantic Fields:
ids:list[tuple[str, str]]
Source
class CostPurgeReq
Pydantic Fields:
project_id:<class 'str'>query:<class 'weave.trace_server.interface.query.Query'>
Source
class CostPurgeRes
Source
class CostQueryOutput
Pydantic Fields:
id:str | Nonellm_id:str | Noneprompt_token_cost:float | Nonecompletion_token_cost:float | Noneprompt_token_cost_unit:str | Nonecompletion_token_cost_unit:str | Noneeffective_date:datetime.datetime | Noneprovider_id:str | None
Source
class CostQueryReq
Pydantic Fields:
project_id:<class 'str'>fields:list[str] | Nonequery:weave.trace_server.interface.query.Query | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | Nonelimit:int | Noneoffset:int | None
Source
class CostQueryRes
Pydantic Fields:
results:list[CostQueryOutput]
Source
class DatasetCreateBody
Pydantic Fields:
name:str | Nonedescription:str | Nonerows:list[dict[str, typing.Any]]
Source
class DatasetCreateReq
Pydantic Fields:
name:str | Nonedescription:str | Nonerows:list[dict[str, typing.Any]]project_id:<class 'str'>wb_user_id:str | None
Source
class DatasetCreateRes
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>
Source
class DatasetDeleteReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:list[str] | Nonewb_user_id:str | None
Source
class DatasetDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class DatasetListReq
Pydantic Fields:
project_id:<class 'str'>limit:int | Noneoffset:int | Nonewb_user_id:str | None
Source
class DatasetReadReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:str | None
Source
class DatasetReadRes
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:str | Nonerows:<class 'str'>
Source
class EndedCallSchemaForInsert
Pydantic Fields:
project_id:<class 'str'>id:<class 'str'>ended_at:<class 'datetime.datetime'>exception:str | Noneoutput:typing.Any | Nonesummary:<class 'SummaryInsertMap'>wb_run_step_end:int | None
method serialize_typed_dicts
Source
class EndedCallSchemaForInsertWithStartedAt
Ended call schema with optional started_at for v2 end updates.
When started_at is provided, it enables more efficient ClickHouse queries by utilizing the primary key (project_id, started_at, id). Without it, the query falls back to using only (project_id, id).
Pydantic Fields:
project_id:<class 'str'>id:<class 'str'>ended_at:<class 'datetime.datetime'>exception:str | Noneoutput:typing.Any | Nonesummary:<class 'SummaryInsertMap'>wb_run_step_end:int | Nonestarted_at:datetime.datetime | None
method serialize_typed_dicts
Source
class EnsureProjectExistsRes
Pydantic Fields:
project_name:<class 'str'>
Source
class EvalResultsEvaluationSummary
Pydantic Fields:
evaluation_call_id:<class 'str'>trial_count:<class 'int'>scorer_stats:list[EvalResultsScorerStats]evaluation_ref:str | Nonemodel_ref:str | Nonedisplay_name:str | Nonetrace_id:str | Nonestarted_at:str | None
Source
class EvalResultsQueryBody
Pydantic Fields:
evaluation_call_ids:list[str] | Noneevaluation_run_ids:list[str] | Nonerequire_intersection:<class 'bool'>include_raw_data_rows:<class 'bool'>resolve_row_refs:<class 'bool'>include_rows:<class 'bool'>include_summary:<class 'bool'>summary_require_intersection:bool | Nonelimit:int | Noneoffset:<class 'int'>
method validate_identifiers
Source
class EvalResultsQueryReq
Pydantic Fields:
evaluation_call_ids:list[str] | Noneevaluation_run_ids:list[str] | Nonerequire_intersection:<class 'bool'>include_raw_data_rows:<class 'bool'>resolve_row_refs:<class 'bool'>include_rows:<class 'bool'>include_summary:<class 'bool'>summary_require_intersection:bool | Nonelimit:int | Noneoffset:<class 'int'>project_id:<class 'str'>
method validate_identifiers
Source
class EvalResultsQueryRes
Pydantic Fields:
rows:list[EvalResultsRow]total_rows:<class 'int'>summary:ForwardRef('EvalResultsSummaryRes | None')warnings:list[str]
Source
class EvalResultsRow
Pydantic Fields:
row_digest:<class 'str'>raw_data_row:typing.Any | Noneevaluations:list[EvalResultsRowEvaluation]
Source
class EvalResultsRowEvaluation
Pydantic Fields:
evaluation_call_id:<class 'str'>trials:list[EvalResultsTrial]
Source
class EvalResultsScorerStats
Stats for a single flattened score dimension (scorer_key or scorer_key.path.to.leaf).
Pydantic Fields:
scorer_key:<class 'str'>path:str | Nonevalue_type:typing.Optional[typing.Literal['binary', 'continuous']]trial_count:<class 'int'>numeric_count:<class 'int'>numeric_mean:float | Nonepass_true_count:<class 'int'>pass_known_count:<class 'int'>pass_rate:float | Nonepass_signal_coverage:float | None
Source
class EvalResultsSummaryRes
Pydantic Fields:
row_count:<class 'int'>evaluations:list[EvalResultsEvaluationSummary]
Source
class EvalResultsTrial
Pydantic Fields:
predict_and_score_call_id:<class 'str'>predict_call_id:str | Nonemodel_output:typing.Any | Nonescores:dict[str, typing.Any]model_latency_seconds:float | Nonetotal_tokens:int | Nonescorer_call_ids:dict[str, str]
Source
class EvaluateModelReq
Pydantic Fields:
project_id:<class 'str'>evaluation_ref:<class 'str'>model_ref:<class 'str'>wb_user_id:str | None
Source
class EvaluateModelRes
Pydantic Fields:
call_id:<class 'str'>
Source
class EvaluationCreateBody
Pydantic Fields:
name:<class 'str'>description:str | Nonedataset:<class 'str'>scorers:list[str] | Nonetrials:<class 'int'>evaluation_name:str | Noneeval_attributes:dict[str, typing.Any] | None
Source
class EvaluationCreateReq
Pydantic Fields:
name:<class 'str'>description:str | Nonedataset:<class 'str'>scorers:list[str] | Nonetrials:<class 'int'>evaluation_name:str | Noneeval_attributes:dict[str, typing.Any] | Noneproject_id:<class 'str'>wb_user_id:str | None
Source
class EvaluationCreateRes
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>evaluation_ref:<class 'str'>
Source
class EvaluationDeleteReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:list[str] | Nonewb_user_id:str | None
Source
class EvaluationDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class EvaluationListReq
Pydantic Fields:
project_id:<class 'str'>limit:int | Noneoffset:int | Nonewb_user_id:str | None
Source
class EvaluationReadReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:str | None
Source
class EvaluationReadRes
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:str | Nonedataset:<class 'str'>scorers:list[str]trials:<class 'int'>evaluation_name:str | Noneevaluate_op:str | Nonepredict_and_score_op:str | Nonesummarize_op:str | None
Source
class EvaluationRunCreateBody
Pydantic Fields:
evaluation:<class 'str'>model:<class 'str'>
Source
class EvaluationRunCreateReq
Pydantic Fields:
evaluation:<class 'str'>model:<class 'str'>project_id:<class 'str'>wb_user_id:str | None
Source
class EvaluationRunCreateRes
Pydantic Fields:
evaluation_run_id:<class 'str'>
Source
class EvaluationRunDeleteReq
Pydantic Fields:
project_id:<class 'str'>evaluation_run_ids:list[str]wb_user_id:str | None
Source
class EvaluationRunDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class EvaluationRunFilter
Pydantic Fields:
evaluations:list[str] | Nonemodels:list[str] | Noneevaluation_run_ids:list[str] | None
Source
class EvaluationRunFinishBody
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:dict[str, typing.Any] | None
Source
class EvaluationRunFinishReq
Pydantic Fields:
summary:dict[str, typing.Any] | Noneproject_id:<class 'str'>evaluation_run_id:<class 'str'>wb_user_id:str | None
Source
class EvaluationRunFinishRes
Pydantic Fields:
success:<class 'bool'>
Source
class EvaluationRunListReq
Pydantic Fields:
project_id:<class 'str'>filter:EvaluationRunFilter | Nonelimit:int | Noneoffset:int | None
Source
class EvaluationRunReadReq
Pydantic Fields:
project_id:<class 'str'>evaluation_run_id:<class 'str'>
Source
class EvaluationRunReadRes
Pydantic Fields:
evaluation_run_id:<class 'str'>evaluation:<class 'str'>model:<class 'str'>status:str | Nonestarted_at:datetime.datetime | Nonefinished_at:datetime.datetime | Nonesummary:dict[str, typing.Any] | None
Source
class EvaluationStatusComplete
Pydantic Fields:
code:typing.Literal['complete']output:dict[str, typing.Any]
Source
class EvaluationStatusFailed
Pydantic Fields:
code:typing.Literal['failed']error:str | None
Source
class EvaluationStatusNotFound
Pydantic Fields:
code:typing.Literal['not_found']
Source
class EvaluationStatusReq
Pydantic Fields:
project_id:<class 'str'>call_id:<class 'str'>
Source
class EvaluationStatusRes
Pydantic Fields:
status:EvaluationStatusNotFound | EvaluationStatusRunning | EvaluationStatusFailed | EvaluationStatusComplete
Source
class EvaluationStatusRunning
Pydantic Fields:
code:typing.Literal['running']completed_rows:<class 'int'>total_rows:<class 'int'>
Source
class ExportTracePartialSuccess
Pydantic Fields:
rejected_spans:<class 'int'>error_message:<class 'str'>
Source
class ExtraKeysTypedDict
Source
class Feedback
Pydantic Fields:
id:<class 'str'>project_id:<class 'str'>weave_ref:<class 'str'>creator:str | Nonefeedback_type:<class 'str'>payload:dict[str, typing.Any]annotation_ref:str | Nonerunnable_ref:str | Nonecall_ref:str | Nonetrigger_ref:str | Nonequeue_id:str | Nonewb_user_id:str | Nonecreated_at:<class 'datetime.datetime'>
Source
class FeedbackCreateBatchReq
Pydantic Fields:
batch:list[FeedbackCreateReq]
Source
class FeedbackCreateBatchRes
Pydantic Fields:
res:list[FeedbackCreateRes]
Source
class FeedbackCreateReq
Pydantic Fields:
id:str | Noneproject_id:<class 'str'>weave_ref:<class 'str'>creator:str | Nonefeedback_type:<class 'str'>payload:dict[str, typing.Any]annotation_ref:str | Nonerunnable_ref:str | Nonecall_ref:str | Nonetrigger_ref:str | Nonequeue_id:str | Nonewb_user_id:str | None
Source
class FeedbackCreateRes
Pydantic Fields:
id:<class 'str'>created_at:<class 'datetime.datetime'>wb_user_id:<class 'str'>payload:dict[str, typing.Any]
Source
class FeedbackDict
Source
class FeedbackPurgeReq
Pydantic Fields:
project_id:<class 'str'>query:<class 'weave.trace_server.interface.query.Query'>
Source
class FeedbackPurgeRes
Source
class FeedbackQueryReq
Pydantic Fields:
project_id:<class 'str'>fields:list[str] | Nonequery:weave.trace_server.interface.query.Query | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | Nonelimit:int | Noneoffset:int | None
Source
class FeedbackQueryRes
Pydantic Fields:
result:list[dict[str, typing.Any]]
Source
class FeedbackReplaceReq
Pydantic Fields:
id:str | Noneproject_id:<class 'str'>weave_ref:<class 'str'>creator:str | Nonefeedback_type:<class 'str'>payload:dict[str, typing.Any]annotation_ref:str | Nonerunnable_ref:str | Nonecall_ref:str | Nonetrigger_ref:str | Nonequeue_id:str | Nonewb_user_id:str | Nonefeedback_id:<class 'str'>
Source
class FeedbackReplaceRes
Pydantic Fields:
id:<class 'str'>created_at:<class 'datetime.datetime'>wb_user_id:<class 'str'>payload:dict[str, typing.Any]
Source
class FileContentReadReq
Pydantic Fields:
project_id:<class 'str'>digest:<class 'str'>
Source
class FileContentReadRes
Pydantic Fields:
content:<class 'bytes'>
Source
class FileCreateReq
Pydantic Fields:
project_id:<class 'str'>name:<class 'str'>content:<class 'bytes'>
Source
class FileCreateRes
Pydantic Fields:
digest:<class 'str'>
Source
class FilesStatsReq
Pydantic Fields:
project_id:<class 'str'>
Source
class FilesStatsRes
Pydantic Fields:
total_size_bytes:<class 'int'>
Source
class FullTraceServerInterface
Complete trace server interface supporting both V1 and Object APIs.
This protocol represents a trace server implementation that supports the full set of APIs - both legacy V1 endpoints and modern Object endpoints. Use this type for implementations that need to support both API versions.
Source
method actions_execute_batch
Source
method annotation_queue_add_calls
Source
method annotation_queue_create
Source
method annotation_queue_delete
Source
method annotation_queue_items_query
Source
method annotation_queue_read
Source
method annotation_queue_update
Source
method annotation_queues_query_stream
Source
method annotation_queues_stats
Source
method annotator_queue_items_progress_update
Source
method call_end
Source
method call_end_v2
Source
method call_read
Source
method call_start
Source
method call_start_batch
Source
method call_start_v2
Source
method call_stats
Source
method call_update
Source
method calls_complete
Source
method calls_delete
Source
method calls_query
Source
method calls_query_stats
Source
method calls_query_stream
Source
method calls_usage
Source
method completions_create
Source
method completions_create_stream
Source
method cost_create
Source
method cost_purge
Source
method cost_query
Source
method dataset_create
Source
method dataset_delete
Source
method dataset_list
Source
method dataset_read
Source
method ensure_project_exists
Source
method eval_results_query
Source
method evaluate_model
Source
method evaluation_create
Source
method evaluation_delete
Source
method evaluation_list
Source
method evaluation_read
Source
method evaluation_run_create
Source
method evaluation_run_delete
Source
method evaluation_run_finish
Source
method evaluation_run_list
Source
method evaluation_run_read
Source
method evaluation_status
Source
method feedback_create
Source
method feedback_create_batch
Source
method feedback_purge
Source
method feedback_query
Source
method feedback_replace
Source
method file_content_read
Source
method file_create
Source
method files_stats
Source
method image_create
Source
method model_create
Source
method model_delete
Source
method model_list
Source
method model_read
Source
method obj_create
Source
method obj_delete
Source
method obj_read
Source
method objs_query
Source
method op_create
Source
method op_delete
Source
method op_list
Source
method op_read
Source
method otel_export
Source
method prediction_create
Source
method prediction_delete
Source
method prediction_finish
Source
method prediction_list
Source
method prediction_read
Source
method project_stats
Source
method refs_read_batch
Source
method score_create
Source
method score_delete
Source
method score_list
Source
method score_read
Source
method scorer_create
Source
method scorer_delete
Source
method scorer_list
Source
method scorer_read
Source
method table_create
Source
method table_create_from_digests
Source
method table_query
Source
method table_query_stats
Source
method table_query_stats_batch
Source
method table_query_stream
Source
method table_update
Source
method threads_query_stream
Source
method trace_usage
Source
class ImageGenerationCreateReq
Pydantic Fields:
project_id:<class 'str'>inputs:<class 'ImageGenerationRequestInputs'>wb_user_id:str | Nonetrack_llm_call:bool | None
Source
class ImageGenerationCreateRes
Pydantic Fields:
response:dict[str, typing.Any]weave_call_id:str | None
Source
class ImageGenerationRequestInputs
Pydantic Fields:
model:<class 'str'>prompt:<class 'str'>n:int | None
Source
class LLMAggregatedUsage
Aggregated usage metrics for a specific LLM.
Pydantic Fields:
requests:<class 'int'>prompt_tokens:<class 'int'>completion_tokens:<class 'int'>total_tokens:<class 'int'>prompt_tokens_total_cost:float | Nonecompletion_tokens_total_cost:float | None
Source
class LLMCostSchema
Source
class LLMUsageSchema
Source
class ModelCreateBody
Pydantic Fields:
name:<class 'str'>description:str | Nonesource_code:<class 'str'>attributes:dict[str, typing.Any] | None
Source
class ModelCreateReq
Pydantic Fields:
name:<class 'str'>description:str | Nonesource_code:<class 'str'>attributes:dict[str, typing.Any] | Noneproject_id:<class 'str'>wb_user_id:str | None
Source
class ModelCreateRes
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>model_ref:<class 'str'>
Source
class ModelDeleteReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:list[str] | Nonewb_user_id:str | None
Source
class ModelDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class ModelListReq
Pydantic Fields:
project_id:<class 'str'>limit:int | Noneoffset:int | None
Source
class ModelReadReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>
Source
class ModelReadRes
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:str | Nonesource_code:<class 'str'>attributes:dict[str, typing.Any] | None
Source
class OTelExportReq
Pydantic Fields:
processed_spans:list[ProcessedResourceSpans]project_id:<class 'str'>wb_user_id:str | None
Source
class OTelExportRes
Pydantic Fields:
partial_success:ExportTracePartialSuccess | None
Source
class ObjCreateReq
Pydantic Fields:
obj:<class 'ObjSchemaForInsert'>
Source
class ObjCreateRes
Pydantic Fields:
digest:<class 'str'>object_id:str | None
Source
class ObjDeleteReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:list[str] | None
Source
class ObjDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class ObjQueryReq
Pydantic Fields:
project_id:<class 'str'>filter:ObjectVersionFilter | Nonelimit:int | Noneoffset:int | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | Nonemetadata_only:bool | Noneinclude_storage_size:bool | None
Source
class ObjQueryRes
Pydantic Fields:
objs:list[ObjSchema]
Source
class ObjReadReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>metadata_only:bool | None
Source
class ObjReadRes
Pydantic Fields:
obj:<class 'ObjSchema'>
Source
class ObjSchema
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>created_at:<class 'datetime.datetime'>deleted_at:datetime.datetime | Nonedigest:<class 'str'>version_index:<class 'int'>is_latest:<class 'int'>kind:<class 'str'>base_object_class:str | Noneleaf_object_class:str | Noneval:typing.Anywb_user_id:str | Nonesize_bytes:int | None
Source
class ObjSchemaForInsert
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>val:typing.Anybuiltin_object_class:str | Noneset_base_object_class:str | Nonewb_user_id:str | None
method model_post_init
Source
class ObjectInterface
Object API endpoints for Trace Server.
This protocol contains object management APIs that provide cleaner, more RESTful interfaces. Implementations should support both this protocol and TraceServerInterface to maintain backward compatibility.
Source
method call_end_v2
Source
method call_start_v2
Source
method calls_complete
Source
method dataset_create
Source
method dataset_delete
Source
method dataset_list
Source
method dataset_read
Source
method eval_results_query
Source
method evaluation_create
Source
method evaluation_delete
Source
method evaluation_list
Source
method evaluation_read
Source
method evaluation_run_create
Source
method evaluation_run_delete
Source
method evaluation_run_finish
Source
method evaluation_run_list
Source
method evaluation_run_read
Source
method model_create
Source
method model_delete
Source
method model_list
Source
method model_read
Source
method op_create
Source
method op_delete
Source
method op_list
Source
method op_read
Source
method prediction_create
Source
method prediction_delete
Source
method prediction_finish
Source
method prediction_list
Source
method prediction_read
Source
method score_create
Source
method score_delete
Source
method score_list
Source
method score_read
Source
method scorer_create
Source
method scorer_delete
Source
method scorer_list
Source
method scorer_read
Source
class ObjectVersionFilter
Pydantic Fields:
base_object_classes:list[str] | Noneexclude_base_object_classes:list[str] | Noneleaf_object_classes:list[str] | Noneobject_ids:list[str] | Noneis_op:bool | Nonelatest_only:bool | None
Source
class OpCreateBody
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:str | Nonesource_code:str | None
Source
class OpCreateReq
Request model for creating an Op object.
Extends OpCreateBody by adding project_id for internal API usage.
Pydantic Fields:
name:str | Nonesource_code:str | Noneproject_id:<class 'str'>wb_user_id:str | None
Source
class OpCreateRes
Response model for creating an Op object.
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>
Source
class OpDeleteReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:list[str] | Nonewb_user_id:str | None
Source
class OpDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class OpListReq
Pydantic Fields:
project_id:<class 'str'>limit:int | Noneoffset:int | Nonewb_user_id:str | None
Source
class OpReadReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:str | None
Source
class OpReadRes
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'>
Source
class PredictionCreateBody
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:str | None
Source
class PredictionCreateReq
Request model for creating a Prediction.
Extends PredictionCreateBody by adding project_id for internal API usage.
Pydantic Fields:
model:<class 'str'>inputs:dict[str, typing.Any]output:typing.Anyevaluation_run_id:str | Noneproject_id:<class 'str'>wb_user_id:str | None
Source
class PredictionCreateRes
Pydantic Fields:
prediction_id:<class 'str'>
Source
class PredictionDeleteReq
Pydantic Fields:
project_id:<class 'str'>prediction_ids:list[str]wb_user_id:str | None
Source
class PredictionDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class PredictionFinishReq
Pydantic Fields:
project_id:<class 'str'>prediction_id:<class 'str'>wb_user_id:str | None
Source
class PredictionFinishRes
Pydantic Fields:
success:<class 'bool'>
Source
class PredictionListReq
Pydantic Fields:
project_id:<class 'str'>evaluation_run_id:str | Nonelimit:int | Noneoffset:int | Nonewb_user_id:str | None
Source
class PredictionListRes
Pydantic Fields:
predictions:list[PredictionReadRes]
Source
class PredictionReadReq
Pydantic Fields:
project_id:<class 'str'>prediction_id:<class 'str'>wb_user_id:str | None
Source
class PredictionReadRes
Pydantic Fields:
prediction_id:<class 'str'>model:<class 'str'>inputs:dict[str, typing.Any]output:typing.Anyevaluation_run_id:str | Nonewb_user_id:str | None
Source
class ProcessedResourceSpans
Pydantic Fields:
entity:<class 'str'>project:<class 'str'>run_id:str | Noneresource_spans:typing.Any
Source
class ProjectStatsReq
Pydantic Fields:
project_id:<class 'str'>include_trace_storage_size:bool | Noneinclude_object_storage_size:bool | Noneinclude_table_storage_size:bool | Noneinclude_file_storage_size:bool | None
Source
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'>
Source
class RefsReadBatchReq
Pydantic Fields:
refs:list[str]
Source
class RefsReadBatchRes
Pydantic Fields:
vals:list[typing.Any]
Source
class ScoreCreateBody
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:str | None
Source
class ScoreCreateReq
Request model for creating a Score.
Extends ScoreCreateBody by adding project_id for internal API usage.
Pydantic Fields:
prediction_id:<class 'str'>scorer:<class 'str'>value:<class 'float'>evaluation_run_id:str | Noneproject_id:<class 'str'>wb_user_id:str | None
Source
class ScoreCreateRes
Pydantic Fields:
score_id:<class 'str'>
Source
class ScoreDeleteReq
Pydantic Fields:
project_id:<class 'str'>score_ids:list[str]wb_user_id:str | None
Source
class ScoreDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class ScoreListReq
Pydantic Fields:
project_id:<class 'str'>evaluation_run_id:str | Nonelimit:int | Noneoffset:int | Nonewb_user_id:str | None
Source
class ScoreReadReq
Pydantic Fields:
project_id:<class 'str'>score_id:<class 'str'>wb_user_id:str | None
Source
class ScoreReadRes
Pydantic Fields:
score_id:<class 'str'>scorer:<class 'str'>value:<class 'float'>evaluation_run_id:str | Nonewb_user_id:str | None
Source
class ScorerCreateBody
Pydantic Fields:
name:<class 'str'>description:str | Noneop_source_code:<class 'str'>
Source
class ScorerCreateReq
Pydantic Fields:
name:<class 'str'>description:str | Noneop_source_code:<class 'str'>project_id:<class 'str'>wb_user_id:str | None
Source
class ScorerCreateRes
Pydantic Fields:
digest:<class 'str'>object_id:<class 'str'>version_index:<class 'int'>scorer:<class 'str'>
Source
class ScorerDeleteReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digests:list[str] | Nonewb_user_id:str | None
Source
class ScorerDeleteRes
Pydantic Fields:
num_deleted:<class 'int'>
Source
class ScorerListReq
Pydantic Fields:
project_id:<class 'str'>limit:int | Noneoffset:int | Nonewb_user_id:str | None
Source
class ScorerReadReq
Pydantic Fields:
project_id:<class 'str'>object_id:<class 'str'>digest:<class 'str'>wb_user_id:str | None
Source
class ScorerReadRes
Pydantic Fields:
object_id:<class 'str'>digest:<class 'str'>version_index:<class 'int'>created_at:<class 'datetime.datetime'>name:<class 'str'>description:str | Nonescore_op:<class 'str'>
Source
class StartedCallSchemaForInsert
Pydantic Fields:
project_id:<class 'str'>id:str | Noneop_name:<class 'str'>display_name:str | Nonetrace_id:str | Noneparent_id:str | Nonethread_id:str | Noneturn_id:str | Nonestarted_at:<class 'datetime.datetime'>attributes:dict[str, typing.Any]inputs:dict[str, typing.Any]otel_dump:dict[str, typing.Any] | Nonewb_user_id:str | Nonewb_run_id:str | Nonewb_run_step:int | None
Source
class SummaryInsertMap
Source
class SummaryMap
Source
class TableAppendSpec
Pydantic Fields:
append:<class 'TableAppendSpecPayload'>
Source
class TableAppendSpecPayload
Pydantic Fields:
row:dict[str, typing.Any]
Source
class TableCreateFromDigestsReq
Pydantic Fields:
project_id:<class 'str'>row_digests:list[str]
Source
class TableCreateFromDigestsRes
Pydantic Fields:
digest:<class 'str'>
Source
class TableCreateReq
Pydantic Fields:
table:<class 'TableSchemaForInsert'>
Source
class TableCreateRes
Pydantic Fields:
digest:<class 'str'>row_digests:list[str]
Source
class TableInsertSpec
Pydantic Fields:
insert:<class 'TableInsertSpecPayload'>
Source
class TableInsertSpecPayload
Pydantic Fields:
index:<class 'int'>row:dict[str, typing.Any]
Source
class TablePopSpec
Pydantic Fields:
pop:<class 'TablePopSpecPayload'>
Source
class TablePopSpecPayload
Pydantic Fields:
index:<class 'int'>
Source
class TableQueryReq
Pydantic Fields:
project_id:<class 'str'>digest:<class 'str'>filter:TableRowFilter | Nonelimit:int | Noneoffset:int | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | None
Source
class TableQueryRes
Pydantic Fields:
rows:list[TableRowSchema]
Source
class TableQueryStatsBatchReq
Pydantic Fields:
project_id:<class 'str'>digests:list[str] | Noneinclude_storage_size:bool | None
Source
class TableQueryStatsBatchRes
Pydantic Fields:
tables:list[TableStatsRow]
Source
class TableQueryStatsReq
Pydantic Fields:
project_id:<class 'str'>digest:<class 'str'>
Source
class TableQueryStatsRes
Pydantic Fields:
count:<class 'int'>
Source
class TableRowFilter
Pydantic Fields:
row_digests:list[str] | None
Source
class TableRowSchema
Pydantic Fields:
digest:<class 'str'>val:typing.Anyoriginal_index:int | None
Source
class TableSchemaForInsert
Pydantic Fields:
project_id:<class 'str'>rows:list[dict[str, typing.Any]]
Source
class TableStatsRow
Pydantic Fields:
count:<class 'int'>digest:<class 'str'>storage_size_bytes:int | None
Source
class TableUpdateReq
Pydantic Fields:
project_id:<class 'str'>base_digest:<class 'str'>updates:list[TableAppendSpec | TablePopSpec | TableInsertSpec]
Source
class TableUpdateRes
Pydantic Fields:
digest:<class 'str'>updated_row_digests:list[str]
Source
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:str | Nonelast_turn_id:str | Nonep50_turn_duration_ms:float | Nonep99_turn_duration_ms:float | None
Source
class ThreadsQueryFilter
Pydantic Fields:
after_datetime:datetime.datetime | Nonebefore_datetime:datetime.datetime | Nonethread_ids:list[str] | None
Source
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:ThreadsQueryFilter | Nonelimit:int | Noneoffset:int | Nonesort_by:list[weave.trace_server.common_interface.SortBy] | None
Source
class TraceServerInterface
Source
method actions_execute_batch
Source
method annotation_queue_add_calls
Source
method annotation_queue_create
Source
method annotation_queue_delete
Source
method annotation_queue_items_query
Source
method annotation_queue_read
Source
method annotation_queue_update
Source
method annotation_queues_query_stream
Source
method annotation_queues_stats
Source
method annotator_queue_items_progress_update
Source
method call_end
Source
method call_read
Source
method call_start
Source
method call_start_batch
Source
method call_stats
Source
method call_update
Source
method calls_delete
Source
method calls_query
Source
method calls_query_stats
Source
method calls_query_stream
Source
method calls_usage
Source
method completions_create
Source
method completions_create_stream
Source
method cost_create
Source
method cost_purge
Source
method cost_query
Source
method ensure_project_exists
Source
method evaluate_model
Source
method evaluation_status
Source
method feedback_create
Source
method feedback_create_batch
Source
method feedback_purge
Source
method feedback_query
Source
method feedback_replace
Source
method file_content_read
Source
method file_create
Source
method files_stats
Source
method image_create
Source
method obj_create
Source
method obj_delete
Source
method obj_read
Source
method objs_query
Source
method otel_export
Source
method project_stats
Source
method refs_read_batch
Source
method table_create
Source
method table_create_from_digests
Source
method table_query
Source
method table_query_stats
Source
method table_query_stats_batch
Source
method table_query_stream
Source
method table_update
Source
method threads_query_stream
Source
method trace_usage
Source
class TraceStatus
Source
class TraceUsageReq
Request to compute per-call usage for a trace, with descendant rollup.
This endpoint returns usage metrics for each call in the trace, where each call’s metrics include the sum of its own usage plus all descendants’ usage. Use this for trace view where you want to see rolled-up metrics per call.
Note: All matching calls are loaded into memory for aggregation. For very large result sets (>10k calls), consider using more specific filters or pagination at the application layer.
Pydantic Fields:
project_id:<class 'str'>filter:CallsFilter | Nonequery:weave.trace_server.interface.query.Query | Noneinclude_costs:<class 'bool'>limit:<class 'int'>
Source
class TraceUsageRes
Response with per-call usage metrics (each includes descendant contributions).
Pydantic Fields:
call_usage:dict[str, dict[str, LLMAggregatedUsage]]unfinished_call_ids:list[str]
Source
class UsageMetricSpec
Specification for a usage metric to aggregate (grouped by model).
Pydantic Fields:
metric:typing.Literal['input_tokens', 'output_tokens', 'total_tokens', 'input_cost', 'output_cost', 'total_cost']aggregations:list[AggregationType]percentiles:list[float]
Source