Amazon CloudWatch Cloudwatch Metric Stream API

The Cloudwatch Metric Stream API from Amazon CloudWatch — 6 operation(s) for cloudwatch metric stream.

Business capability
Observability Management BC-4220.20

Operations 6

POST /#DeleteMetricStream Delete Metric Stream #
POST /#GetMetricStream Get Metric Stream #
POST /#ListMetricStreams List Metric Streams #
POST /#PutMetricStream Put Metric Stream #
POST /#StartMetricStreams Start Metric Streams #
POST /#StopMetricStreams Stop Metric Streams #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/amazon-cloudwatch:amazon-cloudwatch-metric-stream-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

amazon-cloudwatch-metric-stream-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon CloudWatch Metric Stream API
  version: '2010-08-01'
  description: Generated from AWS's published Smithy model for Amazon CloudWatch. 6 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://monitoring.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Metric Stream
paths:
  /#DeleteMetricStream:
    post:
      operationId: DeleteMetricStream
      summary: Delete Metric Stream
      description: Permanently deletes the metric stream that you specify.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DeleteMetricStreamOutput'
        '500':
          description: InternalServiceFault
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InternalServiceFault'
        '400':
          description: InvalidParameterValueException; MissingRequiredParameterException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidParameterValueException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - GraniteServiceVersion20100801.DeleteMetricStream
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/DeleteMetricStreamInput'
      tags:
      - Metric Stream
  /#GetMetricStream:
    post:
      operationId: GetMetricStream
      summary: Get Metric Stream
      description: Returns information about the metric stream that you specify.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetMetricStreamOutput'
        '500':
          description: InternalServiceFault
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InternalServiceFault'
        '400':
          description: InvalidParameterCombinationException; InvalidParameterValueException; MissingRequiredParameterException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidParameterCombinationException'
        '404':
          description: ResourceNotFoundException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - GraniteServiceVersion20100801.GetMetricStream
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/GetMetricStreamInput'
      tags:
      - Metric Stream
  /#ListMetricStreams:
    post:
      operationId: ListMetricStreams
      summary: List Metric Streams
      description: Returns a list of metric streams in this account.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ListMetricStreamsOutput'
        '500':
          description: InternalServiceFault
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InternalServiceFault'
        '400':
          description: InvalidNextToken; InvalidParameterValueException; MissingRequiredParameterException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidNextToken'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - GraniteServiceVersion20100801.ListMetricStreams
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/ListMetricStreamsInput'
      tags:
      - Metric Stream
  /#PutMetricStream:
    post:
      operationId: PutMetricStream
      summary: Put Metric Stream
      description: 'Creates or updates a metric stream. Metric streams can automatically stream CloudWatch metrics to Amazon Web Services destinations, including Amazon S3, and to many third-party solutions. For more information, see Using Metric Streams. To create a metric stream, you must be signed in to an account that has the iam:PassRole permission and either the CloudWatchFullAccess policy or the cloudwatch:PutMetricStream permission. When you create or update a metric stream, you choose one of the following: Stream metrics from all metric namespaces in the account. Stream metrics from all metric namespaces in the account, except for the namespaces that you list in ExcludeFilters. Stream metrics from only the metric namespaces that you list in IncludeFilters. By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use the StatisticsConfigurations parameter to have the metric stream send additional statistics in the stream. Streaming additional statistics incurs additional costs. For more information, see Amazon CloudWatch Pricing. When you use PutMetricStream to create a new metric stream, the stream is created in the runni'
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PutMetricStreamOutput'
        '429':
          description: ConcurrentModificationException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ConcurrentModificationException'
        '500':
          description: InternalServiceFault
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InternalServiceFault'
        '400':
          description: InvalidParameterCombinationException; InvalidParameterValueException; MissingRequiredParameterException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidParameterCombinationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - GraniteServiceVersion20100801.PutMetricStream
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/PutMetricStreamInput'
      tags:
      - Metric Stream
  /#StartMetricStreams:
    post:
      operationId: StartMetricStreams
      summary: Start Metric Streams
      description: Starts the streaming of metrics for one or more of your metric streams.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/StartMetricStreamsOutput'
        '500':
          description: InternalServiceFault
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InternalServiceFault'
        '400':
          description: InvalidParameterValueException; MissingRequiredParameterException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidParameterValueException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - GraniteServiceVersion20100801.StartMetricStreams
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/StartMetricStreamsInput'
      tags:
      - Metric Stream
  /#StopMetricStreams:
    post:
      operationId: StopMetricStreams
      summary: Stop Metric Streams
      description: Stops the streaming of metrics for one or more of your metric streams.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/StopMetricStreamsOutput'
        '500':
          description: InternalServiceFault
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InternalServiceFault'
        '400':
          description: InvalidParameterValueException; MissingRequiredParameterException
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidParameterValueException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - GraniteServiceVersion20100801.StopMetricStreams
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/StopMetricStreamsInput'
      tags:
      - Metric Stream
components:
  schemas:
    StopMetricStreamsInput:
      type: object
      properties:
        Names:
          type: array
          items:
            type: string
          description: The array of the names of metric streams to stop streaming. This is an "all or nothing" operation. If you do not have permission to access all of the metric streams that you list here, then none of the streams that you list in the operation will stop streaming.
      required:
      - Names
    ResourceNotFoundException:
      type: object
      properties:
        ResourceType:
          type: string
        ResourceId:
          type: string
        Message:
          type: string
    GetMetricStreamOutput:
      type: object
      properties:
        Arn:
          type: string
          description: The ARN of the metric stream.
        Name:
          type: string
          description: The name of the metric stream.
        IncludeFilters:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamFilter'
          description: If this array of metric namespaces is present, then these namespaces are the only metric namespaces that are streamed by this metric stream.
        ExcludeFilters:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamFilter'
          description: If this array of metric namespaces is present, then these namespaces are the only metric namespaces that are not streamed by this metric stream. In this case, all other metric namespaces in the account are streamed by this metric stream.
        FirehoseArn:
          type: string
          description: The ARN of the Amazon Kinesis Data Firehose delivery stream that is used by this metric stream.
        RoleArn:
          type: string
          description: The ARN of the IAM role that is used by this metric stream.
        State:
          type: string
          description: The state of the metric stream. The possible values are running and stopped.
        CreationDate:
          type: string
          format: date-time
          description: The date that the metric stream was created.
        LastUpdateDate:
          type: string
          format: date-time
          description: The date of the most recent update to the metric stream's configuration.
        OutputFormat:
          type: string
          enum:
          - json
          - opentelemetry0.7
          - opentelemetry1.0
          description: The output format for the stream. Valid values are json, opentelemetry1.0, and opentelemetry0.7. For more information about metric stream output formats, see Metric streams output formats.
        StatisticsConfigurations:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamStatisticsConfiguration'
          description: Each entry in this array displays information about one or more metrics that include additional statistics in the metric stream. For more information about the additional statistics, see CloudWatch statistics definitions.
        IncludeLinkedAccountsMetrics:
          type: boolean
          description: If this is true and this metric stream is in a monitoring account, then the stream includes metrics from source accounts that the monitoring account is linked to.
    InvalidNextToken:
      type: object
      properties:
        message:
          type: string
    ConcurrentModificationException:
      type: object
      properties:
        Message:
          type: string
    InvalidParameterValueException:
      type: object
      properties:
        message:
          type: string
    PutMetricStreamOutput:
      type: object
      properties:
        Arn:
          type: string
          description: The ARN of the metric stream.
    StartMetricStreamsOutput:
      type: object
      properties: {}
    PutMetricStreamInput:
      type: object
      properties:
        Name:
          type: string
          description: If you are creating a new metric stream, this is the name for the new stream. The name must be different than the names of other metric streams in this account and Region. If you are updating a metric stream, specify the name of that stream here. Valid characters are A-Z, a-z, 0-9, "-" and "_".
        IncludeFilters:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamFilter'
          description: If you specify this parameter, the stream sends only the metrics from the metric namespaces that you specify here. You cannot include IncludeFilters and ExcludeFilters in the same operation.
        ExcludeFilters:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamFilter'
          description: If you specify this parameter, the stream sends metrics from all metric namespaces except for the namespaces that you specify here. You cannot include ExcludeFilters and IncludeFilters in the same operation.
        FirehoseArn:
          type: string
          description: The ARN of the Amazon Kinesis Data Firehose delivery stream to use for this metric stream. This Amazon Kinesis Data Firehose delivery stream must already exist and must be in the same account as the metric stream.
        RoleArn:
          type: string
          description: 'The ARN of an IAM role that this metric stream will use to access Amazon Kinesis Data Firehose resources. This IAM role must already exist and must be in the same account as the metric stream. This IAM role must include the following permissions: firehose:PutRecord firehose:PutRecordBatch'
        OutputFormat:
          type: string
          enum:
          - json
          - opentelemetry0.7
          - opentelemetry1.0
          description: The output format for the stream. Valid values are json, opentelemetry1.0, and opentelemetry0.7. For more information about metric stream output formats, see Metric streams output formats.
        Tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: A list of key-value pairs to associate with the metric stream. You can associate as many as 50 tags with a metric stream. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. You can use this parameter only when you are creating a new metric stream. If you are using this operation to update an existing metric stream, any tags you specify in this parameter are ignored. To change the tags of an existing metric stream, use TagResource or UntagResource.
        StatisticsConfigurations:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamStatisticsConfiguration'
          description: By default, a metric stream always sends the MAX, MIN, SUM, and SAMPLECOUNT statistics for each metric that is streamed. You can use this parameter to have the metric stream also send additional statistics in the stream. This array can have up to 100 members. For each entry in this array, you specify one or more metrics and the list of additional statistics to stream for those metrics. The additional statistics that you can stream depend on the stream's OutputFormat. If the OutputFormat is json, you can stream any additional statistic that is supported by CloudWatch, listed in CloudWatch stati
        IncludeLinkedAccountsMetrics:
          type: boolean
          description: If you are creating a metric stream in a monitoring account, specify true to include metrics from source accounts in the metric stream.
      required:
      - Name
      - FirehoseArn
      - RoleArn
      - OutputFormat
    GetMetricStreamInput:
      type: object
      properties:
        Name:
          type: string
          description: The name of the metric stream to retrieve information about.
      required:
      - Name
    MetricStreamStatisticsConfiguration:
      type: object
      properties:
        IncludeMetrics:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamStatisticsMetric'
          description: An array of metric name and namespace pairs that stream the additional statistics listed in the value of the AdditionalStatistics parameter. There can be as many as 100 pairs in the array. All metrics that match the combination of metric name and namespace will be streamed with the additional statistics, no matter their dimensions.
        AdditionalStatistics:
          type: array
          items:
            type: string
          description: The list of additional statistics that are to be streamed for the metrics listed in the IncludeMetrics array in this structure. This list can include as many as 20 statistics. If the OutputFormat for the stream is opentelemetry1.0 or opentelemetry0.7, the only valid values are p?? percentile statistics such as p90, p99 and so on. If the OutputFormat for the stream is json, the valid values include the abbreviations for all of the statistics listed in CloudWatch statistics definitions. For example, this includes tm98, wm90, PR(:300), and so on.
      required:
      - IncludeMetrics
      - AdditionalStatistics
    InvalidParameterCombinationException:
      type: object
      properties:
        message:
          type: string
    StopMetricStreamsOutput:
      type: object
      properties: {}
    DeleteMetricStreamInput:
      type: object
      properties:
        Name:
          type: string
          description: The name of the metric stream to delete.
      required:
      - Name
    ListMetricStreamsInput:
      type: object
      properties:
        NextToken:
          type: string
          description: Include this value, if it was returned by the previous call, to get the next set of metric streams.
        MaxResults:
          type: integer
          description: The maximum number of results to return in one operation.
    DeleteMetricStreamOutput:
      type: object
      properties: {}
    MetricStreamFilter:
      type: object
      properties:
        Namespace:
          type: string
          description: The name of the metric namespace for this filter. The namespace can contain only ASCII printable characters (ASCII range 32 through 126). It must contain at least one non-whitespace character.
        MetricNames:
          type: array
          items:
            type: string
          description: The names of the metrics to either include or exclude from the metric stream. If you omit this parameter, all metrics in the namespace are included or excluded, depending on whether this filter is specified as an exclude filter or an include filter. Each metric name can contain only ASCII printable characters (ASCII range 32 through 126). Each metric name must contain at least one non-whitespace character.
    MetricStreamStatisticsMetric:
      type: object
      properties:
        Namespace:
          type: string
          description: The namespace of the metric.
        MetricName:
          type: string
          description: The name of the metric.
      required:
      - Namespace
      - MetricName
    StartMetricStreamsInput:
      type: object
      properties:
        Names:
          type: array
          items:
            type: string
          description: The array of the names of metric streams to start streaming. This is an "all or nothing" operation. If you do not have permission to access all of the metric streams that you list here, then none of the streams that you list in the operation will start streaming.
      required:
      - Names
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.
        Value:
          type: string
          description: The value for the specified tag key.
      required:
      - Key
      - Value
    InternalServiceFault:
      type: object
      properties:
        Message:
          type: string
    ListMetricStreamsOutput:
      type: object
      properties:
        NextToken:
          type: string
          description: The token that marks the start of the next batch of returned results. You can use this token in a subsequent operation to get the next batch of results.
        Entries:
          type: array
          items:
            $ref: '#/components/schemas/MetricStreamEntry'
          description: The array of metric stream information.
    MetricStreamEntry:
      type: object
      properties:
        Arn:
          type: string
          description: The ARN of the metric stream.
        CreationDate:
          type: string
          format: date-time
          description: The date that the metric stream was originally created.
        LastUpdateDate:
          type: string
          format: date-time
          description: The date that the configuration of this metric stream was most recently updated.
        Name:
          type: string
          description: The name of the metric stream.
        FirehoseArn:
          type: string
          description: The ARN of the Kinesis Firehose devlivery stream that is used for this metric stream.
        State:
          type: string
          description: The current state of this stream. Valid values are running and stopped.
        OutputFormat:
          type: string
          enum:
          - json
          - opentelemetry0.7
          - opentelemetry1.0
          description: The output format of this metric stream. Valid values are json, opentelemetry1.0, and opentelemetry0.7.
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: monitoring
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/cloudwatch/service/2010-08-01/cloudwatch-2010-08-01.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)