Chapter 9 GET POST

getMeetings – List All Meetings

The getMeetings endpoint returns a list of all meetings currently existing on the BigBlueButton server, including participant details and metadata. It is the primary tool for building admin dashboards, monitoring server load, and performing capacity planning across your infrastructure.

Endpoint

GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum

This endpoint does not require any additional parameters beyond the checksum. It returns all meetings on the server in a single response.

Parameters

Parameter Type Required Default Description
checksum String Yes Security checksum computed from the API call name and the shared secret.

Example Request

https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum

Example Response

Meetings Found

<response>
  <returncode>SUCCESS</returncode>
  <meetings>
    <meeting>
      <meetingName>Demo Meeting</meetingName>
    <meetingID>replace-with-meeting-id</meetingID>
      <internalMeetingID>a0715c95...</internalMeetingID>
      <createTime>1531241258036</createTime>
      <createDate>Tue Jul 10 16:47:38 UTC 2018</createDate>
      <voiceBridge>70066</voiceBridge>
      <dialNumber>613-555-1234</dialNumber>
      <attendeePW>ap</attendeePW>
      <moderatorPW>mp</moderatorPW>
      <running>true</running>
      <duration>0</duration>
      <hasUserJoined>true</hasUserJoined>
      <recording>false</recording>
      <hasBeenForciblyEnded>false</hasBeenForciblyEnded>
      <startTime>1531241258074</startTime>
      <endTime>0</endTime>
      <participantCount>5</participantCount>
      <listenerCount>2</listenerCount>
      <voiceParticipantCount>3</voiceParticipantCount>
      <videoCount>2</videoCount>
      <maxUsers>0</maxUsers>
      <moderatorCount>1</moderatorCount>
      <attendees>
        <attendee>
          <userID>w_ftcrsyuh44oj</userID>
          <fullName>Max Mustermann</fullName>
          <role>MODERATOR</role>
          <isPresenter>true</isPresenter>
          <isListeningOnly>false</isListeningOnly>
          <hasJoinedVoice>true</hasJoinedVoice>
          <hasVideo>true</hasVideo>
          <clientType>HTML5</clientType>
        </attendee>
      </attendees>
      <metadata/>
      <isBreakout>false</isBreakout>
    </meeting>
  </meetings>
</response>

No Meetings Found

<response>
  <returncode>SUCCESS</returncode>
  <meetings/>
  <messageKey>noMeetings</messageKey>
  <message>no meetings were found on this server</message>
</response>

Response Fields per Meeting

Field Type Description
meetingName String Display name of the meeting.
meetingID String External meeting ID as specified during creation.
internalMeetingID String Internal server-generated unique ID.
createTime Number Creation timestamp in milliseconds since Unix epoch.
createDate String Human-readable creation date string.
voiceBridge String Voice bridge number for audio conferencing.
dialNumber String Phone dial-in number for the meeting.
attendeePW String Attendee password. Only present if set. Deprecated in BBB 3.0.
moderatorPW String Moderator password. Only present if set. Deprecated in BBB 3.0.
running Boolean Whether the meeting is currently active.
duration Number Maximum duration in minutes. 0 means unlimited.
hasUserJoined Boolean Whether at least one user has joined the meeting.
recording Boolean Whether recording is enabled for this meeting.
hasBeenForciblyEnded Boolean Whether the meeting was forcibly ended via the API.
startTime Number Start timestamp in milliseconds since Unix epoch.
endTime Number End timestamp. 0 if the meeting is still running.
participantCount Number Current number of participants in the meeting.
listenerCount Number Number of listen-only participants.
voiceParticipantCount Number Number of participants with active audio.
videoCount Number Number of active webcams.
maxUsers Number Maximum number of participants allowed. 0 means unlimited.
moderatorCount Number Number of moderators currently in the meeting.
attendees List List of all participants with details such as userID, fullName, role, and media status.
metadata Object All custom metadata parameters passed during the create call.
isBreakout Boolean Whether this is a breakout room.
parentMeetingID String Meeting ID of the parent meeting. Only present for breakout rooms.
sequence Number Sequence number of the breakout room. Only present for breakout rooms.
freeJoin Boolean Whether participants can freely choose this breakout room. Only present for breakout rooms.
breakoutRooms List List of breakout room IDs. Only present when the meeting has active breakout rooms.

Attendee Details

Each entry in the attendees list contains the following fields:

Field Type Description
userID String Unique internal user identifier.
fullName String Display name of the participant.
role String Role of the participant: MODERATOR or VIEWER.
isPresenter Boolean Whether the participant is currently the presenter.
isListeningOnly Boolean Whether the participant joined in listen-only mode.
hasJoinedVoice Boolean Whether the participant has joined the voice conference.
hasVideo Boolean Whether the participant has an active webcam.
clientType String Client type used by the participant (e.g. HTML5).

The attendee list returned by getMeetings includes all users who have ever joined the meeting, including those who have already left. This is different from getMeetingInfo, which only returns currently connected users. Keep this in mind when calculating active participant counts.

Common Use Cases

  • Admin dashboard — display an overview of all running meetings and their participant counts.
  • Capacity planning — calculate the total number of active participants across all meetings on the server.
  • Monitoring — identify meetings without a moderator or meetings experiencing issues.
  • Automatic cleanup — find meetings that have existed for a long time without any participants.

Tips and Best Practices

Since getMeetings returns all meetings on the server (not just running ones), filter the results by the running field if you only need active meetings.

The response contains sensitive information such as participant names, user IDs, and passwords. Always call this endpoint from server-side code only. Never expose it to client-side applications or end users.

There is no pagination support for this endpoint. On servers with many concurrent meetings, the response can become very large and may impact performance. Consider caching the results if you poll frequently.

Frequently Asked Questions

No. It returns all meetings that currently exist on the server, including meetings that have been created but have no participants yet. Filter by the running field if you only need active meetings.

getMeetings returns a summary of all meetings on the server, while getMeetingInfo returns detailed information about a single specific meeting. Additionally, the attendee list in getMeetings includes all users who have ever joined (including those who left), whereas getMeetingInfo only lists currently connected users.

No. These fields are only included in the response if they were set during meeting creation and are not empty. Since BigBlueButton 3.0, these fields are deprecated and often not present.

Check the isBreakout field. If it is true, the meeting is a breakout room and will include additional fields such as parentMeetingID, sequence, and freeJoin. The parent meeting will have a breakoutRooms list containing the IDs of its breakout rooms.

No. The BigBlueButton API does not support pagination for getMeetings. All meetings are returned in a single response. For servers with a very large number of meetings, consider implementing caching or calling the endpoint less frequently to reduce server load.