Skip to content

Delete Evaluation Dashboard

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.

Path ParametersExpand Collapse
dashboard_id: string
ReturnsExpand Collapse
EvaluationDashboard object { 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" or "service_account"
One of the following:
"user"
"service_account"
object: optional "identity"
name: string

Dashboard name

tags: array of string

The tags associated with the entity

updated_at: string

When the dashboard was last updated

formatdate-time
archived_at: optional string

When the dashboard was archived (soft-deleted)

formatdate-time
description: optional string

Dashboard description

error_message: optional string

Error message if computation failed

evaluation_group_id: optional string

Evaluation group ID

evaluation_id: optional string

Evaluation ID

object: optional "evaluation_dashboard"
widget_order: optional array of string

Ordered array of widget IDs

widget_results: optional array of 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" or "completed" or "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: optional string

Temporal workflow ID or job ID for async computation tracking

computed_at: optional string

Timestamp when computation completed successfully

formatdate-time
computed_result: optional map[unknown]

Cached computation results

error_message: optional string

Error message if computation failed

evaluation_group_id: optional string

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

evaluation_id: optional string

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

object: optional "evaluation_dashboard_widget_result"
widget: optional 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: optional string

When the widget was archived (soft-deleted)

formatdate-time
config: optional map[unknown]

Chart-specific display configuration

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

Structured query AST for metric computation (SeriesQuery or MetricQuery)

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

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

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

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

select: array of SelectItem { expression, alias }
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

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

One of the following:
Column object { 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: optional string

Column source: ‘data’ or ‘task_result_cache’

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

Aggregation function to apply

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

column: string

Column to aggregate, or '' for COUNT()

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

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids: optional array of string

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

params: optional map[unknown]

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

source: optional string

Column source: ‘data’ or ‘task_result_cache’

type: optional "AGGREGATION"
alias: optional string

Optional alias for the selected item

evaluation_ids: optional array of 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: optional Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: array of object { column, operator, source, value }
column: string

Column name to filter on

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

Comparison operator

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

Column source: ‘data’ or ‘task_result_cache’

value: optional string or number or boolean or array of unknown

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

One of the following:
string
number
boolean
array of unknown
logicalOperators: optional array of "AND" or "OR"

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

One of the following:
"AND"
"OR"
groupBy: optional array of string

Columns to group by

latest_only: optional 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: optional number

Max rows to return

minimum1
orderBy: optional array of object { column, direction, source }

Sort order

column: string

Column name to sort by

direction: optional "ASC" or "DESC"

Sort direction

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

Column source: ‘data’ or ‘task_result_cache’

MetricQuery object { select, evaluation_ids, filter, latest_only }

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

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

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

select: array of SelectItem { expression, alias }
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

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

One of the following:
Column object { 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: optional string

Column source: ‘data’ or ‘task_result_cache’

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

Aggregation function to apply

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

column: string

Column to aggregate, or '' for COUNT()

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

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids: optional array of string

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

params: optional map[unknown]

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

source: optional string

Column source: ‘data’ or ‘task_result_cache’

type: optional "AGGREGATION"
alias: optional string

Optional alias for the selected item

evaluation_ids: optional array of 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: optional Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: array of object { column, operator, source, value }
column: string

Column name to filter on

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

Comparison operator

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

Column source: ‘data’ or ‘task_result_cache’

value: optional string or number or boolean or array of unknown

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

One of the following:
string
number
boolean
array of unknown
logicalOperators: optional array of "AND" or "OR"

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

One of the following:
"AND"
"OR"
latest_only: optional 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: optional array of 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: optional string

When the widget was archived (soft-deleted)

formatdate-time
config: optional map[unknown]

Chart-specific display configuration

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

Structured query AST for metric computation (SeriesQuery or MetricQuery)

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

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

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

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

select: array of SelectItem { expression, alias }
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

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

One of the following:
Column object { 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: optional string

Column source: ‘data’ or ‘task_result_cache’

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

Aggregation function to apply

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

column: string

Column to aggregate, or '' for COUNT()

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

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids: optional array of string

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

params: optional map[unknown]

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

source: optional string

Column source: ‘data’ or ‘task_result_cache’

type: optional "AGGREGATION"
alias: optional string

Optional alias for the selected item

evaluation_ids: optional array of 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: optional Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: array of object { column, operator, source, value }
column: string

Column name to filter on

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

Comparison operator

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

Column source: ‘data’ or ‘task_result_cache’

value: optional string or number or boolean or array of unknown

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

One of the following:
string
number
boolean
array of unknown
logicalOperators: optional array of "AND" or "OR"

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

One of the following:
"AND"
"OR"
groupBy: optional array of string

Columns to group by

latest_only: optional 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: optional number

Max rows to return

minimum1
orderBy: optional array of object { column, direction, source }

Sort order

column: string

Column name to sort by

direction: optional "ASC" or "DESC"

Sort direction

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

Column source: ‘data’ or ‘task_result_cache’

MetricQuery object { select, evaluation_ids, filter, latest_only }

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

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

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

select: array of SelectItem { expression, alias }
expression: object { column, source, type } or object { column, function, evaluation_ids, 3 more }

Reference to a column from evaluation_items.data

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

One of the following:
Column object { 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: optional string

Column source: ‘data’ or ‘task_result_cache’

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

Aggregation function to apply

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

column: string

Column to aggregate, or '' for COUNT()

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

Supported aggregation functions

One of the following:
"COUNT"
"SUM"
"AVG"
"MIN"
"MAX"
"STDDEV"
"VARIANCE"
"PERCENTILE"
"COUNT_DISTINCT"
"PERCENTAGE"
evaluation_ids: optional array of string

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

params: optional map[unknown]

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

source: optional string

Column source: ‘data’ or ‘task_result_cache’

type: optional "AGGREGATION"
alias: optional string

Optional alias for the selected item

evaluation_ids: optional array of 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: optional Filter { conditions, logicalOperators }

Filter conditions (WHERE clause)

conditions: array of object { column, operator, source, value }
column: string

Column name to filter on

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

Comparison operator

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

Column source: ‘data’ or ‘task_result_cache’

value: optional string or number or boolean or array of unknown

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

One of the following:
string
number
boolean
array of unknown
logicalOperators: optional array of "AND" or "OR"

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

One of the following:
"AND"
"OR"
latest_only: optional 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

curl https://api.egp.scale.com/v5/evaluation-dashboards/$DASHBOARD_ID \
    -X DELETE \
    -H "x-api-key: $SGP_API_KEY"
{
  "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"
          }
        ]
      }
    }
  ]
}