Overview
Projects live inside workspaces and contain one or more boards. They represent specific initiatives, products, or workflows.
List Projects
List all projects in a workspace.
GET /api/trpc/projects.list?input={"json":{"workspaceId":"wsp_01HXK5..."}}
Input Parameters:
| Parameter | Type | Required | Description |
|---|
workspaceId | string | Yes | Workspace ID |
cursor | string | No | Pagination cursor |
limit | number | No | Results per page (default: 50) |
search | string | No | Search by project name |
archived | boolean | No | Include archived projects (default: false) |
Response:
{
"result": {
"data": {
"json": {
"projects": [
{
"id": "prj_01HXK5QJBN3YZXM8KJP2RSNV4C",
"name": "Platform v2",
"description": "Next-generation platform redesign",
"workspaceId": "wsp_01HXK5...",
"icon": "rocket",
"boardCount": 3,
"itemCount": 142,
"createdBy": "usr_01HXK5...",
"createdAt": "2026-02-01T10:00:00.000Z",
"updatedAt": "2026-03-19T14:30:00.000Z"
}
],
"nextCursor": null
}
}
}
}
Get Project
Retrieve a specific project with its boards.
GET /api/trpc/projects.get?input={"json":{"id":"prj_01HXK5..."}}
Response:
{
"result": {
"data": {
"json": {
"id": "prj_01HXK5QJBN3YZXM8KJP2RSNV4C",
"name": "Platform v2",
"description": "Next-generation platform redesign",
"workspaceId": "wsp_01HXK5...",
"icon": "rocket",
"boards": [
{
"id": "brd_01HXK5...",
"name": "Sprint Board",
"defaultView": "board"
},
{
"id": "brd_01HXK6...",
"name": "Backlog",
"defaultView": "table"
}
],
"createdBy": "usr_01HXK5...",
"createdAt": "2026-02-01T10:00:00.000Z"
}
}
}
}
Create Project
Create a new project in a workspace.
POST /api/trpc/projects.create
Request:
{
"json": {
"workspaceId": "wsp_01HXK5...",
"name": "Mobile App",
"description": "iOS and Android mobile application",
"icon": "mobile",
"templateId": "tpl_01HXK5..."
}
}
| Field | Type | Required | Description |
|---|
workspaceId | string | Yes | Parent workspace ID |
name | string | Yes | Project name (1-100 characters) |
description | string | No | Project description |
icon | string | No | Icon identifier |
templateId | string | No | Template ID to use as starting structure |
Response:
Returns the created project with a default board.
Update Project
POST /api/trpc/projects.update
Request:
{
"json": {
"id": "prj_01HXK5...",
"name": "Mobile App v2",
"description": "Updated mobile application project"
}
}
Delete Project
Permanently delete a project and all its boards and items.
POST /api/trpc/projects.delete
Request:
{
"json": {
"id": "prj_01HXK5..."
}
}
Deleting a project permanently removes all boards, items, comments, and files within it. This action cannot be undone. Consider archiving instead.
Duplicate Project
Create a copy of a project with its board structure.
POST /api/trpc/projects.duplicate
Request:
{
"json": {
"id": "prj_01HXK5...",
"name": "Mobile App (Copy)",
"includeItems": false,
"includeAutomations": true
}
}
| Field | Type | Required | Description |
|---|
id | string | Yes | Source project ID |
name | string | No | Name for the copy (default: original + “(Copy)“) |
includeItems | boolean | No | Include items in the copy (default: false) |
includeAutomations | boolean | No | Include automation rules (default: true) |
Archive / Restore
POST /api/trpc/projects.archive
{ "json": { "id": "prj_01HXK5..." } }
POST /api/trpc/projects.restore
{ "json": { "id": "prj_01HXK5..." } }