The sections
member_id keeps the meetings the user is invited to, or sent the bot to, under either
their email or the calendar account they connected. starts_after and starts_before
narrow a section to a window. While has_more is true, request _links.next.url as it is.
Cancelled meetings are listed only with phase=cancelled.
Every calendar event is a meeting, including those with no link to join: they carry
settings.sources["recording.enabled"].reason: "no_meeting_url" and can’t be recorded. Hide
them by default, or show them without the switch.
platform is meet, zoom or teams (null for other links). A participant who is one
of your users carries their member_id.
The label
settings.sources["recording.enabled"] says which assignment decided, or why none did, if
you want to show it: see the settings block.
The switch
Record one meeting, or skip it, whatever the user’s and the company’s rules say:settings.assignments has one with own: true), flip it with PATCH /settings/{id}, and hand
the meeting back to the user’s and the company’s rules with recording.enabled: "inherit".
Turning a live meeting off makes the notetaker leave; what it recorded so far is kept. While a
bot is still joining, this answers 503 provider_unavailable: try again a few seconds later.
Keep the list current
Your webhook endpoint receives, for the workspace’s meetings:
On each one, read
GET /meetings/{id} and save what it returns: events can arrive out of
order, and the read is the current state. A meeting that becomes past only because its end
time went by, with nothing recorded, sends no event.
To attach your own ids to a meeting, PATCH /meetings/{id} with metadata.