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-documentdb:amazon-documentdb-cluster-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 DocumentDB with MongoDB compatibility Cluster API
version: '2014-10-31'
description: Generated from AWS's published Smithy model for Amazon DocumentDB with MongoDB compatibility. 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://docdb-elastic.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
paths:
/cluster:
post:
operationId: CreateCluster
summary: Create Cluster
description: Creates a new Amazon DocumentDB elastic cluster and returns its cluster structure.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateClusterOutput'
'403':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'409':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'402':
description: ServiceQuotaExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceQuotaExceededException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateClusterInput'
tags:
- Cluster
/cluster/{clusterArn}:
delete:
operationId: DeleteCluster
summary: Delete Cluster
description: Delete an elastic cluster.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteClusterOutput'
'403':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'409':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'404':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteClusterInput'
tags:
- Cluster
get:
operationId: GetCluster
summary: Get Cluster
description: Returns information about a specific elastic cluster.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetClusterOutput'
'403':
description: AccessDeniedException
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/ResourceNotFoundException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetClusterInput'
tags:
- Cluster
put:
operationId: UpdateCluster
summary: Update Cluster
description: Modifies an elastic cluster. This includes updating admin-username/password, upgrading the API version,
and setting up a backup window and maintenance window
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClusterOutput'
'403':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'409':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'500':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'404':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'429':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateClusterInput'
tags:
- Cluster
/clusters:
get:
operationId: ListClusters
summary: List Clusters
description: Returns information about provisioned Amazon DocumentDB elastic clusters.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListClustersOutput'
'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/ThrottlingException'
'400':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListClustersInput'
tags:
- Cluster
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: docdb-elastic
schemas:
AccessDeniedException:
type: object
properties:
message:
type: string
description: An error message explaining why access was denied.
required:
- message
Cluster:
type: object
properties:
clusterName:
type: string
description: The name of the elastic cluster.
clusterArn:
type: string
description: The ARN identifier of the elastic cluster.
status:
type: string
description: The status of the elastic cluster.
clusterEndpoint:
type: string
description: The URL used to connect to the elastic cluster.
createTime:
type: string
description: The time when the elastic cluster was created in Universal Coordinated Time (UTC).
adminUserName:
type: string
description: The name of the elastic cluster administrator.
authType:
type: string
description: The authentication type for the elastic cluster.
shardCapacity:
type: integer
description: The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4,
8, 16, 32, 64.
shardCount:
type: integer
description: The number of shards assigned to the elastic cluster. Maximum is 32.
vpcSecurityGroupIds:
type: array
items:
type: string
description: A list of EC2 VPC security groups associated with thie elastic cluster.
subnetIds:
type: array
items:
type: string
description: The Amazon EC2 subnet IDs for the elastic cluster.
preferredMaintenanceWindow:
type: string
description: 'The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
Format: ddd:hh24:mi-ddd:hh24:mi'
kmsKeyId:
type: string
description: The KMS key identifier to use to encrypt the elastic cluster.
shards:
type: array
items:
$ref: '#/components/schemas/Shard'
description: The total number of shards in the cluster.
backupRetentionPeriod:
type: integer
description: The number of days for which automatic snapshots are retained.
preferredBackupWindow:
type: string
description: The daily time range during which automated backups are created if automated backups are enabled, as
determined by backupRetentionPeriod.
shardInstanceCount:
type: integer
description: The number of replica instances applying to all shards in the cluster. A shardInstanceCount value of
1 means there is one writer instance, and any additional instances are replicas that can be used for reads and
to improve availability.
required:
- clusterName
- clusterArn
- status
- clusterEndpoint
- createTime
- adminUserName
- authType
- shardCapacity
- shardCount
- vpcSecurityGroupIds
- subnetIds
- preferredMaintenanceWindow
- kmsKeyId
ClusterInList:
type: object
properties:
clusterName:
type: string
description: The name of the elastic cluster.
clusterArn:
type: string
description: The ARN identifier of the elastic cluster.
status:
type: string
description: The status of the elastic cluster.
required:
- clusterName
- clusterArn
- status
ConflictException:
type: object
properties:
message:
type: string
resourceId:
type: string
description: The ID of the resource where there was an access conflict.
resourceType:
type: string
description: The type of the resource where there was an access conflict.
required:
- message
- resourceId
- resourceType
CreateClusterInput:
type: object
properties:
clusterName:
type: string
description: 'The name of the new elastic cluster. This parameter is stored as a lowercase string. Constraints:
Must contain from 1 to 63 letters, numbers, or hyphens. The first character must be a letter. Cannot end with
a hyphen or contain two consecutive hyphens. Example: my-cluster'
authType:
type: string
description: The authentication type used to determine where to fetch the password used for accessing the elastic
cluster. Valid types are PLAIN_TEXT or SECRET_ARN.
adminUserName:
type: string
description: 'The name of the Amazon DocumentDB elastic clusters administrator. Constraints: Must be from 1 to 63
letters or numbers. The first character must be a letter. Cannot be a reserved word.'
adminUserPassword:
type: string
description: 'The password for the Amazon DocumentDB elastic clusters administrator. The password can contain any
printable ASCII characters. Constraints: Must contain from 8 to 100 characters. Cannot contain a forward slash
(/), double quote ("), or the "at" symbol (@).'
shardCapacity:
type: integer
description: The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4,
8, 16, 32, 64.
shardCount:
type: integer
description: The number of shards assigned to the elastic cluster. Maximum is 32.
vpcSecurityGroupIds:
type: array
items:
type: string
description: A list of EC2 VPC security groups to associate with the new elastic cluster.
subnetIds:
type: array
items:
type: string
description: The Amazon EC2 subnet IDs for the new elastic cluster.
kmsKeyId:
type: string
description: The KMS key identifier to use to encrypt the new elastic cluster. The KMS key identifier is the Amazon
Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that
owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key. If an
encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account.
Your account has a different default encryption key for each Amazon Region.
clientToken:
type: string
description: The client token for the elastic cluster.
preferredMaintenanceWindow:
type: string
description: 'The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
Format: ddd:hh24:mi-ddd:hh24:mi Default: a 30-minute window selected at random from an 8-hour block of time for
each Amazon Web Services Region, occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat,
Sun Constraints: Minimum 30-minute window.'
tags:
type: object
additionalProperties:
type: string
description: The tags to be assigned to the new elastic cluster.
backupRetentionPeriod:
type: integer
description: The number of days for which automatic snapshots are retained.
preferredBackupWindow:
type: string
description: The daily time range during which automated backups are created if automated backups are enabled, as
determined by the backupRetentionPeriod.
shardInstanceCount:
type: integer
description: The number of replica instances applying to all shards in the elastic cluster. A shardInstanceCount
value of 1 means there is one writer instance, and any additional instances are replicas that can be used for
reads and to improve availability.
required:
- clusterName
- authType
- adminUserName
- adminUserPassword
- shardCapacity
- shardCount
CreateClusterOutput:
type: object
properties:
cluster:
$ref: '#/components/schemas/Cluster'
required:
- cluster
DeleteClusterInput:
type: object
properties:
clusterArn:
type: string
description: The ARN identifier of the elastic cluster that is to be deleted.
required:
- clusterArn
DeleteClusterOutput:
type: object
properties:
cluster:
$ref: '#/components/schemas/Cluster'
required:
- cluster
GetClusterInput:
type: object
properties:
clusterArn:
type: string
description: The ARN identifier of the elastic cluster.
required:
- clusterArn
GetClusterOutput:
type: object
properties:
cluster:
$ref: '#/components/schemas/Cluster'
required:
- cluster
InternalServerException:
type: object
properties:
message:
type: string
required:
- message
ListClustersInput:
type: object
properties:
nextToken:
type: string
description: A pagination token provided by a previous request. If this parameter is specified, the response includes
only records beyond this token, up to the value specified by max-results. If there is no more data in the responce,
the nextToken will not be returned.
maxResults:
type: integer
description: The maximum number of elastic cluster snapshot results to receive in the response.
ListClustersOutput:
type: object
properties:
clusters:
type: array
items:
$ref: '#/components/schemas/ClusterInList'
description: A list of Amazon DocumentDB elastic clusters.
nextToken:
type: string
description: A pagination token provided by a previous request. If this parameter is specified, the response includes
only records beyond this token, up to the value specified by max-results. If there is no more data in the responce,
the nextToken will not be returned.
ResourceNotFoundException:
type: object
properties:
message:
type: string
description: An error message describing the failure.
resourceId:
type: string
description: The ID of the resource that could not be located.
resourceType:
type: string
description: The type of the resource that could not be found.
required:
- message
- resourceId
- resourceType
ServiceQuotaExceededException:
type: object
properties:
message:
type: string
required:
- message
Shard:
type: object
properties:
shardId:
type: string
description: The ID of the shard.
createTime:
type: string
description: The time when the shard was created in Universal Coordinated Time (UTC).
status:
type: string
description: The current status of the shard.
required:
- shardId
- createTime
- status
ThrottlingException:
type: object
properties:
message:
type: string
retryAfterSeconds:
type: integer
description: The number of seconds to wait before retrying the operation.
required:
- message
UpdateClusterInput:
type: object
properties:
clusterArn:
type: string
description: The ARN identifier of the elastic cluster.
authType:
type: string
description: The authentication type used to determine where to fetch the password used for accessing the elastic
cluster. Valid types are PLAIN_TEXT or SECRET_ARN.
shardCapacity:
type: integer
description: The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4,
8, 16, 32, 64.
shardCount:
type: integer
description: The number of shards assigned to the elastic cluster. Maximum is 32.
vpcSecurityGroupIds:
type: array
items:
type: string
description: A list of EC2 VPC security groups to associate with the elastic cluster.
subnetIds:
type: array
items:
type: string
description: The Amazon EC2 subnet IDs for the elastic cluster.
adminUserPassword:
type: string
description: 'The password associated with the elastic cluster administrator. This password can contain any printable
ASCII character except forward slash (/), double quote ("), or the "at" symbol (@). Constraints: Must contain
from 8 to 100 characters.'
clientToken:
type: string
description: The client token for the elastic cluster.
preferredMaintenanceWindow:
type: string
description: 'The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
Format: ddd:hh24:mi-ddd:hh24:mi Default: a 30-minute window selected at random from an 8-hour block of time for
each Amazon Web Services Region, occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat,
Sun Constraints: Minimum 30-minute window.'
backupRetentionPeriod:
type: integer
description: The number of days for which automatic snapshots are retained.
preferredBackupWindow:
type: string
description: The daily time range during which automated backups are created if automated backups are enabled, as
determined by the backupRetentionPeriod.
shardInstanceCount:
type: integer
description: The number of replica instances applying to all shards in the elastic cluster. A shardInstanceCount
value of 1 means there is one writer instance, and any additional instances are replicas that can be used for
reads and to improve availability.
required:
- clusterArn
UpdateClusterOutput:
type: object
properties:
cluster:
$ref: '#/components/schemas/Cluster'
required:
- cluster
ValidationException:
type: object
properties:
message:
type: string
description: An error message describing the validation exception.
reason:
type: string
description: The reason why the validation exception occurred (one of unknownOperation, cannotParse, fieldValidationFailed,
or other).
fieldList:
type: array
items:
$ref: '#/components/schemas/ValidationExceptionField'
description: A list of the fields in which the validation exception occurred.
required:
- message
- reason
ValidationExceptionField:
type: object
properties:
name:
type: string
description: The name of the field where the validation exception occurred.
message:
type: string
description: An error message describing the validation exception in this field.
required:
- name
- message
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/docdb-elastic/service/2022-11-28/docdb-elastic-2022-11-28.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)