Update a widget’s fields within this dashboard, using copy-on-write for shared widgets.
If the widget belongs only to this dashboard it is updated in place; if it is
referenced by more than one dashboard, a new widget is created with the updates
applied and swapped into this dashboard’s widget_order, leaving the other
dashboards’ copy untouched. The widget must already be in this dashboard’s
widget_order, otherwise the call is rejected. The result is recomputed
synchronously when the query changes or when the widget was cloned; otherwise the
existing cached result is returned. For table widgets, conditional-formatting
column references are re-resolved against the (possibly updated) query on each save.
The dashboard must exist and not be archived.
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
SeriesQuery
MetricQuery
Show child attributes
config
Config · object | null
Chart-specific display configuration
Response
Successful Response
Response model for widget creation - includes widget and computed result
id
string
required
Unique identifier of the widget
title
string
required
Widget title
type
enum<string>
required
Widget type
Available options:
bar,
histogram,
donut,
scatter,
metric,
table,
markdown,
heading,
timeseries
account_id
string
required
Account that owns this widget
created_at
string<date-time>
required
When the widget was created
object
string
default:evaluation_widget
Allowed value: "evaluation_widget"
query
SeriesQuery · object
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
SeriesQuery
MetricQuery
Show child attributes
config
Config · object | null
Display configuration
result
EvaluationWidgetResultResponse · object | null
Computed result for this widget
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Scale AI","colors":{"primary":"#3f2e7b","light":"#ca62ff","dark":"#3f2e7b"},"logo":{"light":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/light.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=46027042c16b373ac463148db5ad1d6b","dark":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/dark.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=02733f39d684d796ec742853eabf0de5"},"favicon":"https://mintcdn.com/scalegp/1vQnbXFkjbQbcgd1/favicon.png?fit=max\u0026auto=format\u0026n=1vQnbXFkjbQbcgd1\u0026q=85\u0026s=f52c84ba46a7cca58551673616dabe9c","background":{"decoration":"windows"},"navbar":{"links":[],"primary":{"type":"button","label":"Platform","href":"https://app.sgp.scale.com/"}},"footer":{"socials":{"x":"https://x.com/scale_ai","facebook":"https://www.facebook.com/scaleapi","linkedin":"https://www.linkedin.com/company/scaleai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"scalegp","hasAudioNarration":false,"actualSubdomain":"scalegp","customDomains":["docs.gp.scale.com"],"gitSource":{"type":"github","owner":"scaleapi","repo":"sgp-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af731e4e766df7985e6b8cd","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"API Reference","count":235},{"language":"default","tag":"AgentOps API","count":141},{"language":"default","tag":"Guides","count":131},{"language":"default","tag":"Agentex API","count":97},{"language":"default","tag":"Evaluations","count":72},{"language":"default","tag":"Dex API","count":48},{"language":"default","tag":"Agents","count":44},{"language":"default","tag":"Evaluation Datasets","count":34},{"language":"default","tag":"Models","count":32},{"language":"default","tag":"Knowledge Bases","count":31}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@font-face{font-family:'Aeonik';src:url('https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2');font-weight:normal;font-style:normal;font-display:swap}h1,h2,h3{font-family:'aeonik';letter-spacing:normal!important}"}],"page":{"pagePath":"reference/v5/evaluation-dashboards/update-dashboard-widget","slug":"/reference/v5/evaluation-dashboards/update-dashboard-widget","pageMetadata":{"title":"Update Dashboard Widget","description":"Update a widget's fields within this dashboard, using copy-on-write for shared widgets.\n\nIf the widget belongs only to this dashboard it is updated in place; if it is\nreferenced by more than one dashboard, a new widget is created with the updates\napplied and swapped into this dashboard's `widget_order`, leaving the other\ndashboards' copy untouched. The widget must already be in this dashboard's\n`widget_order`, otherwise the call is rejected. The result is recomputed\nsynchronously when the `query` changes or when the widget was cloned; otherwise the\nexisting cached result is returned. For `table` widgets, conditional-formatting\ncolumn references are re-resolved against the (possibly updated) query on each save.\nThe dashboard must exist and not be archived.","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluation-dashboards/{dashboard_id}/widgets/{widget_id}","href":"/reference/v5/evaluation-dashboards/update-dashboard-widget","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Update a widget’s fields within this dashboard, using copy-on-write for shared widgets.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"If the widget belongs only to this dashboard it is updated in place; if it is\\nreferenced by more than one dashboard, a new widget is created with the updates\\napplied and swapped into this dashboard’s \", _jsx(_components.code, {\n children: \"widget_order\"\n }), \", leaving the other\\ndashboards’ copy untouched. The widget must already be in this dashboard’s\\n\", _jsx(_components.code, {\n children: \"widget_order\"\n }), \", otherwise the call is rejected. The result is recomputed\\nsynchronously when the \", _jsx(_components.code, {\n children: \"query\"\n }), \" changes or when the widget was cloned; otherwise the\\nexisting cached result is returned. For \", _jsx(_components.code, {\n children: \"table\"\n }), \" widgets, conditional-formatting\\ncolumn references are re-resolved against the (possibly updated) query on each save.\\nThe dashboard must exist and not be archived.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update Dashboard Widget","description":"Update a widget's fields within this dashboard, using copy-on-write for shared widgets.\n\nIf the widget belongs only to this dashboard it is updated in place; if it is\nreferenced by more than one dashboard, a new widget is created with the updates\napplied and swapped into this dashboard's `widget_order`, leaving the other\ndashboards' copy untouched. The widget must already be in this dashboard's\n`widget_order`, otherwise the call is rejected. The result is recomputed\nsynchronously when the `query` changes or when the widget was cloned; otherwise the\nexisting cached result is returned. For `table` widgets, conditional-formatting\ncolumn references are re-resolved against the (possibly updated) query on each save.\nThe dashboard must exist and not be archived.","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluation-dashboards/{dashboard_id}/widgets/{widget_id}","href":"/reference/v5/evaluation-dashboards/update-dashboard-widget","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Evaluation Dashboards"],"summary":"Update Dashboard Widget","description":"Update a widget's fields within this dashboard, using copy-on-write for shared widgets.\n\nIf the widget belongs only to this dashboard it is updated in place; if it is\nreferenced by more than one dashboard, a new widget is created with the updates\napplied and swapped into this dashboard's `widget_order`, leaving the other\ndashboards' copy untouched. The widget must already be in this dashboard's\n`widget_order`, otherwise the call is rejected. The result is recomputed\nsynchronously when the `query` changes or when the widget was cloned; otherwise the\nexisting cached result is returned. For `table` widgets, conditional-formatting\ncolumn references are re-resolved against the (possibly updated) query on each save.\nThe dashboard must exist and not be archived.","operationId":"PATCH-V5-/v5/evaluation-dashboards/dashboard_id/widgets/widget_id","security":["62fe85ce-deda-431c-831b-d02ebf3bfbb3"],"parameters":["c0d21b7f-2bab-49bc-a9bb-9ae38e4c0b57","5b2f345b-67db-46a6-9884-bb7cc1b12b08","19f1ee25-04f0-4874-9bc2-7dd25ce487af"],"requestBody":"735a5f74-4ca4-4371-bf8f-68b831780dff","responses":{"200":"0120c407-148c-4629-a618-8900cd8298d1","422":"d817370e-87ae-484a-8999-e73701637007"},"method":"patch","type":"path","servers":["53d4b40c-6ecb-41f0-8721-9b4723f67775"],"path":"/v5/evaluation-dashboards/{dashboard_id}/widgets/{widget_id}","baseUrlOptions":["https://api.egp.scale.com"],"title":"Update Dashboard Widget","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c0d21b7f-2bab-49bc-a9bb-9ae38e4c0b57":{"name":"dashboard_id","in":"path","required":true,"schema":{"type":"string","title":"Dashboard Id","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"5b2f345b-67db-46a6-9884-bb7cc1b12b08":{"name":"widget_id","in":"path","required":true,"schema":{"type":"string","title":"Widget Id","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"19f1ee25-04f0-4874-9bc2-7dd25ce487af":{"name":"x-selected-account-id","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"Account ID Header","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Account ID Header","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"oneOf":[{"type":"string","title":"Title","description":"Widget title","maxLength":256,"minLength":1,"uniqueKey":"title.oneOf.0","typeLabel":"string"},{"type":"null","title":"Title","description":"Widget title","uniqueKey":"title.oneOf.1","typeLabel":"null"}],"uniqueKey":"title","typeLabel":"string | null"},"query":{"oneOf":[{"type":"object","title":"SeriesQuery","description":"Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).\n\nUsed for widget types: table, bar, histogram, donut, scatter.\nReturns: {\"type\": \"series\", \"data\": [...]}\n\nExample SQL equivalent:\n SELECT category, AVG(score) as avg_score, COUNT(*) as count\n FROM evaluation_items\n WHERE score > 0.5 AND category = 'test'\n GROUP BY category\n ORDER BY avg_score DESC\n LIMIT 100","required":["select"],"properties":{"select":{"items":{"properties":{"expression":{"oneOf":[{"type":"object","title":"Column","description":"Reference to a column from evaluation_items.data\n\nExample:\n {\"type\": \"COLUMN\", \"column\": \"category\"}","required":["column"],"properties":{"column":{"type":"string","title":"Column","description":"Column name from evaluation_items.data","isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.column","typeLabel":"string"},"type":{"type":"string","const":"COLUMN","title":"Type","default":"COLUMN","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.source","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0","typeLabel":"Column · object"},{"type":"object","title":"Aggregation","description":"Aggregation function to apply\n\nExamples:\n {\"type\": \"AGGREGATION\", \"function\": \"AVG\", \"column\": \"score\"}\n {\"type\": \"AGGREGATION\", \"function\": \"COUNT\", \"column\": \"*\"}\n {\"type\": \"AGGREGATION\", \"function\": \"PERCENTILE\", \"column\": \"score\", \"params\": {\"percentile\": 95}}","required":["function","column"],"properties":{"function":{"type":"string","enum":["COUNT","SUM","AVG","MIN","MAX","STDDEV","VARIANCE","PERCENTILE","COUNT_DISTINCT","PERCENTAGE"],"title":"AggregationFunctionEnum","description":"Supported aggregation functions","isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.function","typeLabel":"enum\u003cstring>"},"column":{"type":"string","title":"Column","description":"Column to aggregate, or '*' for COUNT(*)","isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.column","typeLabel":"string"},"type":{"type":"string","const":"AGGREGATION","title":"Type","default":"AGGREGATION","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.source","typeLabel":"string | null"},"params":{"oneOf":[{"type":"object","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","additionalProperties":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.params.oneOf.0","typeLabel":"Params · object"},{"type":"null","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.params.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.params","typeLabel":"Params · object | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","minItems":1,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1","typeLabel":"Aggregation · object"}],"isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression","typeLabel":"Column · object | Aggregation · object"},"alias":{"oneOf":[{"type":"string","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.0.select.items.[INDEX].alias.oneOf.0","typeLabel":"string"},{"type":"null","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.0.select.items.[INDEX].alias.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].alias","typeLabel":"string | null"}},"type":"object","required":["expression"],"title":"SelectItem","description":"Column in SELECT clause","uniqueKey":"query.oneOf.0.select.items.[INDEX]","typeLabel":"SelectItem · object"},"type":"array","minItems":1,"title":"Select","isRequired":true,"uniqueKey":"query.oneOf.0.select","typeLabel":"SelectItem · object[]"},"filter":{"oneOf":[{"type":"object","title":"Filter","description":"Filter conditions (WHERE clause)","required":["conditions"],"properties":{"conditions":{"items":{"properties":{"column":{"type":"string","title":"Column","description":"Column name to filter on","isRequired":true,"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].column","typeLabel":"string"},"operator":{"type":"string","enum":["=","!=",">","\u003c",">=","\u003c=","IN","NOT IN","LIKE","NOT LIKE","IS NULL","IS NOT NULL"],"title":"ComparisonOperatorEnum","description":"Comparison operator","isRequired":true,"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].source","typeLabel":"string | null"},"value":{"oneOf":[{"type":"string","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4.items.[INDEX]","typeLabel":"any"},"title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4","typeLabel":"any[]"},{"type":"null","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.5","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value","typeLabel":"string | integer | number | boolean | any[] | null"}},"type":"object","required":["column","operator"],"title":"FilterCondition","description":"Single filter condition comparing a column to a value.\n\nExample:\n {\"column\": \"score\", \"operator\": \">\", \"value\": 0.5}\n {\"column\": \"category\", \"operator\": \"=\", \"value\": \"test\"}","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX]","typeLabel":"FilterCondition · object"},"type":"array","minItems":1,"title":"Conditions","isRequired":true,"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions","typeLabel":"FilterCondition · object[]"},"logicalOperators":{"oneOf":[{"type":"array","items":{"type":"string","enum":["AND","OR"],"title":"LogicalOperatorEnum","description":"Logical operators for connecting filter conditions","uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators","typeLabel":"enum\u003cstring>[] | null"}},"uniqueKey":"query.oneOf.0.filter.oneOf.0","typeLabel":"Filter · object"},{"type":"null","description":"Filter conditions (WHERE clause)","uniqueKey":"query.oneOf.0.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter","typeLabel":"Filter · object | null"},"groupBy":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.0.groupBy.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Groupby","description":"Columns to group by","uniqueKey":"query.oneOf.0.groupBy.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Groupby","description":"Columns to group by","uniqueKey":"query.oneOf.0.groupBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.groupBy","typeLabel":"string[] | null"},"orderBy":{"oneOf":[{"type":"array","items":{"properties":{"column":{"type":"string","title":"Column","description":"Column name to sort by","isRequired":true,"uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].column","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].source","typeLabel":"string | null"},"direction":{"type":"string","enum":["ASC","DESC"],"title":"SortDirectionEnum","description":"Sort direction","default":"ASC","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].direction","typeLabel":"enum\u003cstring>"}},"type":"object","required":["column"],"title":"OrderByColumn","description":"Column in ORDER BY clause","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX]","typeLabel":"OrderByColumn · object"},"title":"Orderby","description":"Sort order","uniqueKey":"query.oneOf.0.orderBy.oneOf.0","typeLabel":"OrderByColumn · object[]"},{"type":"null","title":"Orderby","description":"Sort order","uniqueKey":"query.oneOf.0.orderBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.orderBy","typeLabel":"OrderByColumn · object[] | null"},"limit":{"oneOf":[{"type":"integer","title":"Limit","description":"Max rows to return","minimum":1,"uniqueKey":"query.oneOf.0.limit.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Limit","description":"Max rows to return","uniqueKey":"query.oneOf.0.limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.limit","typeLabel":"integer | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.0.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","minItems":1,"uniqueKey":"query.oneOf.0.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","uniqueKey":"query.oneOf.0.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.evaluation_ids","typeLabel":"string[] | null"},"latest_only":{"oneOf":[{"type":"boolean","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.0.latest_only.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.0.latest_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.latest_only","typeLabel":"boolean | null"}},"uniqueKey":"query.oneOf.0","typeLabel":"SeriesQuery · object"},{"type":"object","title":"MetricQuery","description":"Query that returns a single metric value (used for metric widgets).\n\nUsed for widget type: metric.\nEnforces exactly 1 aggregation in select.\nReturns: {\"type\": \"metric\", \"data\": ...}\n\nExample SQL equivalent:\n SELECT AVG(score) as average_score\n FROM evaluation_items","required":["select"],"properties":{"select":{"items":{"properties":{"expression":{"oneOf":[{"type":"object","title":"Column","description":"Reference to a column from evaluation_items.data\n\nExample:\n {\"type\": \"COLUMN\", \"column\": \"category\"}","required":["column"],"properties":{"column":{"type":"string","title":"Column","description":"Column name from evaluation_items.data","isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.column","typeLabel":"string"},"type":{"type":"string","const":"COLUMN","title":"Type","default":"COLUMN","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.source","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0","typeLabel":"Column · object"},{"type":"object","title":"Aggregation","description":"Aggregation function to apply\n\nExamples:\n {\"type\": \"AGGREGATION\", \"function\": \"AVG\", \"column\": \"score\"}\n {\"type\": \"AGGREGATION\", \"function\": \"COUNT\", \"column\": \"*\"}\n {\"type\": \"AGGREGATION\", \"function\": \"PERCENTILE\", \"column\": \"score\", \"params\": {\"percentile\": 95}}","required":["function","column"],"properties":{"function":{"type":"string","enum":["COUNT","SUM","AVG","MIN","MAX","STDDEV","VARIANCE","PERCENTILE","COUNT_DISTINCT","PERCENTAGE"],"title":"AggregationFunctionEnum","description":"Supported aggregation functions","isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.function","typeLabel":"enum\u003cstring>"},"column":{"type":"string","title":"Column","description":"Column to aggregate, or '*' for COUNT(*)","isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.column","typeLabel":"string"},"type":{"type":"string","const":"AGGREGATION","title":"Type","default":"AGGREGATION","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.source","typeLabel":"string | null"},"params":{"oneOf":[{"type":"object","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","additionalProperties":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.params.oneOf.0","typeLabel":"Params · object"},{"type":"null","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.params.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.params","typeLabel":"Params · object | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","minItems":1,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1","typeLabel":"Aggregation · object"}],"isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression","typeLabel":"Column · object | Aggregation · object"},"alias":{"oneOf":[{"type":"string","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.1.select.items.[INDEX].alias.oneOf.0","typeLabel":"string"},{"type":"null","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.1.select.items.[INDEX].alias.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].alias","typeLabel":"string | null"}},"type":"object","required":["expression"],"title":"SelectItem","description":"Column in SELECT clause","uniqueKey":"query.oneOf.1.select.items.[INDEX]","typeLabel":"SelectItem · object"},"type":"array","maxItems":1,"minItems":1,"title":"Select","isRequired":true,"uniqueKey":"query.oneOf.1.select","typeLabel":"SelectItem · object[]"},"filter":{"oneOf":[{"type":"object","title":"Filter","description":"Filter conditions (WHERE clause)","required":["conditions"],"properties":{"conditions":{"items":{"properties":{"column":{"type":"string","title":"Column","description":"Column name to filter on","isRequired":true,"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].column","typeLabel":"string"},"operator":{"type":"string","enum":["=","!=",">","\u003c",">=","\u003c=","IN","NOT IN","LIKE","NOT LIKE","IS NULL","IS NOT NULL"],"title":"ComparisonOperatorEnum","description":"Comparison operator","isRequired":true,"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].source","typeLabel":"string | null"},"value":{"oneOf":[{"type":"string","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4.items.[INDEX]","typeLabel":"any"},"title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4","typeLabel":"any[]"},{"type":"null","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.5","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value","typeLabel":"string | integer | number | boolean | any[] | null"}},"type":"object","required":["column","operator"],"title":"FilterCondition","description":"Single filter condition comparing a column to a value.\n\nExample:\n {\"column\": \"score\", \"operator\": \">\", \"value\": 0.5}\n {\"column\": \"category\", \"operator\": \"=\", \"value\": \"test\"}","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX]","typeLabel":"FilterCondition · object"},"type":"array","minItems":1,"title":"Conditions","isRequired":true,"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions","typeLabel":"FilterCondition · object[]"},"logicalOperators":{"oneOf":[{"type":"array","items":{"type":"string","enum":["AND","OR"],"title":"LogicalOperatorEnum","description":"Logical operators for connecting filter conditions","uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators","typeLabel":"enum\u003cstring>[] | null"}},"uniqueKey":"query.oneOf.1.filter.oneOf.0","typeLabel":"Filter · object"},{"type":"null","description":"Filter conditions (WHERE clause)","uniqueKey":"query.oneOf.1.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter","typeLabel":"Filter · object | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.1.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","minItems":1,"uniqueKey":"query.oneOf.1.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","uniqueKey":"query.oneOf.1.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.evaluation_ids","typeLabel":"string[] | null"},"latest_only":{"oneOf":[{"type":"boolean","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.1.latest_only.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.1.latest_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.latest_only","typeLabel":"boolean | null"}},"uniqueKey":"query.oneOf.1","typeLabel":"MetricQuery · object"},{"type":"null","title":"Query","description":"Structured query AST for metric computation (SeriesQuery or MetricQuery)","uniqueKey":"query.oneOf.2","typeLabel":"null"}],"uniqueKey":"query","typeLabel":"SeriesQuery · object | MetricQuery · object | null"},"config":{"oneOf":[{"type":"object","title":"Config","description":"Chart-specific display configuration","additionalProperties":true,"uniqueKey":"config.oneOf.0","typeLabel":"Config · object"},{"type":"null","title":"Config","description":"Chart-specific display configuration","uniqueKey":"config.oneOf.1","typeLabel":"null"}],"uniqueKey":"config","typeLabel":"Config · object | null"}},"type":"object","title":"EvaluationDashboardWidgetUpdateRequest","uniqueKey":"","typeLabel":"EvaluationDashboardWidgetUpdateRequest · object"},"examples":{"Example":{"title":"Example","value":{"title":"\u003cstring>","query":{"select":[{"expression":{"column":"\u003cstring>","type":"COLUMN","source":"\u003cstring>"},"alias":"\u003cstring>"}],"filter":{"conditions":[{"column":"\u003cstring>","source":"\u003cstring>","value":"\u003cstring>"}],"logicalOperators":[]},"groupBy":["\u003cstring>"],"orderBy":[{"column":"\u003cstring>","source":"\u003cstring>","direction":"ASC"}],"limit":2,"evaluation_ids":["\u003cstring>"],"latest_only":true},"config":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"0120c407-148c-4629-a618-8900cd8298d1":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"id":{"type":"string","title":"Id","description":"Unique identifier of the widget","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"title":{"type":"string","title":"Title","description":"Widget title","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"type":{"type":"string","enum":["bar","histogram","donut","scatter","metric","table","markdown","heading","timeseries"],"title":"EvaluationWidgetTypeEnum","description":"Widget type","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"account_id":{"type":"string","title":"Account Id","description":"Account that owns this widget","isRequired":true,"uniqueKey":"account_id","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the widget was created","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"object":{"type":"string","const":"evaluation_widget","title":"Object","default":"evaluation_widget","uniqueKey":"object","typeLabel":"string"},"query":{"oneOf":[{"type":"object","title":"SeriesQuery","description":"Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).\n\nUsed for widget types: table, bar, histogram, donut, scatter.\nReturns: {\"type\": \"series\", \"data\": [...]}\n\nExample SQL equivalent:\n SELECT category, AVG(score) as avg_score, COUNT(*) as count\n FROM evaluation_items\n WHERE score > 0.5 AND category = 'test'\n GROUP BY category\n ORDER BY avg_score DESC\n LIMIT 100","required":["select"],"properties":{"select":{"items":{"properties":{"expression":{"oneOf":[{"type":"object","title":"Column","description":"Reference to a column from evaluation_items.data\n\nExample:\n {\"type\": \"COLUMN\", \"column\": \"category\"}","required":["column"],"properties":{"column":{"type":"string","title":"Column","description":"Column name from evaluation_items.data","isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.column","typeLabel":"string"},"type":{"type":"string","const":"COLUMN","title":"Type","default":"COLUMN","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0.source","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.0","typeLabel":"Column · object"},{"type":"object","title":"Aggregation","description":"Aggregation function to apply\n\nExamples:\n {\"type\": \"AGGREGATION\", \"function\": \"AVG\", \"column\": \"score\"}\n {\"type\": \"AGGREGATION\", \"function\": \"COUNT\", \"column\": \"*\"}\n {\"type\": \"AGGREGATION\", \"function\": \"PERCENTILE\", \"column\": \"score\", \"params\": {\"percentile\": 95}}","required":["function","column"],"properties":{"function":{"type":"string","enum":["COUNT","SUM","AVG","MIN","MAX","STDDEV","VARIANCE","PERCENTILE","COUNT_DISTINCT","PERCENTAGE"],"title":"AggregationFunctionEnum","description":"Supported aggregation functions","isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.function","typeLabel":"enum\u003cstring>"},"column":{"type":"string","title":"Column","description":"Column to aggregate, or '*' for COUNT(*)","isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.column","typeLabel":"string"},"type":{"type":"string","const":"AGGREGATION","title":"Type","default":"AGGREGATION","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.source","typeLabel":"string | null"},"params":{"oneOf":[{"type":"object","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","additionalProperties":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.params.oneOf.0","typeLabel":"Params · object"},{"type":"null","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.params.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.params","typeLabel":"Params · object | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","minItems":1,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1.evaluation_ids","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression.oneOf.1","typeLabel":"Aggregation · object"}],"isRequired":true,"uniqueKey":"query.oneOf.0.select.items.[INDEX].expression","typeLabel":"Column · object | Aggregation · object"},"alias":{"oneOf":[{"type":"string","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.0.select.items.[INDEX].alias.oneOf.0","typeLabel":"string"},{"type":"null","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.0.select.items.[INDEX].alias.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.select.items.[INDEX].alias","typeLabel":"string | null"}},"type":"object","required":["expression"],"title":"SelectItem","description":"Column in SELECT clause","uniqueKey":"query.oneOf.0.select.items.[INDEX]","typeLabel":"SelectItem · object"},"type":"array","minItems":1,"title":"Select","isRequired":true,"uniqueKey":"query.oneOf.0.select","typeLabel":"SelectItem · object[]"},"filter":{"oneOf":[{"type":"object","title":"Filter","description":"Filter conditions (WHERE clause)","required":["conditions"],"properties":{"conditions":{"items":{"properties":{"column":{"type":"string","title":"Column","description":"Column name to filter on","isRequired":true,"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].column","typeLabel":"string"},"operator":{"type":"string","enum":["=","!=",">","\u003c",">=","\u003c=","IN","NOT IN","LIKE","NOT LIKE","IS NULL","IS NOT NULL"],"title":"ComparisonOperatorEnum","description":"Comparison operator","isRequired":true,"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].source","typeLabel":"string | null"},"value":{"oneOf":[{"type":"string","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4.items.[INDEX]","typeLabel":"any"},"title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4","typeLabel":"any[]"},{"type":"null","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.5","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX].value","typeLabel":"string | integer | number | boolean | any[] | null"}},"type":"object","required":["column","operator"],"title":"FilterCondition","description":"Single filter condition comparing a column to a value.\n\nExample:\n {\"column\": \"score\", \"operator\": \">\", \"value\": 0.5}\n {\"column\": \"category\", \"operator\": \"=\", \"value\": \"test\"}","uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions.items.[INDEX]","typeLabel":"FilterCondition · object"},"type":"array","minItems":1,"title":"Conditions","isRequired":true,"uniqueKey":"query.oneOf.0.filter.oneOf.0.conditions","typeLabel":"FilterCondition · object[]"},"logicalOperators":{"oneOf":[{"type":"array","items":{"type":"string","enum":["AND","OR"],"title":"LogicalOperatorEnum","description":"Logical operators for connecting filter conditions","uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter.oneOf.0.logicalOperators","typeLabel":"enum\u003cstring>[] | null"}},"uniqueKey":"query.oneOf.0.filter.oneOf.0","typeLabel":"Filter · object"},{"type":"null","description":"Filter conditions (WHERE clause)","uniqueKey":"query.oneOf.0.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.filter","typeLabel":"Filter · object | null"},"groupBy":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.0.groupBy.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Groupby","description":"Columns to group by","uniqueKey":"query.oneOf.0.groupBy.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Groupby","description":"Columns to group by","uniqueKey":"query.oneOf.0.groupBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.groupBy","typeLabel":"string[] | null"},"orderBy":{"oneOf":[{"type":"array","items":{"properties":{"column":{"type":"string","title":"Column","description":"Column name to sort by","isRequired":true,"uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].column","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].source","typeLabel":"string | null"},"direction":{"type":"string","enum":["ASC","DESC"],"title":"SortDirectionEnum","description":"Sort direction","default":"ASC","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX].direction","typeLabel":"enum\u003cstring>"}},"type":"object","required":["column"],"title":"OrderByColumn","description":"Column in ORDER BY clause","uniqueKey":"query.oneOf.0.orderBy.oneOf.0.items.[INDEX]","typeLabel":"OrderByColumn · object"},"title":"Orderby","description":"Sort order","uniqueKey":"query.oneOf.0.orderBy.oneOf.0","typeLabel":"OrderByColumn · object[]"},{"type":"null","title":"Orderby","description":"Sort order","uniqueKey":"query.oneOf.0.orderBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.orderBy","typeLabel":"OrderByColumn · object[] | null"},"limit":{"oneOf":[{"type":"integer","title":"Limit","description":"Max rows to return","minimum":1,"uniqueKey":"query.oneOf.0.limit.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Limit","description":"Max rows to return","uniqueKey":"query.oneOf.0.limit.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.limit","typeLabel":"integer | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.0.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","minItems":1,"uniqueKey":"query.oneOf.0.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","uniqueKey":"query.oneOf.0.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.evaluation_ids","typeLabel":"string[] | null"},"latest_only":{"oneOf":[{"type":"boolean","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.0.latest_only.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.0.latest_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.0.latest_only","typeLabel":"boolean | null"}},"uniqueKey":"query.oneOf.0","typeLabel":"SeriesQuery · object"},{"type":"object","title":"MetricQuery","description":"Query that returns a single metric value (used for metric widgets).\n\nUsed for widget type: metric.\nEnforces exactly 1 aggregation in select.\nReturns: {\"type\": \"metric\", \"data\": ...}\n\nExample SQL equivalent:\n SELECT AVG(score) as average_score\n FROM evaluation_items","required":["select"],"properties":{"select":{"items":{"properties":{"expression":{"oneOf":[{"type":"object","title":"Column","description":"Reference to a column from evaluation_items.data\n\nExample:\n {\"type\": \"COLUMN\", \"column\": \"category\"}","required":["column"],"properties":{"column":{"type":"string","title":"Column","description":"Column name from evaluation_items.data","isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.column","typeLabel":"string"},"type":{"type":"string","const":"COLUMN","title":"Type","default":"COLUMN","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0.source","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.0","typeLabel":"Column · object"},{"type":"object","title":"Aggregation","description":"Aggregation function to apply\n\nExamples:\n {\"type\": \"AGGREGATION\", \"function\": \"AVG\", \"column\": \"score\"}\n {\"type\": \"AGGREGATION\", \"function\": \"COUNT\", \"column\": \"*\"}\n {\"type\": \"AGGREGATION\", \"function\": \"PERCENTILE\", \"column\": \"score\", \"params\": {\"percentile\": 95}}","required":["function","column"],"properties":{"function":{"type":"string","enum":["COUNT","SUM","AVG","MIN","MAX","STDDEV","VARIANCE","PERCENTILE","COUNT_DISTINCT","PERCENTAGE"],"title":"AggregationFunctionEnum","description":"Supported aggregation functions","isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.function","typeLabel":"enum\u003cstring>"},"column":{"type":"string","title":"Column","description":"Column to aggregate, or '*' for COUNT(*)","isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.column","typeLabel":"string"},"type":{"type":"string","const":"AGGREGATION","title":"Type","default":"AGGREGATION","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.type","typeLabel":"string"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.source","typeLabel":"string | null"},"params":{"oneOf":[{"type":"object","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","additionalProperties":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.params.oneOf.0","typeLabel":"Params · object"},{"type":"null","title":"Params","description":"Function parameters (e.g., {'percentile': 95} for PERCENTILE, {'percentage_filters': Filter} for PERCENTAGE)","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.params.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.params","typeLabel":"Params · object | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","minItems":1,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.","uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1.evaluation_ids","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression.oneOf.1","typeLabel":"Aggregation · object"}],"isRequired":true,"uniqueKey":"query.oneOf.1.select.items.[INDEX].expression","typeLabel":"Column · object | Aggregation · object"},"alias":{"oneOf":[{"type":"string","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.1.select.items.[INDEX].alias.oneOf.0","typeLabel":"string"},{"type":"null","title":"Alias","description":"Optional alias for the selected item","uniqueKey":"query.oneOf.1.select.items.[INDEX].alias.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.select.items.[INDEX].alias","typeLabel":"string | null"}},"type":"object","required":["expression"],"title":"SelectItem","description":"Column in SELECT clause","uniqueKey":"query.oneOf.1.select.items.[INDEX]","typeLabel":"SelectItem · object"},"type":"array","maxItems":1,"minItems":1,"title":"Select","isRequired":true,"uniqueKey":"query.oneOf.1.select","typeLabel":"SelectItem · object[]"},"filter":{"oneOf":[{"type":"object","title":"Filter","description":"Filter conditions (WHERE clause)","required":["conditions"],"properties":{"conditions":{"items":{"properties":{"column":{"type":"string","title":"Column","description":"Column name to filter on","isRequired":true,"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].column","typeLabel":"string"},"operator":{"type":"string","enum":["=","!=",">","\u003c",">=","\u003c=","IN","NOT IN","LIKE","NOT LIKE","IS NULL","IS NOT NULL"],"title":"ComparisonOperatorEnum","description":"Comparison operator","isRequired":true,"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"source":{"oneOf":[{"type":"string","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"type":"null","title":"Source","description":"Column source: 'data' or 'task_result_cache'","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].source","typeLabel":"string | null"},"value":{"oneOf":[{"type":"string","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.3","typeLabel":"boolean"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4.items.[INDEX]","typeLabel":"any"},"title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.4","typeLabel":"any[]"},{"type":"null","title":"Value","description":"Value to compare against. Not required for IS NULL / IS NOT NULL operators.","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value.oneOf.5","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX].value","typeLabel":"string | integer | number | boolean | any[] | null"}},"type":"object","required":["column","operator"],"title":"FilterCondition","description":"Single filter condition comparing a column to a value.\n\nExample:\n {\"column\": \"score\", \"operator\": \">\", \"value\": 0.5}\n {\"column\": \"category\", \"operator\": \"=\", \"value\": \"test\"}","uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions.items.[INDEX]","typeLabel":"FilterCondition · object"},"type":"array","minItems":1,"title":"Conditions","isRequired":true,"uniqueKey":"query.oneOf.1.filter.oneOf.0.conditions","typeLabel":"FilterCondition · object[]"},"logicalOperators":{"oneOf":[{"type":"array","items":{"type":"string","enum":["AND","OR"],"title":"LogicalOperatorEnum","description":"Logical operators for connecting filter conditions","uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators.oneOf.0.items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators.oneOf.0","typeLabel":"enum\u003cstring>[]"},{"type":"null","title":"Logicaloperators","description":"Logical operators connecting conditions. Length must be len(conditions) - 1","uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter.oneOf.0.logicalOperators","typeLabel":"enum\u003cstring>[] | null"}},"uniqueKey":"query.oneOf.1.filter.oneOf.0","typeLabel":"Filter · object"},{"type":"null","description":"Filter conditions (WHERE clause)","uniqueKey":"query.oneOf.1.filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.filter","typeLabel":"Filter · object | null"},"evaluation_ids":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"query.oneOf.1.evaluation_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","minItems":1,"uniqueKey":"query.oneOf.1.evaluation_ids.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Evaluation Ids","description":"Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.","uniqueKey":"query.oneOf.1.evaluation_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.evaluation_ids","typeLabel":"string[] | null"},"latest_only":{"oneOf":[{"type":"boolean","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.1.latest_only.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Latest Only","description":"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.","uniqueKey":"query.oneOf.1.latest_only.oneOf.1","typeLabel":"null"}],"uniqueKey":"query.oneOf.1.latest_only","typeLabel":"boolean | null"}},"uniqueKey":"query.oneOf.1","typeLabel":"MetricQuery · object"},{"type":"null","title":"Query","description":"Structured query AST for computation (SeriesQuery or MetricQuery)","uniqueKey":"query.oneOf.2","typeLabel":"null"}],"uniqueKey":"query","typeLabel":"SeriesQuery · object | MetricQuery · object | null"},"config":{"oneOf":[{"type":"object","title":"Config","description":"Display configuration","additionalProperties":true,"uniqueKey":"config.oneOf.0","typeLabel":"Config · object"},{"type":"null","title":"Config","description":"Display configuration","uniqueKey":"config.oneOf.1","typeLabel":"null"}],"uniqueKey":"config","typeLabel":"Config · object | null"},"result":{"oneOf":[{"type":"object","title":"EvaluationWidgetResultResponse","description":"Computed result for this widget","required":["id","widget_id","computation_status"],"properties":{"id":{"type":"string","title":"Id","description":"Unique identifier of the widget result","isRequired":true,"uniqueKey":"result.oneOf.0.id","typeLabel":"string"},"widget_id":{"type":"string","title":"Widget Id","description":"Widget ID this result belongs to","isRequired":true,"uniqueKey":"result.oneOf.0.widget_id","typeLabel":"string"},"computation_status":{"type":"string","title":"Computation Status","description":"Status: pending, completed, or failed","isRequired":true,"uniqueKey":"result.oneOf.0.computation_status","typeLabel":"string"},"computed_result":{"oneOf":[{"type":"object","title":"Computed Result","description":"Computed result data. Metric: {type: 'metric', data: 42}, Series: {type: 'series', data: [{x: 'A', y: 10}, ...]}","additionalProperties":true,"uniqueKey":"result.oneOf.0.computed_result.oneOf.0","typeLabel":"Computed Result · object"},{"type":"null","title":"Computed Result","description":"Computed result data. Metric: {type: 'metric', data: 42}, Series: {type: 'series', data: [{x: 'A', y: 10}, ...]}","uniqueKey":"result.oneOf.0.computed_result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.oneOf.0.computed_result","typeLabel":"Computed Result · object | null"},"error_message":{"oneOf":[{"type":"string","title":"Error Message","description":"Error message if computation failed","uniqueKey":"result.oneOf.0.error_message.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error Message","description":"Error message if computation failed","uniqueKey":"result.oneOf.0.error_message.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.oneOf.0.error_message","typeLabel":"string | null"},"computed_at":{"oneOf":[{"type":"string","title":"Computed At","description":"When computation completed","format":"date-time","uniqueKey":"result.oneOf.0.computed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Computed At","description":"When computation completed","uniqueKey":"result.oneOf.0.computed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"result.oneOf.0.computed_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"result.oneOf.0","typeLabel":"EvaluationWidgetResultResponse · object"},{"type":"null","description":"Computed result for this widget","uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"EvaluationWidgetResultResponse · object | null"}},"type":"object","required":["id","title","type","account_id","created_at"],"description":"Response model for widget creation - includes widget and computed result","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","title":"\u003cstring>","type":"bar","account_id":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","object":"evaluation_widget","query":{"select":[{"expression":{"column":"\u003cstring>","type":"COLUMN","source":"\u003cstring>"},"alias":"\u003cstring>"}],"filter":{"conditions":[{"column":"\u003cstring>","operator":"=","source":"\u003cstring>","value":"\u003cstring>"}],"logicalOperators":["AND"]},"groupBy":["\u003cstring>"],"orderBy":[{"column":"\u003cstring>","source":"\u003cstring>","direction":"ASC"}],"limit":2,"evaluation_ids":["\u003cstring>"],"latest_only":true},"config":{},"result":{"id":"\u003cstring>","widget_id":"\u003cstring>","computation_status":"\u003cstring>","computed_result":{},"error_message":"\u003cstring>","computed_at":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"d817370e-87ae-484a-8999-e73701637007":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"},"input":{"oneOf":[{"title":"Input"}],"uniqueKey":"detail.items.[INDEX].input","typeLabel":"any"},"ctx":{"type":"object","title":"Context","additionalProperties":true,"uniqueKey":"detail.items.[INDEX].ctx","typeLabel":"Context · object"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>","input":"\u003cunknown>","ctx":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"62fe85ce-deda-431c-831b-d02ebf3bfbb3":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"APIKeyHeader"}}},"servers":{"53d4b40c-6ecb-41f0-8721-9b4723f67775":{"url":"https://api.egp.scale.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[],"schemeName":"APIKeyHeader"},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"APIKeyHeader","name":"x-api-key"}],"title":"APIKeyHeader"}]},"originalFileLocation":"openapi/v5.yaml"},"subdomain":"scalegp","siteName":"Scale AI","title":"Update Dashboard Widget - Scale AI","navMaps":{"firstHrefInVersion":{"V5":{"href":"/reference/v5/evaluation-dashboards/update-dashboard-widget","matchLevel":0},"V4 (legacy)":{"href":"/home","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-06-26T12:57:48.397Z","originalFileLocation":"reference/v5/evaluation-dashboards/update-dashboard-widget.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Update a widget\u0026#x27;s fields within this dashboard, using copy-on-write for shared widgets. If the widget belongs only to this dashboard it is updated in place; if it is referenced by more than one dashboard, a new widget is created with the updates applied and swapped into this dashboard\u0026#x27;s widget_order, leaving the other dashboards\u0026#x27; copy untouched. The widget must already be in this dashboard\u0026#x27;s widget_order, otherwise the call is rejected. The result is recomputed synchronously when the query changes or when the widget was cloned; otherwise the existing cached result is returned. For table widgets, conditional-formatting column references are re-resolved against the (possibly updated) query on each save. The dashboard must exist and not be archived.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Dashboard Widget - Scale AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update a widget\u0026#x27;s fields within this dashboard, using copy-on-write for shared widgets. If the widget belongs only to this dashboard it is updated in place; if it is referenced by more than one dashboard, a new widget is created with the updates applied and swapped into this dashboard\u0026#x27;s widget_order, leaving the other dashboards\u0026#x27; copy untouched. The widget must already be in this dashboard\u0026#x27;s widget_order, otherwise the call is rejected. The result is recomputed synchronously when the query changes or when the widget was cloned; otherwise the existing cached result is returned. For table widgets, conditional-formatting column references are re-resolved against the (possibly updated) query on each save. The dashboard must exist and not be archived.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Scale AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://scalegp.mintlify.site/_mintlify/api/og/v2?division=Evaluation+Dashboards\u0026amp;title=Update+Dashboard+Widget\u0026amp;description=Update+a+widget%27s+fields+within+this+dashboard%2C+using+copy-on-write+for+shared+widgets.%0A%0AIf+the+widget+belongs+only+to+this+dashboard+it+is+updated+in+place%3B+if\u0026amp;theme=e46b44765a807e25b9d1c907\u0026amp;signature=680b0b548ef95fdc3c17d4f0a413a3fb0862dc96eae073beca4214517771903b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update Dashboard Widget - Scale AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update a widget\u0026#x27;s fields within this dashboard, using copy-on-write for shared widgets. If the widget belongs only to this dashboard it is updated in place; if it is referenced by more than one dashboard, a new widget is created with the updates applied and swapped into this dashboard\u0026#x27;s widget_order, leaving the other dashboards\u0026#x27; copy untouched. The widget must already be in this dashboard\u0026#x27;s widget_order, otherwise the call is rejected. The result is recomputed synchronously when the query changes or when the widget was cloned; otherwise the existing cached result is returned. For table widgets, conditional-formatting column references are re-resolved against the (possibly updated) query on each save. The dashboard must exist and not be archived.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scalegp.mintlify.site/_mintlify/api/og/v2?division=Evaluation+Dashboards\u0026amp;title=Update+Dashboard+Widget\u0026amp;description=Update+a+widget%27s+fields+within+this+dashboard%2C+using+copy-on-write+for+shared+widgets.%0A%0AIf+the+widget+belongs+only+to+this+dashboard+it+is+updated+in+place%3B+if\u0026amp;theme=e46b44765a807e25b9d1c907\u0026amp;signature=680b0b548ef95fdc3c17d4f0a413a3fb0862dc96eae073beca4214517771903b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3f2e7b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/v5/evaluation-dashboards/update-dashboard-widget.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gp.scale.com/#organization\",\"name\":\"Scale AI\",\"url\":\"https://docs.gp.scale.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/light.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=46027042c16b373ac463148db5ad1d6b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gp.scale.com#website\",\"name\":\"Scale AI\",\"url\":\"https://docs.gp.scale.com\",\"publisher\":{\"@id\":\"https://docs.gp.scale.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget#webpage\",\"url\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget\",\"name\":\"Update Dashboard Widget\",\"description\":\"Update a widget's fields within this dashboard, using copy-on-write for shared widgets. If the widget belongs only to this dashboard it is updated in place; if it is referenced by more than one dashboard, a new widget is created with the updates applied and swapped into this dashboard's widget_order, leaving the other dashboards' copy untouched. The widget must already be in this dashboard's widget_order, otherwise the call is rejected. The result is recomputed synchronously when the query changes or when the widget was cloned; otherwise the existing cached result is returned. For table widgets, conditional-formatting column references are re-resolved against the (possibly updated) query on each save. The dashboard must exist and not be archived.\",\"dateModified\":\"2026-06-26T12:57:48.397Z\",\"isPartOf\":{\"@id\":\"https://docs.gp.scale.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Evaluation Dashboards\",\"item\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/list-evaluation-dashboards\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update Dashboard Widget\",\"item\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget#apireference\",\"headline\":\"Update Dashboard Widget\",\"name\":\"Update Dashboard Widget\",\"description\":\"Update a widget's fields within this dashboard, using copy-on-write for shared widgets. If the widget belongs only to this dashboard it is updated in place; if it is referenced by more than one dashboard, a new widget is created with the updates applied and swapped into this dashboard's widget_order, leaving the other dashboards' copy untouched. The widget must already be in this dashboard's widget_order, otherwise the call is rejected. The result is recomputed synchronously when the query changes or when the widget was cloned; otherwise the existing cached result is returned. For table widgets, conditional-formatting column references are re-resolved against the (possibly updated) query on each save. The dashboard must exist and not be archived.\",\"url\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gp.scale.com/reference/v5/evaluation-dashboards/update-dashboard-widget#webpage\"},\"dateModified\":\"2026-06-26T12:57:48.397Z\",\"publisher\":{\"@id\":\"https://docs.gp.scale.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gp.scale.com#website\"}}]}\u003c/script>","agentPointerHref":"/reference/v5/evaluation-dashboards/update-dashboard-widget.md","siteName":"Scale AI","nav":{"global":null,"versions":[{"version":"V5","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/docs/v5/overview"}]},{"tab":"AgentOps API","groups":[{"group":"Inference","pages":[{"title":"Run inference with free-form payload","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/inference","href":"/reference/v5/inference/run-inference-with-free-form-payload"},{"title":"Generate OpenAI chat completion from messages","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/chat/completions","href":"/reference/v5/inference/generate-openai-chat-completion-from-messages"},{"title":"Run OpenAI Responses API (OpenAI only)","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/responses","href":"/reference/v5/inference/run-openai-responses-api-openai-only"},{"title":"Generate legacy text completion from prompt","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/completions","href":"/reference/v5/inference/generate-legacy-text-completion-from-prompt"},{"title":"List available chat completion models","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/chat/completions/models","href":"/reference/v5/inference/list-available-chat-completion-models"}]},{"group":"Questions","pages":[{"title":"List questions","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/questions","href":"/reference/v5/questions/list-questions"},{"title":"Create a question","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/questions","href":"/reference/v5/questions/create-a-question"},{"title":"Get a question","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/questions/{question_id}","href":"/reference/v5/questions/get-a-question"},{"title":"Archive a question","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/questions/{question_id}","href":"/reference/v5/questions/archive-a-question"},{"title":"Update a question","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/questions/{question_id}","href":"/reference/v5/questions/update-a-question"},{"title":"Restore an archived question","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/questions/{question_id}/restore","href":"/reference/v5/questions/restore-an-archived-question"}]},{"group":"Rubrics","pages":[{"title":"List rubrics","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/rubrics","href":"/reference/v5/rubrics/list-rubrics"},{"title":"Create a rubric","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/rubrics","href":"/reference/v5/rubrics/create-a-rubric"},{"title":"Get a rubric","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/rubrics/{rubric_id}","href":"/reference/v5/rubrics/get-a-rubric"},{"title":"Archive a rubric","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/rubrics/{rubric_id}","href":"/reference/v5/rubrics/archive-a-rubric"},{"title":"Update or restore a rubric","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/rubrics/{rubric_id}","href":"/reference/v5/rubrics/update-or-restore-a-rubric"},{"title":"Add a criterion to a rubric","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/rubrics/{rubric_id}/criteria","href":"/reference/v5/rubrics/add-a-criterion-to-a-rubric"},{"title":"Update a criterion","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/rubrics/{rubric_id}/criteria/{rubric_criteria_id}","href":"/reference/v5/rubrics/update-a-criterion"},{"title":"List criterion versions","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/rubrics/{rubric_id}/criteria/{rubric_criteria_id}/versions","href":"/reference/v5/rubrics/list-criterion-versions"}]},{"group":"Vector Stores","pages":[{"title":"List Vector Stores","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/vector-stores","href":"/reference/v5/vector-stores/list-vector-stores"},{"title":"Create Vector Store","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/vector-stores/create","href":"/reference/v5/vector-stores/create-vector-store"},{"title":"Get Vector Store","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/vector-stores/{vector_store_name}","href":"/reference/v5/vector-stores/get-vector-store"},{"title":"Configure Vector Store","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/vector-stores/{vector_store_name}/configure","href":"/reference/v5/vector-stores/configure-vector-store"},{"title":"Drop Vector Store","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/vector-stores/{vector_store_name}/drop","href":"/reference/v5/vector-stores/drop-vector-store"},{"title":"Upsert Vectors","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/vector-stores/{vector_store_name}/upsert","href":"/reference/v5/vector-stores/upsert-vectors"},{"title":"Delete Vectors","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/vector-stores/{vector_store_name}/delete","href":"/reference/v5/vector-stores/delete-vectors"},{"title":"List Vectors","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/vector-stores/{vector_store_name}/vectors","href":"/reference/v5/vector-stores/list-vectors"},{"title":"Get Vector","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/vector-stores/{vector_store_name}/vectors/{vector_id}","href":"/reference/v5/vector-stores/get-vector"},{"title":"Count Vectors","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/vector-stores/{vector_store_name}/count","href":"/reference/v5/vector-stores/count-vectors"},{"title":"Query Vectors","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/vector-stores/{vector_store_name}/query","href":"/reference/v5/vector-stores/query-vectors"}]},{"group":"Files","pages":[{"title":"List files","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/files","href":"/reference/v5/files/list-files"},{"title":"Upload file bytes directly","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/files","href":"/reference/v5/files/upload-file-bytes-directly"},{"title":"Import files from cloud storage","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/files/cloud_imports","href":"/reference/v5/files/import-files-from-cloud-storage"},{"title":"Get file metadata","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/files/{file_id}","href":"/reference/v5/files/get-file-metadata"},{"title":"Delete a file","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/files/{file_id}","href":"/reference/v5/files/delete-a-file"},{"title":"Update a file","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/files/{file_id}","href":"/reference/v5/files/update-a-file"},{"title":"Download file content","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/files/{file_id}/content","href":"/reference/v5/files/download-file-content"}]},{"group":"Models","pages":[{"title":"List custom models","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/models","href":"/reference/v5/models/list-custom-models"},{"title":"Create a custom model","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/models","href":"/reference/v5/models/create-a-custom-model"},{"title":"Get a custom model","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/models/{model_id}","href":"/reference/v5/models/get-a-custom-model"},{"title":"Delete a custom model","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/models/{model_id}","href":"/reference/v5/models/delete-a-custom-model"},{"title":"Update a custom model","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/models/{model_id}","href":"/reference/v5/models/update-a-custom-model"}]},{"group":"Agent Configs","pages":[{"title":"List Agent Configs","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/agent_configs","href":"/reference/v5/agent-configs/list-agent-configs"},{"title":"Create Agent Config","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/agent_configs","href":"/reference/v5/agent-configs/create-agent-config"},{"title":"List MCP Tool Names","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/agent_configs/mcp_tools","href":"/reference/v5/agent-configs/list-mcp-tool-names"},{"title":"Get Agent Config","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/agent_configs/{agent_config_id}","href":"/reference/v5/agent-configs/get-agent-config"},{"title":"Delete Agent Config (hard delete)","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/agent_configs/{agent_config_id}","href":"/reference/v5/agent-configs/delete-agent-config-hard-delete"},{"title":"Update Agent Config","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/agent_configs/{agent_config_id}","href":"/reference/v5/agent-configs/update-agent-config"}]},{"group":"Datasets","pages":[{"title":"List datasets","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/datasets","href":"/reference/v5/datasets/list-datasets"},{"title":"Create a dataset","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/datasets","href":"/reference/v5/datasets/create-a-dataset"},{"title":"Get a dataset","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/datasets/{dataset_id}","href":"/reference/v5/datasets/get-a-dataset"},{"title":"Archive a dataset","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/datasets/{dataset_id}","href":"/reference/v5/datasets/archive-a-dataset"},{"title":"Update or restore a dataset","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/datasets/{dataset_id}","href":"/reference/v5/datasets/update-or-restore-a-dataset"}]},{"group":"Dataset Items","pages":[{"title":"Add items to an existing dataset","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/dataset-items/batch","href":"/reference/v5/dataset-items/add-items-to-an-existing-dataset"},{"title":"Get a dataset item","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/dataset-items/{dataset_item_id}","href":"/reference/v5/dataset-items/get-a-dataset-item"},{"title":"Delete a dataset item","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/dataset-items/{dataset_item_id}","href":"/reference/v5/dataset-items/delete-a-dataset-item"},{"title":"Update a dataset item","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/dataset-items/{dataset_item_id}","href":"/reference/v5/dataset-items/update-a-dataset-item"},{"title":"List dataset items","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/dataset-items","href":"/reference/v5/dataset-items/list-dataset-items"}]},{"group":"Evaluations","pages":[{"title":"List Evaluations","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluations","href":"/reference/v5/evaluations/list-evaluations"},{"title":"Create Evaluation","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluations","href":"/reference/v5/evaluations/create-evaluation"},{"title":"Get Evaluation","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluations/{evaluation_id}","href":"/reference/v5/evaluations/get-evaluation"},{"title":"Archive Evaluation","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/evaluations/{evaluation_id}","href":"/reference/v5/evaluations/archive-evaluation"},{"title":"Update or Restore Evaluation","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluations/{evaluation_id}","href":"/reference/v5/evaluations/update-or-restore-evaluation"},{"title":"Add Test Criteria to Evaluation","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluations/{evaluation_id}/tasks","href":"/reference/v5/evaluations/add-test-criteria-to-evaluation"},{"title":"Update Test Criteria Configuration","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluations/{evaluation_id}/tasks/{alias}","href":"/reference/v5/evaluations/update-test-criteria-configuration"},{"title":"Get Available Metadata Keys","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluations/metadata-keys","href":"/reference/v5/evaluations/get-available-metadata-keys"},{"title":"Get Available Evaluation Statuses","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluations/statuses","href":"/reference/v5/evaluations/get-available-evaluation-statuses"},{"title":"Get Evaluation Data Schema","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluations/{evaluation_id}/schema","href":"/reference/v5/evaluations/get-evaluation-data-schema"},{"title":"Get Evaluation Taxonomy","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluations/{evaluation_id}/taxonomy","href":"/reference/v5/evaluations/get-evaluation-taxonomy"},{"title":"Filter Evaluations","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluations/filter","href":"/reference/v5/evaluations/filter-evaluations"},{"title":"Dry-run a custom-function evaluation task","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluations/tasks/dry-run","href":"/reference/v5/evaluations/dry-run-a-custom-function-evaluation-task"}]},{"group":"Evaluation Groups","pages":[{"title":"List Evaluation Groups","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-groups","href":"/reference/v5/evaluation-groups/list-evaluation-groups"},{"title":"Create Evaluation Group","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluation-groups","href":"/reference/v5/evaluation-groups/create-evaluation-group"},{"title":"Get Evaluation Group","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/get-evaluation-group"},{"title":"Update Evaluation Group","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml put /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/update-evaluation-group"},{"title":"Archive Evaluation Group","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/archive-evaluation-group"},{"title":"Patch Evaluation Group","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluation-groups/{group_id}","href":"/reference/v5/evaluation-groups/patch-evaluation-group"},{"title":"Get Evaluation Group Schema","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-groups/{group_id}/schema","href":"/reference/v5/evaluation-groups/get-evaluation-group-schema"}]},{"group":"Evaluation Charts","pages":[{"title":"List Evaluation Charts","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-charts","href":"/reference/v5/evaluation-charts/list-evaluation-charts"},{"title":"Create Evaluation Chart","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluation-charts","href":"/reference/v5/evaluation-charts/create-evaluation-chart"},{"title":"Get Evaluation Chart","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/get-evaluation-chart"},{"title":"Replace Evaluation Chart","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml put /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/replace-evaluation-chart"},{"title":"Delete Evaluation Chart","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml delete /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/delete-evaluation-chart"},{"title":"Patch Evaluation Chart","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluation-charts/{chart_id}","href":"/reference/v5/evaluation-charts/patch-evaluation-chart"}]},{"group":"Evaluation Dashboards","pages":[{"title":"List Evaluation Dashboards","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-dashboards","href":"/reference/v5/evaluation-dashboards/list-evaluation-dashboards"},{"title":"Create Evaluation Dashboard","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluation-dashboards","href":"/reference/v5/evaluation-dashboards/create-evaluation-dashboard"},{"title":"Get Evaluation Dashboard","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-dashboards/{dashboard_id}","href":"/reference/v5/evaluation-dashboards/get-evaluation-dashboard"},{"title":"Delete Evaluation Dashboard","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/evaluation-dashboards/{dashboard_id}","href":"/reference/v5/evaluation-dashboards/delete-evaluation-dashboard"},{"title":"Patch Evaluation Dashboard","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluation-dashboards/{dashboard_id}","href":"/reference/v5/evaluation-dashboards/patch-evaluation-dashboard"},{"title":"Add Widget to Dashboard","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluation-dashboards/{dashboard_id}/widgets","href":"/reference/v5/evaluation-dashboards/add-widget-to-dashboard"},{"title":"Remove Widget from Dashboard","description":"Detach a widget from this dashboard without deleting the widget itself.\n\nThis removes the widget's ID from the dashboard's `widget_order` only; the\nunderlying widget entity and any computed widget results are left intact, so a widget\nshared with other dashboards continues to work there. The widget must currently be in\nthis dashboard's `widget_order`, otherwise a not-found error is returned. Responds\nwith 204 No Content on success.","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/evaluation-dashboards/{dashboard_id}/widgets/{widget_id}","href":"/reference/v5/evaluation-dashboards/remove-widget-from-dashboard"},{"title":"Update Dashboard Widget","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/evaluation-dashboards/{dashboard_id}/widgets/{widget_id}","href":"/reference/v5/evaluation-dashboards/update-dashboard-widget"}]},{"group":"Evaluation Items","pages":[{"title":"Get a single evaluation item","description":"Retrieve a single evaluation item by its ID within the caller's account.\n\nBy default only non-archived items are returned; pass `include_archived=true` to\nalso retrieve an item that has been archived. The response merges the item's cached\ntask results into its `data` field and exposes a `task_errors` map keyed by task\nalias, so a task that failed on this item surfaces as an entry there rather than as a\nrequest error. Use this to inspect one item's input data and per-task results; to page\nthrough many items, use the list endpoint instead. The request fails if no item with\nthe given ID exists in the caller's account.","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-items/{evaluation_item_id}","href":"/reference/v5/evaluation-items/get-a-single-evaluation-item"},{"title":"List and filter evaluation items","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/evaluation-items","href":"/reference/v5/evaluation-items/list-and-filter-evaluation-items"},{"title":"Export evaluation items to a file","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/evaluation-items/export","href":"/reference/v5/evaluation-items/export-evaluation-items-to-a-file"}]},{"group":"Spans","pages":[{"title":"Create a span","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/spans","href":"/reference/v5/spans/create-a-span"},{"title":"Upsert spans in a batch","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml put /v5/spans/batch","href":"/reference/v5/spans/upsert-spans-in-a-batch"},{"title":"Create spans in a batch","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/spans/batch","href":"/reference/v5/spans/create-spans-in-a-batch"},{"title":"List trace deletion requests","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/spans/deletions","href":"/reference/v5/spans/list-trace-deletion-requests"},{"title":"Create trace deletion request","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/spans/deletions","href":"/reference/v5/spans/create-trace-deletion-request"},{"title":"Get trace deletion request status","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/spans/deletions/{deletion_request_id}","href":"/reference/v5/spans/get-trace-deletion-request-status"},{"title":"Get a span","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml get /v5/spans/{span_id}","href":"/reference/v5/spans/get-a-span"},{"title":"Update a span","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/spans/{span_id}","href":"/reference/v5/spans/update-a-span"},{"title":"Get a span within a trace","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/traces/{trace_id}/spans/{span_id}","href":"/reference/v5/spans/get-a-span-within-a-trace"},{"title":"List span summaries for a trace","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/traces/{trace_id}/spans","href":"/reference/v5/spans/list-span-summaries-for-a-trace"},{"title":"Search spans","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/spans/search","href":"/reference/v5/spans/search-spans"},{"title":"Export spans","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/spans/export","href":"/reference/v5/spans/export-spans"},{"title":"Get span export status","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/spans/export/{export_id}","href":"/reference/v5/spans/get-span-export-status"},{"title":"Get time-bucketed span metrics","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/spans/metrics","href":"/reference/v5/spans/get-time-bucketed-span-metrics"},{"title":"Get span metrics grouped by name","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/spans/metrics/by-span","href":"/reference/v5/spans/get-span-metrics-grouped-by-name"}]},{"group":"Span Assessment","pages":[{"title":"List span or trace assessments","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/span-assessments","href":"/reference/v5/span-assessment/list-span-or-trace-assessments"},{"title":"Create span assessment","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/span-assessments","href":"/reference/v5/span-assessment/create-span-assessment"},{"title":"Get span assessment by ID","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/span-assessments/{span_assessment_id}","href":"/reference/v5/span-assessment/get-span-assessment-by-id"},{"title":"Permanently delete span assessment","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/span-assessments/{span_assessment_id}","href":"/reference/v5/span-assessment/permanently-delete-span-assessment"},{"title":"Update span assessment","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/span-assessments/{span_assessment_id}","href":"/reference/v5/span-assessment/update-span-assessment"}]},{"group":"Annotation Tasks","pages":[{"title":"Update or assign annotation tasks in bulk","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/annotation-tasks/batch","href":"/reference/v5/annotation-tasks/update-or-assign-annotation-tasks-in-bulk"}]},{"group":"Credentials","pages":[{"title":"List Credentials","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/credentials","href":"/reference/v5/credentials/list-credentials"},{"title":"Create Credential","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/credentials","href":"/reference/v5/credentials/create-credential"},{"title":"Get Credential by Name","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/credentials/name/{credential_name}","href":"/reference/v5/credentials/get-credential-by-name"},{"title":"Get Credential by ID","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/credentials/{credential_id}","href":"/reference/v5/credentials/get-credential-by-id"},{"title":"Delete Credential","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/credentials/{credential_id}","href":"/reference/v5/credentials/delete-credential"},{"title":"Update Credential","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml patch /v5/credentials/{credential_id}","href":"/reference/v5/credentials/update-credential"},{"title":"Get Credential Secret by ID","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/credentials/{credential_id}/secret","href":"/reference/v5/credentials/get-credential-secret-by-id"},{"title":"Get Credential Secret by Name","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/credentials/name/{credential_name}/secret","href":"/reference/v5/credentials/get-credential-secret-by-name"}]},{"group":"Agentex Cloud Build","pages":[{"title":"List container image builds","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/builds","href":"/reference/v5/agentex-cloud-build/list-container-image-builds"},{"title":"Submit container image build","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/builds","href":"/reference/v5/agentex-cloud-build/submit-container-image-build"},{"title":"List agents built but not deployed","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/builds/undeployed","href":"/reference/v5/agentex-cloud-build/list-agents-built-but-not-deployed"},{"title":"Get a build","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/builds/{build_id}","href":"/reference/v5/agentex-cloud-build/get-a-build"},{"title":"Stream build logs","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/builds/{build_id}/logs","href":"/reference/v5/agentex-cloud-build/stream-build-logs"},{"title":"Cancel a build","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/builds/{build_id}/cancel","href":"/reference/v5/agentex-cloud-build/cancel-a-build"}]},{"group":"Agentex Cloud Deploy","pages":[{"title":"List agent deployments","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/agentex/deployments","href":"/reference/v5/agentex-cloud-deploy/list-agent-deployments"},{"title":"Deploy a built agent image","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml post /v5/agentex/deployments","href":"/reference/v5/agentex-cloud-deploy/deploy-a-built-agent-image"},{"title":"Get an agent deployment","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/agentex/deployments/{deployment_id}","href":"/reference/v5/agentex-cloud-deploy/get-an-agent-deployment"},{"title":"Delete and tear down a deployment","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/agentex/deployments/{deployment_id}","href":"/reference/v5/agentex-cloud-deploy/delete-and-tear-down-a-deployment"},{"title":"Get agent deployment logs","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml get /v5/agentex/deployments/{deployment_id}/logs","href":"/reference/v5/agentex-cloud-deploy/get-agent-deployment-logs"}]},{"group":"Agentex Agent","pages":[{"title":"Delete Agent","deprecated":null,"version":null,"openapi":"/openapi/v5.yaml delete /v5/agentex/agents/{agent_id}","href":"/reference/v5/agentex-agent/delete-agent"}]},{"group":"SGP Cloud Secrets","pages":[{"title":"List Secrets","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml get /v5/sgp/secrets","href":"/reference/v5/sgp-cloud-secrets/list-secrets"},{"title":"Create Secret","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml post /v5/sgp/secrets","href":"/reference/v5/sgp-cloud-secrets/create-secret"},{"title":"Get Secret","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml get /v5/sgp/secrets/{secret_id}","href":"/reference/v5/sgp-cloud-secrets/get-secret"},{"title":"Delete Secret","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml delete /v5/sgp/secrets/{secret_id}","href":"/reference/v5/sgp-cloud-secrets/delete-secret"},{"title":"Update Secret","deprecated":true,"version":null,"openapi":"/openapi/v5.yaml patch /v5/sgp/secrets/{secret_id}","href":"/reference/v5/sgp-cloud-secrets/update-secret"}]}]},{"tab":"AgentOps SDK","href":"https://scaleapi.github.io/sgp-sdk-docs/api/python/"},{"tab":"Agentex API","pages":[{"title":"Agentex API","href":"/reference/agentex/agents/get-agent-by-id"}]},{"tab":"Agentex SDK","href":"https://scaleapi.github.io/agentex-sdk-docs/api/python/"},{"tab":"Capabilities","pages":[{"title":"Capabilities","href":"/docs/capabilities/overview"}]},{"tab":"Dex API","pages":[{"title":"Dex API","href":"/reference/dex/projects/list-projects"}]}]},{"version":"V4 (legacy)","pages":[{"title":"V4 (legacy)","href":"/home"}]}]},"basePath":"","title":"Update Dashboard Widget - Scale AI","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-NXj-Rqjv.js","utils-m0thOP-_.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D13EKcfm.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema--XTdfsEb.js","snippetPresets-D3s4lmAH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-ChURybxL.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DL8CiXq2.js","shallow-DI2-YB2E.js","getApiPlaygroundDisplay-DxbW7b_y.js","CodeSnippet-CiNYS0pP.js","CodeSnippets-BT87bThu.js","Page-DSpdRuhM.js","getPastedJson-F_g_IrFQ.js","icon-CCIG5BAs.js","MethodPill-DY3E0jwx.js","DuplicateIcon-BN88xnEg.js","createIcon-VCCc5HO5.js","DynamicMarkdown-CaSwclgK.js","SectionHeading-DXV8nWhc.js","axios-vUo_bRtp.js","Markdown-CV32Re6G.js","clsx-5ydLOnhV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-pFDdfjRe.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BUGO5bPJ.js"]}