Meeting Operations¶
Operations for managing meetings and meeting-related data.
API Reference¶
MeetingOperations
¶
Bases: BaseOperations
Class to handle all operations related to meetings.
Note
This class is already initialized via the client and usable as
client.meeting.method
Methods:
-
list
–List all meetings for a specific user.
-
attendees
–List all attendees for a specific meeting.
-
issues
–List all issues for a specific meeting.
-
todos
–List all todos for a specific meeting.
-
metrics
–List all metrics for a specific meeting.
-
details
–Retrieve details of a specific meeting.
-
create
–Create a new meeting.
-
delete
–Delete a meeting.
-
create_many
–Create multiple meetings in a best-effort manner.
-
get_many
–Retrieve details for multiple meetings in a best-effort manner.
Functions¶
list
¶
List all meetings for a specific user.
Parameters:
-
user_id
(int | None
, default:None
) –The ID of the user (default is the initialized user ID)
Returns:
-
list[MeetingListItem]
–A list of MeetingListItem model instances
attendees
¶
issues
¶
List all issues for a specific meeting.
Parameters:
-
meeting_id
(int
) –The ID of the meeting
-
include_closed
(bool
, default:False
) –Whether to include closed issues (default: False)
Returns:
-
list[Issue]
–A list of Issue model instances
todos
¶
List all todos for a specific meeting.
Parameters:
-
meeting_id
(int
) –The ID of the meeting
-
include_closed
(bool
, default:False
) –Whether to include closed todos (default: False)
Returns:
-
list[Todo]
–A list of Todo model instances
metrics
¶
List all metrics for a specific meeting.
Parameters:
-
meeting_id
(int
) –The ID of the meeting
Returns:
-
list[ScorecardMetric]
–A list of ScorecardMetric model instances
details
¶
Retrieve details of a specific meeting.
Parameters:
-
meeting_id
(int
) –The ID of the meeting
-
include_closed
(bool
, default:False
) –Whether to include closed issues and todos (default: False)
Returns:
-
MeetingDetails
–A MeetingDetails model instance with comprehensive meeting information
Raises:
-
APIError
–If the meeting with the specified ID is not found
create
¶
Create a new meeting.
Parameters:
-
title
(str
) –The title of the new meeting
-
add_self
(bool
, default:True
) –Whether to add the current user as an attendee (default: True)
-
attendees
(list[int] | None
, default:None
) –A list of user IDs to add as attendees
Returns:
-
dict[str, Any]
–A dictionary containing meeting_id, title and attendees array
delete
¶
create_many
¶
Create multiple meetings in a best-effort manner.
Processes each meeting sequentially to avoid rate limiting. Failed operations are captured and returned alongside successful ones.
Parameters:
-
meetings
(list[dict[str, Any]]
) –List of dictionaries containing meeting data. Each dict should have: - title (required): Title of the meeting - add_self (optional): Whether to add current user as attendee (default: True) - attendees (optional): List of user IDs to add as attendees
Returns:
-
BulkCreateResult[dict[str, Any]]
–BulkCreateResult containing: - successful: List of dicts with meeting_id, title, and attendees - failed: List of BulkCreateError instances for failed creations
Raises:
-
ValueError
–When required parameters are missing in meeting data
get_many
¶
get_many(meeting_ids: list[int]) -> BulkCreateResult[MeetingDetails]
Retrieve details for multiple meetings in a best-effort manner.
Processes each meeting ID sequentially to avoid rate limiting. Failed operations are captured and returned alongside successful ones.
Parameters:
-
meeting_ids
(list[int]
) –List of meeting IDs to retrieve details for
Returns:
-
BulkCreateResult[MeetingDetails]
–BulkCreateResult containing: - successful: List of MeetingDetails instances for successfully retrieved meetings - failed: List of BulkCreateError instances for failed retrievals
Async Version¶
The async version AsyncMeetingOperations
provides the same methods as above, but with async/await support:
AsyncMeetingOperations
¶
Async class to handle all operations related to meetings.
Note
This class is already initialized via the client and usable as
client.meeting.method
Initialize the async meeting operations.
Parameters:
-
client
(AsyncClient
) –The async HTTP client to use for API requests.
Performance Benefit
The async details()
method fetches attendees, issues, todos, and metrics concurrently, providing better performance than the sync version which fetches them sequentially.
Usage Examples¶
from bloomy import Client
with Client(api_key="your-api-key") as client:
# List all meetings
meetings = client.meeting.list()
for meeting in meetings:
print(f"{meeting.name} - {meeting.meeting_date}")
# Get meeting details with all related data
meeting = client.meeting.details(meeting_id=123)
print(f"Attendees: {len(meeting.attendees)}")
print(f"Open Issues: {len([i for i in meeting.issues if not i.closed])}")
print(f"Todos: {len(meeting.todos)}")
# Get metrics for a meeting
metrics = client.meeting.metrics(meeting_id=123)
# Batch retrieve multiple meetings
result = client.meeting.get_many([123, 456, 789])
for meeting in result.successful:
print(f"{meeting.name}: {len(meeting.attendees)} attendees")
import asyncio
from bloomy import AsyncClient
async def main():
async with AsyncClient(api_key="your-api-key") as client:
# List all meetings
meetings = await client.meeting.list()
for meeting in meetings:
print(f"{meeting.name} - {meeting.meeting_date}")
# Get meeting details with all related data
meeting = await client.meeting.details(meeting_id=123)
print(f"Attendees: {len(meeting.attendees)}")
print(f"Open Issues: {len([i for i in meeting.issues if not i.closed])}")
print(f"Todos: {len(meeting.todos)}")
# Get metrics for a meeting
metrics = await client.meeting.metrics(meeting_id=123)
# Batch retrieve multiple meetings
result = await client.meeting.get_many([123, 456, 789])
for meeting in result.successful:
print(f"{meeting.name}: {len(meeting.attendees)} attendees")
asyncio.run(main())
Available Methods¶
Method | Description | Parameters |
---|---|---|
list() |
Get all meetings | include_closed |
details() |
Get detailed meeting information with attendees, issues, todos, and metrics | meeting_id |
get_many() |
Batch retrieve multiple meetings by ID | meeting_ids |
attendees() |
Get meeting attendees | meeting_id |
issues() |
Get issues from a meeting | meeting_id |
todos() |
Get todos from a meeting | meeting_id |
metrics() |
Get scorecard metrics from a meeting | meeting_id |