Skip to main content

Meetings API

Retrieve meetings scheduled by your chatbots during conversations.

List Meetings

GET /api/v1/meetings

Required Scope: meetings:read

Query Parameters

ParameterTypeDefaultDescription
limitinteger20Number of records (1-100)
offsetinteger0Number of records to skip
chatbot_idUUID-Filter by chatbot
statusstring-Filter by status
sinceISO 8601-Get meetings updated after timestamp
upcomingbooleanfalseOnly return future meetings

Example Request

curl -X GET "https://app.leezy.ai/api/v1/meetings?upcoming=true&limit=10" \
-H "Authorization: Bearer lzy_at_your_token"

Response

{
"data": [
{
"id": "meeting_abc123",
"type": "meeting",
"attributes": {
"chatbot_id": "chatbot_xyz789",
"conversation_id": "conv_def456",
"title": "Product Demo - Acme Corp",
"description": "Demonstration of enterprise features and integration capabilities.",
"start_time": "2024-01-20T15:00:00Z",
"end_time": "2024-01-20T15:30:00Z",
"timezone": "Europe/Berlin",
"attendee": {
"name": "Lisa Thompson",
"email": "lisa.thompson@acme.com",
"phone": "+1-555-0199"
},
"status": "scheduled",
"meeting_url": "https://meet.google.com/abc-defg-hij",
"meeting_provider": "google_meet",
"cancelled_at": null,
"cancelled_reason": null,
"created_at": "2024-01-15T10:45:00Z",
"updated_at": "2024-01-15T10:45:00Z"
}
}
],
"meta": {
"api_version": "2024-01-01",
"total": 8,
"limit": 10,
"offset": 0,
"has_more": false,
"count": 8
}
}

Meeting Object

FieldTypeDescription
idstringUnique meeting identifier
chatbot_idUUIDChatbot that scheduled the meeting
conversation_idUUIDSource conversation
titlestringMeeting title
descriptionstringMeeting description/agenda
start_timeISO 8601Scheduled start time
end_timeISO 8601Scheduled end time
timezonestringAttendee's timezone
attendee.namestringAttendee name
attendee.emailstringAttendee email
attendee.phonestringAttendee phone
statusstringMeeting status
meeting_urlstringVideo conference URL
meeting_providerstringVideo platform used
cancelled_atISO 8601Cancellation timestamp
cancelled_reasonstringReason for cancellation
created_atISO 8601Creation timestamp
updated_atISO 8601Last update timestamp

Status Values

StatusDescription
scheduledMeeting is scheduled
confirmedAttendee confirmed
completedMeeting took place
cancelledMeeting was cancelled
no_showAttendee did not show

Meeting Providers

ProviderDescription
google_meetGoogle Meet
zoomZoom
teamsMicrosoft Teams
customCustom meeting URL

Filtering Examples

# Get upcoming meetings only
GET /api/v1/meetings?upcoming=true

# Get all scheduled meetings for a chatbot
GET /api/v1/meetings?chatbot_id=abc123&status=scheduled

# Poll for newly scheduled meetings
GET /api/v1/meetings?since=2024-01-15T00:00:00Z

Error Responses

StatusErrorDescription
401unauthorizedMissing or invalid token
403insufficient_scopeToken lacks meetings:read scope
403plan_requiredPaid plan required

Next Steps