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-monitors-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: 3.1.0
info:
title: Amazon CloudWatch Monitors API
version: '2010-08-01'
description: Generated from AWS's published Smithy model for Amazon CloudWatch. 5 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://internetmonitor.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
paths:
/v20210603/Monitors:
post:
operationId: CreateMonitor
summary: Create Monitor
description: 'Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from
the application resources that you add: VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, and
Amazon WorkSpaces directories. Internet Monitor then publishes internet measurements from Amazon Web Services that
are specific to the city-networks. That is, the locations and ASNs (typically internet service providers or ISPs),
where clients access your application. For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon
CloudWatch User Guide. When you create a monitor, you choose the percentage of traffic that you want to monitor. You
can also set a maximum limit for the number of city-networks where client traffic is monitored, that caps the total
traffic that Internet Monitor monitors. A city-network maximum is the limit of city-networks, but you only pay for
the number of city-networks that are actually monitored. You can update your monitor at any time to change the percentage
of traffic to monitor or the city-networks maximum. For more information, see Choosing a city-network maximum value
in the Amazon CloudWatch User Guide.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMonitorOutput'
'403':
description: AccessDeniedException; LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'409':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/InternetmonitorConflictException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/InternetmonitorThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMonitorInput'
tags:
- Monitors
get:
operationId: ListMonitors
summary: List Monitors
description: Lists all of your monitors for Amazon CloudWatch Internet Monitor and their statuses, along with the Amazon
Resource Name (ARN) and name of each monitor.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListMonitorsOutput'
'403':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/InternetmonitorThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListMonitorsInput'
tags:
- Monitors
/v20210603/Monitors/{MonitorName}:
get:
operationId: GetMonitor
summary: Get Monitor
description: Gets information about a monitor in Amazon CloudWatch Internet Monitor based on a monitor name. The information
returned includes the Amazon Resource Name (ARN), create time, modified time, resources included in the monitor, and
status information.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetMonitorOutput'
'403':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/InternetmonitorThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetMonitorInput'
tags:
- Monitors
patch:
operationId: UpdateMonitor
summary: Update Monitor
description: Updates a monitor. You can update a monitor to change the percentage of traffic to monitor or the maximum
number of city-networks (locations and ASNs), to add or remove resources, or to change the status of the monitor.
Note that you can't change the name of a monitor. The city-network maximum that you choose is the limit, but you only
pay for the number of city-networks that are actually monitored. For more information, see Choosing a city-network
maximum value in the Amazon CloudWatch User Guide.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMonitorOutput'
'403':
description: AccessDeniedException; LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'404':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/InternetmonitorResourceNotFoundException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/InternetmonitorThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMonitorInput'
tags:
- Monitors
delete:
operationId: DeleteMonitor
summary: Delete Monitor
description: Deletes a monitor in Amazon CloudWatch Internet Monitor.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteMonitorOutput'
'403':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/InternetmonitorThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteMonitorInput'
tags:
- Monitors
components:
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: internetmonitor
schemas:
AccessDeniedException:
type: object
properties:
message:
type: string
CreateMonitorInput:
type: object
properties:
MonitorName:
type: string
description: The name of the monitor.
Resources:
type: array
items:
type: string
description: The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
Resources can be VPCs, NLBs, Amazon CloudFront distributions, or Amazon WorkSpaces directories. You can add a
combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs.
You can't add NLBs or WorkSpaces directories together with any other resources. If you add only Amazon VPC resources,
at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.
ClientToken:
type: string
description: A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent
API request. Don't reuse the same client token for other API requests.
Tags:
type: object
additionalProperties:
type: string
description: The tags for a monitor. You can add a maximum of 50 tags in Internet Monitor.
MaxCityNetworksToMonitor:
type: integer
description: The maximum number of city-networks to monitor for your resources. A city-network is the location (city)
where clients access your application resources from and the ASN or network provider, such as an internet service
provider (ISP), that clients access the resources through. Setting this limit can help control billing costs.
To learn more, see Choosing a city-network maximum value in the Amazon CloudWatch Internet Monitor section of
the CloudWatch User Guide.
InternetMeasurementsLogDelivery:
$ref: '#/components/schemas/InternetMeasurementsLogDelivery'
TrafficPercentageToMonitor:
type: integer
description: The percentage of the internet-facing traffic for your application that you want to monitor with this
monitor. If you set a city-networks maximum, that limit overrides the traffic percentage that you set. To learn
more, see Choosing an application traffic percentage to monitor in the Amazon CloudWatch Internet Monitor section
of the CloudWatch User Guide.
HealthEventsConfig:
$ref: '#/components/schemas/HealthEventsConfig'
required:
- MonitorName
CreateMonitorOutput:
type: object
properties:
Arn:
type: string
description: The Amazon Resource Name (ARN) of the monitor.
Status:
type: string
description: The status of a monitor.
required:
- Arn
- Status
DeleteMonitorInput:
type: object
properties:
MonitorName:
type: string
description: The name of the monitor to delete.
required:
- MonitorName
DeleteMonitorOutput:
type: object
properties: {}
GetMonitorInput:
type: object
properties:
MonitorName:
type: string
description: The name of the monitor.
LinkedAccountId:
type: string
description: The account ID for an account that you've set up cross-account sharing for in Amazon CloudWatch Internet
Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more
information, see Internet Monitor cross-account observability in the Amazon CloudWatch Internet Monitor User Guide.
required:
- MonitorName
GetMonitorOutput:
type: object
properties:
MonitorName:
type: string
description: The name of the monitor.
MonitorArn:
type: string
description: The Amazon Resource Name (ARN) of the monitor.
Resources:
type: array
items:
type: string
description: The resources monitored by the monitor. Resources are listed by their Amazon Resource Names (ARNs).
Status:
type: string
description: The status of the monitor.
CreatedAt:
type: string
description: The time when the monitor was created.
ModifiedAt:
type: string
description: The last time that the monitor was modified.
ProcessingStatus:
type: string
description: The health of the data processing for the monitor.
ProcessingStatusInfo:
type: string
description: Additional information about the health of the data processing for the monitor.
Tags:
type: object
additionalProperties:
type: string
description: The tags that have been added to monitor.
MaxCityNetworksToMonitor:
type: integer
description: The maximum number of city-networks to monitor for your resources. A city-network is the location (city)
where clients access your application resources from and the ASN or network provider, such as an internet service
provider (ISP), that clients access the resources through. This limit can help control billing costs. To learn
more, see Choosing a city-network maximum value in the Amazon CloudWatch Internet Monitor section of the CloudWatch
User Guide.
InternetMeasurementsLogDelivery:
$ref: '#/components/schemas/InternetMeasurementsLogDelivery'
TrafficPercentageToMonitor:
type: integer
description: The percentage of the internet-facing traffic for your application to monitor with this monitor. If
you set a city-networks maximum, that limit overrides the traffic percentage that you set. To learn more, see
Choosing an application traffic percentage to monitor in the Amazon CloudWatch Internet Monitor section of the
CloudWatch User Guide.
HealthEventsConfig:
$ref: '#/components/schemas/HealthEventsConfig'
required:
- MonitorName
- MonitorArn
- Resources
- Status
- CreatedAt
- ModifiedAt
HealthEventsConfig:
type: object
properties:
AvailabilityScoreThreshold:
type: number
description: The health event threshold percentage set for availability scores.
PerformanceScoreThreshold:
type: number
description: The health event threshold percentage set for performance scores.
AvailabilityLocalHealthEventsConfig:
$ref: '#/components/schemas/LocalHealthEventsConfig'
PerformanceLocalHealthEventsConfig:
$ref: '#/components/schemas/LocalHealthEventsConfig'
InternalServerException:
type: object
properties:
message:
type: string
InternetMeasurementsLogDelivery:
type: object
properties:
S3Config:
$ref: '#/components/schemas/S3Config'
InternetmonitorConflictException:
type: object
properties:
message:
type: string
InternetmonitorResourceNotFoundException:
type: object
properties:
message:
type: string
InternetmonitorThrottlingException:
type: object
properties:
message:
type: string
ListMonitorsInput:
type: object
properties:
NextToken:
type: string
description: The token for the next set of results. You receive this token from a previous call.
MaxResults:
type: integer
description: The number of monitor objects that you want to return with this call.
MonitorStatus:
type: string
description: The status of a monitor. This includes the status of the data processing for the monitor and the status
of the monitor itself. For information about the statuses for a monitor, see Monitor.
IncludeLinkedAccounts:
type: boolean
description: A boolean option that you can set to TRUE to include monitors for linked accounts in a list of monitors,
when you've set up cross-account sharing in Amazon CloudWatch Internet Monitor. You configure cross-account sharing
by using Amazon CloudWatch Observability Access Manager. For more information, see Internet Monitor cross-account
observability in the Amazon CloudWatch Internet Monitor User Guide.
ListMonitorsOutput:
type: object
properties:
Monitors:
type: array
items:
$ref: '#/components/schemas/Monitor'
description: A list of monitors.
NextToken:
type: string
description: The token for the next set of results. You receive this token from a previous call.
required:
- Monitors
LocalHealthEventsConfig:
type: object
properties:
Status:
type: string
description: The status of whether Internet Monitor creates a health event based on a threshold percentage set for
a local health score. The status can be ENABLED or DISABLED.
HealthScoreThreshold:
type: number
description: The health event threshold percentage set for a local health score.
MinTrafficImpact:
type: number
description: The minimum percentage of overall traffic for an application that must be impacted by an issue before
Internet Monitor creates an event when a threshold is crossed for a local health score. If you don't set a minimum
traffic impact threshold, the default value is 0.1%.
Monitor:
type: object
properties:
MonitorName:
type: string
description: The name of the monitor.
MonitorArn:
type: string
description: The Amazon Resource Name (ARN) of the monitor.
Status:
type: string
description: The status of a monitor.
ProcessingStatus:
type: string
description: The health of data processing for the monitor.
required:
- MonitorName
- MonitorArn
- Status
S3Config:
type: object
properties:
BucketName:
type: string
description: The Amazon S3 bucket name.
BucketPrefix:
type: string
description: The Amazon S3 bucket prefix.
LogDeliveryStatus:
type: string
description: The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket.
UpdateMonitorInput:
type: object
properties:
MonitorName:
type: string
description: The name of the monitor.
ResourcesToAdd:
type: array
items:
type: string
description: The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
Resources can be VPCs, NLBs, Amazon CloudFront distributions, or Amazon WorkSpaces directories. You can add a
combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs.
You can't add NLBs or WorkSpaces directories together with any other resources. If you add only Amazon Virtual
Private Clouds resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it
has internet connectivity.
ResourcesToRemove:
type: array
items:
type: string
description: The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs).
Status:
type: string
description: 'The status for a monitor. The accepted values for Status with the UpdateMonitor API call are the following:
ACTIVE and INACTIVE. The following values are not accepted: PENDING, and ERROR.'
ClientToken:
type: string
description: A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent
API request. You should not reuse the same client token for other API requests.
MaxCityNetworksToMonitor:
type: integer
description: The maximum number of city-networks to monitor for your application. A city-network is the location
(city) where clients access your application resources from and the ASN or network provider, such as an internet
service provider (ISP), that clients access the resources through. Setting this limit can help control billing
costs.
InternetMeasurementsLogDelivery:
$ref: '#/components/schemas/InternetMeasurementsLogDelivery'
TrafficPercentageToMonitor:
type: integer
description: The percentage of the internet-facing traffic for your application that you want to monitor with this
monitor. If you set a city-networks maximum, that limit overrides the traffic percentage that you set. To learn
more, see Choosing an application traffic percentage to monitor in the Amazon CloudWatch Internet Monitor section
of the CloudWatch User Guide.
HealthEventsConfig:
$ref: '#/components/schemas/HealthEventsConfig'
required:
- MonitorName
UpdateMonitorOutput:
type: object
properties:
MonitorArn:
type: string
description: The Amazon Resource Name (ARN) of the monitor.
Status:
type: string
description: The status of a monitor.
required:
- MonitorArn
- Status
ValidationException:
type: object
properties:
message:
type: string
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/internetmonitor/service/2021-06-03/internetmonitor-2021-06-03.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)