---
name: "projects_create"
area: "projects"
title: "Create a project"
price: "$0.001"
method: "POST"
url: "https://api.conecto.chat/v1/tools/projects_create"
mcp_server: "https://api.conecto.chat/mcp/projects"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/projects/projects_create"
---

# Create a project (`projects_create`)

Creates a board of tasks with a short key that numbers them, and its own statuses if you like.

A board of tasks with a short key that numbers them (WEB-1, WEB-2). Statuses default to Backlog, To do, In progress, Done and Canceled; give your own as [{"name": ..., "kind": "backlog|unstarted|started|completed|canceled"}] in board order.

Price: $0.001 a call. A call that fails costs nothing.

## Use it when

A piece of work has several steps and people: a sale, a refit, a launch.

## Say this to your agent

> Start a project board for the autumn sale, numbered SALE.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `name` | string | yes | 1 to 80 characters. |  |  |
| `key` | string | no | 2 to 6 letters or digits; made from the name when left out. Matches ^[A-Za-z][A-Za-z0-9]{1,5}$. |  |  |
| `description` | string | no | Up to 2,000 characters. |  |  |
| `statuses` | array of objects | no | 2 to 12 items. |  |  |
| `statuses[].name` | string | yes, in each item of `statuses` | 1 to 40 characters. |  |  |
| `statuses[].kind` | string | yes, in each item of `statuses` |  | `"backlog"`, `"unstarted"`, `"started"`, `"completed"`, `"canceled"` |  |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `projects_create` on the MCP server `https://api.conecto.chat/mcp/projects` with these arguments:

```json
{
  "name": "Autumn sale",
  "key": "SALE",
  "description": "Everything for the sale from October 24 to 31."
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/projects_create \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Autumn sale", "key": "SALE", "description": "Everything for the sale from October 24 to 31."}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "projects_create",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.001",
  "balance_usd": "$19.75",
  "result": {
    "project": {
      "key": "SALE",
      "name": "Autumn sale",
      "description": "Everything for the sale from October 24 to 31.",
      "statuses": [
        {
          "name": "Backlog",
          "kind": "backlog"
        },
        {
          "name": "To do",
          "kind": "unstarted"
        }
      ],
      "archived": false
    }
  }
}
```

`result`: project: its key, name, description and statuses.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `invalid_input` | 400 | Two statuses share a name, or none is a start or a done status. | Give each status its own name, with one backlog or unstarted and one completed. |
| `key_taken` | 409 | Another project has that key. | Pick another key. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [projects_list](https://conecto.chat/tools/projects/projects_list.md): Every project with how many tasks are in each status. Free up to 1,000,000 reads a month.
- [projects_board](https://conecto.chat/tools/projects/projects_board.md): A project as a board: each status with its tasks in order. Free up to 1,000,000 reads a month.
- [tasks_create](https://conecto.chat/tools/projects/tasks_create.md): Adds a task to a project, numbered like SALE-13, with status, priority, assignee, labels, due date, CRM links or a parent. $0.01 a call.
- [tasks_update](https://conecto.chat/tools/projects/tasks_update.md): Changes a task: status, assignee, priority, labels, due date, title, description, CRM links or its place in the column. $0.01 a call.
- [tasks_list](https://conecto.chat/tools/projects/tasks_list.md): Open tasks across projects or in one, most urgent first, filtered by status, assignee, label, priority, due date or words. Free up to 1,000,000 reads a month.
- [tasks_get](https://conecto.chat/tools/projects/tasks_get.md): One task in full: description, links, subtasks, comments and history. Free up to 1,000,000 reads a month.
- [tasks_comment](https://conecto.chat/tools/projects/tasks_comment.md): Adds a comment in Markdown to a task's thread. $0.01 a call.
- [tasks_delete](https://conecto.chat/tools/projects/tasks_delete.md): Deletes a task and its subtasks for good. Free.
