---
title: "Create a new project"
method: POST
path: "/v0/projects"
tags: ["Projects"]
---

# Create a new project

`POST /v0/projects`

## Request

- Base URL: `https://api.gem.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gem.com/v0/projects`
- Auth: none declared

Returns the newly created project object.

## Request body

- Project1
  - `user_id` string, ObjectID, required: The user id of the project owner.
  - `name` string, required
  - `privacy_type` 'confidential' | 'personal' | 'shared'
  - `description` string, nullable
  - `project_fields` ProjectFieldProjectMembership[], nullable: Project fields containing the associated values for the project.
    - `id` string, ObjectID
    - `name` string: The name of the project field is unique in its scope.
    - `value` unknown
    - `value_type` 'text' | 'single_select' | 'multi_select': When `value_type` is `text`, `value` is a string. When `value_type` is `single_select`, `value` is a string of an option value. When `value_type` is `multi_select`, `value` is an array of strings of option values.
    - `value_option_ids` string[]
  - `context` string: Summary of top project fields for a project
  - `additional_metadata` ProjectAdditionalMetadata
    - `splash_event_id` string: The Splash event ID associated with this project.

## Response `201`

Created

- Project
  - `id` string, ObjectID
  - `created_at` integer
  - `user_id` string, ObjectID, required: The user id of the project owner.
  - `name` string, required
  - `privacy_type` 'confidential' | 'personal' | 'shared'
  - `description` string, nullable
  - `is_archived` boolean
  - `project_fields` ProjectFieldProjectMembership[], nullable: Project fields containing the associated values for the project.
    - `id` string, ObjectID
    - `name` string: The name of the project field is unique in its scope.
    - `value` unknown
    - `value_type` 'text' | 'single_select' | 'multi_select': When `value_type` is `text`, `value` is a string. When `value_type` is `single_select`, `value` is a string of an option value. When `value_type` is `multi_select`, `value` is an array of strings of option values.
    - `value_option_ids` string[]
  - `context` string: Summary of top project fields for a project
  - `additional_metadata` ProjectAdditionalMetadata
    - `splash_event_id` string: The Splash event ID associated with this project.

## Other responses

- `422`: Unprocessable Content
- `default`: Default error response

---

[API](https://skmtc.dev/gem/apis/gem-crm-api.md) - [All operations](https://skmtc.dev/gem/apis/gem-crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gem/apis/gem-crm-api/revisions/50a984e3c2b5?raw)
