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-dashboards-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 Dashboards API
version: '2010-08-01'
description: Generated from AWS's published Smithy model for Amazon CloudWatch. 4 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: []
paths:
/#DeleteDashboards:
post:
operationId: DeleteDashboards
summary: Delete Dashboards
description: Deletes all dashboards that you specify. You can specify up to 100 dashboards to delete. If there is an
error during this call, the operation attempts to delete as many dashboards as possible.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/DeleteDashboardsOutput'
'409':
description: ConflictException
content:
text/xml:
schema:
$ref: '#/components/schemas/ConflictException'
'500':
description: InternalServiceFault
content:
text/xml:
schema:
$ref: '#/components/schemas/InternalServiceFault'
'400':
description: InvalidParameterValueException
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidParameterValueException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- GraniteServiceVersion20100801.DeleteDashboards
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DeleteDashboardsInput'
tags:
- Dashboards
/#GetDashboard:
post:
operationId: GetDashboard
summary: Get Dashboard
description: Displays the details of the dashboard that you specify. To copy an existing dashboard, use GetDashboard,
and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard
to create the copy. You might have recently enabled an opt-in Region (Region that is disabled by default) for your
account. In that Region, GetDashboard can return an access denied error for up to 24 hours after you enable the Region.
This delay occurs while dashboard data propagates. The error does not indicate a problem with your permissions. Because
dashboards are global, you can call GetDashboard in any other enabled Region, or retry after propagation completes.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/GetDashboardOutput'
'404':
description: DashboardNotFoundError
content:
text/xml:
schema:
$ref: '#/components/schemas/DashboardNotFoundError'
'500':
description: InternalServiceFault
content:
text/xml:
schema:
$ref: '#/components/schemas/InternalServiceFault'
'400':
description: InvalidParameterValueException
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidParameterValueException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- GraniteServiceVersion20100801.GetDashboard
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/GetDashboardInput'
tags:
- Dashboards
/#ListDashboards:
post:
operationId: ListDashboards
summary: List Dashboards
description: Returns a list of the dashboards for your account. If you include DashboardNamePrefix, only those dashboards
with names starting with the prefix are listed. Otherwise, all dashboards in your account are listed. ListDashboards
returns up to 1000 results on one page. If there are more than 1000 dashboards, you can call ListDashboards again
and include the value you received for NextToken in the first call, to receive the next 1000 results. You might have
recently enabled an opt-in Region (Region that is disabled by default) for your account. In that Region, ListDashboards
can return an access denied error for up to 24 hours after you enable the Region. This delay occurs while dashboard
data propagates. The error does not indicate a problem with your permissions. Because dashboards are global, you can
call ListDashboards in any other enabled Region, or retry after propagation completes.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/ListDashboardsOutput'
'500':
description: InternalServiceFault
content:
text/xml:
schema:
$ref: '#/components/schemas/InternalServiceFault'
'400':
description: InvalidParameterValueException
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidParameterValueException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- GraniteServiceVersion20100801.ListDashboards
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ListDashboardsInput'
tags:
- Dashboards
/#PutDashboard:
post:
operationId: PutDashboard
summary: Put Dashboard
description: Creates a dashboard if it does not already exist, or updates an existing dashboard. If you update a dashboard,
the entire contents are replaced with what you specify here. All dashboards in your account are global, not region-specific.
A simple way to create a dashboard using PutDashboard is to copy an existing dashboard. To copy an existing dashboard
using the console, you can load the dashboard and then use the View/edit source command in the Actions menu to display
the JSON block for that dashboard. Another way to copy a dashboard is to use GetDashboard, and then use the data returned
within DashboardBody as the template for the new dashboard when you call PutDashboard. When you create a dashboard
with PutDashboard, a good practice is to add a text widget at the top of the dashboard with a message that the dashboard
was created by script and should not be changed in the console. This message could also point console users to the
location of the DashboardBody script or the CloudFormation template used to create the dashboard.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/PutDashboardOutput'
'409':
description: ConflictException
content:
text/xml:
schema:
$ref: '#/components/schemas/ConflictException'
'400':
description: DashboardInvalidInputError
content:
text/xml:
schema:
$ref: '#/components/schemas/DashboardInvalidInputError'
'500':
description: InternalServiceFault
content:
text/xml:
schema:
$ref: '#/components/schemas/InternalServiceFault'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- GraniteServiceVersion20100801.PutDashboard
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/PutDashboardInput'
tags:
- Dashboards
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: monitoring
schemas:
ConflictException:
type: object
properties:
Message:
type: string
DashboardEntry:
type: object
properties:
DashboardName:
type: string
description: The name of the dashboard.
DashboardArn:
type: string
description: The Amazon Resource Name (ARN) of the dashboard.
LastModified:
type: string
format: date-time
description: The time stamp of when the dashboard was last modified, either by an API call or through the console.
This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.
Size:
type: integer
description: The size of the dashboard, in bytes.
DashboardInvalidInputError:
type: object
properties:
message:
type: string
dashboardValidationMessages:
type: array
items:
$ref: '#/components/schemas/DashboardValidationMessage'
DashboardNotFoundError:
type: object
properties:
message:
type: string
DashboardValidationMessage:
type: object
properties:
DataPath:
type: string
description: The data path related to the message.
Message:
type: string
description: A message describing the error or warning.
DeleteDashboardsInput:
type: object
properties:
DashboardNames:
type: array
items:
type: string
description: The dashboards to be deleted. This parameter is required.
required:
- DashboardNames
DeleteDashboardsOutput:
type: object
properties: {}
GetDashboardInput:
type: object
properties:
DashboardName:
type: string
description: The name of the dashboard to be described.
required:
- DashboardName
GetDashboardOutput:
type: object
properties:
DashboardArn:
type: string
description: The Amazon Resource Name (ARN) of the dashboard.
DashboardBody:
type: string
description: The detailed information about the dashboard, including what widgets are included and their location
on the dashboard. For more information about the DashboardBody syntax, see Dashboard Body Structure and Syntax.
DashboardName:
type: string
description: The name of the dashboard.
InternalServiceFault:
type: object
properties:
Message:
type: string
InvalidParameterValueException:
type: object
properties:
message:
type: string
ListDashboardsInput:
type: object
properties:
DashboardNamePrefix:
type: string
description: If you specify this parameter, only the dashboards with names starting with the specified string are
listed. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, ".", "-", and "_".
NextToken:
type: string
description: The token returned by a previous call to indicate that there is more data available.
ListDashboardsOutput:
type: object
properties:
DashboardEntries:
type: array
items:
$ref: '#/components/schemas/DashboardEntry'
description: The list of matching dashboards.
NextToken:
type: string
description: The token that marks the start of the next batch of returned results.
PutDashboardInput:
type: object
properties:
DashboardName:
type: string
description: The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard,
replacing its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters
are A-Z, a-z, 0-9, "-", and "_". This parameter is required.
DashboardBody:
type: string
description: The detailed information about the dashboard in JSON format, including the widgets to include and their
location on the dashboard. This parameter is required. For more information about the syntax, see Dashboard Body
Structure and Syntax.
Tags:
type: array
items:
$ref: '#/components/schemas/Tag'
description: A list of key-value pairs to associate with the dashboard. You can associate as many as 50 tags with
a dashboard. Tags can help you organize and categorize your dashboards. You can also use them to scope user permissions
by granting a user permission to access or change only dashboards with certain tag values. You can use this parameter
only when creating a new dashboard. If you specify Tags when updating an existing dashboard, the tag updates are
ignored. To add or update tags on an existing dashboard, use TagResource. To remove tags, use UntagResource.
required:
- DashboardName
- DashboardBody
PutDashboardOutput:
type: object
properties:
DashboardValidationMessages:
type: array
items:
$ref: '#/components/schemas/DashboardValidationMessage'
description: If the input for PutDashboard was correct and the dashboard was successfully created or modified, this
result is empty. If this result includes only warning messages, then the input was valid enough for the dashboard
to be created or modified, but some elements of the dashboard might not render. If this result includes error
messages, the input was not valid and the operation failed.
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
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/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)