NoteBugsDocs

API reference

Board

The single payload of a workspace.

This is the route the interface calls on every open. Whoever integrates from outside usually prefers the per-resource routes, which return far less, but this is the only one that gives the whole board in a single request.

GET/api/board
Role: ViewerWorkspace

The complete board of ONE workspace, in a single payload.

Carries tenants, columns, projects, epics, labels, templates, cards, links and the settings. Cards come as a flat list rather than nested by column: each card carries the columnId it belongs to.

Query parameters

FieldTypeDescription
tenantcuidThe workspace asked for. An id the account does not reach falls back to its first workspace, and the response's tenantId is how you find that out.When absent: o primeiro espaço da pessoa

Request

curl -s "http://localhost:3000/api/board?tenant=cmsp4djx60002p801o7ybpkv7" \
  -H "Authorization: Bearer $TOKEN"

Response200

{
  "tenants": [
    { "id": "cmsp4djx60002p801o7ybpkv7", "name": "Pessoal", "color": "amber", "position": 0, "cardCount": 12, "projectCount": 2 }
  ],
  "tenantId": "cmsp4djx60002p801o7ybpkv7",
  "columns": [
    { "id": "cmttg1vdl000tlf01uuqhz8ad", "projectId": null, "name": "A fazer", "accent": "stone", "position": 0, "done": false }
  ],
  "projects": [
    { "id": "cmttg1vjy000zlf015g097nhi", "name": "Integrações", "description": null, "color": "sky", "position": 0 }
  ],
  "epics": [
    { "id": "cmttg1vs50015lf010l6k38uq", "projectId": "cmttg1vjy000zlf015g097nhi", "name": "Onboarding", "description": null, "color": "amber", "status": "ACTIVE", "locked": false, "dueAt": "2026-10-31T23:59:00.000Z", "dueAtZone": "America/Sao_Paulo", "position": 0 }
  ],
  "tags": [{ "id": "cmttg1vnk0011lf01q0eswms5", "name": "api", "color": "mint" }],
  "templates": [],
  "cards": [],
  "relations": [],
  "settings": {
    "allowCrossProjectLinks": false,
    "epicsEnabled": true,
    "columnScope": "TENANT",
    "uploadMode": "ALL"
    // … the remaining ApiSettings fields; see GET /api/settings
  }
}

Error responses

CodeWhen it happens
401No credential, or one that no longer holds. Send the session cookie or the Authorization: Bearer header.
403The account does not reach the resource's workspace. It is 403 and not 404 on purpose: the answer reveals no workspace.

Whoever is a member of no workspace gets an empty payload, not a 403: it is a state of the account, not a failure. Comments and history stay outside this payload.