UNPKG

@meeting-baas/sdk

Version:

Official SDK for Meeting BaaS API - https://meetingbaas.com

678 lines 56.5 kB
/** * Meeting BaaS API * Meeting BaaS API * * The version of the OpenAPI document: 1.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; import { type RequestArgs, BaseAPI } from '../base'; import type { BotParam2 } from '../models'; import type { BotParam3 } from '../models'; import type { Calendar } from '../models'; import type { CreateCalendarParams } from '../models'; import type { CreateCalendarResponse } from '../models'; import type { Event } from '../models'; import type { ListEventResponse } from '../models'; import type { ListRawCalendarsParams } from '../models'; import type { ListRawCalendarsResponse } from '../models'; import type { UpdateCalendarParams } from '../models'; /** * CalendarsApi - axios parameter creator * @export */ export declare const CalendarsApiAxiosParamCreator: (configuration?: Configuration) => { /** * Integrates a new calendar with the system using OAuth credentials. This endpoint establishes a connection with the calendar provider (Google, Microsoft), sets up webhook notifications for real-time updates, and performs an initial sync of all calendar events. It requires OAuth credentials (client ID, client secret, and refresh token) and the platform type. Once created, the calendar is assigned a unique UUID that should be used for all subsequent operations. Returns the newly created calendar object with all integration details. * @summary Create Calendar * @param {CreateCalendarParams} createCalendarParams * @param {*} [options] Override http request option. * @throws {RequiredError} */ createCalendar: (createCalendarParams: CreateCalendarParams, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Permanently removes a calendar integration by its UUID, including all associated events and bot configurations. This operation cancels any active subscriptions with the calendar provider, stops all webhook notifications, and unschedules any pending recordings. All related resources are cleaned up in the database. This action cannot be undone, and subsequent requests to this calendar\'s UUID will return 404 Not Found errors. * @summary Delete Calendar * @param {string} uuid The UUID identifier * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteCalendar: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Retrieves detailed information about a specific calendar integration by its UUID. Returns comprehensive calendar data including the calendar name, email address, provider details (Google, Microsoft), sync status, and other metadata. This endpoint is useful for displaying calendar information to users or verifying the status of a calendar integration before performing operations on its events. * @summary Get Calendar * @param {string} uuid The UUID identifier * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCalendar: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Retrieves comprehensive details about a specific calendar event by its UUID. Returns complete event information including title, meeting link, start and end times, organizer status, recurrence information, and the full list of attendees with their names and email addresses. Also includes any associated bot parameters if recording is scheduled for this event. The raw calendar data from the provider is also included for advanced use cases. * @summary Get Event * @param {string} uuid The UUID identifier * @param {*} [options] Override http request option. * @throws {RequiredError} */ getEvent: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Retrieves all calendars that have been integrated with the system for the authenticated user. Returns a list of calendars with their names, email addresses, provider information, and sync status. This endpoint shows only calendars that have been formally connected through the create_calendar endpoint, not all available calendars from the provider. * @summary List Calendars * @param {*} [options] Override http request option. * @throws {RequiredError} */ listCalendars: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Retrieves a paginated list of calendar events with comprehensive filtering options. Supports filtering by organizer email, attendee email, date ranges (start_date_gte, start_date_lte), and event status. Results can be limited to upcoming events (default), past events, or all events. Each event includes full details such as meeting links, participants, and recording status. The response includes a \'next\' pagination cursor for retrieving additional results. * @summary List Events * @param {string} calendarId Calendar ID to filter events by This is required to specify which calendar\&#39;s events to retrieve * @param {string | null} [attendeeEmail] If provided, filters events to include only those with this attendee\&#39;s email address Example: \&quot;jane.smith@example.com\&quot; * @param {string | null} [cursor] Optional cursor for pagination This value is included in the &#x60;next&#x60; field of the previous response * @param {string | null} [organizerEmail] If provided, filters events to include only those with this organizer\&#39;s email address Example: \&quot;john.doe@example.com\&quot; * @param {string | null} [startDateGte] If provided, filters events to include only those with a start date greater than or equal to this timestamp Format: ISO-8601 string, e.g., \&quot;2023-01-01T00:00:00Z\&quot; * @param {string | null} [startDateLte] If provided, filters events to include only those with a start date less than or equal to this timestamp Format: ISO-8601 string, e.g., \&quot;2023-12-31T23:59:59Z\&quot; * @param {string | null} [status] Filter events by meeting status Valid values: \&quot;upcoming\&quot; (default) returns events after current time, \&quot;past\&quot; returns previous events, \&quot;all\&quot; returns both * @param {string | null} [updatedAtGte] If provided, fetches only events updated at or after this timestamp Format: ISO-8601 string, e.g., \&quot;2023-01-01T00:00:00Z\&quot; * @param {*} [options] Override http request option. * @throws {RequiredError} */ listEvents: (calendarId: string, attendeeEmail?: string | null, cursor?: string | null, organizerEmail?: string | null, startDateGte?: string | null, startDateLte?: string | null, status?: string | null, updatedAtGte?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Retrieves unprocessed calendar data directly from the provider (Google, Microsoft) using provided OAuth credentials. This endpoint is typically used during the initial setup process to allow users to select which calendars to integrate. Returns a list of available calendars with their unique IDs, email addresses, and primary status. This data is not persisted until a calendar is formally created using the create_calendar endpoint. * @summary List Raw Calendars * @param {ListRawCalendarsParams} listRawCalendarsParams * @param {*} [options] Override http request option. * @throws {RequiredError} */ listRawCalendars: (listRawCalendarsParams: ListRawCalendarsParams, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Updates the configuration of a bot already scheduled to record an event. Allows modification of recording settings, webhook URLs, and other bot parameters without canceling and recreating the scheduled recording. For recurring events, the \'all_occurrences\' parameter determines whether changes apply to all instances or just the specific occurrence. Returns the updated event(s) with the modified bot parameters. * @summary Patch Bot * @param {string} uuid The UUID identifier * @param {BotParam3} botParam3 * @param {boolean | null} [allOccurrences] schedule a bot to all occurences of a recurring event * @param {*} [options] Override http request option. * @throws {RequiredError} */ patchBot: (uuid: string, botParam3: BotParam3, allOccurrences?: boolean | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Configures a bot to automatically join and record a specific calendar event at its scheduled time. The request body contains detailed bot configuration, including recording options, streaming settings, and webhook notification URLs. For recurring events, the \'all_occurrences\' parameter can be set to true to schedule recording for all instances of the recurring series, or false (default) to schedule only the specific instance. Returns the updated event(s) with the bot parameters attached. * @summary Schedule Record Event * @param {string} uuid The UUID identifier * @param {BotParam2} botParam2 * @param {boolean | null} [allOccurrences] schedule a bot to all occurences of a recurring event * @param {*} [options] Override http request option. * @throws {RequiredError} */ scheduleRecordEvent: (uuid: string, botParam2: BotParam2, allOccurrences?: boolean | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Cancels a previously scheduled recording for a calendar event and releases associated bot resources. For recurring events, the \'all_occurrences\' parameter controls whether to unschedule from all instances of the recurring series or just the specific occurrence. This operation is idempotent and will not error if no bot was scheduled. Returns the updated event(s) with the bot parameters removed. * @summary Unschedule Record Event * @param {string} uuid The UUID identifier * @param {boolean | null} [allOccurrences] unschedule a bot from all occurences of a recurring event * @param {*} [options] Override http request option. * @throws {RequiredError} */ unscheduleRecordEvent: (uuid: string, allOccurrences?: boolean | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; /** * Updates a calendar integration with new credentials or platform while maintaining the same UUID. This operation is performed as an atomic transaction to ensure data integrity. The system automatically unschedules existing bots to prevent duplicates, updates the calendar credentials, and triggers a full resync of all events. Useful when OAuth tokens need to be refreshed or when migrating a calendar between providers. Returns the updated calendar object with its new configuration. * @summary Update Calendar * @param {string} uuid The UUID identifier * @param {UpdateCalendarParams} updateCalendarParams * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateCalendar: (uuid: string, updateCalendarParams: UpdateCalendarParams, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; }; /** * CalendarsApi - functional programming interface * @export */ export declare const CalendarsApiFp: (configuration?: Configuration) => { /** * Integrates a new calendar with the system using OAuth credentials. This endpoint establishes a connection with the calendar provider (Google, Microsoft), sets up webhook notifications for real-time updates, and performs an initial sync of all calendar events. It requires OAuth credentials (client ID, client secret, and refresh token) and the platform type. Once created, the calendar is assigned a unique UUID that should be used for all subsequent operations. Returns the newly created calendar object with all integration details. * @summary Create Calendar * @param {CreateCalendarParams} createCalendarParams * @param {*} [options] Override http request option. * @throws {RequiredError} */ createCalendar(createCalendarParams: CreateCalendarParams, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateCalendarResponse>>; /** * Permanently removes a calendar integration by its UUID, including all associated events and bot configurations. This operation cancels any active subscriptions with the calendar provider, stops all webhook notifications, and unschedules any pending recordings. All related resources are cleaned up in the database. This action cannot be undone, and subsequent requests to this calendar\'s UUID will return 404 Not Found errors. * @summary Delete Calendar * @param {string} uuid The UUID identifier * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteCalendar(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>; /** * Retrieves detailed information about a specific calendar integration by its UUID. Returns comprehensive calendar data including the calendar name, email address, provider details (Google, Microsoft), sync status, and other metadata. This endpoint is useful for displaying calendar information to users or verifying the status of a calendar integration before performing operations on its events. * @summary Get Calendar * @param {string} uuid The UUID identifier * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCalendar(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Calendar>>; /** * Retrieves comprehensive details about a specific calendar event by its UUID. Returns complete event information including title, meeting link, start and end times, organizer status, recurrence information, and the full list of attendees with their names and email addresses. Also includes any associated bot parameters if recording is scheduled for this event. The raw calendar data from the provider is also included for advanced use cases. * @summary Get Event * @param {string} uuid The UUID identifier * @param {*} [options] Override http request option. * @throws {RequiredError} */ getEvent(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Event>>; /** * Retrieves all calendars that have been integrated with the system for the authenticated user. Returns a list of calendars with their names, email addresses, provider information, and sync status. This endpoint shows only calendars that have been formally connected through the create_calendar endpoint, not all available calendars from the provider. * @summary List Calendars * @param {*} [options] Override http request option. * @throws {RequiredError} */ listCalendars(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Calendar>>>; /** * Retrieves a paginated list of calendar events with comprehensive filtering options. Supports filtering by organizer email, attendee email, date ranges (start_date_gte, start_date_lte), and event status. Results can be limited to upcoming events (default), past events, or all events. Each event includes full details such as meeting links, participants, and recording status. The response includes a \'next\' pagination cursor for retrieving additional results. * @summary List Events * @param {string} calendarId Calendar ID to filter events by This is required to specify which calendar\&#39;s events to retrieve * @param {string | null} [attendeeEmail] If provided, filters events to include only those with this attendee\&#39;s email address Example: \&quot;jane.smith@example.com\&quot; * @param {string | null} [cursor] Optional cursor for pagination This value is included in the &#x60;next&#x60; field of the previous response * @param {string | null} [organizerEmail] If provided, filters events to include only those with this organizer\&#39;s email address Example: \&quot;john.doe@example.com\&quot; * @param {string | null} [startDateGte] If provided, filters events to include only those with a start date greater than or equal to this timestamp Format: ISO-8601 string, e.g., \&quot;2023-01-01T00:00:00Z\&quot; * @param {string | null} [startDateLte] If provided, filters events to include only those with a start date less than or equal to this timestamp Format: ISO-8601 string, e.g., \&quot;2023-12-31T23:59:59Z\&quot; * @param {string | null} [status] Filter events by meeting status Valid values: \&quot;upcoming\&quot; (default) returns events after current time, \&quot;past\&quot; returns previous events, \&quot;all\&quot; returns both * @param {string | null} [updatedAtGte] If provided, fetches only events updated at or after this timestamp Format: ISO-8601 string, e.g., \&quot;2023-01-01T00:00:00Z\&quot; * @param {*} [options] Override http request option. * @throws {RequiredError} */ listEvents(calendarId: string, attendeeEmail?: string | null, cursor?: string | null, organizerEmail?: string | null, startDateGte?: string | null, startDateLte?: string | null, status?: string | null, updatedAtGte?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListEventResponse>>; /** * Retrieves unprocessed calendar data directly from the provider (Google, Microsoft) using provided OAuth credentials. This endpoint is typically used during the initial setup process to allow users to select which calendars to integrate. Returns a list of available calendars with their unique IDs, email addresses, and primary status. This data is not persisted until a calendar is formally created using the create_calendar endpoint. * @summary List Raw Calendars * @param {ListRawCalendarsParams} listRawCalendarsParams * @param {*} [options] Override http request option. * @throws {RequiredError} */ listRawCalendars(listRawCalendarsParams: ListRawCalendarsParams, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListRawCalendarsResponse>>; /** * Updates the configuration of a bot already scheduled to record an event. Allows modification of recording settings, webhook URLs, and other bot parameters without canceling and recreating the scheduled recording. For recurring events, the \'all_occurrences\' parameter determines whether changes apply to all instances or just the specific occurrence. Returns the updated event(s) with the modified bot parameters. * @summary Patch Bot * @param {string} uuid The UUID identifier * @param {BotParam3} botParam3 * @param {boolean | null} [allOccurrences] schedule a bot to all occurences of a recurring event * @param {*} [options] Override http request option. * @throws {RequiredError} */ patchBot(uuid: string, botParam3: BotParam3, allOccurrences?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Event>>>; /** * Configures a bot to automatically join and record a specific calendar event at its scheduled time. The request body contains detailed bot configuration, including recording options, streaming settings, and webhook notification URLs. For recurring events, the \'all_occurrences\' parameter can be set to true to schedule recording for all instances of the recurring series, or false (default) to schedule only the specific instance. Returns the updated event(s) with the bot parameters attached. * @summary Schedule Record Event * @param {string} uuid The UUID identifier * @param {BotParam2} botParam2 * @param {boolean | null} [allOccurrences] schedule a bot to all occurences of a recurring event * @param {*} [options] Override http request option. * @throws {RequiredError} */ scheduleRecordEvent(uuid: string, botParam2: BotParam2, allOccurrences?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Event>>>; /** * Cancels a previously scheduled recording for a calendar event and releases associated bot resources. For recurring events, the \'all_occurrences\' parameter controls whether to unschedule from all instances of the recurring series or just the specific occurrence. This operation is idempotent and will not error if no bot was scheduled. Returns the updated event(s) with the bot parameters removed. * @summary Unschedule Record Event * @param {string} uuid The UUID identifier * @param {boolean | null} [allOccurrences] unschedule a bot from all occurences of a recurring event * @param {*} [options] Override http request option. * @throws {RequiredError} */ unscheduleRecordEvent(uuid: string, allOccurrences?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Event>>>; /** * Updates a calendar integration with new credentials or platform while maintaining the same UUID. This operation is performed as an atomic transaction to ensure data integrity. The system automatically unschedules existing bots to prevent duplicates, updates the calendar credentials, and triggers a full resync of all events. Useful when OAuth tokens need to be refreshed or when migrating a calendar between providers. Returns the updated calendar object with its new configuration. * @summary Update Calendar * @param {string} uuid The UUID identifier * @param {UpdateCalendarParams} updateCalendarParams * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateCalendar(uuid: string, updateCalendarParams: UpdateCalendarParams, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateCalendarResponse>>; }; /** * CalendarsApi - factory interface * @export */ export declare const CalendarsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * Integrates a new calendar with the system using OAuth credentials. This endpoint establishes a connection with the calendar provider (Google, Microsoft), sets up webhook notifications for real-time updates, and performs an initial sync of all calendar events. It requires OAuth credentials (client ID, client secret, and refresh token) and the platform type. Once created, the calendar is assigned a unique UUID that should be used for all subsequent operations. Returns the newly created calendar object with all integration details. * @summary Create Calendar * @param {CalendarsApiCreateCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ createCalendar(requestParameters: CalendarsApiCreateCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateCalendarResponse>; /** * Permanently removes a calendar integration by its UUID, including all associated events and bot configurations. This operation cancels any active subscriptions with the calendar provider, stops all webhook notifications, and unschedules any pending recordings. All related resources are cleaned up in the database. This action cannot be undone, and subsequent requests to this calendar\'s UUID will return 404 Not Found errors. * @summary Delete Calendar * @param {CalendarsApiDeleteCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteCalendar(requestParameters: CalendarsApiDeleteCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>; /** * Retrieves detailed information about a specific calendar integration by its UUID. Returns comprehensive calendar data including the calendar name, email address, provider details (Google, Microsoft), sync status, and other metadata. This endpoint is useful for displaying calendar information to users or verifying the status of a calendar integration before performing operations on its events. * @summary Get Calendar * @param {CalendarsApiGetCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCalendar(requestParameters: CalendarsApiGetCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<Calendar>; /** * Retrieves comprehensive details about a specific calendar event by its UUID. Returns complete event information including title, meeting link, start and end times, organizer status, recurrence information, and the full list of attendees with their names and email addresses. Also includes any associated bot parameters if recording is scheduled for this event. The raw calendar data from the provider is also included for advanced use cases. * @summary Get Event * @param {CalendarsApiGetEventRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getEvent(requestParameters: CalendarsApiGetEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Event>; /** * Retrieves all calendars that have been integrated with the system for the authenticated user. Returns a list of calendars with their names, email addresses, provider information, and sync status. This endpoint shows only calendars that have been formally connected through the create_calendar endpoint, not all available calendars from the provider. * @summary List Calendars * @param {*} [options] Override http request option. * @throws {RequiredError} */ listCalendars(options?: RawAxiosRequestConfig): AxiosPromise<Array<Calendar>>; /** * Retrieves a paginated list of calendar events with comprehensive filtering options. Supports filtering by organizer email, attendee email, date ranges (start_date_gte, start_date_lte), and event status. Results can be limited to upcoming events (default), past events, or all events. Each event includes full details such as meeting links, participants, and recording status. The response includes a \'next\' pagination cursor for retrieving additional results. * @summary List Events * @param {CalendarsApiListEventsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listEvents(requestParameters: CalendarsApiListEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListEventResponse>; /** * Retrieves unprocessed calendar data directly from the provider (Google, Microsoft) using provided OAuth credentials. This endpoint is typically used during the initial setup process to allow users to select which calendars to integrate. Returns a list of available calendars with their unique IDs, email addresses, and primary status. This data is not persisted until a calendar is formally created using the create_calendar endpoint. * @summary List Raw Calendars * @param {CalendarsApiListRawCalendarsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ listRawCalendars(requestParameters: CalendarsApiListRawCalendarsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListRawCalendarsResponse>; /** * Updates the configuration of a bot already scheduled to record an event. Allows modification of recording settings, webhook URLs, and other bot parameters without canceling and recreating the scheduled recording. For recurring events, the \'all_occurrences\' parameter determines whether changes apply to all instances or just the specific occurrence. Returns the updated event(s) with the modified bot parameters. * @summary Patch Bot * @param {CalendarsApiPatchBotRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ patchBot(requestParameters: CalendarsApiPatchBotRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Event>>; /** * Configures a bot to automatically join and record a specific calendar event at its scheduled time. The request body contains detailed bot configuration, including recording options, streaming settings, and webhook notification URLs. For recurring events, the \'all_occurrences\' parameter can be set to true to schedule recording for all instances of the recurring series, or false (default) to schedule only the specific instance. Returns the updated event(s) with the bot parameters attached. * @summary Schedule Record Event * @param {CalendarsApiScheduleRecordEventRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ scheduleRecordEvent(requestParameters: CalendarsApiScheduleRecordEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Event>>; /** * Cancels a previously scheduled recording for a calendar event and releases associated bot resources. For recurring events, the \'all_occurrences\' parameter controls whether to unschedule from all instances of the recurring series or just the specific occurrence. This operation is idempotent and will not error if no bot was scheduled. Returns the updated event(s) with the bot parameters removed. * @summary Unschedule Record Event * @param {CalendarsApiUnscheduleRecordEventRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ unscheduleRecordEvent(requestParameters: CalendarsApiUnscheduleRecordEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Event>>; /** * Updates a calendar integration with new credentials or platform while maintaining the same UUID. This operation is performed as an atomic transaction to ensure data integrity. The system automatically unschedules existing bots to prevent duplicates, updates the calendar credentials, and triggers a full resync of all events. Useful when OAuth tokens need to be refreshed or when migrating a calendar between providers. Returns the updated calendar object with its new configuration. * @summary Update Calendar * @param {CalendarsApiUpdateCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ updateCalendar(requestParameters: CalendarsApiUpdateCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateCalendarResponse>; }; /** * CalendarsApi - interface * @export * @interface CalendarsApi */ export interface CalendarsApiInterface { /** * Integrates a new calendar with the system using OAuth credentials. This endpoint establishes a connection with the calendar provider (Google, Microsoft), sets up webhook notifications for real-time updates, and performs an initial sync of all calendar events. It requires OAuth credentials (client ID, client secret, and refresh token) and the platform type. Once created, the calendar is assigned a unique UUID that should be used for all subsequent operations. Returns the newly created calendar object with all integration details. * @summary Create Calendar * @param {CalendarsApiCreateCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ createCalendar(requestParameters: CalendarsApiCreateCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateCalendarResponse>; /** * Permanently removes a calendar integration by its UUID, including all associated events and bot configurations. This operation cancels any active subscriptions with the calendar provider, stops all webhook notifications, and unschedules any pending recordings. All related resources are cleaned up in the database. This action cannot be undone, and subsequent requests to this calendar\'s UUID will return 404 Not Found errors. * @summary Delete Calendar * @param {CalendarsApiDeleteCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ deleteCalendar(requestParameters: CalendarsApiDeleteCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>; /** * Retrieves detailed information about a specific calendar integration by its UUID. Returns comprehensive calendar data including the calendar name, email address, provider details (Google, Microsoft), sync status, and other metadata. This endpoint is useful for displaying calendar information to users or verifying the status of a calendar integration before performing operations on its events. * @summary Get Calendar * @param {CalendarsApiGetCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ getCalendar(requestParameters: CalendarsApiGetCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<Calendar>; /** * Retrieves comprehensive details about a specific calendar event by its UUID. Returns complete event information including title, meeting link, start and end times, organizer status, recurrence information, and the full list of attendees with their names and email addresses. Also includes any associated bot parameters if recording is scheduled for this event. The raw calendar data from the provider is also included for advanced use cases. * @summary Get Event * @param {CalendarsApiGetEventRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ getEvent(requestParameters: CalendarsApiGetEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Event>; /** * Retrieves all calendars that have been integrated with the system for the authenticated user. Returns a list of calendars with their names, email addresses, provider information, and sync status. This endpoint shows only calendars that have been formally connected through the create_calendar endpoint, not all available calendars from the provider. * @summary List Calendars * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ listCalendars(options?: RawAxiosRequestConfig): AxiosPromise<Array<Calendar>>; /** * Retrieves a paginated list of calendar events with comprehensive filtering options. Supports filtering by organizer email, attendee email, date ranges (start_date_gte, start_date_lte), and event status. Results can be limited to upcoming events (default), past events, or all events. Each event includes full details such as meeting links, participants, and recording status. The response includes a \'next\' pagination cursor for retrieving additional results. * @summary List Events * @param {CalendarsApiListEventsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ listEvents(requestParameters: CalendarsApiListEventsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListEventResponse>; /** * Retrieves unprocessed calendar data directly from the provider (Google, Microsoft) using provided OAuth credentials. This endpoint is typically used during the initial setup process to allow users to select which calendars to integrate. Returns a list of available calendars with their unique IDs, email addresses, and primary status. This data is not persisted until a calendar is formally created using the create_calendar endpoint. * @summary List Raw Calendars * @param {CalendarsApiListRawCalendarsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ listRawCalendars(requestParameters: CalendarsApiListRawCalendarsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ListRawCalendarsResponse>; /** * Updates the configuration of a bot already scheduled to record an event. Allows modification of recording settings, webhook URLs, and other bot parameters without canceling and recreating the scheduled recording. For recurring events, the \'all_occurrences\' parameter determines whether changes apply to all instances or just the specific occurrence. Returns the updated event(s) with the modified bot parameters. * @summary Patch Bot * @param {CalendarsApiPatchBotRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ patchBot(requestParameters: CalendarsApiPatchBotRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Event>>; /** * Configures a bot to automatically join and record a specific calendar event at its scheduled time. The request body contains detailed bot configuration, including recording options, streaming settings, and webhook notification URLs. For recurring events, the \'all_occurrences\' parameter can be set to true to schedule recording for all instances of the recurring series, or false (default) to schedule only the specific instance. Returns the updated event(s) with the bot parameters attached. * @summary Schedule Record Event * @param {CalendarsApiScheduleRecordEventRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ scheduleRecordEvent(requestParameters: CalendarsApiScheduleRecordEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Event>>; /** * Cancels a previously scheduled recording for a calendar event and releases associated bot resources. For recurring events, the \'all_occurrences\' parameter controls whether to unschedule from all instances of the recurring series or just the specific occurrence. This operation is idempotent and will not error if no bot was scheduled. Returns the updated event(s) with the bot parameters removed. * @summary Unschedule Record Event * @param {CalendarsApiUnscheduleRecordEventRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ unscheduleRecordEvent(requestParameters: CalendarsApiUnscheduleRecordEventRequest, options?: RawAxiosRequestConfig): AxiosPromise<Array<Event>>; /** * Updates a calendar integration with new credentials or platform while maintaining the same UUID. This operation is performed as an atomic transaction to ensure data integrity. The system automatically unschedules existing bots to prevent duplicates, updates the calendar credentials, and triggers a full resync of all events. Useful when OAuth tokens need to be refreshed or when migrating a calendar between providers. Returns the updated calendar object with its new configuration. * @summary Update Calendar * @param {CalendarsApiUpdateCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApiInterface */ updateCalendar(requestParameters: CalendarsApiUpdateCalendarRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateCalendarResponse>; } /** * Request parameters for createCalendar operation in CalendarsApi. * @export * @interface CalendarsApiCreateCalendarRequest */ export interface CalendarsApiCreateCalendarRequest { /** * * @type {CreateCalendarParams} * @memberof CalendarsApiCreateCalendar */ readonly createCalendarParams: CreateCalendarParams; } /** * Request parameters for deleteCalendar operation in CalendarsApi. * @export * @interface CalendarsApiDeleteCalendarRequest */ export interface CalendarsApiDeleteCalendarRequest { /** * The UUID identifier * @type {string} * @memberof CalendarsApiDeleteCalendar */ readonly uuid: string; } /** * Request parameters for getCalendar operation in CalendarsApi. * @export * @interface CalendarsApiGetCalendarRequest */ export interface CalendarsApiGetCalendarRequest { /** * The UUID identifier * @type {string} * @memberof CalendarsApiGetCalendar */ readonly uuid: string; } /** * Request parameters for getEvent operation in CalendarsApi. * @export * @interface CalendarsApiGetEventRequest */ export interface CalendarsApiGetEventRequest { /** * The UUID identifier * @type {string} * @memberof CalendarsApiGetEvent */ readonly uuid: string; } /** * Request parameters for listEvents operation in CalendarsApi. * @export * @interface CalendarsApiListEventsRequest */ export interface CalendarsApiListEventsRequest { /** * Calendar ID to filter events by This is required to specify which calendar\&#39;s events to retrieve * @type {string} * @memberof CalendarsApiListEvents */ readonly calendarId: string; /** * If provided, filters events to include only those with this attendee\&#39;s email address Example: \&quot;jane.smith@example.com\&quot; * @type {string} * @memberof CalendarsApiListEvents */ readonly attendeeEmail?: string | null; /** * Optional cursor for pagination This value is included in the &#x60;next&#x60; field of the previous response * @type {string} * @memberof CalendarsApiListEvents */ readonly cursor?: string | null; /** * If provided, filters events to include only those with this organizer\&#39;s email address Example: \&quot;john.doe@example.com\&quot; * @type {string} * @memberof CalendarsApiListEvents */ readonly organizerEmail?: string | null; /** * If provided, filters events to include only those with a start date greater than or equal to this timestamp Format: ISO-8601 string, e.g., \&quot;2023-01-01T00:00:00Z\&quot; * @type {string} * @memberof CalendarsApiListEvents */ readonly startDateGte?: string | null; /** * If provided, filters events to include only those with a start date less than or equal to this timestamp Format: ISO-8601 string, e.g., \&quot;2023-12-31T23:59:59Z\&quot; * @type {string} * @memberof CalendarsApiListEvents */ readonly startDateLte?: string | null; /** * Filter events by meeting status Valid values: \&quot;upcoming\&quot; (default) returns events after current time, \&quot;past\&quot; returns previous events, \&quot;all\&quot; returns both * @type {string} * @memberof CalendarsApiListEvents */ readonly status?: string | null; /** * If provided, fetches only events updated at or after this timestamp Format: ISO-8601 string, e.g., \&quot;2023-01-01T00:00:00Z\&quot; * @type {string} * @memberof CalendarsApiListEvents */ readonly updatedAtGte?: string | null; } /** * Request parameters for listRawCalendars operation in CalendarsApi. * @export * @interface CalendarsApiListRawCalendarsRequest */ export interface CalendarsApiListRawCalendarsRequest { /** * * @type {ListRawCalendarsParams} * @memberof CalendarsApiListRawCalendars */ readonly listRawCalendarsParams: ListRawCalendarsParams; } /** * Request parameters for patchBot operation in CalendarsApi. * @export * @interface CalendarsApiPatchBotRequest */ export interface CalendarsApiPatchBotRequest { /** * The UUID identifier * @type {string} * @memberof CalendarsApiPatchBot */ readonly uuid: string; /** * * @type {BotParam3} * @memberof CalendarsApiPatchBot */ readonly botParam3: BotParam3; /** * schedule a bot to all occurences of a recurring event * @type {boolean} * @memberof CalendarsApiPatchBot */ readonly allOccurrences?: boolean | null; } /** * Request parameters for scheduleRecordEvent operation in CalendarsApi. * @export * @interface CalendarsApiScheduleRecordEventRequest */ export interface CalendarsApiScheduleRecordEventRequest { /** * The UUID identifier * @type {string} * @memberof CalendarsApiScheduleRecordEvent */ readonly uuid: string; /** * * @type {BotParam2} * @memberof CalendarsApiScheduleRecordEvent */ readonly botParam2: BotParam2; /** * schedule a bot to all occurences of a recurring event * @type {boolean} * @memberof CalendarsApiScheduleRecordEvent */ readonly allOccurrences?: boolean | null; } /** * Request parameters for unscheduleRecordEvent operation in CalendarsApi. * @export * @interface CalendarsApiUnscheduleRecordEventRequest */ export interface CalendarsApiUnscheduleRecordEventRequest { /** * The UUID identifier * @type {string} * @memberof CalendarsApiUnscheduleRecordEvent */ readonly uuid: string; /** * unschedule a bot from all occurences of a recurring event * @type {boolean} * @memberof CalendarsApiUnscheduleRecordEvent */ readonly allOccurrences?: boolean | null; } /** * Request parameters for updateCalendar operation in CalendarsApi. * @export * @interface CalendarsApiUpdateCalendarRequest */ export interface CalendarsApiUpdateCalendarRequest { /** * The UUID identifier * @type {string} * @memberof CalendarsApiUpdateCalendar */ readonly uuid: string; /** * * @type {UpdateCalendarParams} * @memberof CalendarsApiUpdateCalendar */ readonly updateCalendarParams: UpdateCalendarParams; } /** * CalendarsApi - object-oriented interface * @export * @class CalendarsApi * @extends {BaseAPI} */ export declare class CalendarsApi extends BaseAPI implements CalendarsApiInterface { /** * Integrates a new calendar with the system using OAuth credentials. This endpoint establishes a connection with the calendar provider (Google, Microsoft), sets up webhook notifications for real-time updates, and performs an initial sync of all calendar events. It requires OAuth credentials (client ID, client secret, and refresh token) and the platform type. Once created, the calendar is assigned a unique UUID that should be used for all subsequent operations. Returns the newly created calendar object with all integration details. * @summary Create Calendar * @param {CalendarsApiCreateCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApi */ createCalendar(requestParameters: CalendarsApiCreateCalendarRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateCalendarResponse, any>>; /** * Permanently removes a calendar integration by its UUID, including all associated events and bot configurations. This operation cancels any active subscriptions with the calendar provider, stops all webhook notifications, and unschedules any pending recordings. All related resources are cleaned up in the database. This action cannot be undone, and subsequent requests to this calendar\'s UUID will return 404 Not Found errors. * @summary Delete Calendar * @param {CalendarsApiDeleteCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApi */ deleteCalendar(requestParameters: CalendarsApiDeleteCalendarRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>; /** * Retrieves detailed information about a specific calendar integration by its UUID. Returns comprehensive calendar data including the calendar name, email address, provider details (Google, Microsoft), sync status, and other metadata. This endpoint is useful for displaying calendar information to users or verifying the status of a calendar integration before performing operations on its events. * @summary Get Calendar * @param {CalendarsApiGetCalendarRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CalendarsApi */ getCalendar(requestParameters: CalendarsApiGetCalendarRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Calendar, any>>; /** * Retrieves comprehensive details about a specific calendar event by its UUID. Returns complete event information including title, meeting link, start and end times, organizer status, recurrence information, and t