Skip to main content

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.

Every mutation in Hashboard is recorded as an activity event inside the same database transaction as the mutation itself — the feed can never be ahead of or behind the state it describes. Events are stored in an append-only log; they are never updated or removed. Object foreign keys in the activity table use ON DELETE SET NULL, so deleting a card, board, or document does not erase the events that referenced it — history outlives the resources it records. Activity feeds are returned newest-first. The only pagination control in v1 is the ?limit= parameter — there is no cursor or offset.

Endpoints

Board activity feed

GET /api/v1/boards/{id}/activity?limit={n}
Returns events scoped to the board: column additions, card moves, board metadata changes, archival, and so on.
id
string
required
The board ID. Returns 404 if the board does not exist or is not visible to you.
limit
number
Maximum number of events to return. Defaults to 50. There is no minimum.
Response — array of ActivityEvent objects, newest first.

Card activity feed

GET /api/v1/cards/{id}/activity?limit={n}
Returns events scoped to the card: comment posts, label additions/removals, assignee changes, description edits, moves, and archival.
id
string
required
The card ID. Returns 404 if the card does not exist or is not visible to you.
limit
number
Maximum number of events to return. Defaults to 50.

Document activity feed

GET /api/v1/docs/{id}/activity?limit={n}
Returns events scoped to a standalone document or a card description doc: saves (with version number), comment posts, visibility changes.
id
string
required
The document ID. Returns 404 if the document does not exist or is not visible to you.
limit
number
Maximum number of events to return. Defaults to 50.

Response shape

Each feed returns an array of ActivityEvent objects:
id
string
UUID of the event.
boardId
string | null
ID of the related board, or null if the board has been deleted.
cardId
string | null
ID of the related card, or null if the card has been deleted.
docId
string | null
ID of the related document, or null if the document has been deleted.
actorId
string
Principal ID of the actor who triggered the event. Never null — events are always attributed.
type
string
Event type string, e.g. "card.created", "comment.added", "doc.saved". The set of types is determined by the service layer and may grow in future versions.
data
unknown
Structured payload for the event type. Shape varies by type. May include referenced IDs, old/new values, or other context.
createdAt
string
ISO 8601 timestamp when the event was recorded.

Example

curl 'https://hashboard.example.com/api/v1/cards/CARD_ID/activity?limit=10' \
  -H 'Authorization: Bearer hb_TOKEN'
[
  {
    "id": "f1e2d3c4-...",
    "boardId": "a1b2c3d4-...",
    "cardId": "e5f6a7b8-...",
    "docId": null,
    "actorId": "c9d0e1f2-...",
    "type": "comment.added",
    "data": { "commentId": "b3a4c5d6-..." },
    "createdAt": "2026-08-10T14:23:01.000Z"
  },
  {
    "id": "a8b9c0d1-...",
    "boardId": "a1b2c3d4-...",
    "cardId": "e5f6a7b8-...",
    "docId": null,
    "actorId": "c9d0e1f2-...",
    "type": "card.moved",
    "data": { "columnId": "d2e3f4a5-...", "fromColumnId": "b6c7d8e9-..." },
    "createdAt": "2026-08-10T11:05:44.000Z"
  }
]

Access control

Activity feed routes assert access to the subject resource before returning any events. Calling a feed endpoint for a board, card, or document you cannot read returns 404 — the same response as a missing resource, so visibility is not confirmed to outsiders.
Because object foreign keys use ON DELETE SET NULL, an event whose cardId is null does not mean the event was not about a card — the card may simply have been deleted after the event was recorded. The data payload typically includes the relevant IDs as plain values so agents can reconstruct what happened even after the referenced object is gone.

Build docs developers (and LLMs) love