> ## Documentation Index
> Fetch the complete documentation index at: https://arize-ax.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dashboard mutations

> Create and copy dashboards, and add, update, duplicate or delete their widgets. Arguments, return types and a validated example for each of the 25 mutations.

Create and copy dashboards, and add, update, duplicate or delete their widgets.

For task-oriented walkthroughs of these operations, see the [Dashboard guide](/docs/ax/graphql-reference/guides/dashboards). Every mutation below is sent as a `POST` to `https://app.arize.com/graphql` with an `x-api-key` header; see [Forming calls](/docs/ax/graphql-reference/overview/how-to-use-graphql/forming-calls).

## Mutations in this page

* [`createDashboard`](#createdashboard): Create dashboard.
* [`createDefaultDashboard`](#createdefaultdashboard): Create default dashboard.
* [`createDashboardFromTemplate`](#createdashboardfromtemplate): Create dashboard from template.
* [`copyDashboard`](#copydashboard): Copy dashboard.
* [`updateDashboardName`](#updatedashboardname): Update dashboard name.
* [`updateDashboardStatus`](#updatedashboardstatus): Update dashboard status.
* [`duplicateWidget`](#duplicatewidget): Duplicate widget.
* [`createLineChartWidget`](#createlinechartwidget): Update a single line chart widget on a dashboard
* [`updateLineChartWidget`](#updatelinechartwidget): Update line chart widget.
* [`deleteLineChartWidget`](#deletelinechartwidget): Delete line chart widget.
* [`createBarChartWidget`](#createbarchartwidget): Create bar chart widget.
* [`updateBarChartWidget`](#updatebarchartwidget): Update bar chart widget.
* [`deleteBarChartWidget`](#deletebarchartwidget): Delete bar chart widget.
* [`createStatisticWidget`](#createstatisticwidget): Create statistic widget.
* [`updateStatisticWidget`](#updatestatisticwidget): Update a single widget
* [`deleteStatisticWidget`](#deletestatisticwidget): Delete statistic widget.
* [`createTextWidget`](#createtextwidget): Create text widget.
* [`updateTextWidget`](#updatetextwidget): Update a single widget
* [`deleteTextWidget`](#deletetextwidget): Delete text widget.
* [`createPivotTableWidget`](#createpivottablewidget): Create pivot table widget.
* [`updatePivotTableWidget`](#updatepivottablewidget): Update a single pivot table widget
* [`deletePivotTableWidget`](#deletepivottablewidget): Delete pivot table widget.
* [`createExperimentChartWidget`](#createexperimentchartwidget): Create an experiment chart widget
* [`updateExperimentChartWidget`](#updateexperimentchartwidget): Update experiment chart widget.
* [`deleteExperimentChartWidget`](#deleteexperimentchartwidget): Delete experiment chart widget.

## Reference

### createDashboard

`createDashboard(input: CreateDashboardMutationInput!): CreateDashboardMutationPayload`

#### Arguments

**input** `CreateDashboardMutationInput!` *required*

**CreateDashboardMutationInput fields**

**name** `String!` *required*

**spaceId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateDashboard($input: CreateDashboardMutationInput!) {
  createDashboard(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "name": "<string>",
    "spaceId": "<ID>"
  }
}
```

### createDefaultDashboard

`createDefaultDashboard(input: CreateDefaultDashboardMutationInput!): CreateDefaultDashboardMutationPayload`

#### Arguments

**input** `CreateDefaultDashboardMutationInput!` *required*

**CreateDefaultDashboardMutationInput fields**

**spaceId** `ID!` *required*

**modelId** `ID!` *required*

**modelEnvironmentName** `ModelEnvironmentName!` *required*

One of: `production`, `validation`, `training`, `tracing`.

**dimensionValues** `[DimensionValueInput!]`

**DimensionValueInput fields**

**id** `ID!` *required*

**value** `String!` *required*

The value of this dimension value, e.g. 'Wells Fargo' or '60'

**similarityReference** `DimensionValueSimilarityReference`

The similarity references for this dimension value

**DimensionValueSimilarityReference fields**

**threshold** `Float!` *required*

The threshold for this similarity reference, e.g. 'Wells Fargo' or '60'

**referencesList** `[SimilarityReferenceInput!]!` *required*

The list of references for this similarity reference Nested `SimilarityReferenceInput` (same shape as above).

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateDefaultDashboard($input: CreateDefaultDashboardMutationInput!) {
  createDefaultDashboard(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "spaceId": "<ID>",
    "modelId": "<ID>",
    "modelEnvironmentName": "production"
  }
}
```

### createDashboardFromTemplate

`createDashboardFromTemplate(input: CreateDashboardFromTemplateMutationInput!): CreateDashboardFromTemplateMutationPayload`

#### Arguments

**input** `CreateDashboardFromTemplateMutationInput!` *required*

**CreateDashboardFromTemplateMutationInput fields**

**name** `String!` *required*

**modelId** `ID!` *required*

**modelEnvironmentName** `ModelEnvironmentName`

One of: `production`, `validation`, `training`, `tracing`.

**modelVersionIds** `[String!]`

**modelBId** `ID`

**modelBEnvironmentName** `ModelEnvironmentName`

One of: `production`, `validation`, `training`, `tracing`.

**modelBVersionIds** `[String!]`

**template** `DashboardTemplates!` *required*

The template type of the dashboard One of: `regression`, `scoredModel`, `rankingModel`, `multiClassModel`, `topFeatures`, `featureAnalysis`, `featurePerformanceHeatmap`, `featureSlices`, `compareModels`, `compareProdVsTrain`, `generativeLlmModel`, `generativeLlmModelV2`, `featureDrift`, `modelMonitor`, `regressionPreProduction`, `scoredModelPreProduction`, `classificationPreProduction`, `training`, `validation`.

**featureNames** `[String!]`

The features for a given model to use for this dashboard

**positiveClass** `String`

The class of the classification model

**rankingAtK** `PositiveInt`

The @K value for the performance metric. Model must be ranking

**featureValues** `[String!]`

The value of this feature value, e.g. 'Wells Fargo' or '60'

**metric** `Metric`

The performance metric used for the dashboard One of: `accuracy`, `precision`, `recall`, `f_1`, `sensitivity`, `specificity`, `falsePositiveRate`, `falseNegativeRate`, `falseNegativeDensity`, `mse`, `rmse`, `mae`, `mape`, `predictionAverage`, `actualsAverage`, `auc`, `logLoss`, `rSquared`, `prAuc`, `meanError`, `calibration`, `ndcg`, `recallParity`, `falsePositiveRateParity`, `disparateImpact`, `wape`, `smape`, `mase`, `udf`, `groupAuc`, `mrr`, `rankingMap`, `rankingRecall`, `rankingPrecision`, `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `psi`, `kl`, `js`, `ks`, `newValues`, `missingValues`, `averageStringListLength`, `microAveragedPrecision`, `microAveragedRecall`, `multiClassPrecision`, `multiClassRecall`, `macroAveragedPrecision`, `macroAveragedRecall`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`.

**numSlices** `Int`

The number of slices to create for histogram charts

**comparisonDatasetModelBaselineId** `ID`

A comparison dataset pointing to the plot's model baseline that will be referenced by this plot for drift and comparison calculations.

**monitorIds** `[ID!]`

List of monitor ids to create alert widgets

**monitorNames** `[String!]`

The names of the monitors

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateDashboardFromTemplate($input: CreateDashboardFromTemplateMutationInput!) {
  createDashboardFromTemplate(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "name": "<string>",
    "modelId": "<ID>",
    "template": "regression"
  }
}
```

### copyDashboard

`copyDashboard(input: CopyDashboardMutationInput!): CopyDashboardMutationPayload`

#### Arguments

**input** `CopyDashboardMutationInput!` *required*

**CopyDashboardMutationInput fields**

**dashboardId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CopyDashboard($input: CopyDashboardMutationInput!) {
  copyDashboard(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "dashboardId": "<ID>"
  }
}
```

### updateDashboardName

`updateDashboardName(input: UpdateDashboardNameMutationInput!): UpdateDashboardNameMutationPayload`

#### Arguments

**input** `UpdateDashboardNameMutationInput!` *required*

**UpdateDashboardNameMutationInput fields**

**name** `String!` *required*

**dashboardId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateDashboardName($input: UpdateDashboardNameMutationInput!) {
  updateDashboardName(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "name": "<string>",
    "dashboardId": "<ID>"
  }
}
```

### updateDashboardStatus

`updateDashboardStatus(input: UpdateDashboardStatusMutationInput!): UpdateDashboardStatusMutationPayload`

#### Arguments

**input** `UpdateDashboardStatusMutationInput!` *required*

**UpdateDashboardStatusMutationInput fields**

**status** `String!` *required*

**dashboardId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateDashboardStatus($input: UpdateDashboardStatusMutationInput!) {
  updateDashboardStatus(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "status": "<string>",
    "dashboardId": "<ID>"
  }
}
```

### duplicateWidget

`duplicateWidget(input: DuplicateWidgetMutationInput!): DuplicateWidgetMutationPayload`

#### Arguments

**input** `DuplicateWidgetMutationInput!` *required*

**DuplicateWidgetMutationInput fields**

**widgetId** `ID!` *required*

**dashboardId** `ID!` *required*

**gridPosition** `[Int!]!` *required*

The grid position the duplicated widget should be placed at.

**title** `String!` *required*

The title of the duplicate widget.

**yMin** `Float`

The minimum domain on the y-axis

**yMax** `Float`

The maximum domain on the y-axis

**yAxisLabel** `String`

The label for the y-axis

**sortOrder** `BarChartSortOrder`

The sort order of the bars One of: `label_asc`, `label_desc`, `vol_asc`, `vol_desc`.

**topN** `Float`

The top N bars to display

**fontSize** `String`

The font size of the widget

**showLegend** `Boolean`

Whether to show the legend on the widget

**legendPlacement** `String`

The placement of the legend on the widget

**xAxisLabel** `String`

The label for the x-axis

**xAxisTilt** `String`

The tilt of the x-axis

**timezone** `String`

The timezone of the widget

**startTime** `DateTime`

The start time of the widget

**endTime** `DateTime`

The end time of the widget

**overwriteGlobalTime** `Boolean`

Whether to overwrite the global time

**timeSeriesDataGranularity** `DataGranularity`

The granularity of the time series data One of: `oneMinute`, `fiveMinute`, `hour`, `day`, `week`, `month`.

**timeRangeKey** `String`

The time range key of the widget

**customStatisticText** `String`

The custom statistic text of the widget

**clientMutationId** `String`

#### Returns

**barChartWidget** `BarChartWidget`

**BarChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `sortOrder`, `yMin`, `yMax`, `yAxisLabel`, `topN`, `isNormalized`, `isStacked`, `binOption`, `numBins`, `customBins`, `quantiles`, `performanceMetric`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `overwriteGlobalTime`, `timeRangeKey`.

Object fields (select subfields): `plots`, `config`, `bars`, `stackedBars`.

**statisticWidget** `StatisticWidget`

**StatisticWidget fields**

Scalar fields: `dashboardId`, `title`, `modelId`, `modelVersionIds`, `dimensionCategory`, `performanceMetric`, `aggregation`, `rankingAtK`, `modelEnvironmentName`, `gridPosition`, `timeSeriesMetricType`, `id`, `creationStatus`, `customStatisticText`, `statisticValue`.

Object fields (select subfields): `predictionValueClass`, `modelVersionEnvironmentBatches`, `filters`, `dimension`, `model`, `modelVersions`, `customMetric`.

**lineChartWidget** `LineChartWidget`

**LineChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `timeSeriesMetricType`, `yMin`, `yMax`, `yAxisLabel`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `overwriteGlobalTime`, `timeRangeKey`, `widgetType`.

Object fields (select subfields): `driftDistribution`, `monitor`, `config`, `plots`, `lines`, `scatterData`.

**textWidget** `TextWidget`

**TextWidget fields**

Scalar fields: `id`, `title`, `content`, `gridPosition`, `creationStatus`, `dashboardId`.

**experimentChartWidget** `ExperimentChartWidget`

**ExperimentChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `yMin`, `yMax`.

Object fields (select subfields): `plots`, `lines`.

**pivotTableWidget** `PivotTableWidget`

**PivotTableWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `modelId`, `modelVersionIds`, `gridPosition`, `creationStatus`, `groupedDimension`, `groupedDimensionTitle`, `groupedDimensionCategory`, `modelEnvironmentName`, `overwriteGlobalTime`, `timezone`, `startTime`, `endTime`, `timeRangeKey`, `queryFilter`.

Object fields (select subfields): `modelVersionEnvironmentBatches`, `model`, `modelVersions`, `columns`, `filters`, `pivotData`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DuplicateWidget($input: DuplicateWidgetMutationInput!) {
  duplicateWidget(input: $input) {
    barChartWidget { id }
    statisticWidget { id }
    lineChartWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "widgetId": "<ID>",
    "dashboardId": "<ID>",
    "gridPosition": [
      1
    ],
    "title": "<string>"
  }
}
```

### createLineChartWidget

Update a single line chart widget on a dashboard

`createLineChartWidget(input: CreateLineChartWidgetMutationInput!): CreateLineChartWidgetMutationPayload`

#### Arguments

**input** `CreateLineChartWidgetMutationInput!` *required*

**CreateLineChartWidgetMutationInput fields**

**title** `String!` *required*

**creationStatus** `WidgetCreationStatus`

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**dashboardId** `ID!` *required*

**timeSeriesMetricType** `TimeSeriesMetricCategory!` *required*

One of: `modelDataMetric`, `evaluationMetric`.

**yMin** `Float`

The minimum domain on the y-axis

**yMax** `Float`

The maximum domain on the y-axis

**gridPosition** `[Int!]`

The grid position of the widget, defaults to next available slot if not specified

**plots** `[LineChartPlotInputInput!]`

**LineChartPlotInputInput fields**

**modelId** `ID!` *required*

The model ID on the widget.

**modelVersionIds** `[ID!]!` *required*

The model version IDs on the widget. If empty, use all versions.

**modelEnvironmentName** `ModelEnvironmentName!` *required*

The model environment name on the plot. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]`

The model version environment batch IDs on the plot. If empty, use all batches

**dimensionCategory** `DimensionCategory`

The dimension category of the widget plot. ex. featureLabel, prediction, actuals One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**customMetric** `CustomMetricInput`

The custom metric function of the widget, if specified.

**CustomMetricInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The name of the custom metric

**description** `String`

The description of the custom metric

**metric** `String!` *required*

The custom metric, ex. 'AVG(predictionScore)', etc.

**requiresPositiveClass** `Boolean!` *required*

Whether the custom metric requires a positive class to calculate

**metric** `Metric!` *required*

The metric function of the plot i.e. accuracy, count, etc One of: `accuracy`, `precision`, `recall`, `f_1`, `sensitivity`, `specificity`, `falsePositiveRate`, `falseNegativeRate`, `falseNegativeDensity`, `mse`, `rmse`, `mae`, `mape`, `predictionAverage`, `actualsAverage`, `auc`, `logLoss`, `rSquared`, `prAuc`, `meanError`, `calibration`, `ndcg`, `recallParity`, `falsePositiveRateParity`, `disparateImpact`, `wape`, `smape`, `mase`, `udf`, `groupAuc`, `mrr`, `rankingMap`, `rankingRecall`, `rankingPrecision`, `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `psi`, `kl`, `js`, `ks`, `newValues`, `missingValues`, `averageStringListLength`, `microAveragedPrecision`, `microAveragedRecall`, `multiClassPrecision`, `multiClassRecall`, `macroAveragedPrecision`, `macroAveragedRecall`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`.

**dimension** `DimensionInput`

**DimensionInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The label of this dimension, e.g. 'Bank Name' or 'age'

**dataType** `DimensionDataType!` *required*

The data type of the values in dimensionName, ex. 'FLOAT', 'STRING', etc. One of: `STRING`, `LONG`, `FLOAT`, `DOUBLE`, `EMBEDDING`, `STRING_LIST`, `DICTIONARY`.

**category** `DimensionCategory`

The category of the dimension, e.g. 'tag' or 'featureLabel', etc. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**positiveClass** `String`

The class of the classification model (categorical prediction values) on the widget.Provided only if timeseriesMetricType = 'evaluationMetrics' and prediction value type is 'categorical'.

**rankingAtK** `PositiveInt`

The @K value for the performance metric. Model must be ranking.

**title** `String!` *required*

The title of the plot.

**position** `Int!` *required*

The position of the plot on the widget.Used to maintain order of widget and edit panel

**filters** `[LineChartFilterItemInputInput!]!` *required*

The filters on this plot.

**LineChartFilterItemInputInput fields**

**filterType** `FilterRowType!` *required*

The type of filter. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `modelVersion`, `batchId`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `topKPercentile`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`.

**operator** `ComparisonOperator!` *required*

The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.

**dimension** `DimensionInput`

The model dimension to filter, e.g. Age. Nested `DimensionInput` (same shape as above).

**dimensionValues** `[DimensionValueInput!]`

The dimension values of the filter. Nested `DimensionValueInput` (same shape as above).

**binaryValues** `[String!]`

The binary values of the prediction.

**numericValues** `[Float!]`

The numeric values of the prediction.

**categoricalValues** `[String!]`

The categorical values of the prediction.

**comparisonDatasetModelBaselineId** `ID`

A comparison dataset pointing to the plot's model baseline that will be referenced by this plot for drift and comparison calculations.

**comparisonDatasetFilteredBaseline** `FilteredBaselineInput`

A comparison dataset pointing to a stream of data that will be referenced by this plot for drift and comparison calculations. For example: last month's production data.

**FilteredBaselineInput fields**

**modelEnvironmentName** `ModelEnvironmentName!` *required*

The model environment on the plot, ex. production, training, validation. Defaulted to production. One of: `production`, `validation`, `training`, `tracing`.

**filteredMovingWindowSeconds** `Float`

The evaluation window length of the moving window.

**filteredMovingWindowDelaySeconds** `Float`

The evaluation window delay length of the moving window.

**filteredStartDate** `DateTime`

The start bookend of the baseline's time range. If set, this time should be used for the baseline

**filteredEndDate** `DateTime`

The end bookend of the baseline's time range. If set, this time should be used for the baseline

**batchId** `ID`

The batchId that you are tagging as the baseline

**comparisonDatasetBaseline** `SetModelDataSetBaselineInput`

A comparison dataset pointing to a specific batch that will be referenced by this plot. For example: Batch: Test, Environment: Validation

**SetModelDataSetBaselineInput fields**

**batchId** `ID!` *required*

The batchId that you are tagging as the baseline

**startDateOverride** `DateTime`

The override start bookend of the baseline's time range.

**endDateOverride** `DateTime`

The override end bookend of the baseline's time range

**splitByEnabled** `Boolean`

Whether or not split by is enabled on the plot.

**splitByDimension** `String`

The dimension to split by

**splitByDimensionCategory** `DimensionCategory`

The dimension category to split by One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**splitByOverallMetricEnabled** `Boolean`

If splitBy is enabled, this determines whether to show the overall metric alongside the splits.

**cohorts** `[String]`

The cohorts to filter by

**splitByAllValuesLiveUpdateEnabled** `Boolean`

When true, split-by cohorts are re-resolved from live data on every fetch instead of using the frozen `cohorts` list.

**colors** `[String!]`

A list of colors to use when plotting. Use one or two colors, two will be a gradient.

**metricAggregationType** `MetricAggregationType`

The aggregation type of the metric. One of: `span`, `trace`, `session`.

**xAxisDimensionName** `String`

The X-axis dimension name for scatter plots.

**xAxisDimensionCategory** `DimensionCategory`

The X-axis dimension category for scatter plots. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**yAxisDimensionName** `String`

The Y-axis dimension name for scatter plots.

**yAxisDimensionCategory** `DimensionCategory`

The Y-axis dimension category for scatter plots. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**colorByDimensionName** `String`

The color-by dimension name for scatter plots (optional, categorical).

**colorByDimensionCategory** `DimensionCategory`

The color-by dimension category for scatter plots. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**widgetType** `WidgetTypeEnum`

One of: `lineChartWidget`, `barChartWidget`, `statisticWidget`, `driftLineChartWidget`, `textWidget`, `monitorLineChartWidget`, `experimentChartWidget`, `scatterChartWidget`, `pivotTableWidget`.

**monitorId** `ID`

The monitor id when creating a monitorLineChartWidget

**fontSize** `String`

The font size of the widget

**showLegend** `Boolean`

Whether to show the legend on the widget

**legendPlacement** `String`

The placement of the legend on the widget

**xAxisLabel** `String`

The label for the x-axis

**xAxisTilt** `String`

The tilt of the x-axis

**timezone** `String`

The timezone of the widget

**startTime** `DateTime`

The start time of the widget

**endTime** `DateTime`

The end time of the widget

**overwriteGlobalTime** `Boolean`

Whether to overwrite the global time

**timeSeriesDataGranularity** `DataGranularity`

The granularity of the time series data One of: `oneMinute`, `fiveMinute`, `hour`, `day`, `week`, `month`.

**timeRangeKey** `String`

The time range key of the widget

**clientMutationId** `String`

#### Returns

**lineChartWidget** `LineChartWidget`

**LineChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `timeSeriesMetricType`, `yMin`, `yMax`, `yAxisLabel`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `overwriteGlobalTime`, `timeRangeKey`, `widgetType`.

Object fields (select subfields): `driftDistribution`, `monitor`, `config`, `plots`, `lines`, `scatterData`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateLineChartWidget($input: CreateLineChartWidgetMutationInput!) {
  createLineChartWidget(input: $input) {
    lineChartWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "title": "<string>",
    "dashboardId": "<ID>",
    "timeSeriesMetricType": "modelDataMetric"
  }
}
```

### updateLineChartWidget

`updateLineChartWidget(input: UpdateLineChartWidgetMutationInput!): UpdateLineChartWidgetMutationPayload`

#### Arguments

**input** `UpdateLineChartWidgetMutationInput!` *required*

**UpdateLineChartWidgetMutationInput fields**

**id** `ID!` *required*

**dashboardId** `ID!` *required*

**updateData** `LineChartWidgetUpdateDataInput!` *required*

**LineChartWidgetUpdateDataInput fields**

**title** `String!` *required*

**creationStatus** `WidgetCreationStatus!` *required*

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**timeSeriesMetricType** `TimeSeriesMetricCategory!` *required*

One of: `modelDataMetric`, `evaluationMetric`.

**yMin** `Float`

The minimum domain on the y-axis

**yMax** `Float`

The maximum domain on the y-axis

**yAxisLabel** `String`

The label for the y-axis

**gridPosition** `[Int!]!` *required*

**plots** `[LineChartPlotInputInput!]!` *required*

**LineChartPlotInputInput fields**

**modelId** `ID!` *required*

The model ID on the widget.

**modelVersionIds** `[ID!]!` *required*

The model version IDs on the widget. If empty, use all versions.

**modelEnvironmentName** `ModelEnvironmentName!` *required*

The model environment name on the plot. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]`

The model version environment batch IDs on the plot. If empty, use all batches

**dimensionCategory** `DimensionCategory`

The dimension category of the widget plot. ex. featureLabel, prediction, actuals One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**customMetric** `CustomMetricInput`

The custom metric function of the widget, if specified. Nested `CustomMetricInput` (same shape as above).

**metric** `Metric!` *required*

The metric function of the plot i.e. accuracy, count, etc One of: `accuracy`, `precision`, `recall`, `f_1`, `sensitivity`, `specificity`, `falsePositiveRate`, `falseNegativeRate`, `falseNegativeDensity`, `mse`, `rmse`, `mae`, `mape`, `predictionAverage`, `actualsAverage`, `auc`, `logLoss`, `rSquared`, `prAuc`, `meanError`, `calibration`, `ndcg`, `recallParity`, `falsePositiveRateParity`, `disparateImpact`, `wape`, `smape`, `mase`, `udf`, `groupAuc`, `mrr`, `rankingMap`, `rankingRecall`, `rankingPrecision`, `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `psi`, `kl`, `js`, `ks`, `newValues`, `missingValues`, `averageStringListLength`, `microAveragedPrecision`, `microAveragedRecall`, `multiClassPrecision`, `multiClassRecall`, `macroAveragedPrecision`, `macroAveragedRecall`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`.

**dimension** `DimensionInput`

Nested `DimensionInput` (same shape as above).

**positiveClass** `String`

The class of the classification model (categorical prediction values) on the widget.Provided only if timeseriesMetricType = 'evaluationMetrics' and prediction value type is 'categorical'.

**rankingAtK** `PositiveInt`

The @K value for the performance metric. Model must be ranking.

**title** `String!` *required*

The title of the plot.

**position** `Int!` *required*

The position of the plot on the widget.Used to maintain order of widget and edit panel

**filters** `[LineChartFilterItemInputInput!]!` *required*

The filters on this plot. Nested `LineChartFilterItemInputInput` (same shape as above).

**comparisonDatasetModelBaselineId** `ID`

A comparison dataset pointing to the plot's model baseline that will be referenced by this plot for drift and comparison calculations.

**comparisonDatasetFilteredBaseline** `FilteredBaselineInput`

A comparison dataset pointing to a stream of data that will be referenced by this plot for drift and comparison calculations. For example: last month's production data. Nested `FilteredBaselineInput` (same shape as above).

**comparisonDatasetBaseline** `SetModelDataSetBaselineInput`

A comparison dataset pointing to a specific batch that will be referenced by this plot. For example: Batch: Test, Environment: Validation Nested `SetModelDataSetBaselineInput` (same shape as above).

**splitByEnabled** `Boolean`

Whether or not split by is enabled on the plot.

**splitByDimension** `String`

The dimension to split by

**splitByDimensionCategory** `DimensionCategory`

The dimension category to split by One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**splitByOverallMetricEnabled** `Boolean`

If splitBy is enabled, this determines whether to show the overall metric alongside the splits.

**cohorts** `[String]`

The cohorts to filter by

**splitByAllValuesLiveUpdateEnabled** `Boolean`

When true, split-by cohorts are re-resolved from live data on every fetch instead of using the frozen `cohorts` list.

**colors** `[String!]`

A list of colors to use when plotting. Use one or two colors, two will be a gradient.

**metricAggregationType** `MetricAggregationType`

The aggregation type of the metric. One of: `span`, `trace`, `session`.

**xAxisDimensionName** `String`

The X-axis dimension name for scatter plots.

**xAxisDimensionCategory** `DimensionCategory`

The X-axis dimension category for scatter plots. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**yAxisDimensionName** `String`

The Y-axis dimension name for scatter plots.

**yAxisDimensionCategory** `DimensionCategory`

The Y-axis dimension category for scatter plots. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**colorByDimensionName** `String`

The color-by dimension name for scatter plots (optional, categorical).

**colorByDimensionCategory** `DimensionCategory`

The color-by dimension category for scatter plots. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**monitorId** `ID`

Associated monitor

**widgetType** `WidgetTypeEnum`

One of: `lineChartWidget`, `barChartWidget`, `statisticWidget`, `driftLineChartWidget`, `textWidget`, `monitorLineChartWidget`, `experimentChartWidget`, `scatterChartWidget`, `pivotTableWidget`.

**timeSeriesDataGranularity** `DataGranularity`

The granularity of the time series data One of: `oneMinute`, `fiveMinute`, `hour`, `day`, `week`, `month`.

**overwriteGlobalTime** `Boolean`

Whether to overwrite the global time

**timezone** `String`

The timezone of the widget

**startTime** `DateTime`

The start time of the widget

**endTime** `DateTime`

The end time of the widget

**fontSize** `String`

The font size of the widget

**showLegend** `Boolean`

Whether to show the legend on the widget

**legendPlacement** `String`

The placement of the legend on the widget

**xAxisLabel** `String`

The label for the x-axis

**xAxisTilt** `String`

The tilt of the x-axis

**timeRangeKey** `String`

The time range key of the widget

**clientMutationId** `String`

#### Returns

**lineChartWidget** `LineChartWidget`

**LineChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `timeSeriesMetricType`, `yMin`, `yMax`, `yAxisLabel`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `overwriteGlobalTime`, `timeRangeKey`, `widgetType`.

Object fields (select subfields): `driftDistribution`, `monitor`, `config`, `plots`, `lines`, `scatterData`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateLineChartWidget($input: UpdateLineChartWidgetMutationInput!) {
  updateLineChartWidget(input: $input) {
    lineChartWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>",
    "dashboardId": "<ID>",
    "updateData": {
      "title": "<string>",
      "creationStatus": "needsInit",
      "timeSeriesMetricType": "modelDataMetric",
      "gridPosition": [
        1
      ],
      "plots": [
        {
          "modelId": "<ID>",
          "modelVersionIds": [
            "<ID>"
          ],
          "modelEnvironmentName": "production",
          "metric": "accuracy",
          "title": "<string>",
          "position": 1,
          "filters": [
            {
              "filterType": "featureLabel",
              "operator": "greaterThan"
            }
          ]
        }
      ]
    }
  }
}
```

### deleteLineChartWidget

`deleteLineChartWidget(input: DeleteLineChartWidgetMutationInput!): DeleteLineChartWidgetMutationPayload`

#### Arguments

**input** `DeleteLineChartWidgetMutationInput!` *required*

**DeleteLineChartWidgetMutationInput fields**

**lineChartWidgetId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeleteLineChartWidget($input: DeleteLineChartWidgetMutationInput!) {
  deleteLineChartWidget(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "lineChartWidgetId": "<ID>"
  }
}
```

### createBarChartWidget

`createBarChartWidget(input: CreateBarChartWidgetMutationInput!): CreateBarChartWidgetMutationPayload`

#### Arguments

**input** `CreateBarChartWidgetMutationInput!` *required*

**CreateBarChartWidgetMutationInput fields**

**title** `String!` *required*

**creationStatus** `WidgetCreationStatus`

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**dashboardId** `ID!` *required*

**gridPosition** `[Int!]`

The grid position of the widget, defaults to next available slot if not specified

**isNormalized** `Boolean`

**performanceMetric** `PerformanceMetric`

One of: `accuracy`, `precision`, `recall`, `f_1`, `sensitivity`, `specificity`, `falsePositiveRate`, `falseNegativeRate`, `falseNegativeDensity`, `mse`, `rmse`, `mae`, `mape`, `predictionAverage`, `actualsAverage`, `auc`, `logLoss`, `rSquared`, `prAuc`, `meanError`, `calibration`, `ndcg`, `recallParity`, `falsePositiveRateParity`, `disparateImpact`, `wape`, `smape`, `mase`, `udf`, `groupAuc`, `mrr`, `rankingMap`, `rankingRecall`, `rankingPrecision`, `microAveragedPrecision`, `microAveragedRecall`, `multiClassPrecision`, `multiClassRecall`, `macroAveragedPrecision`, `macroAveragedRecall`.

**binOption** `CustomBinOption`

The distribution bin option of the widget, if specified One of: `numBins`, `customBins`, `medianCentered`, `discreteBins`, `decileBins`, `quantiles`, `discreteTopN`.

**numBins** `Int`

The number of bins on the distribution.

**customBins** `[Float!]`

The bin edges on the distribution.

**quantiles** `[Float!]`

The array of percentiles of the distribution.

**plots** `[BarChartPlotInputInput!]!` *required*

**BarChartPlotInputInput fields**

**title** `String!` *required*

The title of the plot.

**position** `Int!` *required*

The position of the plot on the widget.Used to maintain order of widget and edit panel

**modelId** `ID`

The external model ID on the plot. Required for project-backed plots; omit when datasetSource is set.

**modelVersionIds** `[ID!]!` *required*

The model version IDs on the plot. If empty, use all versions.

**modelEnvironmentName** `ModelEnvironmentName`

The model environment ID on the plot. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]`

The batch IDs on the plot. If empty, use all batches

**dimensionCategory** `DimensionCategory!` *required*

The metric function of the plot. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**aggregation** `DataQualityMetric`

The data quality metric of the plot, ex. count, avg, etc. One of: `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`, `newValues`, `missingValues`, `averageStringListLength`.

**dimension** `DimensionInput`

The dimension of the plot, should be non-null when dimensionCategory = FEATURE\_LABEL

**DimensionInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The label of this dimension, e.g. 'Bank Name' or 'age'

**dataType** `DimensionDataType!` *required*

The data type of the values in dimensionName, ex. 'FLOAT', 'STRING', etc. One of: `STRING`, `LONG`, `FLOAT`, `DOUBLE`, `EMBEDDING`, `STRING_LIST`, `DICTIONARY`.

**category** `DimensionCategory`

The category of the dimension, e.g. 'tag' or 'featureLabel', etc. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**positiveClass** `String`

The class of the classification model (categorical prediction values) on the widget.Provided only if model is categorical and evaluation type is specified

**rankingAtK** `PositiveInt`

The @K value for the performance metric. Model must be ranking.

**filters** `[BarChartFilterItemInputInput!]!` *required*

The filters on this plot.

**BarChartFilterItemInputInput fields**

**filterType** `FilterRowType!` *required*

The type of filter. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `modelVersion`, `batchId`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `topKPercentile`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`.

**operator** `ComparisonOperator!` *required*

The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.

**dimension** `DimensionInput`

The model dimension to filter, e.g. Age. Nested `DimensionInput` (same shape as above).

**dimensionValues** `[DimensionValueInput!]`

The dimension values of the filter. Nested `DimensionValueInput` (same shape as above).

**binaryValues** `[String!]`

The binary values of the prediction.

**numericValues** `[Float!]`

The numeric values of the prediction.

**categoricalValues** `[String!]`

The categorical values of the prediction.

**colors** `[String!]`

A list of colors to use when plotting. Use one or two colors, two will be a gradient.

**stackDimensionCategory** `String`

The dimension category to stack bars by (e.g., 'featureLabel', 'tag').

**stackDimensionName** `String`

The dimension name to stack bars by (e.g., '\_grade').

**datasetSource** `WidgetDatasetSourceInput`

Dataset or experiment source for this plot. Required for dataset-backed plots; omit when modelId is set.

**WidgetDatasetSourceInput fields**

**datasetId** `ID!` *required*

The dataset backing this series.

**datasetVersionId** `ID`

Optional dataset version. For dataset-only series, pins the version to read. When experimentId is set, the experiment's version is used instead.

**experimentId** `ID`

Optional experiment on the dataset. When set, the series reads experiment run data.

**sourceFields** `[DatasetSourceFieldInput!]!` *required*

Field descriptors for this series. Distribution bar charts use exactly one entry. Nested `DatasetSourceFieldInput` (same shape as above).

**yMin** `Float`

The minimum domain on the y-axis

**yMax** `Float`

The maximum domain on the y-axis

**sortOrder** `BarChartSortOrder`

The sort order of the bars One of: `label_asc`, `label_desc`, `vol_asc`, `vol_desc`.

**fontSize** `String`

The font size of the widget

**showLegend** `Boolean`

Whether to show the legend on the widget

**legendPlacement** `String`

The placement of the legend on the widget

**xAxisLabel** `String`

The label for the x-axis

**xAxisTilt** `String`

The tilt of the x-axis

**timezone** `String`

The timezone of the widget

**startTime** `DateTime`

The start time of the widget

**endTime** `DateTime`

The end time of the widget

**overwriteGlobalTime** `Boolean`

Whether to overwrite the global time

**timeSeriesDataGranularity** `DataGranularity`

The granularity of the time series data One of: `oneMinute`, `fiveMinute`, `hour`, `day`, `week`, `month`.

**timeRangeKey** `String`

The time range key of the widget

**topN** `Int`

The top N bars to display

**isStacked** `Boolean!` *required*

Whether to render the widget as a stacked bar chart

**clientMutationId** `String`

#### Returns

**barChartWidget** `BarChartWidget`

**BarChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `sortOrder`, `yMin`, `yMax`, `yAxisLabel`, `topN`, `isNormalized`, `isStacked`, `binOption`, `numBins`, `customBins`, `quantiles`, `performanceMetric`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `overwriteGlobalTime`, `timeRangeKey`.

Object fields (select subfields): `plots`, `config`, `bars`, `stackedBars`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateBarChartWidget($input: CreateBarChartWidgetMutationInput!) {
  createBarChartWidget(input: $input) {
    barChartWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "title": "<string>",
    "dashboardId": "<ID>",
    "plots": [
      {
        "title": "<string>",
        "position": 1,
        "modelVersionIds": [
          "<ID>"
        ],
        "dimensionCategory": "featureLabel",
        "filters": [
          {
            "filterType": "featureLabel",
            "operator": "greaterThan"
          }
        ]
      }
    ],
    "isStacked": true
  }
}
```

### updateBarChartWidget

`updateBarChartWidget(input: UpdateBarChartWidgetMutationInput!): UpdateBarChartWidgetMutationPayload`

#### Arguments

**input** `UpdateBarChartWidgetMutationInput!` *required*

**UpdateBarChartWidgetMutationInput fields**

**id** `ID!` *required*

**dashboardId** `ID!` *required*

**updateData** `BarChartWidgetUpdateDataInput!` *required*

**BarChartWidgetUpdateDataInput fields**

**title** `String!` *required*

**creationStatus** `WidgetCreationStatus!` *required*

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**gridPosition** `[Int!]!` *required*

**yMin** `Float`

The minimum domain on the y-axis

**yMax** `Float`

The maximum domain on the y-axis

**yAxisLabel** `String`

The label for the y-axis

**sortOrder** `BarChartSortOrder`

The sort order for the bar chart widget One of: `label_asc`, `label_desc`, `vol_asc`, `vol_desc`.

**topN** `Float`

The top N bars to display

**isNormalized** `Boolean!` *required*

**isStacked** `Boolean`

If true, the bar chart is rendered as a stacked bar chart.

**performanceMetric** `PerformanceMetric`

One of: `accuracy`, `precision`, `recall`, `f_1`, `sensitivity`, `specificity`, `falsePositiveRate`, `falseNegativeRate`, `falseNegativeDensity`, `mse`, `rmse`, `mae`, `mape`, `predictionAverage`, `actualsAverage`, `auc`, `logLoss`, `rSquared`, `prAuc`, `meanError`, `calibration`, `ndcg`, `recallParity`, `falsePositiveRateParity`, `disparateImpact`, `wape`, `smape`, `mase`, `udf`, `groupAuc`, `mrr`, `rankingMap`, `rankingRecall`, `rankingPrecision`, `microAveragedPrecision`, `microAveragedRecall`, `multiClassPrecision`, `multiClassRecall`, `macroAveragedPrecision`, `macroAveragedRecall`.

**binOption** `CustomBinOption`

The distribution bin option of the widget, if specified One of: `numBins`, `customBins`, `medianCentered`, `discreteBins`, `decileBins`, `quantiles`, `discreteTopN`.

**numBins** `Int`

The number of bins on the distribution.

**customBins** `[Float!]`

The bin edges on the distribution.

**quantiles** `[Float!]`

The array of percentiles of the distribution.

**plots** `[BarChartPlotInputInput!]!` *required*

**BarChartPlotInputInput fields**

**title** `String!` *required*

The title of the plot.

**position** `Int!` *required*

The position of the plot on the widget.Used to maintain order of widget and edit panel

**modelId** `ID`

The external model ID on the plot. Required for project-backed plots; omit when datasetSource is set.

**modelVersionIds** `[ID!]!` *required*

The model version IDs on the plot. If empty, use all versions.

**modelEnvironmentName** `ModelEnvironmentName`

The model environment ID on the plot. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]`

The batch IDs on the plot. If empty, use all batches

**dimensionCategory** `DimensionCategory!` *required*

The metric function of the plot. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**aggregation** `DataQualityMetric`

The data quality metric of the plot, ex. count, avg, etc. One of: `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`, `newValues`, `missingValues`, `averageStringListLength`.

**dimension** `DimensionInput`

The dimension of the plot, should be non-null when dimensionCategory = FEATURE\_LABEL Nested `DimensionInput` (same shape as above).

**positiveClass** `String`

The class of the classification model (categorical prediction values) on the widget.Provided only if model is categorical and evaluation type is specified

**rankingAtK** `PositiveInt`

The @K value for the performance metric. Model must be ranking.

**filters** `[BarChartFilterItemInputInput!]!` *required*

The filters on this plot. Nested `BarChartFilterItemInputInput` (same shape as above).

**colors** `[String!]`

A list of colors to use when plotting. Use one or two colors, two will be a gradient.

**stackDimensionCategory** `String`

The dimension category to stack bars by (e.g., 'featureLabel', 'tag').

**stackDimensionName** `String`

The dimension name to stack bars by (e.g., '\_grade').

**datasetSource** `WidgetDatasetSourceInput`

Dataset or experiment source for this plot. Required for dataset-backed plots; omit when modelId is set. Nested `WidgetDatasetSourceInput` (same shape as above).

**timeSeriesDataGranularity** `DataGranularity`

The granularity of the time series data One of: `oneMinute`, `fiveMinute`, `hour`, `day`, `week`, `month`.

**overwriteGlobalTime** `Boolean`

Whether to overwrite the global time

**timezone** `String`

The timezone of the widget

**startTime** `DateTime`

The start time of the widget

**endTime** `DateTime`

The end time of the widget

**fontSize** `String`

The font size of the widget

**showLegend** `Boolean`

Whether to show the legend on the widget

**legendPlacement** `String`

The placement of the legend on the widget

**xAxisLabel** `String`

The label for the x-axis

**xAxisTilt** `String`

The tilt of the x-axis

**timeRangeKey** `String`

The time range key of the widget

**clientMutationId** `String`

#### Returns

**barChartWidget** `BarChartWidget`

**BarChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `sortOrder`, `yMin`, `yMax`, `yAxisLabel`, `topN`, `isNormalized`, `isStacked`, `binOption`, `numBins`, `customBins`, `quantiles`, `performanceMetric`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `overwriteGlobalTime`, `timeRangeKey`.

Object fields (select subfields): `plots`, `config`, `bars`, `stackedBars`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateBarChartWidget($input: UpdateBarChartWidgetMutationInput!) {
  updateBarChartWidget(input: $input) {
    barChartWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>",
    "dashboardId": "<ID>",
    "updateData": {
      "title": "<string>",
      "creationStatus": "needsInit",
      "gridPosition": [
        1
      ],
      "isNormalized": true,
      "plots": [
        {
          "title": "<string>",
          "position": 1,
          "modelVersionIds": [
            "<ID>"
          ],
          "dimensionCategory": "featureLabel",
          "filters": [
            {
              "filterType": "featureLabel",
              "operator": "greaterThan"
            }
          ]
        }
      ]
    }
  }
}
```

### deleteBarChartWidget

`deleteBarChartWidget(input: DeleteBarChartWidgetMutationInput!): DeleteBarChartWidgetMutationPayload`

#### Arguments

**input** `DeleteBarChartWidgetMutationInput!` *required*

**DeleteBarChartWidgetMutationInput fields**

**barChartWidgetId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeleteBarChartWidget($input: DeleteBarChartWidgetMutationInput!) {
  deleteBarChartWidget(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "barChartWidgetId": "<ID>"
  }
}
```

### createStatisticWidget

`createStatisticWidget(input: CreateStatisticWidgetMutationInput!): CreateStatisticWidgetMutationPayload`

#### Arguments

**input** `CreateStatisticWidgetMutationInput!` *required*

**CreateStatisticWidgetMutationInput fields**

**dashboardId** `ID!` *required*

The dashboard of the widget.

**title** `String!` *required*

The title on the widget.

**gridPosition** `[Int!]`

The grid position of the widget.

**timeSeriesMetricType** `TimeSeriesMetricCategory!` *required*

The type of timeseries metric on the widget. One of: `modelDataMetric`, `evaluationMetric`.

**creationStatus** `WidgetCreationStatus`

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**dimension** `DimensionInput`

**DimensionInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The label of this dimension, e.g. 'Bank Name' or 'age'

**dataType** `DimensionDataType!` *required*

The data type of the values in dimensionName, ex. 'FLOAT', 'STRING', etc. One of: `STRING`, `LONG`, `FLOAT`, `DOUBLE`, `EMBEDDING`, `STRING_LIST`, `DICTIONARY`.

**category** `DimensionCategory`

The category of the dimension, e.g. 'tag' or 'featureLabel', etc. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**modelId** `ID!` *required*

The model ID on the widget.

**modelEnvironmentName** `ModelEnvironmentName`

The model environment name on the widget. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]`

The environment batch IDs on the widget. If empty, use all batches

**modelVersionIds** `[ID!]`

The model version IDs on the widget. If empty, use all versions.

**dimensionCategory** `DimensionCategory`

The dimension category of the widget. ex. featureLabel, prediction, actuals. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**performanceMetric** `PerformanceMetric`

The performance metric function of the widget. One of: `accuracy`, `precision`, `recall`, `f_1`, `sensitivity`, `specificity`, `falsePositiveRate`, `falseNegativeRate`, `falseNegativeDensity`, `mse`, `rmse`, `mae`, `mape`, `predictionAverage`, `actualsAverage`, `auc`, `logLoss`, `rSquared`, `prAuc`, `meanError`, `calibration`, `ndcg`, `recallParity`, `falsePositiveRateParity`, `disparateImpact`, `wape`, `smape`, `mase`, `udf`, `groupAuc`, `mrr`, `rankingMap`, `rankingRecall`, `rankingPrecision`, `microAveragedPrecision`, `microAveragedRecall`, `multiClassPrecision`, `multiClassRecall`, `macroAveragedPrecision`, `macroAveragedRecall`.

**aggregation** `DataQualityMetric`

The data quality metric of the widget, ex. count, avg, etc. One of: `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`, `newValues`, `missingValues`, `averageStringListLength`.

**positiveClass** `String`

The class of the classification model (categorical prediction values) on the widget.Provided only if timeseriesMetricType = 'evaluationMetrics' and prediction value type is 'categorical'.

**rankingAtK** `PositiveInt`

The @K value for the performance metric. Model must be ranking.

**filters** `[StatisticWidgetFilterItemInput!]`

The filters on this plot.

**StatisticWidgetFilterItemInput fields**

**filterType** `FilterRowType!` *required*

The type of filter. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `modelVersion`, `batchId`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `topKPercentile`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`.

**operator** `ComparisonOperator!` *required*

The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.

**dimension** `DimensionInput`

The model dimension to filter, e.g. Age.

**DimensionInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The label of this dimension, e.g. 'Bank Name' or 'age'

**dataType** `DimensionDataType!` *required*

The data type of the values in dimensionName, ex. 'FLOAT', 'STRING', etc. One of: `STRING`, `LONG`, `FLOAT`, `DOUBLE`, `EMBEDDING`, `STRING_LIST`, `DICTIONARY`.

**category** `DimensionCategory`

The category of the dimension, e.g. 'tag' or 'featureLabel', etc. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**dimensionValues** `[DimensionValueInput!]`

The dimension values of the filter.

**DimensionValueInput fields**

**id** `ID!` *required*

**value** `String!` *required*

The value of this dimension value, e.g. 'Wells Fargo' or '60'

**similarityReference** `DimensionValueSimilarityReference`

The similarity references for this dimension value Nested `DimensionValueSimilarityReference` (same shape as above).

**binaryValues** `[String!]`

The binary values of the prediction.

**numericValues** `[Float!]`

The numeric values of the prediction.

**categoricalValues** `[String!]`

The categorical values of the prediction.

**customMetric** `CustomMetricInput`

The custom metric function of the widget, if specified.

**CustomMetricInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The name of the custom metric

**description** `String`

The description of the custom metric

**metric** `String!` *required*

The custom metric, ex. 'AVG(predictionScore)', etc.

**requiresPositiveClass** `Boolean!` *required*

Whether the custom metric requires a positive class to calculate

**customStatisticText** `String`

The text of the metric on the widget.

**clientMutationId** `String`

#### Returns

**statisticWidget** `StatisticWidget`

**StatisticWidget fields**

Scalar fields: `dashboardId`, `title`, `modelId`, `modelVersionIds`, `dimensionCategory`, `performanceMetric`, `aggregation`, `rankingAtK`, `modelEnvironmentName`, `gridPosition`, `timeSeriesMetricType`, `id`, `creationStatus`, `customStatisticText`, `statisticValue`.

Object fields (select subfields): `predictionValueClass`, `modelVersionEnvironmentBatches`, `filters`, `dimension`, `model`, `modelVersions`, `customMetric`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateStatisticWidget($input: CreateStatisticWidgetMutationInput!) {
  createStatisticWidget(input: $input) {
    statisticWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "dashboardId": "<ID>",
    "title": "<string>",
    "timeSeriesMetricType": "modelDataMetric",
    "modelId": "<ID>"
  }
}
```

### updateStatisticWidget

Update a single widget

`updateStatisticWidget(input: UpdateStatisticWidgetMutationInput!): UpdateStatisticWidgetMutationPayload`

#### Arguments

**input** `UpdateStatisticWidgetMutationInput!` *required*

**UpdateStatisticWidgetMutationInput fields**

**id** `ID!` *required*

**dashboardId** `ID!` *required*

The dashboard of the widget.

**updateData** `StatisticWidgetUpdateDataInput!` *required*

**StatisticWidgetUpdateDataInput fields**

**title** `String!` *required*

The title on the widget.

**gridPosition** `[Int!]!` *required*

The grid position of the widget, defaults to next available slot if not specified

**modelId** `ID!` *required*

The model ID on the widget.

**modelVersionIds** `[ID!]!` *required*

The model version IDs on the widget. If empty, use all versions.

**modelEnvironmentName** `ModelEnvironmentName`

The model environment name of the widget. Defaulted to production. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]!` *required*

The environment batch id of the widget.

**dimensionCategory** `DimensionCategory`

The dimension category of the widget. ex. featureLabel, prediction, actuals One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**performanceMetric** `PerformanceMetric`

The performance metric function of the widget. One of: `accuracy`, `precision`, `recall`, `f_1`, `sensitivity`, `specificity`, `falsePositiveRate`, `falseNegativeRate`, `falseNegativeDensity`, `mse`, `rmse`, `mae`, `mape`, `predictionAverage`, `actualsAverage`, `auc`, `logLoss`, `rSquared`, `prAuc`, `meanError`, `calibration`, `ndcg`, `recallParity`, `falsePositiveRateParity`, `disparateImpact`, `wape`, `smape`, `mase`, `udf`, `groupAuc`, `mrr`, `rankingMap`, `rankingRecall`, `rankingPrecision`, `microAveragedPrecision`, `microAveragedRecall`, `multiClassPrecision`, `multiClassRecall`, `macroAveragedPrecision`, `macroAveragedRecall`.

**aggregation** `DataQualityMetric`

The aggregation type of the widget, ex. count, avg, etc. One of: `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`, `newValues`, `missingValues`, `averageStringListLength`.

**positiveClass** `String`

The class of the classification model (categorical prediction values) on the widget. Provided only if timeseriesMetricType = 'evaluationMetrics' and prediction value type is categorical.

**timeSeriesMetricType** `TimeSeriesMetricCategory!` *required*

The type of timeseries metric on the widget. One of: `modelDataMetric`, `evaluationMetric`.

**dimension** `DimensionInput`

The dimension of the widget, non-null if timeSeriesMetricType

**DimensionInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The label of this dimension, e.g. 'Bank Name' or 'age'

**dataType** `DimensionDataType!` *required*

The data type of the values in dimensionName, ex. 'FLOAT', 'STRING', etc. One of: `STRING`, `LONG`, `FLOAT`, `DOUBLE`, `EMBEDDING`, `STRING_LIST`, `DICTIONARY`.

**category** `DimensionCategory`

The category of the dimension, e.g. 'tag' or 'featureLabel', etc. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**creationStatus** `WidgetCreationStatus!` *required*

The status of the widget, to support various dashboard edit states. One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**filters** `[StatisticWidgetFilterItemInput!]!` *required*

The filters on this widget.

**StatisticWidgetFilterItemInput fields**

**filterType** `FilterRowType!` *required*

The type of filter. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `modelVersion`, `batchId`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `topKPercentile`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`.

**operator** `ComparisonOperator!` *required*

The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.

**dimension** `DimensionInput`

The model dimension to filter, e.g. Age. Nested `DimensionInput` (same shape as above).

**dimensionValues** `[DimensionValueInput!]`

The dimension values of the filter. Nested `DimensionValueInput` (same shape as above).

**binaryValues** `[String!]`

The binary values of the prediction.

**numericValues** `[Float!]`

The numeric values of the prediction.

**categoricalValues** `[String!]`

The categorical values of the prediction.

**customMetric** `CustomMetricInput`

The custom metric function of the widget, if specified.

**CustomMetricInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The name of the custom metric

**description** `String`

The description of the custom metric

**metric** `String!` *required*

The custom metric, ex. 'AVG(predictionScore)', etc.

**requiresPositiveClass** `Boolean!` *required*

Whether the custom metric requires a positive class to calculate

**rankingAtK** `PositiveInt`

The @K value for the performance metric. Model must be ranking.

**customStatisticText** `String`

The text of the metric on the widget.

**clientMutationId** `String`

#### Returns

**statisticWidget** `StatisticWidget`

**StatisticWidget fields**

Scalar fields: `dashboardId`, `title`, `modelId`, `modelVersionIds`, `dimensionCategory`, `performanceMetric`, `aggregation`, `rankingAtK`, `modelEnvironmentName`, `gridPosition`, `timeSeriesMetricType`, `id`, `creationStatus`, `customStatisticText`, `statisticValue`.

Object fields (select subfields): `predictionValueClass`, `modelVersionEnvironmentBatches`, `filters`, `dimension`, `model`, `modelVersions`, `customMetric`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateStatisticWidget($input: UpdateStatisticWidgetMutationInput!) {
  updateStatisticWidget(input: $input) {
    statisticWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>",
    "dashboardId": "<ID>",
    "updateData": {
      "title": "<string>",
      "gridPosition": [
        1
      ],
      "modelId": "<ID>",
      "modelVersionIds": [
        "<ID>"
      ],
      "modelVersionEnvironmentMetadataIds": [
        "<ID>"
      ],
      "timeSeriesMetricType": "modelDataMetric",
      "creationStatus": "needsInit",
      "filters": [
        {
          "filterType": "featureLabel",
          "operator": "greaterThan"
        }
      ]
    }
  }
}
```

### deleteStatisticWidget

`deleteStatisticWidget(input: DeleteStatisticWidgetMutationInput!): DeleteStatisticWidgetMutationPayload`

#### Arguments

**input** `DeleteStatisticWidgetMutationInput!` *required*

**DeleteStatisticWidgetMutationInput fields**

**statWidgetId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeleteStatisticWidget($input: DeleteStatisticWidgetMutationInput!) {
  deleteStatisticWidget(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "statWidgetId": "<ID>"
  }
}
```

### createTextWidget

`createTextWidget(input: CreateTextWidgetMutationInput!): CreateTextWidgetMutationPayload`

#### Arguments

**input** `CreateTextWidgetMutationInput!` *required*

**CreateTextWidgetMutationInput fields**

**title** `String!` *required*

The title on the widget.

**content** `String!` *required*

The text content on the widget.

**gridPosition** `[Int!]!` *required*

The grid position of the widget.

**creationStatus** `WidgetCreationStatus!` *required*

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**dashboardId** `ID!` *required*

The dashboard of the widget.

**clientMutationId** `String`

#### Returns

**textWidget** `TextWidget`

**TextWidget fields**

Scalar fields: `id`, `title`, `content`, `gridPosition`, `creationStatus`, `dashboardId`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateTextWidget($input: CreateTextWidgetMutationInput!) {
  createTextWidget(input: $input) {
    textWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "title": "<string>",
    "content": "<string>",
    "gridPosition": [
      1
    ],
    "creationStatus": "needsInit",
    "dashboardId": "<ID>"
  }
}
```

### updateTextWidget

Update a single widget

`updateTextWidget(input: UpdateTextWidgetMutationInput!): UpdateTextWidgetMutationPayload`

#### Arguments

**input** `UpdateTextWidgetMutationInput!` *required*

**UpdateTextWidgetMutationInput fields**

**id** `ID!` *required*

**dashboardId** `ID!` *required*

The dashboard of the widget.

**updateData** `TextWidgetUpdateDataInput!` *required*

**TextWidgetUpdateDataInput fields**

**title** `String!` *required*

The title on the widget.

**content** `String!` *required*

The text content on the widget.

**gridPosition** `[Int!]!` *required*

The grid position of the widget.

**creationStatus** `WidgetCreationStatus!` *required*

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**clientMutationId** `String`

#### Returns

**textWidget** `TextWidget`

**TextWidget fields**

Scalar fields: `id`, `title`, `content`, `gridPosition`, `creationStatus`, `dashboardId`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateTextWidget($input: UpdateTextWidgetMutationInput!) {
  updateTextWidget(input: $input) {
    textWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>",
    "dashboardId": "<ID>",
    "updateData": {
      "title": "<string>",
      "content": "<string>",
      "gridPosition": [
        1
      ],
      "creationStatus": "needsInit"
    }
  }
}
```

### deleteTextWidget

`deleteTextWidget(input: DeleteTextWidgetMutationInput!): DeleteTextWidgetMutationPayload`

#### Arguments

**input** `DeleteTextWidgetMutationInput!` *required*

**DeleteTextWidgetMutationInput fields**

**textWidgetId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeleteTextWidget($input: DeleteTextWidgetMutationInput!) {
  deleteTextWidget(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "textWidgetId": "<ID>"
  }
}
```

### createPivotTableWidget

`createPivotTableWidget(input: CreatePivotTableWidgetMutationInput!): CreatePivotTableWidgetMutationPayload`

#### Arguments

**input** `CreatePivotTableWidgetMutationInput!` *required*

**CreatePivotTableWidgetMutationInput fields**

**dashboardId** `ID!` *required*

The dashboard of the widget.

**title** `String!` *required*

The title on the widget.

**gridPosition** `[Int!]`

The grid position of the widget.

**creationStatus** `WidgetCreationStatus`

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**modelId** `ID!` *required*

The model ID on the widget.

**modelEnvironmentName** `ModelEnvironmentName`

The model environment name on the widget. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]`

The environment batch IDs on the widget. If empty, use all batches

**modelVersionIds** `[ID!]`

The model version IDs on the widget. If empty, use all versions.

**groupedDimension** `String!` *required*

The categorical dimension to group by (e.g., model name).

**groupedDimensionTitle** `String`

Optional custom title for the grouped dimension column.

**groupedDimensionCategory** `DimensionCategory`

The dimension category for the grouped dimension. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**columns** `[PivotTableColumnInput!]`

The columns (numeric dimensions with aggregations) on the pivot table.

**PivotTableColumnInput fields**

**dimension** `String!` *required*

The dimension to aggregate. Numeric dimensions support sum/avg; all dimensions support count/cardinality.

**aggregation** `PivotTableAggregation!` *required*

The aggregation type (avg, sum, count, cardinality). One of: `avg`, `sum`, `count`, `cardinality`.

**position** `Int!` *required*

The display order of the column.

**title** `String`

Optional custom title for the column.

**dimensionCategory** `DimensionCategory`

The dimension category for this column. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**filters** `[PivotTableWidgetFilterItemInput!]`

The filters on this widget.

**PivotTableWidgetFilterItemInput fields**

**filterType** `FilterRowType!` *required*

The type of filter. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `modelVersion`, `batchId`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `topKPercentile`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`.

**operator** `ComparisonOperator!` *required*

The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.

**dimension** `DimensionInput`

The model dimension to filter, e.g. Age.

**DimensionInput fields**

**id** `ID!` *required*

**name** `String!` *required*

The label of this dimension, e.g. 'Bank Name' or 'age'

**dataType** `DimensionDataType!` *required*

The data type of the values in dimensionName, ex. 'FLOAT', 'STRING', etc. One of: `STRING`, `LONG`, `FLOAT`, `DOUBLE`, `EMBEDDING`, `STRING_LIST`, `DICTIONARY`.

**category** `DimensionCategory`

The category of the dimension, e.g. 'tag' or 'featureLabel', etc. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**dimensionValues** `[DimensionValueInput!]`

The dimension values of the filter.

**DimensionValueInput fields**

**id** `ID!` *required*

**value** `String!` *required*

The value of this dimension value, e.g. 'Wells Fargo' or '60'

**similarityReference** `DimensionValueSimilarityReference`

The similarity references for this dimension value Nested `DimensionValueSimilarityReference` (same shape as above).

**binaryValues** `[String!]`

The binary values of the prediction.

**numericValues** `[Float!]`

The numeric values of the prediction.

**categoricalValues** `[String!]`

The categorical values of the prediction.

**overwriteGlobalTime** `Boolean`

Whether to override the dashboard time range.

**timezone** `String`

Timezone for time range.

**startTime** `DateTime`

Custom start time.

**endTime** `DateTime`

Custom end time.

**timeRangeKey** `String`

Preset time range key.

**queryFilter** `String`

Query filter string.

**clientMutationId** `String`

#### Returns

**pivotTableWidget** `PivotTableWidget`

**PivotTableWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `modelId`, `modelVersionIds`, `gridPosition`, `creationStatus`, `groupedDimension`, `groupedDimensionTitle`, `groupedDimensionCategory`, `modelEnvironmentName`, `overwriteGlobalTime`, `timezone`, `startTime`, `endTime`, `timeRangeKey`, `queryFilter`.

Object fields (select subfields): `modelVersionEnvironmentBatches`, `model`, `modelVersions`, `columns`, `filters`, `pivotData`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreatePivotTableWidget($input: CreatePivotTableWidgetMutationInput!) {
  createPivotTableWidget(input: $input) {
    pivotTableWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "dashboardId": "<ID>",
    "title": "<string>",
    "modelId": "<ID>",
    "groupedDimension": "<string>"
  }
}
```

### updatePivotTableWidget

Update a single pivot table widget

`updatePivotTableWidget(input: UpdatePivotTableWidgetMutationInput!): UpdatePivotTableWidgetMutationPayload`

#### Arguments

**input** `UpdatePivotTableWidgetMutationInput!` *required*

**UpdatePivotTableWidgetMutationInput fields**

**id** `ID!` *required*

**dashboardId** `ID!` *required*

The dashboard of the widget.

**updateData** `PivotTableWidgetUpdateDataInput!` *required*

**PivotTableWidgetUpdateDataInput fields**

**title** `String!` *required*

The title on the widget.

**gridPosition** `[Int!]!` *required*

The grid position of the widget.

**creationStatus** `WidgetCreationStatus!` *required*

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**modelId** `ID!` *required*

The model ID on the widget.

**modelEnvironmentName** `ModelEnvironmentName`

The model environment name on the widget. One of: `production`, `validation`, `training`, `tracing`.

**modelVersionEnvironmentMetadataIds** `[ID!]!` *required*

The environment batch IDs on the widget. If empty, use all batches

**modelVersionIds** `[ID!]!` *required*

The model version IDs on the widget. If empty, use all versions.

**groupedDimension** `String!` *required*

The categorical dimension to group by (e.g., model name).

**groupedDimensionTitle** `String`

Optional custom title for the grouped dimension column.

**groupedDimensionCategory** `DimensionCategory`

The dimension category for the grouped dimension. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**columns** `[PivotTableColumnInput!]!` *required*

The columns (numeric dimensions with aggregations) on the pivot table.

**PivotTableColumnInput fields**

**dimension** `String!` *required*

The dimension to aggregate. Numeric dimensions support sum/avg; all dimensions support count/cardinality.

**aggregation** `PivotTableAggregation!` *required*

The aggregation type (avg, sum, count, cardinality). One of: `avg`, `sum`, `count`, `cardinality`.

**position** `Int!` *required*

The display order of the column.

**title** `String`

Optional custom title for the column.

**dimensionCategory** `DimensionCategory`

The dimension category for this column. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.

**filters** `[PivotTableWidgetFilterItemInput!]!` *required*

The filters on this widget.

**PivotTableWidgetFilterItemInput fields**

**filterType** `FilterRowType!` *required*

The type of filter. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `modelVersion`, `batchId`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `topKPercentile`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`.

**operator** `ComparisonOperator!` *required*

The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.

**dimension** `DimensionInput`

The model dimension to filter, e.g. Age. Nested `DimensionInput` (same shape as above).

**dimensionValues** `[DimensionValueInput!]`

The dimension values of the filter. Nested `DimensionValueInput` (same shape as above).

**binaryValues** `[String!]`

The binary values of the prediction.

**numericValues** `[Float!]`

The numeric values of the prediction.

**categoricalValues** `[String!]`

The categorical values of the prediction.

**overwriteGlobalTime** `Boolean`

Whether to override the dashboard time range.

**timezone** `String`

Timezone for time range.

**startTime** `DateTime`

Custom start time.

**endTime** `DateTime`

Custom end time.

**timeRangeKey** `String`

Preset time range key.

**queryFilter** `String`

Query filter string.

**clientMutationId** `String`

#### Returns

**pivotTableWidget** `PivotTableWidget`

**PivotTableWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `modelId`, `modelVersionIds`, `gridPosition`, `creationStatus`, `groupedDimension`, `groupedDimensionTitle`, `groupedDimensionCategory`, `modelEnvironmentName`, `overwriteGlobalTime`, `timezone`, `startTime`, `endTime`, `timeRangeKey`, `queryFilter`.

Object fields (select subfields): `modelVersionEnvironmentBatches`, `model`, `modelVersions`, `columns`, `filters`, `pivotData`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdatePivotTableWidget($input: UpdatePivotTableWidgetMutationInput!) {
  updatePivotTableWidget(input: $input) {
    pivotTableWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>",
    "dashboardId": "<ID>",
    "updateData": {
      "title": "<string>",
      "gridPosition": [
        1
      ],
      "creationStatus": "needsInit",
      "modelId": "<ID>",
      "modelVersionEnvironmentMetadataIds": [
        "<ID>"
      ],
      "modelVersionIds": [
        "<ID>"
      ],
      "groupedDimension": "<string>",
      "columns": [
        {
          "dimension": "<string>",
          "aggregation": "avg",
          "position": 1
        }
      ],
      "filters": [
        {
          "filterType": "featureLabel",
          "operator": "greaterThan"
        }
      ]
    }
  }
}
```

### deletePivotTableWidget

`deletePivotTableWidget(input: DeletePivotTableWidgetMutationInput!): DeletePivotTableWidgetMutationPayload`

#### Arguments

**input** `DeletePivotTableWidgetMutationInput!` *required*

**DeletePivotTableWidgetMutationInput fields**

**pivotTableWidgetId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeletePivotTableWidget($input: DeletePivotTableWidgetMutationInput!) {
  deletePivotTableWidget(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "pivotTableWidgetId": "<ID>"
  }
}
```

### createExperimentChartWidget

Create an experiment chart widget

`createExperimentChartWidget(input: CreateExperimentChartWidgetMutationInput!): CreateExperimentChartWidgetMutationPayload`

#### Arguments

**input** `CreateExperimentChartWidgetMutationInput!` *required*

**CreateExperimentChartWidgetMutationInput fields**

**title** `String!` *required*

**creationStatus** `WidgetCreationStatus`

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**dashboardId** `ID!` *required*

**gridPosition** `[Int!]`

The grid position the widget should be placed at.

**plots** `[ExperimentChartPlotInputInput!]`

**ExperimentChartPlotInputInput fields**

**title** `String!` *required*

The title on the plot.

**position** `Int!` *required*

The position of the plot.

**datasetId** `ID!` *required*

The dataset of the plot.

**evaluationMetric** `String!` *required*

The evaluation metric of the dataset.

**fontSize** `String`

The font size of the widget

**showLegend** `Boolean`

Whether to show the legend on the widget

**legendPlacement** `String`

The placement of the legend on the widget

**xAxisLabel** `String`

The label for the x-axis

**xAxisTilt** `String`

The tilt of the x-axis

**yMin** `Float`

The minimum domain on the y-axis

**yMax** `Float`

The maximum domain on the y-axis

**clientMutationId** `String`

#### Returns

**experimentChartWidget** `ExperimentChartWidget`

**ExperimentChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `yMin`, `yMax`.

Object fields (select subfields): `plots`, `lines`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateExperimentChartWidget($input: CreateExperimentChartWidgetMutationInput!) {
  createExperimentChartWidget(input: $input) {
    experimentChartWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "title": "<string>",
    "dashboardId": "<ID>"
  }
}
```

### updateExperimentChartWidget

`updateExperimentChartWidget(input: UpdateExperimentChartWidgetMutationInput!): UpdateExperimentChartWidgetMutationPayload`

#### Arguments

**input** `UpdateExperimentChartWidgetMutationInput!` *required*

**UpdateExperimentChartWidgetMutationInput fields**

**id** `ID!` *required*

**dashboardId** `ID!` *required*

**updateData** `ExperimentChartWidgetUpdateDataInput!` *required*

**ExperimentChartWidgetUpdateDataInput fields**

**title** `String!` *required*

**creationStatus** `WidgetCreationStatus!` *required*

One of: `needsInit`, `pending`, `created`, `published`, `unpublished`.

**gridPosition** `[Int!]!` *required*

**plots** `[ExperimentChartPlotInputInput!]!` *required*

**ExperimentChartPlotInputInput fields**

**title** `String!` *required*

The title on the plot.

**position** `Int!` *required*

The position of the plot.

**datasetId** `ID!` *required*

The dataset of the plot.

**evaluationMetric** `String!` *required*

The evaluation metric of the dataset.

**fontSize** `String`

The font size of the widget

**showLegend** `Boolean`

Whether to show the legend on the widget

**legendPlacement** `String`

The placement of the legend on the widget

**xAxisLabel** `String`

The label for the x-axis

**xAxisTilt** `String`

The tilt of the x-axis

**yMin** `Float`

The minimum domain on the y-axis

**yMax** `Float`

The maximum domain on the y-axis

**clientMutationId** `String`

#### Returns

**experimentChartWidget** `ExperimentChartWidget`

**ExperimentChartWidget fields**

Scalar fields: `id`, `dashboardId`, `title`, `gridPosition`, `creationStatus`, `fontSize`, `showLegend`, `legendPlacement`, `xAxisLabel`, `xAxisTilt`, `yMin`, `yMax`.

Object fields (select subfields): `plots`, `lines`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateExperimentChartWidget($input: UpdateExperimentChartWidgetMutationInput!) {
  updateExperimentChartWidget(input: $input) {
    experimentChartWidget { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>",
    "dashboardId": "<ID>",
    "updateData": {
      "title": "<string>",
      "creationStatus": "needsInit",
      "gridPosition": [
        1
      ],
      "plots": [
        {
          "title": "<string>",
          "position": 1,
          "datasetId": "<ID>",
          "evaluationMetric": "<string>"
        }
      ]
    }
  }
}
```

### deleteExperimentChartWidget

`deleteExperimentChartWidget(input: DeleteExperimentChartWidgetMutationInput!): DeleteExperimentChartWidgetMutationPayload`

#### Arguments

**input** `DeleteExperimentChartWidgetMutationInput!` *required*

**DeleteExperimentChartWidgetMutationInput fields**

**experimentChartWidgetId** `ID!` *required*

**clientMutationId** `String`

#### Returns

**dashboard** `Dashboard`

**Dashboard fields**

Scalar fields: `id`, `name`, `createdAt`, `status`, `timezone`, `startTime`, `endTime`, `timeSeriesDataGranularity`, `timeRangeKey`, `isRestricted`.

Object fields (select subfields): `creator`, `space`, `models`, `statisticWidgets`, `performanceSlices`, `barChartWidgets`, `lineChartWidgets`, `experimentChartWidgets`, `driftLineChartWidgets`, `monitorLineChartWidgets`, `scatterChartWidgets`, `textWidgets`, `pivotTableWidgets`, `tags`, `dashboardRoleBindings`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeleteExperimentChartWidget($input: DeleteExperimentChartWidgetMutationInput!) {
  deleteExperimentChartWidget(input: $input) {
    dashboard { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "experimentChartWidgetId": "<ID>"
  }
}
```
