---
title: "Make a project."
method: POST
path: "/v1/projects"
tags: ["projects"]
---

# Make a project.

`POST /v1/projects`

## Request

- Base URL: `https://api.50heads.com`
- URL: `https://api.50heads.com/v1/projects`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.50heads.com/authorize`, token URL `https://auth.50heads.com/token`; client credentials, token URL `https://auth.50heads.com/token`, scopes: `questions:write`)

## Request body

- ProjectsCreateRequest
  - `name` string, required
  - `description` string, nullable
  - `goal` string, nullable

## Response `201`

OK

- ProjectsCreateResponse
  - `project` object, required
    - `id` string, required
    - `name` string, required
    - `description` string, nullable, required
    - `goal` string, nullable, required
    - `bookmarked` boolean, required
    - `archived` boolean, required
    - `costCenter` string, nullable
    - `questionCount` integer, required
    - `createdAt` string, required
    - `updatedAt` string, required

## Other responses

- `400`: The request is not valid; `error.details.validation` lists the fixes.
- `401`: No key or token, or it expired or was revoked.
- `403`: The key or token lacks the scope (`insufficient_scope`), or the action is not allowed.
- `429`: Too many requests; wait for Retry-After.

---

[API](https://skmtc.dev/50heads/apis/50heads-api.md) · [All operations](https://skmtc.dev/50heads/apis/50heads-api/llms.txt) · [OpenAPI document](https://skmtc.dev/50heads/apis/50heads-api/revisions/20175e8b00e3?raw)
