---
title: "Create a Project"
method: POST
path: "/v2/projects"
tags: ["DigitalOcean-public.v2-new_Projects"]
---

# Create a Project

`POST /v2/projects`

To create a project, send a POST request to `/v2/projects`.

## Request body

- ProjectBase
  - `id` string, uuid — The unique universal identifier of this project.
  - `owner_uuid` string — The unique universal identifier of the project owner.
  - `owner_id` integer — The integer id of the project owner.
  - `name` string — The human-readable name for the project. The maximum length is 175 characters and the name must be unique.
  - `description` string — The description of the project. The maximum length is 255 characters.
  - `purpose` string — The purpose of the project. The maximum length is 255 characters. It can have one of the following values: - Just trying out DigitalOcean - Class project / Educational purposes - Website or blog - Web Application - Service or API - Mobile Application - Machine learning / AI / Data processing - IoT - Operational / Developer tooling If another value for purpose is specified, for example, "your custom purpose", your purpose will be stored as `Other: your custom purpose`.
  - `environment` 'Development' | 'Staging' | 'Production' — The environment of the project's resources.
  - `created_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the project was created.
  - `updated_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the project was updated.

## Response `201`

The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes

- object
  - `project` Project
    - `id` string, uuid — The unique universal identifier of this project.
    - `owner_uuid` string — The unique universal identifier of the project owner.
    - `owner_id` integer — The integer id of the project owner.
    - `name` string — The human-readable name for the project. The maximum length is 175 characters and the name must be unique.
    - `description` string — The description of the project. The maximum length is 255 characters.
    - `purpose` string — The purpose of the project. The maximum length is 255 characters. It can have one of the following values: - Just trying out DigitalOcean - Class project / Educational purposes - Website or blog - Web Application - Service or API - Mobile Application - Machine learning / AI / Data processing - IoT - Operational / Developer tooling If another value for purpose is specified, for example, "your custom purpose", your purpose will be stored as `Other: your custom purpose`.
    - `environment` 'Development' | 'Staging' | 'Production' — The environment of the project's resources.
    - `created_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the project was created.
    - `updated_at` string, date-time — A time value given in ISO8601 combined date and time format that represents when the project was updated.
    - `is_default` boolean — If true, all resources will be added to this project if no project is specified.

## Other responses

- `401` — Authentication failed due to invalid credentials.
- `429` — The API rate limit has been exceeded.
- `500` — There was a server error.
- `default` — There was an unexpected error.

---

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