> ## 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.

# Monitor mutations

> Create, patch, trigger and delete drift, performance and data quality monitors. Arguments, return types and a validated example for each of the 9 mutations.

Create, patch, trigger and delete drift, performance and data quality monitors.

For task-oriented walkthroughs of these operations, see the [Monitor guide](/docs/ax/graphql-reference/guides/monitors). 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

* [`createDriftMonitor`](#createdriftmonitor): Creates a new custom drift monitor.
* [`createPerformanceMonitor`](#createperformancemonitor): Creates a new custom performance monitor.
* [`createDataQualityMonitor`](#createdataqualitymonitor): Create data quality monitor.
* [`patchDriftMonitor`](#patchdriftmonitor): Patch drift monitor.
* [`patchPerformanceMonitor`](#patchperformancemonitor): Patch performance monitor.
* [`patchDataQualityMonitor`](#patchdataqualitymonitor): Patch data quality monitor.
* [`patchMonitor`](#patchmonitor): Patch monitor.
* [`triggerMonitor`](#triggermonitor): Manually trigger a monitor
* [`deleteMonitor`](#deletemonitor): Delete monitor.

## Reference

### createDriftMonitor

Creates a new custom drift monitor.

`createDriftMonitor(input: CreateDriftMonitorMutationInput!): CreateDriftMonitorMutationPayload`

#### Arguments

<ParamField body="input" type="CreateDriftMonitorMutationInput!" required>
  <Expandable title="CreateDriftMonitorMutationInput fields">
    <ParamField body="spaceId" type="ID">
      The id of the space to look up the model name
    </ParamField>

    <ParamField body="modelName" type="String">
      The name of the model to create a monitor for. The use of this field also requires using spaceId.
    </ParamField>

    <ParamField body="modelId" type="ID">
      The model ID of the metric window.
    </ParamField>

    <ParamField body="driftMetric" type="DriftMetric!" required>
      The drift metric to monitor, ex. psi. One of: `psi`, `kl`, `js`, `ks`, `euclideanDistance`, `cosineSimilarity`.
    </ParamField>

    <ParamField body="name" type="String!" required>
      The name of the monitor.
    </ParamField>

    <ParamField body="threshold" type="Float">
      The threshold of the monitor. Used in conjunction with comparison operator to determine if alert condition has been met.
    </ParamField>

    <ParamField body="dynamicAutoThreshold" type="MonitorAutoThresholdInput">
      <Expandable title="MonitorAutoThresholdInput fields">
        <ParamField body="stdDevMultiplier" type="Float!" required>
          A coefficient by which to multiply the standard deviation in the threshold calculation: threshold = mean +/- stdDevMultiplier \* stdDev
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="operator" type="ComparisonOperator!" required>
      The operator of the monitor. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
    </ParamField>

    <ParamField body="evaluationWindowLengthSeconds" type="Float">
      The time window that is used to calculate the metric on every evaluation. Should be able to be represented as an integer hour.
    </ParamField>

    <ParamField body="delaySeconds" type="Float">
      The initial delay from the current time for evaluating the monitor in order to allow for 'actuals' to arrive. Generally not as applicable for non-actuals related monitors.
    </ParamField>

    <ParamField body="dimensionName" type="String">
      The name of the dimension (feature, prediction, actual, tag) to create the Drift Monitor for.
    </ParamField>

    <ParamField body="dimensionCategory" type="DimensionCategory!" required>
      The category of the feature label, ex. feature, prediction, actuals. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.
    </ParamField>

    <ParamField body="modelVersions" type="[String!]">
      The model versions by which to filter the primary dataset. An empty array will fetch all versions
    </ParamField>

    <ParamField body="filters" type="[DimensionFilterInput!]">
      The filters to apply when calculating the primary dataset (e.g. current data)

      <Expandable title="DimensionFilterInput fields">
        <ParamField body="dimensionType" type="DimensionFilterType!" required>
          The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
        </ParamField>

        <ParamField body="operator" type="ComparisonOperator!" required>
          The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="name" type="String">
          Required when specifying a tag or a feature label filter.
        </ParamField>

        <ParamField body="values" type="[String!]!" required>
          The values to match on.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="baseline" type="DriftMonitorBaseline">
      Defines the reference data (e.g. baseline) to use to calculate drift

      <Expandable title="DriftMonitorBaseline fields">
        <ParamField body="dimensionName" type="String">
          The feature or tag label of the comparison dataset. Required if `dimensionCategory` is set to feature or tag
        </ParamField>

        <ParamField body="dimensionCategory" type="DimensionCategory">
          The category of the model dimension, ex. feature, prediction, actuals. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.
        </ParamField>

        <ParamField body="useModelPrimaryBaseline" type="Boolean!" required>
          If true, use the model's primary baseline to build the comparison dataset.
        </ParamField>

        <ParamField body="movingWindowSeconds" type="Float">
          The moving evaluation window length of the custom baseline. E.g. how much data in time to use to compute the baseline
        </ParamField>

        <ParamField body="movingWindowDelaySeconds" type="Float">
          How far back to look for data to use as the monitor's baseline
        </ParamField>

        <ParamField body="fixedStartDate" type="DateTime">
          The start bookend of the custom baseline's time range.
        </ParamField>

        <ParamField body="fixedEndDate" type="DateTime">
          The end bookend of the custom baseline's time range.
        </ParamField>

        <ParamField body="modelVersions" type="[String!]">
          The model versions by which to filter the comparison dataset. An empty array will fetch all versions
        </ParamField>

        <ParamField body="filters" type="[DimensionFilterInput!]">
          The filters on this comparison dataset. Only valid if using custom baselines.

          <Expandable title="DimensionFilterInput fields">
            <ParamField body="dimensionType" type="DimensionFilterType!" required>
              The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
            </ParamField>

            <ParamField body="operator" type="ComparisonOperator!" required>
              The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
            </ParamField>

            <ParamField body="name" type="String">
              Required when specifying a tag or a feature label filter.
            </ParamField>

            <ParamField body="values" type="[String!]!" required>
              The values to match on.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="contacts" type="[MonitorContactInput!]">
      How and who to contact when the monitor triggers

      <Expandable title="MonitorContactInput fields">
        <ParamField body="notificationChannelType" type="NotificationChannelType!" required>
          The notification channel type of the monitor contact. One of: `email`, `integration`.
        </ParamField>

        <ParamField body="emailAddress" type="EmailAddress">
          The email address of the monitor contact. Ex. [steve@arize.com](mailto:steve@arize.com)
        </ParamField>

        <ParamField body="integrationKeyId" type="ID">
          The integration key id of the integration
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="webhookSubscriptions" type="[WebhookSubscriptionInput!]">
      Webhooks to notify for this monitor and which events each is subscribed to.

      <Expandable title="WebhookSubscriptionInput fields">
        <ParamField body="webhookId" type="ID!" required>
          Relay global ID of the webhook destination (webhooks\_destinations).
        </ParamField>

        <ParamField body="subscribedWebhookEvents" type="[WebhookEventName!]!" required>
          Events to subscribe to (e.g. monitor.triggered, prompt.version.created). One of: `MONITOR_TRIGGERED`, `MONITOR_CLEARED`, `MONITOR_NO_DATA`, `PROMPT_VERSION_CREATED`, `PROMPT_VERSION_LABELED`, `PROMPT_VERSION_UNLABELED`, `EVALUATOR_VERSION_CREATED`.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="notes" type="String">
      Monitor notes. Notifications support \{\{monitor.name}}, \{\{monitor.id}}, \{\{resource.name}}, \{\{metric.name}}, \{\{metric.value}}, \{\{threshold.operator}}, \{\{threshold.value}}, \{\{evaluation.start}}, \{\{evaluation.end}}, \{\{monitor.url}}, \{\{traces.url}} (tracing projects only) (limited to 1000 characters)
    </ParamField>

    <ParamField body="downtimeStart" type="DateTime">
      The start date of the monitor's downtime if scheduled.
    </ParamField>

    <ParamField body="downtimeDurationHrs" type="Int">
      Duration of downtime for a monitor in number of hours. Between 1 and 1344 hours
    </ParamField>

    <ParamField body="downtimeFrequencyDays" type="Int">
      Frequency of downtime for a monitor in number of days. Between 1 and 56 days
    </ParamField>

    <ParamField body="scheduledRuntimeEnabled" type="Boolean">
      If true, the monitor is scheduled to run at a specific time.
    </ParamField>

    <ParamField body="scheduledRuntimeCadenceSeconds" type="Int">
      The cadence of the monitor's scheduled runtime in seconds.
    </ParamField>

    <ParamField body="scheduledRuntimeDaysOfWeek" type="[Int!]">
      The days of the week the monitor is scheduled to run.
    </ParamField>

    <ParamField body="thresholdMode" type="MonitorThresholdMode">
      The threshold mode of the monitor, either single or range. One of: `single`, `range`.
    </ParamField>

    <ParamField body="threshold2" type="Float">
      The second threshold of the monitor, if using a range threshold.
    </ParamField>

    <ParamField body="operator2" type="ComparisonOperator">
      The second operator of the monitor, if using a range threshold. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
    </ParamField>

    <ParamField body="stdDevMultiplier2" type="Float">
      The second standard deviation multiplier, if using a range threshold. Used to determine the suggested threshold for the monitor.
    </ParamField>

    <ParamField body="autoThresholdLookbackSeconds" type="Int">
      The lookback seconds for the auto threshold.
    </ParamField>

    <ParamField body="thresholdCalculationType" type="MonitorThresholdCalculationType">
      Calculation used for auto thresholds. Either mean + stdev or median + median absolute deviation (mad). One of: `stdev`, `mad`.
    </ParamField>

    <ParamField body="manualEvaluationEnabled" type="Boolean">
      Whether manual evaluation is enabled.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor!">
  The created drift monitor.

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation CreateDriftMonitor($input: CreateDriftMonitorMutationInput!) {
    createDriftMonitor(input: $input) {
      monitor { id name status }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "driftMetric": "psi",
      "name": "<string>",
      "operator": "greaterThan",
      "dimensionCategory": "featureLabel"
    }
  }
  ```
</CodeGroup>

### createPerformanceMonitor

Creates a new custom performance monitor.

`createPerformanceMonitor(input: CreatePerformanceMonitorMutationInput!): CreatePerformanceMonitorMutationPayload`

#### Arguments

<ParamField body="input" type="CreatePerformanceMonitorMutationInput!" required>
  <Expandable title="CreatePerformanceMonitorMutationInput fields">
    <ParamField body="spaceId" type="ID">
      The id of the space to look up the model name
    </ParamField>

    <ParamField body="modelName" type="String">
      The name of the model to create a monitor for. The use of this field also requires using spaceId.
    </ParamField>

    <ParamField body="modelId" type="ID">
      The id of the model to create the Performance Monitor for.
    </ParamField>

    <ParamField body="name" type="String!" required>
      A name that describes the performance monitor
    </ParamField>

    <ParamField body="performanceMetric" type="PerformanceMetric">
      The performance metric to monitor. E.x. 'accuracy'. The metric must be supported by the model type. 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`.
    </ParamField>

    <ParamField body="customMetricId" type="ID">
      The id of the custom metric ID to create the Performance Monitor for.
    </ParamField>

    <ParamField body="positiveClassValue" type="String">
      The positive class used for classification metrics. This only applies to performance monitors for classification models.
    </ParamField>

    <ParamField body="predictionClassValue" type="String">
      The prediction class used for classification metrics. This only applies to performance monitors for multi-class models.
    </ParamField>

    <ParamField body="metricAtRankingKValue" type="Int">
      The @K value for the performance metric. Model must be ranking.
    </ParamField>

    <ParamField body="operator" type="ComparisonOperator!" required>
      The operator of the performance monitor. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
    </ParamField>

    <ParamField body="threshold" type="Float">
      The explicit threshold value of the monitor. If absent, the monitor will fallback to automatic threshold calculations.
    </ParamField>

    <ParamField body="dynamicAutoThreshold" type="MonitorAutoThresholdInput">
      <Expandable title="MonitorAutoThresholdInput fields">
        <ParamField body="stdDevMultiplier" type="Float!" required>
          A coefficient by which to multiply the standard deviation in the threshold calculation: threshold = mean +/- stdDevMultiplier \* stdDev
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="modelVersions" type="[String!]">
      The model versions by which to filter the model's inferences. An empty array will fetch all versions
    </ParamField>

    <ParamField body="filters" type="[DimensionFilterInput!]">
      The filters on the model's inferences. (ex. narrow the monitor to just the case where state=CA)

      <Expandable title="DimensionFilterInput fields">
        <ParamField body="dimensionType" type="DimensionFilterType!" required>
          The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
        </ParamField>

        <ParamField body="operator" type="ComparisonOperator!" required>
          The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="name" type="String">
          Required when specifying a tag or a feature label filter.
        </ParamField>

        <ParamField body="values" type="[String!]!" required>
          The values to match on.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="evaluationWindowLengthSeconds" type="Float">
      The time window that is used to calculate the metric on every evaluation. Should be able to be represented as an integer hour.
    </ParamField>

    <ParamField body="delaySeconds" type="Float">
      The initial delay from the current time for evaluating the monitor in order to allow for 'actuals' to arrive. Generally not as applicable for non-actuals related monitors.
    </ParamField>

    <ParamField body="contacts" type="[MonitorContactInput!]">
      How and who to contact when the monitor triggers

      <Expandable title="MonitorContactInput fields">
        <ParamField body="notificationChannelType" type="NotificationChannelType!" required>
          The notification channel type of the monitor contact. One of: `email`, `integration`.
        </ParamField>

        <ParamField body="emailAddress" type="EmailAddress">
          The email address of the monitor contact. Ex. [steve@arize.com](mailto:steve@arize.com)
        </ParamField>

        <ParamField body="integrationKeyId" type="ID">
          The integration key id of the integration
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="webhookSubscriptions" type="[WebhookSubscriptionInput!]">
      Webhooks to notify for this monitor and which events each is subscribed to.

      <Expandable title="WebhookSubscriptionInput fields">
        <ParamField body="webhookId" type="ID!" required>
          Relay global ID of the webhook destination (webhooks\_destinations).
        </ParamField>

        <ParamField body="subscribedWebhookEvents" type="[WebhookEventName!]!" required>
          Events to subscribe to (e.g. monitor.triggered, prompt.version.created). One of: `MONITOR_TRIGGERED`, `MONITOR_CLEARED`, `MONITOR_NO_DATA`, `PROMPT_VERSION_CREATED`, `PROMPT_VERSION_LABELED`, `PROMPT_VERSION_UNLABELED`, `EVALUATOR_VERSION_CREATED`.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="notes" type="String">
      Monitor notes. Notifications support \{\{monitor.name}}, \{\{monitor.id}}, \{\{resource.name}}, \{\{metric.name}}, \{\{metric.value}}, \{\{threshold.operator}}, \{\{threshold.value}}, \{\{evaluation.start}}, \{\{evaluation.end}}, \{\{monitor.url}}, \{\{traces.url}} (tracing projects only) (limited to 1000 characters)
    </ParamField>

    <ParamField body="downtimeStart" type="DateTime">
      The start date of the monitor's downtime if scheduled.
    </ParamField>

    <ParamField body="downtimeDurationHrs" type="Int">
      Duration of downtime for a monitor in number of hours. Between 1 and 1344 hours
    </ParamField>

    <ParamField body="downtimeFrequencyDays" type="Int">
      Frequency of downtime for a monitor in number of days. Between 1 and 56 days
    </ParamField>

    <ParamField body="scheduledRuntimeEnabled" type="Boolean">
      If true, the monitor is scheduled to run at a specific time.
    </ParamField>

    <ParamField body="scheduledRuntimeCadenceSeconds" type="Int">
      The cadence of the monitor's scheduled runtime in seconds.
    </ParamField>

    <ParamField body="scheduledRuntimeDaysOfWeek" type="[Int!]">
      The days of the week the monitor is scheduled to run.
    </ParamField>

    <ParamField body="modelEnvironmentName" type="ModelEnvironmentName">
      The environment for which to retrieve the model schema for. One of: `production`, `validation`, `training`, `tracing`.
    </ParamField>

    <ParamField body="thresholdMode" type="MonitorThresholdMode">
      The threshold mode of the monitor, either single or range. One of: `single`, `range`.
    </ParamField>

    <ParamField body="threshold2" type="Float">
      The second threshold of the monitor, if using a range threshold.
    </ParamField>

    <ParamField body="operator2" type="ComparisonOperator">
      The second operator of the monitor, if using a range threshold. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
    </ParamField>

    <ParamField body="stdDevMultiplier2" type="Float">
      The second standard deviation multiplier, if using a range threshold. Used to determine the suggested threshold for the monitor.
    </ParamField>

    <ParamField body="autoThresholdLookbackSeconds" type="Int">
      The lookback seconds for the auto threshold.
    </ParamField>

    <ParamField body="thresholdCalculationType" type="MonitorThresholdCalculationType">
      Calculation used for auto thresholds. Either mean + stdev or median + median absolute deviation (mad). One of: `stdev`, `mad`.
    </ParamField>

    <ParamField body="manualEvaluationEnabled" type="Boolean">
      Whether manual evaluation is enabled.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor!">
  The created performance monitor.

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation CreatePerformanceMonitor($input: CreatePerformanceMonitorMutationInput!) {
    createPerformanceMonitor(input: $input) {
      monitor { id name status }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "name": "<string>",
      "operator": "greaterThan"
    }
  }
  ```
</CodeGroup>

### createDataQualityMonitor

`createDataQualityMonitor(input: CreateDataQualityMonitorMutationInput!): CreateDataQualityMonitorMutationPayload`

#### Arguments

<ParamField body="input" type="CreateDataQualityMonitorMutationInput!" required>
  <Expandable title="CreateDataQualityMonitorMutationInput fields">
    <ParamField body="spaceId" type="ID">
      The id of the space to look up the model name
    </ParamField>

    <ParamField body="modelName" type="String">
      The name of the model to create a monitor for. The use of this field also requires using spaceId.
    </ParamField>

    <ParamField body="modelId" type="ID">
      The id of the model to create the Data Quality Monitor for.
    </ParamField>

    <ParamField body="name" type="String!" required>
      A name that describes the data quality monitor
    </ParamField>

    <ParamField body="dimensionName" type="String">
      The feature label to create the Data Quality Monitor on.
    </ParamField>

    <ParamField body="dimensionCategory" type="DimensionCategory!" required>
      The category of the feature label, ex. feature, prediction, actuals. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.
    </ParamField>

    <ParamField body="dataQualityMetric" type="DataQualityMetric!" required>
      The data quality metric of the monitor, ex. count, avg, etc. One of: `avg`, `count`, `sum`, `percentEmpty`, `cardinality`, `standardDeviation`, `p50`, `p95`, `p99`, `p99_9`, `newValues`, `missingValues`, `averageStringListLength`.
    </ParamField>

    <ParamField body="evaluationWindowLengthSeconds" type="Float">
      The time window that is used to calculate the metric on every evaluation. Should be able to be represented as an integer hour.
    </ParamField>

    <ParamField body="delaySeconds" type="Float">
      The initial delay from the current time for evaluating the monitor in order to allow for 'actuals' to arrive. Generally not as applicable for non-actuals related monitors.
    </ParamField>

    <ParamField body="threshold" type="Float">
      The threshold of the monitor. Used in conjunction with comparison operator to determine if alert condition has been met.
    </ParamField>

    <ParamField body="dynamicAutoThreshold" type="MonitorAutoThresholdInput">
      <Expandable title="MonitorAutoThresholdInput fields">
        <ParamField body="stdDevMultiplier" type="Float!" required>
          A coefficient by which to multiply the standard deviation in the threshold calculation: threshold = mean +/- stdDevMultiplier \* stdDev
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="operator" type="ComparisonOperator!" required>
      The operator of the data quality monitor. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
    </ParamField>

    <ParamField body="modelVersions" type="[String!]">
      The model versions by which to filter the model's inferences. An empty array will fetch all versions
    </ParamField>

    <ParamField body="filters" type="[DimensionFilterInput!]">
      The filters on the model's inferences. (ex. narrow the monitor to just the case where state=CA)

      <Expandable title="DimensionFilterInput fields">
        <ParamField body="dimensionType" type="DimensionFilterType!" required>
          The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
        </ParamField>

        <ParamField body="operator" type="ComparisonOperator!" required>
          The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="name" type="String">
          Required when specifying a tag or a feature label filter.
        </ParamField>

        <ParamField body="values" type="[String!]!" required>
          The values to match on.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="contacts" type="[MonitorContactInput!]">
      How and who to contact when the monitor triggers

      <Expandable title="MonitorContactInput fields">
        <ParamField body="notificationChannelType" type="NotificationChannelType!" required>
          The notification channel type of the monitor contact. One of: `email`, `integration`.
        </ParamField>

        <ParamField body="emailAddress" type="EmailAddress">
          The email address of the monitor contact. Ex. [steve@arize.com](mailto:steve@arize.com)
        </ParamField>

        <ParamField body="integrationKeyId" type="ID">
          The integration key id of the integration
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="webhookSubscriptions" type="[WebhookSubscriptionInput!]">
      Webhooks to notify for this monitor and which events each is subscribed to.

      <Expandable title="WebhookSubscriptionInput fields">
        <ParamField body="webhookId" type="ID!" required>
          Relay global ID of the webhook destination (webhooks\_destinations).
        </ParamField>

        <ParamField body="subscribedWebhookEvents" type="[WebhookEventName!]!" required>
          Events to subscribe to (e.g. monitor.triggered, prompt.version.created). One of: `MONITOR_TRIGGERED`, `MONITOR_CLEARED`, `MONITOR_NO_DATA`, `PROMPT_VERSION_CREATED`, `PROMPT_VERSION_LABELED`, `PROMPT_VERSION_UNLABELED`, `EVALUATOR_VERSION_CREATED`.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="notes" type="String">
      Monitor notes. Notifications support \{\{monitor.name}}, \{\{monitor.id}}, \{\{resource.name}}, \{\{metric.name}}, \{\{metric.value}}, \{\{threshold.operator}}, \{\{threshold.value}}, \{\{evaluation.start}}, \{\{evaluation.end}}, \{\{monitor.url}}, \{\{traces.url}} (tracing projects only) (limited to 1000 characters)
    </ParamField>

    <ParamField body="baseline" type="DataQualityMonitorBaseline">
      <Expandable title="DataQualityMonitorBaseline fields">
        <ParamField body="dimensionName" type="String">
          The feature or tag label of the comparison dataset. Required if `dimensionCategory` is set to feature or tag
        </ParamField>

        <ParamField body="dimensionCategory" type="DimensionCategory">
          The category of the model dimension, ex. feature, prediction, actuals. One of: `featureLabel`, `prediction`, `actuals`, `actualScore`, `actualClass`, `predictionClass`, `predictionScore`, `tag`, `spanProperty`, `llmEval`, `annotation`, `userAnnotation`, `modelVersion`, `batchId`.
        </ParamField>

        <ParamField body="useModelPrimaryBaseline" type="Boolean!" required>
          If true, use the model's primary baseline to build the comparison dataset.
        </ParamField>

        <ParamField body="movingWindowSeconds" type="Float">
          The moving evaluation window length of the custom baseline. E.g. how much data in time to use to compute the baseline
        </ParamField>

        <ParamField body="movingWindowDelaySeconds" type="Float">
          How far back to look for data to use as the monitor's baseline
        </ParamField>

        <ParamField body="fixedStartDate" type="DateTime">
          The start bookend of the custom baseline's time range.
        </ParamField>

        <ParamField body="fixedEndDate" type="DateTime">
          The end bookend of the custom baseline's time range.
        </ParamField>

        <ParamField body="modelVersions" type="[String!]">
          The model versions by which to filter the comparison dataset. An empty array will fetch all versions
        </ParamField>

        <ParamField body="filters" type="[DimensionFilterInput!]">
          The filters on this comparison dataset. Only valid if using custom baselines.

          <Expandable title="DimensionFilterInput fields">
            <ParamField body="dimensionType" type="DimensionFilterType!" required>
              The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
            </ParamField>

            <ParamField body="operator" type="ComparisonOperator!" required>
              The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
            </ParamField>

            <ParamField body="name" type="String">
              Required when specifying a tag or a feature label filter.
            </ParamField>

            <ParamField body="values" type="[String!]!" required>
              The values to match on.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="downtimeStart" type="DateTime">
      The start date of the monitor's downtime if scheduled.
    </ParamField>

    <ParamField body="downtimeDurationHrs" type="Int">
      Duration of downtime for a monitor in number of hours. Between 1 and 1344 hours
    </ParamField>

    <ParamField body="downtimeFrequencyDays" type="Int">
      Frequency of downtime for a monitor in number of days. Between 1 and 56 days
    </ParamField>

    <ParamField body="scheduledRuntimeEnabled" type="Boolean">
      If true, the monitor is scheduled to run at a specific time.
    </ParamField>

    <ParamField body="scheduledRuntimeCadenceSeconds" type="Int">
      The cadence of the monitor's scheduled runtime in seconds.
    </ParamField>

    <ParamField body="scheduledRuntimeDaysOfWeek" type="[Int!]">
      The days of the week the monitor is scheduled to run.
    </ParamField>

    <ParamField body="thresholdMode" type="MonitorThresholdMode">
      The threshold mode of the monitor, either single or range. One of: `single`, `range`.
    </ParamField>

    <ParamField body="threshold2" type="Float">
      The second threshold of the monitor, if using a range threshold.
    </ParamField>

    <ParamField body="stdDevMultiplier2" type="Float">
      The second standard deviation multiplier, if using a range threshold. Used to determine the suggested threshold for the monitor.
    </ParamField>

    <ParamField body="operator2" type="ComparisonOperator">
      The second operator of the monitor, if using a range threshold. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
    </ParamField>

    <ParamField body="modelEnvironmentName" type="ModelEnvironmentName">
      The environment for which to retrieve the model schema for. One of: `production`, `validation`, `training`, `tracing`.
    </ParamField>

    <ParamField body="autoThresholdLookbackSeconds" type="Int">
      The lookback seconds for the auto threshold.
    </ParamField>

    <ParamField body="thresholdCalculationType" type="MonitorThresholdCalculationType">
      Calculation used for auto thresholds. Either mean + stdev or median + median absolute deviation (mad). One of: `stdev`, `mad`.
    </ParamField>

    <ParamField body="manualEvaluationEnabled" type="Boolean">
      Whether manual evaluation is enabled.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor">
  The created data quality monitor.

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation CreateDataQualityMonitor($input: CreateDataQualityMonitorMutationInput!) {
    createDataQualityMonitor(input: $input) {
      monitor { id name status }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "name": "<string>",
      "dimensionCategory": "featureLabel",
      "dataQualityMetric": "avg",
      "operator": "greaterThan"
    }
  }
  ```
</CodeGroup>

### patchDriftMonitor

`patchDriftMonitor(input: PatchDriftMonitorInput!): PatchDriftMonitorPayload`

#### Arguments

<ParamField body="input" type="PatchDriftMonitorInput!" required>
  <Expandable title="PatchDriftMonitorInput fields">
    <ParamField body="monitorId" type="ID!" required>
      The ID of the monitor to patch
    </ParamField>

    <ParamField body="set" type="DriftMonitorPatchInput!" required>
      Patch of the monitor calculation

      <Expandable title="DriftMonitorPatchInput fields">
        <ParamField body="name" type="String">
          A name that describes the monitor
        </ParamField>

        <ParamField body="threshold" type="Float">
          Adjust the monitor's alerting threshold
        </ParamField>

        <ParamField body="operator" type="ComparisonOperator">
          Adjust the monitor's alerting operator. Used in conjunction with the threshold to form an alert condition One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="dynamicAutoThresholdEnabled" type="Boolean">
          Whether the current monitor threshold value is re-calculated on a regular schedule and thus have a dynamic value that changes over time. Default is false
        </ParamField>

        <ParamField body="dynamicAutoThreshold" type="MonitorAutoThresholdInput">
          <Expandable title="MonitorAutoThresholdInput fields">
            <ParamField body="stdDevMultiplier" type="Float!" required>
              A coefficient by which to multiply the standard deviation in the threshold calculation: threshold = mean +/- stdDevMultiplier \* stdDev
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notificationsEnabled" type="Boolean">
          Whether or not notifications are sent out when the monitor is triggered
        </ParamField>

        <ParamField body="contacts" type="[MonitorContactInput!]">
          The contacts of the monitor.

          <Expandable title="MonitorContactInput fields">
            <ParamField body="notificationChannelType" type="NotificationChannelType!" required>
              The notification channel type of the monitor contact. One of: `email`, `integration`.
            </ParamField>

            <ParamField body="emailAddress" type="EmailAddress">
              The email address of the monitor contact. Ex. [steve@arize.com](mailto:steve@arize.com)
            </ParamField>

            <ParamField body="integrationKeyId" type="ID">
              The integration key id of the integration
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="modelVersions" type="[String!]">
          An array of the model versions by which to filter the dataset. An empty array will fetch all versions
        </ParamField>

        <ParamField body="filters" type="[DimensionFilterInput!]">
          The filters on the model's inferences. (ex. narrow the monitor to just the case where state=CA). If this property is provided it will replace any existing filters.

          <Expandable title="DimensionFilterInput fields">
            <ParamField body="dimensionType" type="DimensionFilterType!" required>
              The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
            </ParamField>

            <ParamField body="operator" type="ComparisonOperator!" required>
              The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
            </ParamField>

            <ParamField body="name" type="String">
              Required when specifying a tag or a feature label filter.
            </ParamField>

            <ParamField body="values" type="[String!]!" required>
              The values to match on.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notes" type="String">
          Notes on the monitor
        </ParamField>

        <ParamField body="startDelaySeconds" type="PositiveInt">
          The number of seconds to wait before starting the monitor. Between 0 and 15552000 (180 days)
        </ParamField>

        <ParamField body="downtimeStart" type="DateTime">
          The start date and hour of the monitor's downtime if scheduled (ex: 2024-12-01T10:00:00Z).
        </ParamField>

        <ParamField body="downtimeDurationHrs" type="PositiveInt">
          Duration of downtime for a monitor in number of hours. Between 1 and 1344 hours
        </ParamField>

        <ParamField body="downtimeFrequencyDays" type="PositiveInt">
          Frequency of downtime for a monitor in number of days. Between 1 and 56 days
        </ParamField>

        <ParamField body="scheduledRuntimeEnabled" type="Boolean">
          If true, the monitor is scheduled to run at a specific time.
        </ParamField>

        <ParamField body="scheduledRuntimeCadenceSeconds" type="Int">
          The cadence of the monitor's scheduled runtime in seconds.
        </ParamField>

        <ParamField body="scheduledRuntimeDaysOfWeek" type="[Int!]">
          The days of the week the monitor is scheduled to run.
        </ParamField>

        <ParamField body="threshold2" type="Float">
          The second threshold of the monitor, if using a range threshold.
        </ParamField>

        <ParamField body="operator2" type="ComparisonOperator">
          The second operator of the monitor, if using a range threshold. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="stdDevMultiplier2" type="Float">
          The second standard deviation multiplier, if using a range threshold. Used to determine the suggested threshold for the monitor.
        </ParamField>

        <ParamField body="thresholdMode" type="MonitorThresholdMode">
          The threshold mode of the monitor, either single or range. One of: `single`, `range`.
        </ParamField>

        <ParamField body="autoThresholdLookbackSeconds" type="Int">
          The lookback seconds for the auto threshold.
        </ParamField>

        <ParamField body="thresholdCalculationType" type="MonitorThresholdCalculationType">
          Calculation used for auto thresholds. Either mean + stdev or median + median absolute deviation (mad). One of: `stdev`, `mad`.
        </ParamField>

        <ParamField body="manualEvaluationEnabled" type="Boolean">
          Whether manual evaluation is enabled.
        </ParamField>

        <ParamField body="evaluationWindowLengthSeconds" type="Float">
          The evaluation window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowSeconds" type="Float">
          The moving window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowDelaySeconds" type="Float">
          The moving window delay of the monitor in seconds.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor!">
  The updated drift monitor.

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation PatchDriftMonitor($input: PatchDriftMonitorInput!) {
    patchDriftMonitor(input: $input) {
      monitor { id name status }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "monitorId": "<ID>",
      "set": {}
    }
  }
  ```
</CodeGroup>

### patchPerformanceMonitor

`patchPerformanceMonitor(input: PatchPerformanceMonitorInput!): PatchPerformanceMonitorPayload`

#### Arguments

<ParamField body="input" type="PatchPerformanceMonitorInput!" required>
  <Expandable title="PatchPerformanceMonitorInput fields">
    <ParamField body="monitorId" type="ID!" required>
      The ID of the monitor to patch
    </ParamField>

    <ParamField body="set" type="PerformanceMonitorPatchInput!" required>
      Patch of the monitor calculation

      <Expandable title="PerformanceMonitorPatchInput fields">
        <ParamField body="name" type="String">
          A name that describes the monitor
        </ParamField>

        <ParamField body="threshold" type="Float">
          Adjust the monitor's alerting threshold
        </ParamField>

        <ParamField body="operator" type="ComparisonOperator">
          Adjust the monitor's alerting operator. Used in conjunction with the threshold to form an alert condition One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="dynamicAutoThresholdEnabled" type="Boolean">
          Whether the current monitor threshold value is re-calculated on a regular schedule and thus have a dynamic value that changes over time. Default is false
        </ParamField>

        <ParamField body="dynamicAutoThreshold" type="MonitorAutoThresholdInput">
          <Expandable title="MonitorAutoThresholdInput fields">
            <ParamField body="stdDevMultiplier" type="Float!" required>
              A coefficient by which to multiply the standard deviation in the threshold calculation: threshold = mean +/- stdDevMultiplier \* stdDev
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notificationsEnabled" type="Boolean">
          Whether or not notifications are sent out when the monitor is triggered
        </ParamField>

        <ParamField body="contacts" type="[MonitorContactInput!]">
          The contacts of the monitor.

          <Expandable title="MonitorContactInput fields">
            <ParamField body="notificationChannelType" type="NotificationChannelType!" required>
              The notification channel type of the monitor contact. One of: `email`, `integration`.
            </ParamField>

            <ParamField body="emailAddress" type="EmailAddress">
              The email address of the monitor contact. Ex. [steve@arize.com](mailto:steve@arize.com)
            </ParamField>

            <ParamField body="integrationKeyId" type="ID">
              The integration key id of the integration
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="modelVersions" type="[String!]">
          An array of the model versions by which to filter the dataset. An empty array will fetch all versions
        </ParamField>

        <ParamField body="filters" type="[DimensionFilterInput!]">
          The filters on the model's inferences. (ex. narrow the monitor to just the case where state=CA). If this property is provided it will replace any existing filters.

          <Expandable title="DimensionFilterInput fields">
            <ParamField body="dimensionType" type="DimensionFilterType!" required>
              The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
            </ParamField>

            <ParamField body="operator" type="ComparisonOperator!" required>
              The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
            </ParamField>

            <ParamField body="name" type="String">
              Required when specifying a tag or a feature label filter.
            </ParamField>

            <ParamField body="values" type="[String!]!" required>
              The values to match on.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notes" type="String">
          Notes on the monitor
        </ParamField>

        <ParamField body="startDelaySeconds" type="PositiveInt">
          The number of seconds to wait before starting the monitor. Between 0 and 15552000 (180 days)
        </ParamField>

        <ParamField body="downtimeStart" type="DateTime">
          The start date and hour of the monitor's downtime if scheduled (ex: 2024-12-01T10:00:00Z).
        </ParamField>

        <ParamField body="downtimeDurationHrs" type="PositiveInt">
          Duration of downtime for a monitor in number of hours. Between 1 and 1344 hours
        </ParamField>

        <ParamField body="downtimeFrequencyDays" type="PositiveInt">
          Frequency of downtime for a monitor in number of days. Between 1 and 56 days
        </ParamField>

        <ParamField body="scheduledRuntimeEnabled" type="Boolean">
          If true, the monitor is scheduled to run at a specific time.
        </ParamField>

        <ParamField body="scheduledRuntimeCadenceSeconds" type="Int">
          The cadence of the monitor's scheduled runtime in seconds.
        </ParamField>

        <ParamField body="scheduledRuntimeDaysOfWeek" type="[Int!]">
          The days of the week the monitor is scheduled to run.
        </ParamField>

        <ParamField body="threshold2" type="Float">
          The second threshold of the monitor, if using a range threshold.
        </ParamField>

        <ParamField body="operator2" type="ComparisonOperator">
          The second operator of the monitor, if using a range threshold. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="stdDevMultiplier2" type="Float">
          The second standard deviation multiplier, if using a range threshold. Used to determine the suggested threshold for the monitor.
        </ParamField>

        <ParamField body="thresholdMode" type="MonitorThresholdMode">
          The threshold mode of the monitor, either single or range. One of: `single`, `range`.
        </ParamField>

        <ParamField body="autoThresholdLookbackSeconds" type="Int">
          The lookback seconds for the auto threshold.
        </ParamField>

        <ParamField body="thresholdCalculationType" type="MonitorThresholdCalculationType">
          Calculation used for auto thresholds. Either mean + stdev or median + median absolute deviation (mad). One of: `stdev`, `mad`.
        </ParamField>

        <ParamField body="manualEvaluationEnabled" type="Boolean">
          Whether manual evaluation is enabled.
        </ParamField>

        <ParamField body="evaluationWindowLengthSeconds" type="Float">
          The evaluation window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowSeconds" type="Float">
          The moving window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowDelaySeconds" type="Float">
          The moving window delay of the monitor in seconds.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor!">
  The updated performance monitor.

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation PatchPerformanceMonitor($input: PatchPerformanceMonitorInput!) {
    patchPerformanceMonitor(input: $input) {
      monitor { id name status }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "monitorId": "<ID>",
      "set": {}
    }
  }
  ```
</CodeGroup>

### patchDataQualityMonitor

`patchDataQualityMonitor(input: PatchDataQualityMonitorInput!): PatchDataQualityMonitorPayload`

#### Arguments

<ParamField body="input" type="PatchDataQualityMonitorInput!" required>
  <Expandable title="PatchDataQualityMonitorInput fields">
    <ParamField body="monitorId" type="ID!" required>
      The ID of the monitor to patch
    </ParamField>

    <ParamField body="set" type="DataQualityMonitorPatchInput!" required>
      Patch of the monitor calculation

      <Expandable title="DataQualityMonitorPatchInput fields">
        <ParamField body="name" type="String">
          A name that describes the monitor
        </ParamField>

        <ParamField body="threshold" type="Float">
          Adjust the monitor's alerting threshold
        </ParamField>

        <ParamField body="operator" type="ComparisonOperator">
          Adjust the monitor's alerting operator. Used in conjunction with the threshold to form an alert condition One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="dynamicAutoThresholdEnabled" type="Boolean">
          Whether the current monitor threshold value is re-calculated on a regular schedule and thus have a dynamic value that changes over time. Default is false
        </ParamField>

        <ParamField body="dynamicAutoThreshold" type="MonitorAutoThresholdInput">
          <Expandable title="MonitorAutoThresholdInput fields">
            <ParamField body="stdDevMultiplier" type="Float!" required>
              A coefficient by which to multiply the standard deviation in the threshold calculation: threshold = mean +/- stdDevMultiplier \* stdDev
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notificationsEnabled" type="Boolean">
          Whether or not notifications are sent out when the monitor is triggered
        </ParamField>

        <ParamField body="contacts" type="[MonitorContactInput!]">
          The contacts of the monitor.

          <Expandable title="MonitorContactInput fields">
            <ParamField body="notificationChannelType" type="NotificationChannelType!" required>
              The notification channel type of the monitor contact. One of: `email`, `integration`.
            </ParamField>

            <ParamField body="emailAddress" type="EmailAddress">
              The email address of the monitor contact. Ex. [steve@arize.com](mailto:steve@arize.com)
            </ParamField>

            <ParamField body="integrationKeyId" type="ID">
              The integration key id of the integration
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="modelVersions" type="[String!]">
          An array of the model versions by which to filter the dataset. An empty array will fetch all versions
        </ParamField>

        <ParamField body="filters" type="[DimensionFilterInput!]">
          The filters on the model's inferences. (ex. narrow the monitor to just the case where state=CA). If this property is provided it will replace any existing filters.

          <Expandable title="DimensionFilterInput fields">
            <ParamField body="dimensionType" type="DimensionFilterType!" required>
              The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
            </ParamField>

            <ParamField body="operator" type="ComparisonOperator!" required>
              The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
            </ParamField>

            <ParamField body="name" type="String">
              Required when specifying a tag or a feature label filter.
            </ParamField>

            <ParamField body="values" type="[String!]!" required>
              The values to match on.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notes" type="String">
          Notes on the monitor
        </ParamField>

        <ParamField body="startDelaySeconds" type="PositiveInt">
          The number of seconds to wait before starting the monitor. Between 0 and 15552000 (180 days)
        </ParamField>

        <ParamField body="downtimeStart" type="DateTime">
          The start date and hour of the monitor's downtime if scheduled (ex: 2024-12-01T10:00:00Z).
        </ParamField>

        <ParamField body="downtimeDurationHrs" type="PositiveInt">
          Duration of downtime for a monitor in number of hours. Between 1 and 1344 hours
        </ParamField>

        <ParamField body="downtimeFrequencyDays" type="PositiveInt">
          Frequency of downtime for a monitor in number of days. Between 1 and 56 days
        </ParamField>

        <ParamField body="scheduledRuntimeEnabled" type="Boolean">
          If true, the monitor is scheduled to run at a specific time.
        </ParamField>

        <ParamField body="scheduledRuntimeCadenceSeconds" type="Int">
          The cadence of the monitor's scheduled runtime in seconds.
        </ParamField>

        <ParamField body="scheduledRuntimeDaysOfWeek" type="[Int!]">
          The days of the week the monitor is scheduled to run.
        </ParamField>

        <ParamField body="threshold2" type="Float">
          The second threshold of the monitor, if using a range threshold.
        </ParamField>

        <ParamField body="operator2" type="ComparisonOperator">
          The second operator of the monitor, if using a range threshold. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="stdDevMultiplier2" type="Float">
          The second standard deviation multiplier, if using a range threshold. Used to determine the suggested threshold for the monitor.
        </ParamField>

        <ParamField body="thresholdMode" type="MonitorThresholdMode">
          The threshold mode of the monitor, either single or range. One of: `single`, `range`.
        </ParamField>

        <ParamField body="autoThresholdLookbackSeconds" type="Int">
          The lookback seconds for the auto threshold.
        </ParamField>

        <ParamField body="thresholdCalculationType" type="MonitorThresholdCalculationType">
          Calculation used for auto thresholds. Either mean + stdev or median + median absolute deviation (mad). One of: `stdev`, `mad`.
        </ParamField>

        <ParamField body="manualEvaluationEnabled" type="Boolean">
          Whether manual evaluation is enabled.
        </ParamField>

        <ParamField body="evaluationWindowLengthSeconds" type="Float">
          The evaluation window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowSeconds" type="Float">
          The moving window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowDelaySeconds" type="Float">
          The moving window delay of the monitor in seconds.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor!">
  The updated data quality monitor.

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation PatchDataQualityMonitor($input: PatchDataQualityMonitorInput!) {
    patchDataQualityMonitor(input: $input) {
      monitor { id name status }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "monitorId": "<ID>",
      "set": {}
    }
  }
  ```
</CodeGroup>

### patchMonitor

`patchMonitor(input: PatchMonitorInput!): PatchMonitorPayload`

#### Arguments

<ParamField body="input" type="PatchMonitorInput!" required>
  <Expandable title="PatchMonitorInput fields">
    <ParamField body="monitorId" type="ID!" required>
      The ID of the monitor to patch
    </ParamField>

    <ParamField body="set" type="MonitorPatchInput!" required>
      Patch of the monitor calculation

      <Expandable title="MonitorPatchInput fields">
        <ParamField body="name" type="String">
          A name that describes the monitor
        </ParamField>

        <ParamField body="threshold" type="Float">
          Adjust the monitor's alerting threshold
        </ParamField>

        <ParamField body="operator" type="ComparisonOperator">
          Adjust the monitor's alerting operator. Used in conjunction with the threshold to form an alert condition One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="dynamicAutoThresholdEnabled" type="Boolean">
          Whether the current monitor threshold value is re-calculated on a regular schedule and thus have a dynamic value that changes over time. Default is false
        </ParamField>

        <ParamField body="dynamicAutoThreshold" type="MonitorAutoThresholdInput">
          <Expandable title="MonitorAutoThresholdInput fields">
            <ParamField body="stdDevMultiplier" type="Float!" required>
              A coefficient by which to multiply the standard deviation in the threshold calculation: threshold = mean +/- stdDevMultiplier \* stdDev
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notificationsEnabled" type="Boolean">
          Whether or not notifications are sent out when the monitor is triggered
        </ParamField>

        <ParamField body="contacts" type="[MonitorContactInput!]">
          The contacts of the monitor.

          <Expandable title="MonitorContactInput fields">
            <ParamField body="notificationChannelType" type="NotificationChannelType!" required>
              The notification channel type of the monitor contact. One of: `email`, `integration`.
            </ParamField>

            <ParamField body="emailAddress" type="EmailAddress">
              The email address of the monitor contact. Ex. [steve@arize.com](mailto:steve@arize.com)
            </ParamField>

            <ParamField body="integrationKeyId" type="ID">
              The integration key id of the integration
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="modelVersions" type="[String!]">
          An array of the model versions by which to filter the dataset. An empty array will fetch all versions
        </ParamField>

        <ParamField body="filters" type="[DimensionFilterInput!]">
          The filters on the model's inferences. (ex. narrow the monitor to just the case where state=CA). If this property is provided it will replace any existing filters.

          <Expandable title="DimensionFilterInput fields">
            <ParamField body="dimensionType" type="DimensionFilterType!" required>
              The part of the model to filter on. One of: `featureLabel`, `tagLabel`, `predictionValue`, `actuals`, `predictionClass`, `predictionScore`, `actualClass`, `actualScore`, `spanProperty`, `llmEval`.
            </ParamField>

            <ParamField body="operator" type="ComparisonOperator!" required>
              The operator of the filter. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
            </ParamField>

            <ParamField body="name" type="String">
              Required when specifying a tag or a feature label filter.
            </ParamField>

            <ParamField body="values" type="[String!]!" required>
              The values to match on.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="notes" type="String">
          Notes on the monitor
        </ParamField>

        <ParamField body="startDelaySeconds" type="PositiveInt">
          The number of seconds to wait before starting the monitor. Between 0 and 15552000 (180 days)
        </ParamField>

        <ParamField body="downtimeStart" type="DateTime">
          The start date and hour of the monitor's downtime if scheduled (ex: 2024-12-01T10:00:00Z).
        </ParamField>

        <ParamField body="downtimeDurationHrs" type="PositiveInt">
          Duration of downtime for a monitor in number of hours. Between 1 and 1344 hours
        </ParamField>

        <ParamField body="downtimeFrequencyDays" type="PositiveInt">
          Frequency of downtime for a monitor in number of days. Between 1 and 56 days
        </ParamField>

        <ParamField body="scheduledRuntimeEnabled" type="Boolean">
          If true, the monitor is scheduled to run at a specific time.
        </ParamField>

        <ParamField body="scheduledRuntimeCadenceSeconds" type="Int">
          The cadence of the monitor's scheduled runtime in seconds.
        </ParamField>

        <ParamField body="scheduledRuntimeDaysOfWeek" type="[Int!]">
          The days of the week the monitor is scheduled to run.
        </ParamField>

        <ParamField body="threshold2" type="Float">
          The second threshold of the monitor, if using a range threshold.
        </ParamField>

        <ParamField body="operator2" type="ComparisonOperator">
          The second operator of the monitor, if using a range threshold. One of: `greaterThan`, `lessThan`, `equals`, `notEquals`, `greaterThanOrEqual`, `lessThanOrEqual`, `topN`, `contains`, `containsString`, `similarTo`.
        </ParamField>

        <ParamField body="stdDevMultiplier2" type="Float">
          The second standard deviation multiplier, if using a range threshold. Used to determine the suggested threshold for the monitor.
        </ParamField>

        <ParamField body="thresholdMode" type="MonitorThresholdMode">
          The threshold mode of the monitor, either single or range. One of: `single`, `range`.
        </ParamField>

        <ParamField body="autoThresholdLookbackSeconds" type="Int">
          The lookback seconds for the auto threshold.
        </ParamField>

        <ParamField body="thresholdCalculationType" type="MonitorThresholdCalculationType">
          Calculation used for auto thresholds. Either mean + stdev or median + median absolute deviation (mad). One of: `stdev`, `mad`.
        </ParamField>

        <ParamField body="manualEvaluationEnabled" type="Boolean">
          Whether manual evaluation is enabled.
        </ParamField>

        <ParamField body="evaluationWindowLengthSeconds" type="Float">
          The evaluation window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowSeconds" type="Float">
          The moving window length of the monitor in seconds.
        </ParamField>

        <ParamField body="movingWindowDelaySeconds" type="Float">
          The moving window delay of the monitor in seconds.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor!">
  The updated monitor.

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation PatchMonitor($input: PatchMonitorInput!) {
    patchMonitor(input: $input) {
      monitor { id name status }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "monitorId": "<ID>",
      "set": {}
    }
  }
  ```
</CodeGroup>

### triggerMonitor

Manually trigger a monitor

`triggerMonitor(input: TriggerMonitorInput!): TriggerMonitorPayload`

#### Arguments

<ParamField body="input" type="TriggerMonitorInput!" required>
  <Expandable title="TriggerMonitorInput fields">
    <ParamField body="monitorId" type="ID!" required />

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="success" type="Boolean!">
  Whether the monitor was successfully triggered
</ResponseField>

<ResponseField name="monitor" type="Monitor">
  The monitor the evaluation was run on

  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation TriggerMonitor($input: TriggerMonitorInput!) {
    triggerMonitor(input: $input) {
      success
      monitor { id name status }
    }
  }
  ```

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

### deleteMonitor

`deleteMonitor(input: DeleteMonitorMutationInput!): DeleteMonitorMutationPayload`

#### Arguments

<ParamField body="input" type="DeleteMonitorMutationInput!" required>
  <Expandable title="DeleteMonitorMutationInput fields">
    <ParamField body="monitorId" type="ID!" required />

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="monitor" type="Monitor">
  <Expandable title="Monitor fields">
    Scalar fields: `id`, `name`, `uri`, `createdDate`, `monitorCategory`, `evaluationIntervalSeconds`, `evaluatedAt`, `threshold`, `thresholdMode`, `threshold2`, `latestComputedValue`, `autoThresholdEnabled`, `dynamicAutoThresholdEnabled`, `stdDevMultiplier`, `stdDevMultiplier2`, `topKPercentileValue`, `operator`, `operator2`, `driftMetric`, `dimensionCategory`, `performanceMetric`, `dataQualityMetric`, `positiveClassValue`, `metricAtRankingKValue`, `isTriggered`, `status`, `isManaged`, `notificationsEnabled`, `notes`, `updatedAt`, `downtimeStart`, `downtimeDurationHrs`, `downtimeFrequencyDays`, `scheduledRuntimeEnabled`, `scheduledRuntimeCadenceSeconds`, `scheduledRuntimeDaysOfWeek`, `autoThresholdLookbackSeconds`, `thresholdCalculationType`, `manualEvaluationEnabled`.

    Object fields (select subfields): `space`, `creator`, `calculationsWithinTimeRange`, `stateChangesWithinTimeRange`, `customMetric`, `primaryMetricWindow`, `comparisonMetricWindow`, `contacts`, `webhookSubscriptions`, `auditLog`, `metricHistory`, `tags`.
  </Expandable>
</ResponseField>

<ResponseField name="model" type="Model">
  <Expandable title="Model fields">
    Scalar fields: `id`, `name`, `uri`, `createdAt`, `isDemoModel`, `isRestricted`, `modelType`, `modelEnvironmentNames`, `averagePerformanceMetric`, `totalTraffic`, `taskVariables`, `annotationsEnabled`, `isAgentExperimentTraceProject`, `projectType`, `annotationsDisabled`, `defaultAnnotationConfigIds`.

    Object fields (select subfields): `projectRoleBindings`, `space`, `volumeGateVisibility`, `modelVersions`, `modelBatches`, `modelPredictionVolume`, `modelEnvironments`, `dimension`, `dimensionValues`, `tracingSchema`, `modelSchema`, `modelPrimaryBaseline`, `modelReferenceDataset`, `modelDashboards`, `monitors`, `signalStatus`, `signalIssues`, `signalIssueActivityBounds`, `signalIssueCountsByEntity`, `signalIssueTimeSeries`, `monitorAggregations`, `driftConfigs`, `performanceConfigs`, `dataQualityConfigs`, `modelColumnMappingConfigs`, `projectSourceMappingConfigs`, `performanceMetrics`, `performanceStatus`, `performanceMetricOverTime`, `customMetrics`, `driftStatus`, `dataQualityStatus`, `UMAPPoints`, `spanRecordsPublic`, `costOverTime`, `tokensOverTime`, `costByModel`, `llmTracingStats`, `network`, `tags`, `_access`.
  </Expandable>
</ResponseField>

#### 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.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation DeleteMonitor($input: DeleteMonitorMutationInput!) {
    deleteMonitor(input: $input) {
      monitor { id name status }
      model { id name }
    }
  }
  ```

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