Get a board with its full working set
const url = 'https://projects.work.optidata.cloud/api/boards/1';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://projects.work.optidata.cloud/api/boards/1 \ --header 'Authorization: Bearer <token>'Returns the board with its members, tags, columns, cards, custom field
definitions, plus the caller’s permissions and per-board preferences —
everything needed to render the kanban view. When attributes[] is
given, returns only those board attributes instead (wrapped in a
board key). Requires view permission.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Board id.
Query Parameters
Section titled “Query Parameters”Return only these board attributes (must be valid board attribute names).
Responses
Section titled “Responses”Full board payload (or partial when attributes[] was used).
object
Owner user id.
Tenant/company identifier the board belongs to.
Parent board id (null for root boards).
Emoji icon.
Default card sort field for new columns.
Map of user id → member (with pivot membership info).
object
object
Membership metadata.
object
Map of tag id → tag (board tags plus common tags).
object
A label. board_id null means a common (tenant-wide) tag.
object
Hex color (e.g. #52eb00).
Map of column id → column.
object
A task list within a board.
object
Column accent color (fixed palette).
Position within the board.
Sticky automatic card sort applied to this column, when set.
The board’s cards (listing attributes).
A task. Derived attributes (tags_ids, assignees_ids, *_count,
human_*, due_date_status, is_time_tracking) are present on single
card reads; list contexts may return a subset of attributes.
object
Creator user id.
Rich-text description (serialized editor document, JSON string).
Position within its column.
Sequential card number within the board.
Opaque id tied to the current due date (used for calendar sync).
Owning checklist (checklist-item cards only).
Cached count of checklist items on this card.
Ids of the card’s tags (as strings; may contain null when empty).
Ids of the card’s assignees (as strings; may contain null when empty).
Truthy when the caller has a running timer on this card.
Localized short due date (e.g. Aug 1, 2026).
Per-card counters (present on search responses).
object
Definition of a custom field. board_id null (and is_global true) means tenant-wide.
object
Type-specific configuration. Examples — text: {multiline, max_length, placeholder, default_value};
select: {options: [{id, label, color}]}; checkbox: {default_value}.
Required fields block card interactions (comments, files, timers) until filled.
The caller’s effective abilities on this board (ability → boolean).
object
The caller’s per-board preferences.
object
object
Partial response when attributes[] is used.
object
object
Examples
Full board
{ "id": 42, "user_id": 7, "group_id": null, "cuid": "a1b2c3d4-0000-4111-8222-333344445555", "name": "Website Redesign", "description": null, "icon": "🎨", "parent_id": null, "archived_at": null, "visibility": "private", "order_cards_by": "order", "order_cards_direction": "asc", "created_at": "2026-03-10T17:09:05.000000Z", "updated_at": "2026-03-10T17:09:05.000000Z", "deleted_at": null, "members": { "7": { "id": 7, "uuid": "0b0d2f1e-6a3c-4f7d-9a21-7c1f2e3d4a5b", "name": "Jane Doe", "avatar_url": "https://cdn.example/avatars/jane.webp", "pivot": { "board_id": 42, "user_id": 7, "permission": "manage", "view_mode": "view_kanban" } } }, "tags": { "88": { "id": 88, "name": "frontend", "description": null, "color": "#52eb00" } }, "columns": { "301": { "id": 301, "board_id": 42, "name": "To do", "description": "", "icon": null, "order": 1, "archived_at": null, "sort_order": null, "color": null } }, "cards": [ { "id": 9001, "board_id": 42, "column_id": 301, "title": "Draft homepage copy", "number": 1, "order": 1, "status": null, "due_date": null } ], "custom_field_definitions": [], "permissions": { "view": true, "interact": true, "edit": true, "manage": true }, "preferences": { "view_mode": "view_kanban", "notification": { "notification_mode": "all", "is_notified_through_app": true, "is_notified_through_email": true } }}attributes[]=name&attributes[]=icon
{ "board": { "name": "Website Redesign", "icon": "🎨" }}Missing, invalid or expired bearer passport.
object
Example
{ "error": "JWT passport exception: Missing bearer token in request"}The authenticated user lacks the required board permission.
object
Example
{ "message": "This action is unauthorized."}Resource not found, or a nested resource does not belong to its parent in the path.
object
Example
{ "message": "Not found."}