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.