Overview

Boards are the main working areas containing groups, columns, and items. Each board belongs to a project and can have multiple views.

Get Board

Retrieve a board with its groups and columns.
GET /api/trpc/boards.get?input={"json":{"id":"brd_01HXK5..."}}
Response:
{
  "result": {
    "data": {
      "json": {
        "id": "brd_01HXK5QJBN3YZXM8KJP2RSNV4C",
        "name": "Sprint Board",
        "projectId": "prj_01HXK5...",
        "defaultView": "board",
        "groups": [
          {
            "id": "grp_01HXK5...",
            "name": "To Do",
            "color": "#6366f1",
            "position": 0,
            "collapsed": false
          },
          {
            "id": "grp_01HXK6...",
            "name": "In Progress",
            "color": "#f59e0b",
            "position": 1,
            "collapsed": false
          },
          {
            "id": "grp_01HXK7...",
            "name": "Done",
            "color": "#22c55e",
            "position": 2,
            "collapsed": false
          }
        ],
        "columns": [
          {
            "id": "col_01HXK5...",
            "name": "Status",
            "type": "status",
            "position": 0,
            "config": {
              "labels": [
                { "id": "lbl_1", "name": "To Do", "color": "#6366f1" },
                { "id": "lbl_2", "name": "In Progress", "color": "#f59e0b" },
                { "id": "lbl_3", "name": "Done", "color": "#22c55e", "isDone": true }
              ]
            }
          },
          {
            "id": "col_01HXK6...",
            "name": "Assignee",
            "type": "people",
            "position": 1,
            "config": { "multiple": true }
          }
        ],
        "createdAt": "2026-02-01T10:00:00.000Z"
      }
    }
  }
}

Create Board

Create a new board in a project.
POST /api/trpc/boards.create
Request:
{
  "json": {
    "projectId": "prj_01HXK5...",
    "name": "Bug Tracker",
    "defaultView": "table",
    "groups": [
      { "name": "Open", "color": "#ef4444" },
      { "name": "Fixed", "color": "#22c55e" },
      { "name": "Closed", "color": "#6b7280" }
    ],
    "columns": [
      { "name": "Severity", "type": "dropdown", "config": { "options": ["Critical", "Major", "Minor", "Trivial"] } },
      { "name": "Reporter", "type": "people" },
      { "name": "Due Date", "type": "date" }
    ]
  }
}
FieldTypeRequiredDescription
projectIdstringYesParent project ID
namestringYesBoard name (1-100 characters)
defaultViewstringNoDefault view: board, table, timeline, calendar, visual
groupsarrayNoInitial groups (default: “New Group”)
columnsarrayNoInitial columns (default: Status, People)
templateIdstringNoTemplate ID for board structure

Update Board

POST /api/trpc/boards.update
{
  "json": {
    "id": "brd_01HXK5...",
    "name": "Bug Tracker v2",
    "defaultView": "board"
  }
}

Delete Board

POST /api/trpc/boards.delete
{
  "json": {
    "id": "brd_01HXK5..."
  }
}

Group Operations

Create Group

POST /api/trpc/boards.groups.create
{
  "json": {
    "boardId": "brd_01HXK5...",
    "name": "Backlog",
    "color": "#8b5cf6",
    "position": 0
  }
}

Update Group

POST /api/trpc/boards.groups.update
{
  "json": {
    "id": "grp_01HXK5...",
    "name": "Sprint Backlog",
    "color": "#a855f7",
    "collapsed": true
  }
}

Reorder Groups

POST /api/trpc/boards.groups.reorder
{
  "json": {
    "boardId": "brd_01HXK5...",
    "groupIds": ["grp_01HXK7...", "grp_01HXK5...", "grp_01HXK6..."]
  }
}

Delete Group

POST /api/trpc/boards.groups.delete
{
  "json": {
    "id": "grp_01HXK5...",
    "moveItemsTo": "grp_01HXK6..."
  }
}
When deleting a group, specify moveItemsTo to move its items to another group. If not specified, all items in the group will be deleted.