Amazon Cloud9 Environments API

Operations for managing Cloud9 development environments

GitHub OpenAPI

Operations 5

POST /#DeleteEnvironment Delete Environment #
POST /#DescribeEnvironments Describe Environments #
POST /#ListEnvironments List Environments #
POST /#UpdateEnvironment Update Environment #
POST /#CreateEnvironmentEC2 Create Environment EC2 #

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-cloud9:amazon-cloud9-environments-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-cloud9-environments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Cloud9 Environments API
  version: '2017-09-23'
  description: Generated from AWS's published Smithy model for AWS Cloud9. 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://cloud9.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#DeleteEnvironment:
    post:
      operationId: DeleteEnvironment
      summary: Delete Environment
      description: Deletes an Cloud9 development environment. If an Amazon EC2 instance is connected to the environment, also
        terminates the instance. Cloud9 is no longer available to new customers. Existing customers of Cloud9 can continue
        to use the service as normal. Learn more"
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DeleteEnvironmentResult'
              example: {}
        '400':
          description: BadRequestException; ConflictException; ForbiddenException; LimitExceededException; NotFoundException;
            TooManyRequestsException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalServerErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSCloud9WorkspaceManagementService.DeleteEnvironment
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeleteEnvironmentRequest'
            example:
              environmentId: 8d9967e2f0624182b74e7690ad69ebEX
      tags:
      - Environments
  /#DescribeEnvironments:
    post:
      operationId: DescribeEnvironments
      summary: Describe Environments
      description: Gets information about Cloud9 development environments. Cloud9 is no longer available to new customers.
        Existing customers of Cloud9 can continue to use the service as normal. Learn more"
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DescribeEnvironmentsResult'
              example:
                environments:
                - arn: arn:aws:cloud9:us-east-2:123456789012:environment:8d9967e2f0624182b74e7690ad69ebEX
                  description: This is my demonstration environment.
                  id: 8d9967e2f0624182b74e7690ad69ebEX
                  name: my-demo-environment
                  ownerArn: arn:aws:iam::123456789012:user/MyDemoUser
                  lifecycle:
                    status: CREATED
                  type: ec2
                - arn: arn:aws:cloud9:us-east-2:123456789012:environment:349c86d4579e4e7298d500ff57a6b2EX
                  description: ''
                  id: 349c86d4579e4e7298d500ff57a6b2EX
                  name: another-demo-environment
                  ownerArn: arn:aws:sts::123456789012:assumed-role/AnotherDemoUser/AnotherDemoUser
                  lifecycle:
                    status: CREATED
                  type: ssh
        '400':
          description: BadRequestException; ConflictException; ForbiddenException; LimitExceededException; NotFoundException;
            TooManyRequestsException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalServerErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSCloud9WorkspaceManagementService.DescribeEnvironments
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DescribeEnvironmentsRequest'
            example:
              environmentIds:
              - 8d9967e2f0624182b74e7690ad69ebEX
              - 349c86d4579e4e7298d500ff57a6b2EX
      tags:
      - Environments
  /#ListEnvironments:
    post:
      operationId: ListEnvironments
      summary: List Environments
      description: Gets a list of Cloud9 development environment identifiers. Cloud9 is no longer available to new customers.
        Existing customers of Cloud9 can continue to use the service as normal. Learn more" Cloud9 is no longer available
        to new customers. Existing customers of Cloud9 can continue to use the service as normal. Learn more"
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ListEnvironmentsResult'
              example:
                environmentIds:
                - 349c86d4579e4e7298d500ff57a6b2EX
                - 45a3da47af0840f2b0c0824f5ee232EX
        '400':
          description: BadRequestException; ConflictException; ForbiddenException; LimitExceededException; NotFoundException;
            TooManyRequestsException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalServerErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSCloud9WorkspaceManagementService.ListEnvironments
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ListEnvironmentsRequest'
      tags:
      - Environments
  /#UpdateEnvironment:
    post:
      operationId: UpdateEnvironment
      summary: Update Environment
      description: Changes the settings of an existing Cloud9 development environment. Cloud9 is no longer available to new
        customers. Existing customers of Cloud9 can continue to use the service as normal. Learn more"
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/UpdateEnvironmentResult'
              example: {}
        '400':
          description: BadRequestException; ConflictException; ForbiddenException; LimitExceededException; NotFoundException;
            TooManyRequestsException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalServerErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSCloud9WorkspaceManagementService.UpdateEnvironment
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/UpdateEnvironmentRequest'
            example:
              environmentId: 8d9967e2f0624182b74e7690ad69ebEX
              name: my-changed-demo-environment
              description: This is my changed demonstration environment.
      tags:
      - Environments
  /#CreateEnvironmentEC2:
    post:
      operationId: CreateEnvironmentEC2
      summary: Create Environment EC2
      description: Creates an Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance,
        and then connects from the instance to the environment. Cloud9 is no longer available to new customers. Existing customers
        of Cloud9 can continue to use the service as normal. Learn more"
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CreateEnvironmentEC2Result'
              example:
                environmentId: 8d9967e2f0624182b74e7690ad69ebEX
        '400':
          description: BadRequestException; ConflictException; ForbiddenException; LimitExceededException; NotFoundException;
            TooManyRequestsException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/BadRequestException'
        '500':
          description: InternalServerErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSCloud9WorkspaceManagementService.CreateEnvironmentEC2
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CreateEnvironmentEC2Request'
            example:
              name: my-demo-environment
              description: This is my demonstration environment.
              instanceType: t2.micro
              imageId: amazonlinux-2023-x86_64
              subnetId: subnet-6300cd1b
              automaticStopTimeMinutes: 60
              ownerArn: arn:aws:iam::123456789012:user/MyDemoUser
      tags:
      - Environments
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: cloud9
  schemas:
    BadRequestException:
      type: object
      properties:
        message:
          type: string
        className:
          type: string
        code:
          type: integer
    CreateEnvironmentEC2Request:
      type: object
      properties:
        name:
          type: string
          description: The name of the environment to create. This name is visible to other IAM users in the same Amazon Web
            Services account.
        description:
          type: string
          description: The description of the environment to create.
        clientRequestToken:
          type: string
          description: A unique, case-sensitive string that helps Cloud9 to ensure this operation completes no more than one
            time. For more information, see Client Tokens in the Amazon EC2 API Reference.
        instanceType:
          type: string
          description: The type of instance to connect to the environment (for example, t2.micro).
        subnetId:
          type: string
          description: The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with the Amazon EC2 instance.
        imageId:
          type: string
          description: The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose
            an AMI for the instance, you must specify a valid AMI alias or a valid Amazon EC2 Systems Manager (SSM) path.
            We recommend using Amazon Linux 2023 as the AMI to create your environment as it is fully supported. From December
            16, 2024, Ubuntu 18.04 will be removed from the list of available imageIds for Cloud9. This change is necessary
            as Ubuntu 18.04 has ended standard support on May 31, 2023. This change will only affect direct API consumers,
            and not Cloud9 console users. Since Ubuntu 18.04 has
        automaticStopTimeMinutes:
          type: integer
          description: The number of minutes until the running instance is shut down after the environment has last been used.
        ownerArn:
          type: string
          description: The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any IAM principal.
            If this value is not specified, the ARN defaults to this environment's creator.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: An array of key-value pairs that will be associated with the new Cloud9 development environment.
        connectionType:
          type: string
          enum:
          - CONNECT_SSH
          - CONNECT_SSM
          description: The connection type used for connecting to an Amazon EC2 environment. Valid values are CONNECT_SSH
            (default) and CONNECT_SSM (connected through Amazon EC2 Systems Manager). For more information, see Accessing
            no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 User Guide.
        dryRun:
          type: boolean
          description: Checks whether you have the required permissions for the action, without actually making the request,
            and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise,
            it is UnauthorizedOperation.
      required:
      - name
      - instanceType
      - imageId
    CreateEnvironmentEC2Result:
      type: object
      properties:
        environmentId:
          type: string
          description: The ID of the environment that was created.
    DeleteEnvironmentRequest:
      type: object
      properties:
        environmentId:
          type: string
          description: The ID of the environment to delete.
      required:
      - environmentId
    DeleteEnvironmentResult:
      type: object
      properties: {}
    DescribeEnvironmentsRequest:
      type: object
      properties:
        environmentIds:
          type: array
          items:
            type: string
          description: The IDs of individual environments to get information about.
      required:
      - environmentIds
    DescribeEnvironmentsResult:
      type: object
      properties:
        environments:
          type: array
          items:
            $ref: '#/components/schemas/Environment'
          description: Information about the environments that are returned.
    Environment:
      type: object
      properties:
        id:
          type: string
          description: The ID of the environment.
        name:
          type: string
          description: The name of the environment.
        description:
          type: string
          description: The description for the environment.
        type:
          type: string
          enum:
          - ssh
          - ec2
          description: 'The type of environment. Valid values include the following: ec2: An Amazon Elastic Compute Cloud
            (Amazon EC2) instance connects to the environment. ssh: Your own server connects to the environment.'
        connectionType:
          type: string
          enum:
          - CONNECT_SSH
          - CONNECT_SSM
          description: The connection type used for connecting to an Amazon EC2 environment. CONNECT_SSH is selected by default.
        arn:
          type: string
          description: The Amazon Resource Name (ARN) of the environment.
        ownerArn:
          type: string
          description: The Amazon Resource Name (ARN) of the environment owner.
        lifecycle:
          $ref: '#/components/schemas/EnvironmentLifecycle'
        managedCredentialsStatus:
          type: string
          enum:
          - ENABLED_ON_CREATE
          - ENABLED_BY_OWNER
          - DISABLED_BY_DEFAULT
          - DISABLED_BY_OWNER
          - DISABLED_BY_COLLABORATOR
          - PENDING_REMOVAL_BY_COLLABORATOR
          - PENDING_START_REMOVAL_BY_COLLABORATOR
          - PENDING_REMOVAL_BY_OWNER
          - PENDING_START_REMOVAL_BY_OWNER
          - FAILED_REMOVAL_BY_COLLABORATOR
          - FAILED_REMOVAL_BY_OWNER
          description: 'Describes the status of Amazon Web Services managed temporary credentials for the Cloud9 environment.
            Available values are: ENABLED_ON_CREATE ENABLED_BY_OWNER DISABLED_BY_DEFAULT DISABLED_BY_OWNER DISABLED_BY_COLLABORATOR
            PENDING_REMOVAL_BY_COLLABORATOR PENDING_REMOVAL_BY_OWNER FAILED_REMOVAL_BY_COLLABORATOR ENABLED_BY_OWNER DISABLED_BY_DEFAULT'
      required:
      - type
      - arn
      - ownerArn
    EnvironmentLifecycle:
      type: object
      properties:
        status:
          type: string
          enum:
          - CREATING
          - CREATED
          - CREATE_FAILED
          - DELETING
          - DELETE_FAILED
          description: 'The current creation or deletion lifecycle state of the environment. CREATING: The environment is
            in the process of being created. CREATED: The environment was successfully created. CREATE_FAILED: The environment
            failed to be created. DELETING: The environment is in the process of being deleted. DELETE_FAILED: The environment
            failed to delete.'
        reason:
          type: string
          description: Any informational message about the lifecycle state of the environment.
        failureResource:
          type: string
          description: If the environment failed to delete, the Amazon Resource Name (ARN) of the related Amazon Web Services
            resource.
    InternalServerErrorException:
      type: object
      properties:
        message:
          type: string
        className:
          type: string
        code:
          type: integer
    ListEnvironmentsRequest:
      type: object
      properties:
        nextToken:
          type: string
          description: During a previous call, if there are more than 25 items in the list, only the first 25 items are returned,
            along with a unique string called a next token. To get the next batch of items in the list, call this operation
            again, adding the next token to the call. To get all of the items in the list, keep calling this operation with
            each subsequent next token that is returned, until no more next tokens are returned.
        maxResults:
          type: integer
          description: The maximum number of environments to get identifiers for.
    ListEnvironmentsResult:
      type: object
      properties:
        nextToken:
          type: string
          description: If there are more than 25 items in the list, only the first 25 items are returned, along with a unique
            string called a next token. To get the next batch of items in the list, call this operation again, adding the
            next token to the call.
        environmentIds:
          type: array
          items:
            type: string
          description: The list of environment identifiers.
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: The name part of a tag.
        Value:
          type: string
          description: The value part of a tag.
      required:
      - Key
      - Value
    UpdateEnvironmentRequest:
      type: object
      properties:
        environmentId:
          type: string
          description: The ID of the environment to change settings.
        name:
          type: string
          description: A replacement name for the environment.
        description:
          type: string
          description: Any new or replacement description for the environment.
        managedCredentialsAction:
          type: string
          enum:
          - ENABLE
          - DISABLE
          description: 'Allows the environment owner to turn on or turn off the Amazon Web Services managed temporary credentials
            for an Cloud9 environment by using one of the following values: ENABLE DISABLE Only the environment owner can
            change the status of managed temporary credentials. An AccessDeniedException is thrown if an attempt to turn on
            or turn off managed temporary credentials is made by an account that''s not the environment owner.'
      required:
      - environmentId
    UpdateEnvironmentResult:
      type: object
      properties: {}
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/cloud9/service/2017-09-23/cloud9-2017-09-23.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)