Amazon CloudWatch · Schema

PutAnomalyDetectorInput

Amazon Web ServicesCloudWatchMonitoringObservabilityMetricsLogs

Properties

Name Type Description
Namespace string The namespace of the metric to create the anomaly detection model for.
MetricName string The name of the metric to create the anomaly detection model for.
Dimensions array The metric dimensions to create the anomaly detection model for.
Stat string The statistic to use for the metric and the anomaly detection model.
Configuration object
MetricCharacteristics object
SingleMetricAnomalyDetector object
MetricMathAnomalyDetector object
View JSON Schema on GitHub

JSON Schema

amazon-cloudwatch-put-anomaly-detector-input-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-cloudwatch/json-schema/amazon-cloudwatch-put-anomaly-detector-input-schema.json",
  "title": "PutAnomalyDetectorInput",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-cloudwatch-anomaly-detector-api-openapi.yml#/components/schemas/PutAnomalyDetectorInput",
  "type": "object",
  "properties": {
    "Namespace": {
      "type": "string",
      "description": "The namespace of the metric to create the anomaly detection model for."
    },
    "MetricName": {
      "type": "string",
      "description": "The name of the metric to create the anomaly detection model for."
    },
    "Dimensions": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Dimension"
      },
      "description": "The metric dimensions to create the anomaly detection model for."
    },
    "Stat": {
      "type": "string",
      "description": "The statistic to use for the metric and the anomaly detection model."
    },
    "Configuration": {
      "$ref": "#/$defs/AnomalyDetectorConfiguration"
    },
    "MetricCharacteristics": {
      "$ref": "#/$defs/MetricCharacteristics"
    },
    "SingleMetricAnomalyDetector": {
      "$ref": "#/$defs/SingleMetricAnomalyDetector"
    },
    "MetricMathAnomalyDetector": {
      "$ref": "#/$defs/MetricMathAnomalyDetector"
    }
  },
  "$defs": {
    "AnomalyDetectorConfiguration": {
      "type": "object",
      "properties": {
        "ExcludedTimeRanges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Range"
          },
          "description": "An array of time ranges to exclude from use when the anomaly detection model is trained. Use this to make sure that events that could cause unusual values for the metric, such as deployments, aren't used when CloudWatch creates the model."
        },
        "MetricTimezone": {
          "type": "string",
          "description": "The time zone to use for the metric. This is useful to enable the model to automatically account for daylight savings time changes if the metric is sensitive to such time changes. To specify a time zone, use the name of the time zone as specified in the standard tz database. For more information, see tz database."
        },
        "AdaptationSpeed": {
          "type": "string",
          "enum": [
            "FAST",
            "NORMAL",
            "SLOW"
          ],
          "description": "The speed at which the anomaly detection model adapts to sustained changes in the metric's baseline. Faster adaptation lets the model track shifting workloads sooner, but increases the chance that the model treats a real, lasting change as normal. Valid values: FAST - The model adapts quickly to sustained changes in the baseline. NORMAL - The model adapts at a moderate pace. This is the default value. SLOW - The model adapts slowly, reducing the risk of treating a real change as normal."
        },
        "OutlierFilteringStrength": {
          "type": "string",
          "enum": [
            "MINIMAL",
            "MODERATE",
            "STRICT"
          ],
          "description": "The aggressiveness with which CloudWatch filters outliers from the metric data that the anomaly detection model uses. Stronger filtering excludes more extreme values, which can produce a tighter band of expected values but may also suppress legitimate spikes. Valid values: MINIMAL - Excludes only the most extreme outliers. MODERATE - Excludes a moderate range of outliers. This is the default value. STRICT - Excludes a wider range of outliers, which can suppress legitimate spikes."
        }
      }
    },
    "Dimension": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string",
          "description": "The name of the dimension. Dimension names must contain only ASCII characters, must include at least one non-whitespace character, and cannot start with a colon (:). ASCII control characters are not supported as part of dimension names."
        },
        "Value": {
          "type": "string",
          "description": "The value of the dimension. Dimension values must contain only ASCII characters and must include at least one non-whitespace character. ASCII control characters are not supported as part of dimension values."
        }
      },
      "required": [
        "Name",
        "Value"
      ]
    },
    "Metric": {
      "type": "object",
      "properties": {
        "Namespace": {
          "type": "string",
          "description": "The namespace of the metric."
        },
        "MetricName": {
          "type": "string",
          "description": "The name of the metric. This is a required field."
        },
        "Dimensions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Dimension"
          },
          "description": "The dimensions for the metric."
        }
      }
    },
    "MetricCharacteristics": {
      "type": "object",
      "properties": {
        "PeriodicSpikes": {
          "type": "boolean",
          "description": "Set this parameter to true if values for this metric consistently include spikes that should not be considered to be anomalies. With this set to true, CloudWatch will expect to see spikes that occurred consistently during the model training period, and won't flag future similar spikes as anomalies."
        }
      }
    },
    "MetricDataQuery": {
      "type": "object",
      "properties": {
        "Id": {
          "type": "string",
          "description": "A short name used to tie this object to the results in the response. This name must be unique within a single call to GetMetricData. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter."
        },
        "MetricStat": {
          "$ref": "#/$defs/MetricStat"
        },
        "Expression": {
          "type": "string",
          "description": "This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. For more information about Metrics Insights queries, see Metrics Insights query components and syntax in the Amazon CloudWatch User Guide. A math expression can use the Id of the other metrics or queries to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide. Within each MetricDataQuery object, "
        },
        "Label": {
          "type": "string",
          "description": "A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default. You can put dynamic expressions into a label, so that it is more descriptive. For more information, see Using Dynamic Labels."
        },
        "ReturnData": {
          "type": "boolean",
          "description": "When used in GetMetricData, this option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify false. If you omit this, the default of true is used. When used in PutMetricAlarm, specify true for the one expression result to use as the alarm. For all other metrics and expressions in the same PutMetricAlarm operation, specify ReturnData as False."
        },
        "Period": {
          "type": "integer",
          "description": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData operation that includes a StorageResolution of 1 second."
        },
        "AccountId": {
          "type": "string",
          "description": "The ID of the account where the metrics are located. If you are performing a GetMetricData operation in a monitoring account, use this to specify which account to retrieve this metric from. If you are performing a PutMetricAlarm operation, use this to specify which account contains the metric that the alarm is watching."
        }
      },
      "required": [
        "Id"
      ]
    },
    "MetricMathAnomalyDetector": {
      "type": "object",
      "properties": {
        "MetricDataQueries": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MetricDataQuery"
          },
          "description": "An array of metric data query structures that enables you to create an anomaly detector based on the result of a metric math expression. Each item in MetricDataQueries gets a metric or performs a math expression. One item in MetricDataQueries is the expression that provides the time series that the anomaly detector uses as input. Designate the expression by setting ReturnData to true for this object in the array. For all other expressions and metrics, set ReturnData to false. The designated expression must return a single time series."
        }
      }
    },
    "MetricStat": {
      "type": "object",
      "properties": {
        "Metric": {
          "$ref": "#/$defs/Metric"
        },
        "Period": {
          "type": "integer",
          "description": "The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 20, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second. If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time r"
        },
        "Stat": {
          "type": "string",
          "description": "The statistic to return. It can include any CloudWatch statistic or extended statistic."
        },
        "Unit": {
          "type": "string",
          "enum": [
            "Seconds",
            "Microseconds",
            "Milliseconds",
            "Bytes",
            "Kilobytes",
            "Megabytes",
            "Gigabytes",
            "Terabytes",
            "Bits",
            "Kilobits",
            "Megabits",
            "Gigabits",
            "Terabits",
            "Percent",
            "Count",
            "Bytes/Second",
            "Kilobytes/Second",
            "Megabytes/Second",
            "Gigabytes/Second",
            "Terabytes/Second",
            "Bits/Second",
            "Kilobits/Second",
            "Megabits/Second",
            "Gigabits/Second",
            "Terabits/Second",
            "Count/Second",
            "None"
          ],
          "description": "When you are using a Put operation, this defines what unit you want to use when storing the metric. In a Get operation, if you omit Unit then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions."
        }
      },
      "required": [
        "Metric",
        "Period",
        "Stat"
      ]
    },
    "Range": {
      "type": "object",
      "properties": {
        "StartTime": {
          "type": "string",
          "format": "date-time",
          "description": "The start time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59."
        },
        "EndTime": {
          "type": "string",
          "format": "date-time",
          "description": "The end time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59."
        }
      },
      "required": [
        "StartTime",
        "EndTime"
      ]
    },
    "SingleMetricAnomalyDetector": {
      "type": "object",
      "properties": {
        "AccountId": {
          "type": "string",
          "description": "If the CloudWatch metric that provides the time series that the anomaly detector uses as input is in another account, specify that account ID here. If you omit this parameter, the current account is used."
        },
        "Namespace": {
          "type": "string",
          "description": "The namespace of the metric to create the anomaly detection model for."
        },
        "MetricName": {
          "type": "string",
          "description": "The name of the metric to create the anomaly detection model for."
        },
        "Dimensions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Dimension"
          },
          "description": "The metric dimensions to create the anomaly detection model for."
        },
        "Stat": {
          "type": "string",
          "description": "The statistic to use for the metric and anomaly detection model."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/amazon-cloudwatch-put-anomaly-detector-input"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.