Boards are the top-level containers in Hashboard. Each board holds an ordered set of columns, and each column holds cards. The board API lets you create and manage boards, control their visibility, and fetch a full composite view (board metadata, columns, and cards) in a single round-trip. Columns and their creation endpoint are also documented here; standalone column operations (rename, reorder, archive) are on the Columns page. All endpoints require a bearer token (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/cryguy/hashboard/llms.txt
Use this file to discover all available pages before exploring further.
Authorization: Bearer hb_…) or session cookie. Visibility changes, archival, and deletion are creator-only operations.
GET /api/v1/boards
List every board that is visible to the authenticated principal. Returns live boards by default; pass?archived=true to list archived boards instead.
GET /api/v1/boards
Query Parameters
Pass
true to return archived boards instead of live ones. Any other value (or omitting the parameter) returns live boards.Response
Returns an array ofBoard objects.
Unique board ID (UUID).
Display name of the board.
Optional board description.
One of
private, link-read, link-write, or public. See Visibility modes below.Principal ID of the board creator.
ISO 8601 timestamp.
ISO 8601 timestamp of the last update.
ISO 8601 timestamp if archived, otherwise
null.POST /api/v1/boards
Create a new board. The authenticated principal becomes the board’s creator and can later archive, unarchive, and change visibility. Returns201 Created with the new board.
POST /api/v1/boards
Request Body
The board’s display name.
Optional description rendered on the board page.
One of
private (default), link-read, link-write, or public.Response
Returns the createdBoard object (same shape as the list items above).
GET /api/v1/boards/{id}
Fetch a composite board view in a single request. The response includes the board row, its ordered columns, and every card you can see. This is the same payload served at/boards/{id} with Accept: application/json.
GET /api/v1/boards/{id}
Path Parameters
Board ID.
Response
The board metadata object (same fields as the list response).
Ordered array of columns belonging to this board.
Cards on this board that are visible to the caller, ordered by position within their column.
PATCH /api/v1/boards/{id}
Update one or more fields on a board. All fields are optional; send only what you want to change. Visibility changes are creator-only — other principals receive403.
PATCH /api/v1/boards/{id}
Path Parameters
Board ID.
Request Body
New display name.
New description. Pass
null to clear it.New visibility mode. Creator-only. One of
private, link-read, link-write, public.Response
Returns the updatedBoard object.
POST /api/v1/boards/{id}/archive
Archive a board. Creator-only. Archived boards are hidden from the default list but remain accessible viaGET /api/v1/boards?archived=true and their direct URL. The board’s columns and cards are also considered archived.
POST /api/v1/boards/{id}/archive
Path Parameters
Board ID.
Response
Returns the updatedBoard object with archivedAt set.
POST /api/v1/boards/{id}/unarchive
Restore an archived board to active status. Creator-only.POST /api/v1/boards/{id}/unarchive
Path Parameters
Board ID.
Response
Returns the updatedBoard object with archivedAt set to null.
GET /api/v1/boards/{id}/archived
Retrieve a snapshot of the board’s archived content — the columns and cards that have been individually archived (as opposed to the entire board being archived). Useful for building a restore UI.GET /api/v1/boards/{id}/archived
Path Parameters
Board ID.
Response
Archived columns belonging to this board.
Archived cards belonging to this board that are visible to the caller.
GET /api/v1/boards/{id}/columns
List the live (non-archived) columns of a board in their display order. To create a column, use thePOST variant below.
GET /api/v1/boards/{id}/columns
Path Parameters
Board ID.
Response
Returns an ordered array ofColumn objects (fields described under GET /boards/ above).
POST /api/v1/boards/{id}/columns
Add a new column at the end of a board. Returns201 Created with the new column. To reorder or rename columns after creation see the Columns API.
POST /api/v1/boards/{id}/columns
Path Parameters
Board ID.
Request Body
Column display name.
Response
Returns the createdColumn object.
GET /api/v1/boards/{id}/cards
List all cards on a board that are visible to the caller, ordered by their position within their respective columns. This is a flat list across all columns; use thecolumnId field on each card to group them client-side, or fetch the composite view at GET /api/v1/boards/{id} instead.
GET /api/v1/boards/{id}/cards
Path Parameters
Board ID.
Response
Returns an array ofCard objects (fields described under GET /boards/ above).
GET /api/v1/boards/{id}/activity
Fetch the activity feed for a board, newest events first. Each event records who did what and when. Activity entries survive the deletion of their subject (foreign keys useON DELETE SET NULL).
GET /api/v1/boards/{id}/activity
Path Parameters
Board ID.
Query Parameters
Maximum number of events to return. Defaults to
50.Response
Returns an array ofActivityEvent objects.
Event ID.
Related board ID (may be
null if the board was deleted).Related card ID, if the event is card-scoped.
Related document ID, if the event is doc-scoped.
Principal who performed the action.
Event type string (e.g.
card.created, column.archived).Event-specific payload (structure depends on
type).ISO 8601 timestamp.
Visibility modes
Every board carries avisibility field that controls who can see and interact with it. The value propagates downward: a board’s visibility cascades to its cards, their description documents, and any linked documents.
| Value | Who can read | Who can write |
|---|---|---|
private | Creator’s household + card assignees | Creator’s household |
link-read | Anyone with the board URL | Creator’s household |
link-write | Anyone with the board URL | Anyone with the board URL |
public | Every authenticated user (world-readable) | Creator’s household |
Visibility changes on a board are creator-only. A non-creator who sends a
PATCH with a visibility field receives 403 Forbidden.