Skip to content

Meetings

Base path: /api/org/{slug}/meetings. Creating a meeting requires the organization’s Master Seal (ORG_SEAL_REQUIRED otherwise) — meeting records are sealed.

Method · RoutePurpose
GET /List meetings (participants + RSVP status)
GET /{meetingId}Meeting detail
POST /Create a meeting — sends RSVP invitation emails to member and external participants
PUT /{meetingId}/minutesSave minutes
GET /api/meetings/rsvp/{participantId}/{response}Signed RSVP link from the invitation email (accepted / declined / tentative)
TypeValueStatus
TeamMeeting0Available
Client1Available
BoardMeeting10Available (2026-08-16) — see below
Shareholder11On development
Executive12On development

Type = BoardMeeting is gated on the organization’s Board of Directors:

  • BOARD_REQUIRED — the organization has no board (or no directors). Seat directors first by inviting members with the Director role (Members → Director invitations).
  • BOARD_CHAIRMAN_REQUIRED — the board has no chairman. Designate one via PUT /api/org/{slug}/board/chairman (personal seal required); the dashboard’s New Meeting modal offers this in place when the chairman is missing.

The dashboard pre-selects all board members as participants; the roster’s shareholding percentages (SharePercent) are available for minutes (quorum / attendance share).

FieldTypeNotes
Titlestringrequired
Typeintsee meeting types above
Modeint0 = Offline, 1 = Online (LiveKit provider)
ScheduledAtUTC datetime
DurationMinutesint
Location, Agendastring?optional
ParticipantConnectedIdsGuid[]member participants
ExternalParticipants[{ Email }]external invitees (email RSVP)