---
title: "PUT /v1/spaces/{spaceName}/projects/{projectName}/devEnvironments"
method: PUT
path: "/v1/spaces/{spaceName}/projects/{projectName}/devEnvironments"
---

# PUT /v1/spaces/{spaceName}/projects/{projectName}/devEnvironments

`PUT /v1/spaces/{spaceName}/projects/{projectName}/devEnvironments`

Creates a Dev Environment in Amazon CodeCatalyst, a cloud-based development environment that you can use to quickly work on the code stored in the source repositories of your project.

When created in the Amazon CodeCatalyst console, by default a Dev Environment is configured to have a 2 core processor, 4GB of RAM, and 16GB of persistent storage. None of these defaults apply to a Dev Environment created programmatically.

## Path parameters

- `spaceName` string, required
- `projectName` string, required

## Request body

- object
  - `repositories` RepositoryInput[] — The source repository that contains the branch to clone into the Dev Environment.
    - `repositoryName` string, required — The name of the source repository.
    - `branchName` string — The name of the branch in a source repository.
  - `clientToken` string — A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries return the result from the original successful request and have no additional effect.
  - `alias` string — The user-defined alias for a Dev Environment.
  - `ides` IdeConfiguration[] — <p>Information about the integrated development environment (IDE) configured for a Dev Environment.</p> <note> <p>An IDE is required to create a Dev Environment. For Dev Environment creation, this field contains configuration information and must be provided. </p> </note>
    - `runtime` string — <p>A link to the IDE runtime image. </p> <note> <p>This parameter is not required for <code>VSCode</code>.</p> </note>
    - `name` string — The name of the IDE. Valid values include <code>Cloud9</code>, <code>IntelliJ</code>, <code>PyCharm</code>, <code>GoLand</code>, and <code>VSCode</code>.
  - `instanceType` 'dev.standard1.small' | 'dev.standard1.medium' | 'dev.standard1.large' | 'dev.standard1.xlarge', required — The Amazon EC2 instace type to use for the Dev Environment.
  - `inactivityTimeoutMinutes` integer — The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. Only whole integers are allowed. Dev Environments consume compute minutes when running.
  - `persistentStorage` object, required — Information about the configuration of persistent storage for a Dev Environment.
    - `sizeInGiB` integer — <p>The size of the persistent storage in gigabytes (specifically GiB).</p> <note> <p>Valid values for storage are based on memory sizes in 16GB increments. Valid values are 16, 32, and 64.</p> </note>
  - `vpcConnectionName` string — The name of the connection that will be used to connect to Amazon VPC, if any.

## Response `201`

Success

- CreateDevEnvironmentResponse
  - `spaceName` string, required — The name of the space.
  - `projectName` string, required — The name of the project in the space.
  - `id` string, required — The system-generated unique ID of the Dev Environment.
  - `vpcConnectionName` string — The name of the connection used to connect to Amazon VPC used when the Dev Environment was created, if any.

## Other responses

- `480` — ThrottlingException
- `481` — ConflictException
- `482` — ValidationException
- `483` — ServiceQuotaExceededException
- `484` — ResourceNotFoundException
- `485` — AccessDeniedException

---

[API](https://skmtc.net/aws/apis/codecatalyst.md) · [All operations](https://skmtc.net/aws/apis/codecatalyst/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/codecatalyst/versions/b82f5a10dc49/schema)
