Skip to content

List Evaluation Dashboards

evaluation_dashboards.list(EvaluationDashboardListParams**kwargs) -> SyncCursorPage[EvaluationDashboard]
GET/v5/evaluation-dashboards

List dashboards in the caller’s account, paginated, with optional filters.

Filter to a single evaluation with evaluation_id or to a group with evaluation_group_id; passing both is rejected, since a dashboard is bound to one or the other. tags matches case-insensitively (values are lowercased before lookup), created_by_ids filters by creator identity, and search matches the dashboard name and tags. Archived dashboards are excluded unless include_archived is true. The returned items carry only the dashboards’ own fields — widgets and widget results are never embedded here; use the get-by-id endpoint with the widgets/widget_results views to load those.

ParametersExpand Collapse
created_by_ids: Optional[Sequence[str]]

Filter by creator user IDs

ending_before: Optional[str]
evaluation_group_id: Optional[str]
evaluation_id: Optional[str]
include_archived: Optional[bool]
limit: Optional[int]
maximum10000
minimum1
sort_by: Optional[str]
sort_order: Optional[SortOrder]
One of the following:
"asc"
"desc"
starting_after: Optional[str]
tags: Optional[Sequence[str]]

Filter by tags (case-insensitive)

ReturnsExpand Collapse
class EvaluationDashboard: …
id: str

Unique identifier of the dashboard

account_id: str

Account that owns this dashboard

created_at: datetime

When the dashboard was created

formatdate-time
created_by: Identity

The identity that created the entity.

id: str
type: Literal["user", "service_account"]
One of the following:
"user"
"service_account"
object: Optional[Literal["identity"]]
name: str

Dashboard name

tags: Optional[List[str]]

The tags associated with the entity

updated_at: datetime

When the dashboard was last updated

formatdate-time
archived_at: Optional[datetime]

When the dashboard was archived (soft-deleted)

formatdate-time
description: Optional[str]

Dashboard description

error_message: Optional[str]

Error message if computation failed

evaluation_group_id: Optional[str]

Evaluation group ID

evaluation_id: Optional[str]

Evaluation ID

object: Optional[Literal["evaluation_dashboard"]]
widget_order: Optional[List[str]]

Ordered array of widget IDs

widget_results: Optional[List[EvaluationDashboardWidgetResult]]

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

id: str

Unique identifier of the widget result

account_id: str

Account that owns this widget result

computation_status: Literal["pending", "completed", "failed"]

Status of the computation

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

When the widget result was created

formatdate-time
widget_id: str

Unique identifier of the widget

computation_job_id: Optional[str]

Temporal workflow ID or job ID for async computation tracking

computed_at: Optional[datetime]

Timestamp when computation completed successfully

formatdate-time
computed_result: Optional[Dict[str, object]]

Cached computation results

error_message: Optional[str]

Error message if computation failed

evaluation_group_id: Optional[str]

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

evaluation_id: Optional[str]

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

object: Optional[Literal["evaluation_dashboard_widget_result"]]
widget: Optional[EvaluationDashboardWidget]

Widget that this result is for

id: str

Unique identifier of the widget

account_id: str

Account that owns this widget

created_at: datetime

When the widget was created

formatdate-time
title: str

Widget title

Widget type

One of the following:
"bar"
"histogram"
"donut"
"scatter"
"metric"
"table"
"markdown"
"heading"
"timeseries"
archived_at: Optional[datetime]

When the widget was archived (soft-deleted)

formatdate-time
config: Optional[Dict[str, object]]

Chart-specific display configuration

object: Optional[Literal["evaluation_dashboard_widget"]]
query: Optional[Query]

Structured query AST for metric computation (SeriesQuery or MetricQuery)

One of the following:
class SeriesQuery: …

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: List[SelectItem]
expression: Expression

Reference to a column from evaluation_items.data

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

One of the following:
class ExpressionColumn: …

Reference to a column from evaluation_items.data

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

column: str

Column name from evaluation_items.data

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["COLUMN"]]
class ExpressionAggregation: …

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: str

Column to aggregate, or '' for COUNT()

function: Literal["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: Optional[List[str]]

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

params: Optional[Dict[str, object]]

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

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["AGGREGATION"]]
alias: Optional[str]

Optional alias for the selected item

evaluation_ids: Optional[List[str]]

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]

Filter conditions (WHERE clause)

conditions: List[Condition]
column: str

Column name to filter on

operator: Literal["=", "!=", ">", 9 more]

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

value: Optional[Union[str, float, bool, 2 more]]

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

One of the following:
str
float
bool
List[object]
logical_operators: Optional[List[Literal["AND", "OR"]]]

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

One of the following:
"AND"
"OR"
group_by: Optional[List[str]]

Columns to group by

latest_only: Optional[bool]

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[int]

Max rows to return

minimum1
order_by: Optional[List[OrderBy]]

Sort order

column: str

Column name to sort by

direction: Optional[Literal["ASC", "DESC"]]

Sort direction

One of the following:
"ASC"
"DESC"
source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

class MetricQuery: …

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: List[SelectItem]
expression: Expression

Reference to a column from evaluation_items.data

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

One of the following:
class ExpressionColumn: …

Reference to a column from evaluation_items.data

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

column: str

Column name from evaluation_items.data

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["COLUMN"]]
class ExpressionAggregation: …

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: str

Column to aggregate, or '' for COUNT()

function: Literal["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: Optional[List[str]]

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

params: Optional[Dict[str, object]]

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

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["AGGREGATION"]]
alias: Optional[str]

Optional alias for the selected item

evaluation_ids: Optional[List[str]]

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]

Filter conditions (WHERE clause)

conditions: List[Condition]
column: str

Column name to filter on

operator: Literal["=", "!=", ">", 9 more]

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

value: Optional[Union[str, float, bool, 2 more]]

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

One of the following:
str
float
bool
List[object]
logical_operators: Optional[List[Literal["AND", "OR"]]]

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

One of the following:
"AND"
"OR"
latest_only: Optional[bool]

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[List[EvaluationDashboardWidget]]

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

id: str

Unique identifier of the widget

account_id: str

Account that owns this widget

created_at: datetime

When the widget was created

formatdate-time
title: str

Widget title

Widget type

One of the following:
"bar"
"histogram"
"donut"
"scatter"
"metric"
"table"
"markdown"
"heading"
"timeseries"
archived_at: Optional[datetime]

When the widget was archived (soft-deleted)

formatdate-time
config: Optional[Dict[str, object]]

Chart-specific display configuration

object: Optional[Literal["evaluation_dashboard_widget"]]
query: Optional[Query]

Structured query AST for metric computation (SeriesQuery or MetricQuery)

One of the following:
class SeriesQuery: …

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: List[SelectItem]
expression: Expression

Reference to a column from evaluation_items.data

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

One of the following:
class ExpressionColumn: …

Reference to a column from evaluation_items.data

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

column: str

Column name from evaluation_items.data

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["COLUMN"]]
class ExpressionAggregation: …

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: str

Column to aggregate, or '' for COUNT()

function: Literal["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: Optional[List[str]]

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

params: Optional[Dict[str, object]]

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

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["AGGREGATION"]]
alias: Optional[str]

Optional alias for the selected item

evaluation_ids: Optional[List[str]]

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]

Filter conditions (WHERE clause)

conditions: List[Condition]
column: str

Column name to filter on

operator: Literal["=", "!=", ">", 9 more]

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

value: Optional[Union[str, float, bool, 2 more]]

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

One of the following:
str
float
bool
List[object]
logical_operators: Optional[List[Literal["AND", "OR"]]]

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

One of the following:
"AND"
"OR"
group_by: Optional[List[str]]

Columns to group by

latest_only: Optional[bool]

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[int]

Max rows to return

minimum1
order_by: Optional[List[OrderBy]]

Sort order

column: str

Column name to sort by

direction: Optional[Literal["ASC", "DESC"]]

Sort direction

One of the following:
"ASC"
"DESC"
source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

class MetricQuery: …

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: List[SelectItem]
expression: Expression

Reference to a column from evaluation_items.data

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

One of the following:
class ExpressionColumn: …

Reference to a column from evaluation_items.data

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

column: str

Column name from evaluation_items.data

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["COLUMN"]]
class ExpressionAggregation: …

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: str

Column to aggregate, or '' for COUNT()

function: Literal["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: Optional[List[str]]

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

params: Optional[Dict[str, object]]

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

source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

type: Optional[Literal["AGGREGATION"]]
alias: Optional[str]

Optional alias for the selected item

evaluation_ids: Optional[List[str]]

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]

Filter conditions (WHERE clause)

conditions: List[Condition]
column: str

Column name to filter on

operator: Literal["=", "!=", ">", 9 more]

Comparison operator

One of the following:
"="
"!="
">"
"<"
">="
"<="
"IN"
"NOT IN"
"LIKE"
"NOT LIKE"
"IS NULL"
"IS NOT NULL"
source: Optional[str]

Column source: ‘data’ or ‘task_result_cache’

value: Optional[Union[str, float, bool, 2 more]]

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

One of the following:
str
float
bool
List[object]
logical_operators: Optional[List[Literal["AND", "OR"]]]

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

One of the following:
"AND"
"OR"
latest_only: Optional[bool]

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.

List Evaluation Dashboards

import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
page = client.evaluation_dashboards.list()
page = page.items[0]
print(page.id)
{
  "has_more": true,
  "items": [
    {
      "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"
              }
            ]
          }
        }
      ]
    }
  ],
  "total": 0,
  "limit": 0,
  "object": "list"
}
Returns Examples
{
  "has_more": true,
  "items": [
    {
      "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"
              }
            ]
          }
        }
      ]
    }
  ],
  "total": 0,
  "limit": 0,
  "object": "list"
}