Appearance
projects
12 endpoints at a glance
| Method | Path | Summary |
|---|---|---|
GET | /projects | List Projects |
POST | /projects | Create Project |
DELETE | /projects/{project_id} | Delete Project |
GET | /projects/{project_id} | Get Project |
PATCH | /projects/{project_id} | Update Project |
GET | /projects/{project_id}/children | List Children |
GET | /projects/{project_id}/descendants | List Descendants |
GET | /projects/{project_id}/members | List Members |
POST | /projects/{project_id}/members | Add Member |
DELETE | /projects/{project_id}/members/{member_username} | Remove Member |
PATCH | /projects/{project_id}/members/{member_username} | Change Member Role |
GET | /projects/inbox | Get Inbox |
projects
List Projects
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"
{
}
Get Inbox
Get Project
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
Requiredstring
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
Update Project
PATCH
/projects/{project_id}
Parameters
Header Parameters
authorization
Path Parameters
project_id*
Type
Requiredstring
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"
{
}
List Children
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
Requiredstring
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}
List Members
Add Member
Remove Member
Change Member Role
PATCH
/projects/{project_id}/members/{member_username}
Parameters
Header Parameters
authorization
Path Parameters
project_id*
Type
Requiredstring
member_username*
Type
Requiredstring
Request Body
application/json
JSON "role": "string"
{
}
Responses
Successful Response
application/json
JSON "additionalProperties": "string"
{
}