Skip to content

Meeting Operations (v2)

GraphQL operations for reading meetings and their attendees. See the v2 guide for how client.v2 relates to client.v1/client.meeting.

API Reference

MeetingOperations

MeetingOperations(client: Any, graphql_url: str, user_id_cache: UserIdCache | None = None)

Bases: GraphQLOperations, MeetingOperationsMixin

Class to handle v2 (GraphQL) operations related to meetings.

Methods:

  • list –

    List meetings a user attends.

  • details –

    Get details for a meeting, including its attendees.

  • attendees –

    List the attendees of a meeting.

Methods:

list
list(user_id: int | None = None) -> list[MeetingListItem]

List meetings a user attends.

Parameters:

  • user_id (int | None, default: None ) –

    The ID of the user (defaults to the current user).

Returns:

  • list[MeetingListItem] –

    A list of MeetingListItem model instances, ordered by name.

Example
client.v2.meeting.list()
# Returns: [MeetingListItem(id=1, name='L10', ...), ...]
details
details(meeting_id: int) -> Meeting

Get details for a meeting, including its attendees.

Parameters:

  • meeting_id (int) –

    The ID of the meeting.

Returns:

  • Meeting –

    A Meeting model instance.

Example
client.v2.meeting.details(349524)
# Returns: Meeting(id=349524, name='v2 API', ...)
attendees
attendees(meeting_id: int) -> list[User]

List the attendees of a meeting.

Parameters:

  • meeting_id (int) –

    The ID of the meeting.

Returns:

  • list[User] –

    A list of User model instances, ordered by full name.

Async Version

The async version AsyncMeetingOperations provides the same methods as above, but with async/await support:

AsyncMeetingOperations

AsyncMeetingOperations(client: Any, graphql_url: str, user_id_cache: UserIdCache | None = None)

Async class to handle v2 (GraphQL) operations related to meetings.

Async Usage

All methods have the same parameters and return types as their sync counterparts. Simply add await before each method call.

Usage Examples

from bloomy import Client

with Client(api_key="your-api-key") as client:
    # List meetings the current user attends
    meetings = client.v2.meeting.list()
    for meeting in meetings:
        print(f"{meeting.name} (ID: {meeting.id})")

    # List meetings for a specific user
    meetings = client.v2.meeting.list(user_id=456)

    # Get meeting details, including attendees
    meeting = client.v2.meeting.details(meetings[0].id)
    print(f"Attendees: {len(meeting.attendees)}")

    # List just the attendees
    attendees = client.v2.meeting.attendees(meeting.id)
import asyncio
from bloomy import AsyncClient

async def main():
    async with AsyncClient(api_key="your-api-key") as client:
        # List meetings the current user attends
        meetings = await client.v2.meeting.list()
        for meeting in meetings:
            print(f"{meeting.name} (ID: {meeting.id})")

        # List meetings for a specific user
        meetings = await client.v2.meeting.list(user_id=456)

        # Get meeting details, including attendees
        meeting = await client.v2.meeting.details(meetings[0].id)
        print(f"Attendees: {len(meeting.attendees)}")

        # List just the attendees
        attendees = await client.v2.meeting.attendees(meeting.id)

asyncio.run(main())

Available Methods

Method Description Parameters Returns
list() List meetings a user attends, ordered by name user_id (optional, defaults to current user) list[MeetingListItem]
details() Get a meeting, including its attendees meeting_id Meeting
attendees() List a meeting's attendees, ordered by full name meeting_id list[User]

Scope

client.v2.meeting is read-only. There is no client.v2 equivalent of client.v1.meeting.create(), delete(), issues(), todos(), or metrics() — use client.meeting (v1), or query client.v2.issue, client.v2.todo, and client.v2.metric directly with a meeting_id.