Skip to content

Delete Evaluation Dashboard

client.evaluationDashboards.archive(stringdashboardID, RequestOptionsoptions?): EvaluationDashboard { id, account_id, created_at, 13 more }
DELETE/v5/evaluation-dashboards/{dashboard_id}

Soft-delete a dashboard by setting its archived timestamp.

The dashboard row is retained and marked archived rather than physically removed, so it stops appearing in default listings but can still be fetched with include_archived=true; the archived dashboard is returned by this call. Associated widgets and widget results are not deleted or detached. Returns a not-found error if the dashboard does not exist in the caller’s account.

ParametersExpand Collapse
dashboardID: string
ReturnsExpand Collapse
EvaluationDashboard { id, account_id, created_at, 13 more }
id: string

Unique identifier of the dashboard

account_id: string

Account that owns this dashboard

created_at: string

When the dashboard was created

formatdate-time
created_by: Identity { id, type, object }

The identity that created the entity.

id: string
type: "user" | "service_account"
One of the following:
"user"
"service_account"
object?: "identity"
name: string

Dashboard name

tags: Array<string> | null

The tags associated with the entity

updated_at: string

When the dashboard was last updated

formatdate-time
archived_at?: string

When the dashboard was archived (soft-deleted)

formatdate-time
description?: string

Dashboard description

error_message?: string

Error message if computation failed

evaluation_group_id?: string

Evaluation group ID

evaluation_id?: string

Evaluation ID

object?: "evaluation_dashboard"
widget_order?: Array<string>

Ordered array of widget IDs

widget_results?: Array<EvaluationDashboardWidgetResult { id, account_id, computation_status, 10 more } >

Widget results for this dashboard. Populated with ‘widget_results’ view.

id: string

Unique identifier of the widget result

account_id: string

Account that owns this widget result

computation_status: "pending" | "completed" | "failed"

Status of the computation

One of the following:
"pending"
"completed"
"failed"
created_at: string

When the widget result was created

formatdate-time
widget_id: string

Unique identifier of the widget

computation_job_id?: string

Temporal workflow ID or job ID for async computation tracking

computed_at?: string

Timestamp when computation completed successfully

formatdate-time
computed_result?: Record<string, unknown>

Cached computation results

error_message?: string

Error message if computation failed

evaluation_group_id?: string

FK to evaluation_groups. Null if result is for a single evaluation.

evaluation_id?: string

FK to evaluations. Null if result is for an evaluation group.

object?: "evaluation_dashboard_widget_result"
widget?: EvaluationDashboardWidget { id, account_id, created_at, 6 more }

Widget that this result is for

id: string

Unique identifier of the widget

account_id: string

Account that owns this widget

created_at: string

When the widget was created

formatdate-time
title: string

Widget title

Widget type

One of the following:
"bar"
"histogram"
"donut"
"scatter"
"metric"
"table"
"markdown"
"heading"
"timeseries"
archived_at?: string

When the widget was archived (soft-deleted)

formatdate-time
config?: Record<string, unknown>

Chart-specific display configuration

object?: "evaluation_dashboard_widget"
query?: SeriesQuery { select, evaluation_ids, filter, 4 more } | MetricQuery { select, evaluation_ids, filter, latest_only }

Structured query AST for metric computation (SeriesQuery or MetricQuery)

One of the following:
SeriesQuery { select, evaluation_ids, filter, 4 more }

Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).

Used for widget types: table, bar, histogram, donut, scatter. Returns: {“type”: “series”, “data”: […]}

Example SQL equivalent: SELECT category, AVG(score) as avg_score, COUNT(*) as count FROM evaluation_items WHERE score > 0.5 AND category = ‘test’ GROUP BY category ORDER BY avg_score DESC LIMIT 100

select: Array<SelectItem { expression, alias } >
expression: Column { column, source, type } | Aggregation { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

One of the following:
Column { column, source, type }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

column: string

Column name from evaluation_items.data

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "COLUMN"
Aggregation { column, function, evaluation_ids, 3 more }

Aggregation function to apply

Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}

column: string

Column to aggregate, or '' for COUNT()

function: "COUNT" | "SUM" | "AVG" | 7 more

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids?: Array<string>

Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.

params?: Record<string, unknown>

Function parameters (e.g., {‘percentile’: 95} for PERCENTILE, {‘percentage_filters’: Filter} for PERCENTAGE)

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "AGGREGATION"
alias?: string

Optional alias for the selected item

evaluation_ids?: Array<string>

Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.

filter?: Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: Array<Condition>
column: string

Column name to filter on

operator: "=" | "!=" | ">" | 9 more

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source?: string

Column source: ‘data’ or ‘task_result_cache’

value?: string | number | boolean | Array<unknown>

Value to compare against. Not required for IS NULL / IS NOT NULL operators.

One of the following:
string
number
boolean
Array<unknown>
logicalOperators?: Array<"AND" | "OR">

Logical operators connecting conditions. Length must be len(conditions) - 1

One of the following:
"AND"
"OR"
groupBy?: Array<string>

Columns to group by

latest_only?: boolean

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.

limit?: number

Max rows to return

minimum1
orderBy?: Array<OrderBy>

Sort order

column: string

Column name to sort by

direction?: "ASC" | "DESC"

Sort direction

One of the following:
"ASC"
"DESC"
source?: string

Column source: ‘data’ or ‘task_result_cache’

MetricQuery { select, evaluation_ids, filter, latest_only }

Query that returns a single metric value (used for metric widgets).

Used for widget type: metric. Enforces exactly 1 aggregation in select. Returns: {“type”: “metric”, “data”: …}

Example SQL equivalent: SELECT AVG(score) as average_score FROM evaluation_items

select: Array<SelectItem { expression, alias } >
expression: Column { column, source, type } | Aggregation { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

One of the following:
Column { column, source, type }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

column: string

Column name from evaluation_items.data

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "COLUMN"
Aggregation { column, function, evaluation_ids, 3 more }

Aggregation function to apply

Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}

column: string

Column to aggregate, or '' for COUNT()

function: "COUNT" | "SUM" | "AVG" | 7 more

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids?: Array<string>

Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.

params?: Record<string, unknown>

Function parameters (e.g., {‘percentile’: 95} for PERCENTILE, {‘percentage_filters’: Filter} for PERCENTAGE)

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "AGGREGATION"
alias?: string

Optional alias for the selected item

evaluation_ids?: Array<string>

Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.

filter?: Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: Array<Condition>
column: string

Column name to filter on

operator: "=" | "!=" | ">" | 9 more

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source?: string

Column source: ‘data’ or ‘task_result_cache’

value?: string | number | boolean | Array<unknown>

Value to compare against. Not required for IS NULL / IS NOT NULL operators.

One of the following:
string
number
boolean
Array<unknown>
logicalOperators?: Array<"AND" | "OR">

Logical operators connecting conditions. Length must be len(conditions) - 1

One of the following:
"AND"
"OR"
latest_only?: boolean

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.

widgets?: Array<EvaluationDashboardWidget { id, account_id, created_at, 6 more } >

Widgets associated with this dashboard. Populated with ‘widgets’ view.

id: string

Unique identifier of the widget

account_id: string

Account that owns this widget

created_at: string

When the widget was created

formatdate-time
title: string

Widget title

Widget type

One of the following:
"bar"
"histogram"
"donut"
"scatter"
"metric"
"table"
"markdown"
"heading"
"timeseries"
archived_at?: string

When the widget was archived (soft-deleted)

formatdate-time
config?: Record<string, unknown>

Chart-specific display configuration

object?: "evaluation_dashboard_widget"
query?: SeriesQuery { select, evaluation_ids, filter, 4 more } | MetricQuery { select, evaluation_ids, filter, latest_only }

Structured query AST for metric computation (SeriesQuery or MetricQuery)

One of the following:
SeriesQuery { select, evaluation_ids, filter, 4 more }

Query that returns a series of records (used for table/bar/histogram/donut/scatter widgets).

Used for widget types: table, bar, histogram, donut, scatter. Returns: {“type”: “series”, “data”: […]}

Example SQL equivalent: SELECT category, AVG(score) as avg_score, COUNT(*) as count FROM evaluation_items WHERE score > 0.5 AND category = ‘test’ GROUP BY category ORDER BY avg_score DESC LIMIT 100

select: Array<SelectItem { expression, alias } >
expression: Column { column, source, type } | Aggregation { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

One of the following:
Column { column, source, type }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

column: string

Column name from evaluation_items.data

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "COLUMN"
Aggregation { column, function, evaluation_ids, 3 more }

Aggregation function to apply

Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}

column: string

Column to aggregate, or '' for COUNT()

function: "COUNT" | "SUM" | "AVG" | 7 more

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids?: Array<string>

Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.

params?: Record<string, unknown>

Function parameters (e.g., {‘percentile’: 95} for PERCENTILE, {‘percentage_filters’: Filter} for PERCENTAGE)

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "AGGREGATION"
alias?: string

Optional alias for the selected item

evaluation_ids?: Array<string>

Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.

filter?: Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: Array<Condition>
column: string

Column name to filter on

operator: "=" | "!=" | ">" | 9 more

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source?: string

Column source: ‘data’ or ‘task_result_cache’

value?: string | number | boolean | Array<unknown>

Value to compare against. Not required for IS NULL / IS NOT NULL operators.

One of the following:
string
number
boolean
Array<unknown>
logicalOperators?: Array<"AND" | "OR">

Logical operators connecting conditions. Length must be len(conditions) - 1

One of the following:
"AND"
"OR"
groupBy?: Array<string>

Columns to group by

latest_only?: boolean

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.

limit?: number

Max rows to return

minimum1
orderBy?: Array<OrderBy>

Sort order

column: string

Column name to sort by

direction?: "ASC" | "DESC"

Sort direction

One of the following:
"ASC"
"DESC"
source?: string

Column source: ‘data’ or ‘task_result_cache’

MetricQuery { select, evaluation_ids, filter, latest_only }

Query that returns a single metric value (used for metric widgets).

Used for widget type: metric. Enforces exactly 1 aggregation in select. Returns: {“type”: “metric”, “data”: …}

Example SQL equivalent: SELECT AVG(score) as average_score FROM evaluation_items

select: Array<SelectItem { expression, alias } >
expression: Column { column, source, type } | Aggregation { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

One of the following:
Column { column, source, type }

Reference to a column from evaluation_items.data

Example: {“type”: “COLUMN”, “column”: “category”}

column: string

Column name from evaluation_items.data

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "COLUMN"
Aggregation { column, function, evaluation_ids, 3 more }

Aggregation function to apply

Examples: {“type”: “AGGREGATION”, “function”: “AVG”, “column”: “score”} {“type”: “AGGREGATION”, “function”: “COUNT”, “column”: ”*”} {“type”: “AGGREGATION”, “function”: “PERCENTILE”, “column”: “score”, “params”: {“percentile”: 95}}

column: string

Column to aggregate, or '' for COUNT()

function: "COUNT" | "SUM" | "AVG" | 7 more

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids?: Array<string>

Optional subset of evaluation IDs for per-aggregation filtering in evaluation group dashboards.

params?: Record<string, unknown>

Function parameters (e.g., {‘percentile’: 95} for PERCENTILE, {‘percentage_filters’: Filter} for PERCENTAGE)

source?: string

Column source: ‘data’ or ‘task_result_cache’

type?: "AGGREGATION"
alias?: string

Optional alias for the selected item

evaluation_ids?: Array<string>

Optional subset of evaluation IDs to compute on. Only applicable for evaluation group dashboards. If omitted, computes on all evaluations in the group.

filter?: Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: Array<Condition>
column: string

Column name to filter on

operator: "=" | "!=" | ">" | 9 more

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source?: string

Column source: ‘data’ or ‘task_result_cache’

value?: string | number | boolean | Array<unknown>

Value to compare against. Not required for IS NULL / IS NOT NULL operators.

One of the following:
string
number
boolean
Array<unknown>
logicalOperators?: Array<"AND" | "OR">

Logical operators connecting conditions. Length must be len(conditions) - 1

One of the following:
"AND"
"OR"
latest_only?: boolean

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.

Delete Evaluation Dashboard

import SGPClient from 'scale-gp';

const client = new SGPClient({
  accountID: 'My Account ID',
  apiKey: process.env['SGP_API_KEY'], // This is the default and can be omitted
});

const evaluationDashboard = await client.evaluationDashboards.archive('dashboard_id');

console.log(evaluationDashboard.id);
{
  "id": "id",
  "account_id": "account_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "name": "name",
  "tags": [
    "string"
  ],
  "updated_at": "2019-12-27T18:11:19.117Z",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "error_message": "error_message",
  "evaluation_group_id": "evaluation_group_id",
  "evaluation_id": "evaluation_id",
  "object": "evaluation_dashboard",
  "widget_order": [
    "string"
  ],
  "widget_results": [
    {
      "id": "id",
      "account_id": "account_id",
      "computation_status": "pending",
      "created_at": "2019-12-27T18:11:19.117Z",
      "widget_id": "widget_id",
      "computation_job_id": "computation_job_id",
      "computed_at": "2019-12-27T18:11:19.117Z",
      "computed_result": {
        "foo": "bar"
      },
      "error_message": "error_message",
      "evaluation_group_id": "evaluation_group_id",
      "evaluation_id": "evaluation_id",
      "object": "evaluation_dashboard_widget_result",
      "widget": {
        "id": "id",
        "account_id": "account_id",
        "created_at": "2019-12-27T18:11:19.117Z",
        "title": "title",
        "type": "bar",
        "archived_at": "2019-12-27T18:11:19.117Z",
        "config": {
          "foo": "bar"
        },
        "object": "evaluation_dashboard_widget",
        "query": {
          "select": [
            {
              "expression": {
                "column": "column",
                "source": "source",
                "type": "COLUMN"
              },
              "alias": "alias"
            }
          ],
          "evaluation_ids": [
            "string"
          ],
          "filter": {
            "conditions": [
              {
                "column": "column",
                "operator": "=",
                "source": "source",
                "value": "string"
              }
            ],
            "logicalOperators": [
              "AND"
            ]
          },
          "groupBy": [
            "string"
          ],
          "latest_only": true,
          "limit": 1,
          "orderBy": [
            {
              "column": "column",
              "direction": "ASC",
              "source": "source"
            }
          ]
        }
      }
    }
  ],
  "widgets": [
    {
      "id": "id",
      "account_id": "account_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "title": "title",
      "type": "bar",
      "archived_at": "2019-12-27T18:11:19.117Z",
      "config": {
        "foo": "bar"
      },
      "object": "evaluation_dashboard_widget",
      "query": {
        "select": [
          {
            "expression": {
              "column": "column",
              "source": "source",
              "type": "COLUMN"
            },
            "alias": "alias"
          }
        ],
        "evaluation_ids": [
          "string"
        ],
        "filter": {
          "conditions": [
            {
              "column": "column",
              "operator": "=",
              "source": "source",
              "value": "string"
            }
          ],
          "logicalOperators": [
            "AND"
          ]
        },
        "groupBy": [
          "string"
        ],
        "latest_only": true,
        "limit": 1,
        "orderBy": [
          {
            "column": "column",
            "direction": "ASC",
            "source": "source"
          }
        ]
      }
    }
  ]
}
Returns Examples
{
  "id": "id",
  "account_id": "account_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "name": "name",
  "tags": [
    "string"
  ],
  "updated_at": "2019-12-27T18:11:19.117Z",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "error_message": "error_message",
  "evaluation_group_id": "evaluation_group_id",
  "evaluation_id": "evaluation_id",
  "object": "evaluation_dashboard",
  "widget_order": [
    "string"
  ],
  "widget_results": [
    {
      "id": "id",
      "account_id": "account_id",
      "computation_status": "pending",
      "created_at": "2019-12-27T18:11:19.117Z",
      "widget_id": "widget_id",
      "computation_job_id": "computation_job_id",
      "computed_at": "2019-12-27T18:11:19.117Z",
      "computed_result": {
        "foo": "bar"
      },
      "error_message": "error_message",
      "evaluation_group_id": "evaluation_group_id",
      "evaluation_id": "evaluation_id",
      "object": "evaluation_dashboard_widget_result",
      "widget": {
        "id": "id",
        "account_id": "account_id",
        "created_at": "2019-12-27T18:11:19.117Z",
        "title": "title",
        "type": "bar",
        "archived_at": "2019-12-27T18:11:19.117Z",
        "config": {
          "foo": "bar"
        },
        "object": "evaluation_dashboard_widget",
        "query": {
          "select": [
            {
              "expression": {
                "column": "column",
                "source": "source",
                "type": "COLUMN"
              },
              "alias": "alias"
            }
          ],
          "evaluation_ids": [
            "string"
          ],
          "filter": {
            "conditions": [
              {
                "column": "column",
                "operator": "=",
                "source": "source",
                "value": "string"
              }
            ],
            "logicalOperators": [
              "AND"
            ]
          },
          "groupBy": [
            "string"
          ],
          "latest_only": true,
          "limit": 1,
          "orderBy": [
            {
              "column": "column",
              "direction": "ASC",
              "source": "source"
            }
          ]
        }
      }
    }
  ],
  "widgets": [
    {
      "id": "id",
      "account_id": "account_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "title": "title",
      "type": "bar",
      "archived_at": "2019-12-27T18:11:19.117Z",
      "config": {
        "foo": "bar"
      },
      "object": "evaluation_dashboard_widget",
      "query": {
        "select": [
          {
            "expression": {
              "column": "column",
              "source": "source",
              "type": "COLUMN"
            },
            "alias": "alias"
          }
        ],
        "evaluation_ids": [
          "string"
        ],
        "filter": {
          "conditions": [
            {
              "column": "column",
              "operator": "=",
              "source": "source",
              "value": "string"
            }
          ],
          "logicalOperators": [
            "AND"
          ]
        },
        "groupBy": [
          "string"
        ],
        "latest_only": true,
        "limit": 1,
        "orderBy": [
          {
            "column": "column",
            "direction": "ASC",
            "source": "source"
          }
        ]
      }
    }
  ]
}