canonical: https://jentic.com/apis/bigbluebutton.org/bigbluebutton

# BigBlueButton API

Jentic publishes the only available OpenAPI specification for BigBlueButton API, keeping it validated and agent-ready. BigBlueButton is an open-source web conferencing platform built for online learning and virtual classrooms, exposing a checksum-authenticated REST API to create meetings, manage participants, capture recordings, and post chat messages. The API runs on a self-hosted server, so the base URL contains a configurable host variable and every request must carry a SHA checksum derived from the call name, query string, and a shared secret. Endpoints cover the full meeting lifecycle from create and join through end and recording publication.

## For AI agents

Create and manage BigBlueButton web conferences, query meeting state, and publish or delete session recordings on a self-hosted BigBlueButton server.

## Scope

Does not handle billing, user account management, or LMS gradebook sync - use for BigBlueButton meeting and recording operations only.

## Capabilities

- Create a BigBlueButton meeting with a moderator and attendee password via the create endpoint
- Generate join URLs that drop a named participant straight into a running session
- Insert PDF or Office documents into a live meeting for slide presentation
- Send a chat message into an active conference programmatically
- Query meeting state and participant counts through getMeetings and getMeetingInfo
- Publish, unpublish, or delete session recordings and update their metadata
- Manage closed-caption text tracks attached to recorded sessions

## Use cases

### Virtual Classroom Provisioning

Universities and training providers spin up BigBlueButton meetings on demand for each scheduled class, generating distinct moderator and attendee URLs that the LMS hands to instructors and students. The create endpoint accepts the meeting ID, welcome message, and password pair, and join produces a signed URL that bypasses any login flow. Because BigBlueButton is self-hosted, the integration scales with the institution's own server fleet and avoids per-seat conferencing fees.

Example prompt: Call /create with meetingID 'CS101-W3', moderatorPW and attendeePW, then call /join with fullName 'Dr Lopez' and the moderator password to return a launch URL

### Recording Lifecycle Management

Education and corporate teams need to surface session recordings to absent attendees while keeping older content private. BigBlueButton exposes getRecordings to enumerate captured sessions and publishRecordings, deleteRecordings, and updateRecordings to control visibility and metadata. A scheduled job can publish all recordings tagged with a specific meta field, then purge anything older than the retention window.

Example prompt: Call /getRecordings filtered by meta_course=CS101, then call /publishRecordings with the returned recordIDs and publish=true

### In-Meeting Automation

Operations teams trigger in-session events from external tooling, for example pushing a fresh slide deck when a presenter swaps topics or posting a chat reminder five minutes before break. The insertDocument endpoint accepts a URL or base64 payload that BigBlueButton renders as a slide, and sendChatMessage delivers a message into the meeting chat panel. Both are useful for building bots that augment live classes without modifying the BigBlueButton client.

Example prompt: Call /insertDocument with meetingID 'CS101-W3' and a URL pointing to lecture-3.pdf, then call /sendChatMessage with text 'Slides updated'

### Agent-Driven Conference Operations via Jentic

An AI agent connected through Jentic searches for 'create a web conference', loads the BigBlueButton create operation schema, and chains it with join to deliver a one-click launch link to the requesting user. The Jentic One instance holds the BigBlueButton shared secret and computes the per-call checksum, so the agent never sees the raw secret. This is how a scheduling assistant can stand up classrooms without bespoke server-side glue code.

Example prompt: Search Jentic for 'create a web conference', load BigBlueButton create, execute with meetingID and passwords, then load join and execute to return the moderator launch URL

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/create` | Create a new BigBlueButton meeting |
| GET | `/join` | Generate a join URL for a participant |
| GET | `/end` | End a running meeting |
| GET | `/getMeetings` | List all active meetings on the server |
| GET | `/getMeetingInfo` | Retrieve details and participants for a meeting |
| GET | `/getRecordings` | List recorded sessions with optional filters |
| GET | `/publishRecordings` | Publish or unpublish recordings |
| POST | `/insertDocument` | Insert a presentation document into a live meeting |

## Key resources

- **Meetings** — Create meetings, join participants, end sessions, and query running state
- **Recordings** — List, publish, delete, and update metadata on captured session recordings
- **Chat and Documents** — Send chat messages and insert presentation documents into live meetings
- **Text Tracks** — Get and upload closed-caption tracks attached to recordings

## Why Jentic

- **Setup:** Wiring the BigBlueButton API by hand means computing a per-call SHA checksum from your shared secret for every request and resolving the {host} of your own server yourself. Through Jentic you install once, import BigBlueButton from the API Directory, store the shared secret once, and your agent calls it.
- **Permission scoping:** BigBlueButton identifies meetings by a meeting id in the query string rather than a path segment, so limit the agent to the operations it needs, such as creating a meeting or listing recordings. You choose that set, so ending meetings or publishing recordings is not reachable unless you include them.
- **Credential handling:** Your BigBlueButton shared secret is stored once, encrypted, by your own Jentic One instance, which computes each call's checksum and injects it at execution time. The secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a web conference' or 'list meeting recordings', and Jentic returns the matching BigBlueButton operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Zoom Meetings API** — Hosted commercial conferencing platform - Zoom runs the infrastructure, BigBlueButton is self-hosted and open source
- **Whereby API** — Embeddable browser-based meeting rooms - managed SaaS instead of self-hosted
- **SendGrid Mail Send API** — Email join links and recording URLs around BigBlueButton meetings

## FAQ

### Why is there no official OpenAPI spec for BigBlueButton API?

BigBlueButton does not publish an OpenAPI specification - its REST API is documented in narrative form on docs.bigbluebutton.org. Jentic generates and maintains this spec so that AI agents and developers can call BigBlueButton API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the BigBlueButton API use?

Every BigBlueButton call is authenticated with a SHA checksum passed as the query parameter named `checksum`. The checksum is computed from the API call name, the query string, and the server's shared secret. Through Jentic, the shared secret is stored encrypted in the vault and the checksum is computed per call, so the secret never enters the agent's context.

### Can I record meetings with the BigBlueButton API?

Yes. Pass record=true to /create when starting the meeting, then use /getRecordings to enumerate captured sessions once they finish processing. Publish them with /publishRecordings, delete them with /deleteRecordings, or change titles and custom metadata with /updateRecordings.

### What are the rate limits for the BigBlueButton API?

BigBlueButton itself does not impose API rate limits - it runs on your own server, so throughput is bounded by the host's CPU, memory, and network capacity. Most administrators put nginx or HAProxy in front of the bigbluebutton/api endpoint to apply per-IP throttling for abuse protection.

### How do I create a meeting through Jentic?

Search Jentic for 'create a web conference', load the BigBlueButton /create operation, and execute it with meetingID, attendeePW, and moderatorPW. Then load /join and execute it with the meetingID and the moderator password to return a launch URL the user can click. The full flow is `pip install jentic` then await client.search, client.load, client.execute.

### Can I send chat messages or upload slides into a running meeting?

Yes. /sendChatMessage delivers a string into the meeting's chat panel, and /insertDocument accepts a URL or base64-encoded payload that BigBlueButton renders as a presentation slide. Both target an existing meetingID and are commonly used by scheduling bots and lecture automations.

### Can I limit what my agent is allowed to do with the BigBlueButton API?

Yes. Because you run Jentic One yourself, you decide which BigBlueButton operations the agent can reach and which credentials it may use. You can allow just the calls it needs, such as /create to start a meeting or /getRecordings to list captured sessions, and leave out the rest. Since BigBlueButton identifies meetings by a meeting id in the query string rather than a path, operations like /end or /publishRecordings stay unreachable unless you explicitly include them.
