Pagination, Filtering & Sorting
Collection endpoints support cursor-based pagination, field sorting, and query filtering.
Collection endpoints support cursor-based pagination, field sorting, and query filtering.
Pagination
I'mBoard uses cursor-based pagination for stable, efficient paging through results. Cursors are opaque tokens — do not parse or construct them.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 25 | Items per page (1–100) |
cursor | string | — | Opaque cursor from a previous response |
Response Meta
{
"data": [ "..." ],
"meta": {
"nextCursor": "eyJ...",
"hasMore": true
}
}nextCursor— pass as?cursor=to fetch the next page;nullwhen there are no more resultshasMore—falsewhen you have reached the last page
Example: Paginating Through Boards
# First page (10 items)
curl -s "https://app.imboard.ai/api/v1/boards?limit=10" \
-H "Authorization: Bearer imb_pat_YOUR_TOKEN"
# Next page — pass the cursor
curl -s "https://app.imboard.ai/api/v1/boards?limit=10&cursor=eyJ..." \
-H "Authorization: Bearer imb_pat_YOUR_TOKEN"Keep fetching while hasMore is true. When hasMore is false and nextCursor is null, you have all results.
Sorting
| Parameter | Type | Default | Description |
|---|---|---|---|
sort | string | endpoint-specific | Field to sort by |
order | string | desc | Sort direction: asc or desc |
Sort Fields by Endpoint
| Endpoint | Default Sort | Allowed Sort Fields |
|---|---|---|
GET /boards | updatedAt desc | createdAt, updatedAt |
GET /boards/:boardId/members | createdAt desc | createdAt |
GET /boards/:boardId/meetings | startTime desc | startTime |
GET /boards/:boardId/documents | updatedAt desc | updatedAt |
GET /boards/:boardId/reports | updatedAt desc | updatedAt |
GET /boards/:boardId/reports/:reportId/dashboards | updatedAt desc | updatedAt |
Requesting a sort field that is not in the allowed list returns INVALID_QUERY_PARAMETER.
Filtering
Some collection endpoints accept additional query parameters for filtering results. Supported filters vary by endpoint.
Filters by Endpoint
| Endpoint | Filter | Type | Description |
|---|---|---|---|
GET /boards/:boardId/meetings | status | string | Filter by meeting status |
GET /boards/:boardId/meetings | startAfter | ISO-8601 | Meetings starting after this time (exclusive) |
GET /boards/:boardId/meetings | startBefore | ISO-8601 | Meetings starting before this time (exclusive) |
GET /boards/:boardId/documents | meetingId | string | Filter to documents linked to this meeting |
GET /boards/:boardId/documents | documentType | string | Filter by document type |
GET /boards/:boardId/reports | status | string | Filter by report status (e.g. draft, published) |
GET /boards/:boardId/reports/:reportId/dashboards | dashboardType | string | Filter by dashboard type (e.g. financial, hr, sales) |
GET /boards and GET /boards/:boardId/members do not currently support filters.
Unknown Query Parameters
The API rejects unknown query parameters rather than silently ignoring them. This prevents typos from producing unexpected results.