Skip to content

projects

12 endpoints at a glance
MethodPathSummary
GET/projectsList Projects
POST/projectsCreate Project
DELETE/projects/{project_id}Delete Project
GET/projects/{project_id}Get Project
PATCH/projects/{project_id}Update Project
GET/projects/{project_id}/childrenList Children
GET/projects/{project_id}/descendantsList Descendants
GET/projects/{project_id}/membersList Members
POST/projects/{project_id}/membersAdd Member
DELETE/projects/{project_id}/members/{member_username}Remove Member
PATCH/projects/{project_id}/members/{member_username}Change Member Role
GET/projects/inboxGet Inbox

projects


List Projects

GET
/projects

Parameters

Header Parameters

authorization

Query Parameters

status
include_archived
Type
boolean
Default
false
page
Type
integer
Default
1
limit
Type
integer
Default
50

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Create Project

POST
/projects

Parameters

Header Parameters

authorization

Request Body

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"status": "active",
  
"start_date": "string",
  
"due_date": "string",
  
"tag_ids": [
  
  
"string"
  
],
  
"parent_project_id": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Body

Samples


Get Inbox

GET
/projects/inbox

Return (or create) the user's Inbox project.

Parameters

Header Parameters

authorization

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers

Samples


Get Project

GET
/projects/{project_id}

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Delete Project

DELETE
/projects/{project_id}

Hard delete a project AND all its tasks/comments/links.

Refuses to delete the Inbox. Archive (PATCH status=archived) is the
soft-keep option.

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Update Project

PATCH
/projects/{project_id}

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"status": "string",
  
"start_date": "string",
  
"due_date": "string",
  
"tag_ids": [
  
  
"string"
  
],
  
"custom_fields": {
  
  
"additionalProperties": "string"
  
},
  
"statuses": [
  
  
{
  
  
  
"id": "string",
  
  
  
"name": "string",
  
  
  
"kind": "string",
  
  
  
"color": "string",
  
  
  
"position": 0
  
  
}
  
],
  
"parent_project_id": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


List Children

GET
/projects/{project_id}/children

Direct sub-projects visible to the caller (phase 6 hierarchy).

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


List Descendants

GET
/projects/{project_id}/descendants

Full visible sub-tree under a project (phase 6 hierarchy rollup).

Unlike /children (one level), this walks the whole tree. Each item
is a public_project so the caller gets every descendant's name +
effective statuses in one round trip — used by the parent's Tasks tab
to group sub-project tasks and resolve their status labels.

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


List Members

GET
/projects/{project_id}/members

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Add Member

POST
/projects/{project_id}/members

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required

Request Body

application/json
JSON
{
  
"username": "string",
  
"role": "editor"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


Remove Member

DELETE
/projects/{project_id}/members/{member_username}

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required
member_username*
Type
string
Required

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value

Samples


Change Member Role

PATCH
/projects/{project_id}/members/{member_username}

Parameters

Header Parameters

authorization

Path Parameters

project_id*
Type
string
Required
member_username*
Type
string
Required

Request Body

application/json
JSON
{
  
"role": "string"
}

Responses

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground

Headers
Variables
Key
Value
Body

Samples


Kancil — one workspace for contacts, work and money.