I'mBoardDocs
Resources

Meetings

Board meeting scheduling, location, and lifecycle management.

A meeting represents a board meeting with scheduling, location, and lifecycle details. Meetings are scoped to a specific board.

Endpoints

MethodPathDescription
GET/api/v1/boards/:boardId/meetingsList meetings
GET/api/v1/boards/:boardId/meetings/:meetingIdGet a meeting
POST/api/v1/boards/:boardId/meetingsCreate a meeting
PATCH/api/v1/boards/:boardId/meetings/:meetingIdUpdate a meeting

Meeting Object

{
  "object": "meeting",
  "id": "60d5ec49f1a2c8b1f8e4e1b1",
  "boardId": "60d5ec49f1a2c8b1f8e4e1a1",
  "title": "Q2 Board Review",
  "status": "scheduled",
  "locationType": "virtual",
  "location": null,
  "virtualMeetingUrl": "https://zoom.us/j/123456789",
  "startTime": "2025-07-15T14:00:00.000Z",
  "endTime": "2025-07-15T16:00:00.000Z",
  "createdByUserId": "507f1f77bcf86cd799439011",
  "createdAt": "2025-06-01T10:00:00.000Z",
  "updatedAt": "2025-06-10T09:30:00.000Z"
}

Fields

FieldTypeDescription
object"meeting"Always "meeting"
idstringOpaque meeting ID
boardIdstringThe board this meeting belongs to
titlestringMeeting title
statusstringLifecycle status: draft, scheduled, in_progress, completed, finalized. A draft is private to its creator — see Draft privacy
locationTypestring | nullvirtual, in_person, or hybrid
locationstring | nullPhysical location address
virtualMeetingUrlstring | nullURL for the virtual meeting
startTimestring | nullScheduled start time (ISO-8601)
endTimestring | nullScheduled end time (ISO-8601)
createdByUserIdstringID of the user who created the meeting
createdAtstringISO-8601 timestamp
updatedAtstringISO-8601 timestamp

List Meetings

GET /api/v1/boards/:boardId/meetings

Supports filtering by status, startAfter, and startBefore. See Pagination, Filtering & Sorting.

Other members' draft meetings are omitted — see Draft privacy.

Example

curl -s "https://app.imboard.ai/api/v1/boards/BOARD_ID/meetings?status=scheduled&order=asc" \
  -H "Authorization: Bearer imb_pat_YOUR_TOKEN" | jq

Get a Meeting

GET /api/v1/boards/:boardId/meetings/:meetingId

A draft meeting is private to its creator; any other caller receives 404.

Besides the fields of the list read, the single-meeting read carries:

FieldDescription
minutesItems (id, order, title, status, any filed vote), the frozen quorum statement and the last edit time. null when there are none, when you may not read them yet (another member's meeting before it is completed), or for a board access token.
actionItemsThe meeting's action items. null for a board access token or a token without boards:read.
agendaEvery agenda entry in order: id, order, title, isSection, documents ({ id, title } of the documents on that item you may see; [] for a section; null for a board access token or a token without documents:read). An item's id is the agendaItemId the meeting-document routes take.

Create a Meeting

See Create & Update Meeting guide.

Update a Meeting

See Create & Update Meeting guide.

A draft meeting can only be updated by its creator; any other caller receives 404 and the meeting is left unchanged.

Draft privacy

A meeting with status draft is private to the member who created it — the status means "Private draft - only visible to you", and the API enforces that:

  • List omits other members' drafts, so status=draft returns only your own.
  • GET and PATCH of another member's draft return 404, as do that meeting's slot and action-item routes. The API does not confirm that a draft you cannot see exists.
  • Only the creator can move a meeting into draft; another member attempting it gets 403.
  • A board access token has no user identity, so it sees no drafts at all.

Every other status is visible to all board members.

On this page