Widgets
Add Widget to Dashboard
Update Dashboard Widget
Remove Widget from Dashboard
ModelsExpand Collapse
EvaluationDashboardWidget object { id, account_id, created_at, 6 more }
query: optional SeriesQuery { select, evaluation_ids, filter, 4 more } or MetricQuery { select, evaluation_ids, filter, latest_only } Structured query AST for metric computation (SeriesQuery or MetricQuery)
Structured query AST for metric computation (SeriesQuery or MetricQuery)
SeriesQuery object { select, evaluation_ids, filter, 4 more } Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter.
Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent:
SELECT category, AVG(score) as avg_score, COUNT(*) as count
FROM evaluation_items
WHERE score > 0.5 AND category = ‘test’
GROUP BY category
ORDER BY avg_score DESC
LIMIT 100
Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter. Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent: SELECT category, AVG(score) as avg_score, COUNT(*) as count FROM evaluation_items WHERE score > 0.5 AND category = ‘test’ GROUP BY category ORDER BY avg_score DESC LIMIT 100
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.
MetricQuery object { select, evaluation_ids, filter, latest_only } Query that returns a single metric value (used for metric widgets).
Used for widget type: metric.
Enforces exactly 1 aggregation in select.
Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent:
SELECT AVG(score) as average_score
FROM evaluation_items
Query that returns a single metric value (used for metric widgets).
Used for widget type: metric. Enforces exactly 1 aggregation in select. Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent: SELECT AVG(score) as average_score FROM evaluation_items
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.
EvaluationDashboardWidgetResult object { id, account_id, computation_status, 10 more }
FK to evaluation_groups. Null if result is for a single evaluation.
Widget that this result is for
Widget that this result is for
query: optional SeriesQuery { select, evaluation_ids, filter, 4 more } or MetricQuery { select, evaluation_ids, filter, latest_only } Structured query AST for metric computation (SeriesQuery or MetricQuery)
Structured query AST for metric computation (SeriesQuery or MetricQuery)
SeriesQuery object { select, evaluation_ids, filter, 4 more } Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter.
Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent:
SELECT category, AVG(score) as avg_score, COUNT(*) as count
FROM evaluation_items
WHERE score > 0.5 AND category = ‘test’
GROUP BY category
ORDER BY avg_score DESC
LIMIT 100
Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter. Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent: SELECT category, AVG(score) as avg_score, COUNT(*) as count FROM evaluation_items WHERE score > 0.5 AND category = ‘test’ GROUP BY category ORDER BY avg_score DESC LIMIT 100
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.
MetricQuery object { select, evaluation_ids, filter, latest_only } Query that returns a single metric value (used for metric widgets).
Used for widget type: metric.
Enforces exactly 1 aggregation in select.
Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent:
SELECT AVG(score) as average_score
FROM evaluation_items
Query that returns a single metric value (used for metric widgets).
Used for widget type: metric. Enforces exactly 1 aggregation in select. Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent: SELECT AVG(score) as average_score FROM evaluation_items
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.
EvaluationDashboardWidgetResultResponse object { id, computation_status, widget_id, 3 more } Computed result for a widget - used in widget creation response
Computed result for a widget - used in widget creation response
EvaluationDashboardWidgetWithResult object { id, account_id, created_at, 6 more } Response model for widget creation - includes widget and computed result
Response model for widget creation - includes widget and computed result
query: optional SeriesQuery { select, evaluation_ids, filter, 4 more } or MetricQuery { select, evaluation_ids, filter, latest_only } Structured query AST for computation (SeriesQuery or MetricQuery)
Structured query AST for computation (SeriesQuery or MetricQuery)
SeriesQuery object { select, evaluation_ids, filter, 4 more } Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter.
Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent:
SELECT category, AVG(score) as avg_score, COUNT(*) as count
FROM evaluation_items
WHERE score > 0.5 AND category = ‘test’
GROUP BY category
ORDER BY avg_score DESC
LIMIT 100
Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter. Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent: SELECT category, AVG(score) as avg_score, COUNT(*) as count FROM evaluation_items WHERE score > 0.5 AND category = ‘test’ GROUP BY category ORDER BY avg_score DESC LIMIT 100
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.
MetricQuery object { select, evaluation_ids, filter, latest_only } Query that returns a single metric value (used for metric widgets).
Used for widget type: metric.
Enforces exactly 1 aggregation in select.
Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent:
SELECT AVG(score) as average_score
FROM evaluation_items
Query that returns a single metric value (used for metric widgets).
Used for widget type: metric. Enforces exactly 1 aggregation in select. Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent: SELECT AVG(score) as average_score FROM evaluation_items
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.
result: optional EvaluationDashboardWidgetResultResponse { id, computation_status, widget_id, 3 more } Computed result for this widget
Computed result for this widget
Filter object { conditions, logicalOperators } Filter clause with conditions connected by logical operators.
Conditions are evaluated left-to-right without precedence (no nesting/parentheses).
Example: condition1 AND condition2 OR condition3 evaluates as ((condition1 AND condition2) OR condition3)
Example:
{
“conditions”: [
{“column”: “score”, “operator”: ”>”, “value”: 0.5},
{“column”: “category”, “operator”: ”=”, “value”: “test”}
],
“logicalOperators”: [“AND”]
}
Filter clause with conditions connected by logical operators.
Conditions are evaluated left-to-right without precedence (no nesting/parentheses). Example: condition1 AND condition2 OR condition3 evaluates as ((condition1 AND condition2) OR condition3)
Example: { “conditions”: [ {“column”: “score”, “operator”: ”>”, “value”: 0.5}, {“column”: “category”, “operator”: ”=”, “value”: “test”} ], “logicalOperators”: [“AND”] }
MetricQuery object { select, evaluation_ids, filter, latest_only } Query that returns a single metric value (used for metric widgets).
Used for widget type: metric.
Enforces exactly 1 aggregation in select.
Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent:
SELECT AVG(score) as average_score
FROM evaluation_items
Query that returns a single metric value (used for metric widgets).
Used for widget type: metric. Enforces exactly 1 aggregation in select. Returns: {“type”: “metric”, “data”: …}
Example SQL equivalent: SELECT AVG(score) as average_score FROM evaluation_items
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.
SelectItem object { expression, alias } Column in SELECT clause
Column in SELECT clause
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
SeriesQuery object { select, evaluation_ids, filter, 4 more } Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter.
Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent:
SELECT category, AVG(score) as avg_score, COUNT(*) as count
FROM evaluation_items
WHERE score > 0.5 AND category = ‘test’
GROUP BY category
ORDER BY avg_score DESC
LIMIT 100
Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).
Used for widget types: table, bar, histogram, donut, scatter. Returns: {“type”: “series”, “data”: […]}
Example SQL equivalent: SELECT category, AVG(score) as avg_score, COUNT(*) as count FROM evaluation_items WHERE score > 0.5 AND category = ‘test’ GROUP BY category ORDER BY avg_score DESC LIMIT 100
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Column object { column, source, type } Reference to a column from evaluation_items.data
Example:
{“type”: “COLUMN”, “column”: “category”}
Reference to a column from evaluation_items.data
Example: {“type”: “COLUMN”, “column”: “category”}
Aggregation object { column, function, evaluation_ids, 3 more } Aggregation function to apply
Examples:
{“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”}
{“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”}
{“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Aggregation function to apply
Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}
Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.
Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.
Filter conditions (WHERE clause)
Filter conditions (WHERE clause)
When True, the widget computes against rows from only the most recent active evaluation in the group (by EvaluationORM.created_at). Only applicable for evaluation group dashboards. Composes with evaluation_ids (latest within the subset). Cannot be combined with per-aggregation evaluation_ids; the use case enforces these rules.