openapi: 3.2.0 info: title: Recall.ai Calendar V1 API version: 0.0.0 description: Recall.ai API Documentation servers: - url: https://us-east-1.recall.ai description: Recall.ai API - url: https://eu-central-1.recall.ai description: European Recall.ai API - url: https://ap-northeast-1.recall.ai description: Asia Recall.ai API - url: https://us-west-2.recall.ai description: Pay-as-you-go Recall.ai API tags: - name: calendar-v1 paths: /api/v1/calendar/authenticate/: post: operationId: calendar_authenticate_create description: 'Generate an authentication token for calendar APIs, scoped to the user. Each token has an expiry of 1 day from time of creation. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: Get Calendar Auth Token tags: - calendar-v1 requestBody: content: application/json: schema: $ref: '#/components/schemas/CalendarAuthenticateRequestRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CalendarAuthenticateRequestRequest' multipart/form-data: schema: $ref: '#/components/schemas/CalendarAuthenticateRequestRequest' required: true security: - tokenAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CalendarAuthenticateResponse' description: '' x-throttles: - scope_key: workspace_id limit: 300 period: min /api/v1/calendar/meetings/: get: operationId: calendar_meetings_list description: 'List all calendar meetings for the calendar user. The base rate limit for this endpoint is: - 120 requests per min per calendar_user' summary: List Calendar Meetings parameters: - in: query name: ical_uid schema: type: string description: Filter results by ical_uid. (Case sensitive prefix match will be performed.) - in: query name: start_time_after schema: type: string format: date-time - in: query name: start_time_before schema: type: string format: date-time tags: - calendar-v1 security: - CalendarJwtAuthentication: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/CalendarMeeting' description: '' x-throttles: - scope_key: calendar_user_id limit: 120 period: min /api/v1/calendar/meetings/refresh/: post: operationId: calendar_meetings_refresh_create description: 'Resync the calendar meetings for the user. The base rate limit for this endpoint is: - 120 requests per min per calendar_user' summary: Refresh Calendar Meetings tags: - calendar-v1 security: - CalendarJwtAuthentication: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/CalendarMeeting' description: '' x-throttles: - scope_key: calendar_user_id limit: 120 period: min /api/v1/calendar/meetings/{id}/: get: operationId: calendar_meetings_retrieve summary: Retrieve Calendar Meeting parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this calendar meeting. required: true tags: - calendar-v1 security: - CalendarJwtAuthentication: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CalendarMeeting' description: '' x-throttles: - scope_key: calendar_user_id limit: 120 period: min description: 'The base rate limit for this endpoint is: - 120 requests per min per calendar_user' put: operationId: calendar_meetings_update description: 'Use this endpoint to update override_should_record property of the meeting. The base rate limit for this endpoint is: - 120 requests per min per calendar_user' summary: Update Calendar Meeting parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this calendar meeting. required: true tags: - calendar-v1 requestBody: content: application/json: schema: $ref: '#/components/schemas/CalendarMeetingRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CalendarMeetingRequest' multipart/form-data: schema: $ref: '#/components/schemas/CalendarMeetingRequest' security: - CalendarJwtAuthentication: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CalendarMeeting' description: '' x-throttles: - scope_key: calendar_user_id limit: 120 period: min /api/v1/calendar/user/: get: operationId: calendar_user_retrieve summary: Get Calendar User tags: - calendar-v1 security: - CalendarJwtAuthentication: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CalendarUser' description: '' x-throttles: - scope_key: calendar_user_id limit: 120 period: min description: 'The base rate limit for this endpoint is: - 120 requests per min per calendar_user' put: operationId: calendar_user_update description: 'Update the recording preferences for a calendar user. The base rate limit for this endpoint is: - 120 requests per min per calendar_user' summary: Update Recording Preferences tags: - calendar-v1 requestBody: content: application/json: schema: $ref: '#/components/schemas/CalendarUserRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CalendarUserRequest' multipart/form-data: schema: $ref: '#/components/schemas/CalendarUserRequest' security: - CalendarJwtAuthentication: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CalendarUser' description: '' x-throttles: - scope_key: calendar_user_id limit: 120 period: min delete: operationId: calendar_user_destroy description: 'Delete calendar user(+disconnect any connected calendars). The base rate limit for this endpoint is: - 120 requests per min per calendar_user' summary: Delete Calendar User tags: - calendar-v1 security: - CalendarJwtAuthentication: [] responses: '204': description: No response body x-throttles: - scope_key: calendar_user_id limit: 120 period: min /api/v1/calendar/user/disconnect/: post: operationId: calendar_user_disconnect_create description: 'Disconnect calendar of specific platform. The base rate limit for this endpoint is: - 120 requests per min per calendar_user' summary: Disconnect Calendar Platform tags: - calendar-v1 requestBody: content: application/json: schema: $ref: '#/components/schemas/CalendarUserDisconnectPlatformRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CalendarUserDisconnectPlatformRequest' multipart/form-data: schema: $ref: '#/components/schemas/CalendarUserDisconnectPlatformRequest' required: true security: - CalendarJwtAuthentication: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/CalendarUser' description: '' x-throttles: - scope_key: calendar_user_id limit: 120 period: min /api/v1/calendar/users/: get: operationId: calendar_users_list description: 'List all calendar users created for the account. The base rate limit for this endpoint is: - 60 requests per min per workspace' summary: List Calendar Users parameters: - in: query name: email schema: type: string description: Filter results by email address - in: query name: paginate schema: type: boolean default: false description: Enable pagination for the results tags: - calendar-v1 security: - tokenAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/CalendarUser' description: '' x-throttles: - scope_key: workspace_id limit: 60 period: min components: schemas: TeamsMeetingInvite: type: object properties: meeting_id: type: - string - 'null' meeting_password: type: - string - 'null' organizer_id: type: - string - 'null' tenant_id: type: - string - 'null' message_id: type: - string - 'null' thread_id: type: - string - 'null' business_meeting_id: type: - string - 'null' business_meeting_password: type: - string - 'null' CalendarUserDisconnectPlatformPlatformEnum: enum: - google - microsoft type: string description: '* `google` - Google * `microsoft` - Microsoft' CalendarUserDisconnectPlatformRequest: type: object properties: platform: allOf: - $ref: '#/components/schemas/CalendarUserDisconnectPlatformPlatformEnum' description: 'The platform to disconnect. (''google'' or ''microsoft'') * `google` - Google * `microsoft` - Microsoft' required: - platform MeetingAttendee: type: object properties: name: type: string email: type: string is_organizer: type: boolean status: $ref: '#/components/schemas/MeetingAttendeeStatusEnum' required: - email - is_organizer - name - status CalendarMeetingRequest: type: object properties: override_should_record: type: - boolean - 'null' CalendarAuthenticateResponse: type: object description: Serializer for calendar authentication token response. properties: token: type: string description: The authentication token for the user. required: - token CalendarRecordingPreferences: type: object properties: id: type: string format: uuid readOnly: true record_non_host: type: boolean record_recurring: type: boolean record_external: type: boolean record_internal: type: boolean record_confirmed: type: boolean record_only_host: type: boolean bot_name: type: string required: - id CalendarMeeting: type: object properties: id: type: string format: uuid readOnly: true override_should_record: type: - boolean - 'null' title: type: string readOnly: true description: type: string readOnly: true will_record: type: boolean readOnly: true will_record_reason: type: string readOnly: true start_time: type: string format: date-time readOnly: true end_time: type: string format: date-time readOnly: true platform: type: string readOnly: true platform_id: type: string readOnly: true meeting_platform: type: string readOnly: true calendar_platform: type: string readOnly: true zoom_invite: allOf: - $ref: '#/components/schemas/ZoomMeetingInvite' readOnly: true teams_invite: allOf: - $ref: '#/components/schemas/TeamsMeetingInvite' readOnly: true meet_invite: allOf: - $ref: '#/components/schemas/GmeetMeetingInvite' readOnly: true webex_invite: allOf: - $ref: '#/components/schemas/WebexInvite' readOnly: true goto_meeting_invite: allOf: - $ref: '#/components/schemas/GotoMeetingInvite' readOnly: true bot_id: type: - string - 'null' format: uuid readOnly: true is_external: type: boolean readOnly: true is_hosted_by_me: type: boolean readOnly: true is_recurring: type: boolean readOnly: true organizer_email: type: string readOnly: true attendee_emails: type: array items: type: string readOnly: true attendees: type: array items: $ref: '#/components/schemas/MeetingAttendee' readOnly: true ical_uid: type: string readOnly: true visibility: type: string readOnly: true description: "\n For Google calendar meetings('default' | 'public' | 'private' | 'confidential').\n For Microsoft Outlook('normal' | 'personal' | 'private' | 'confidential').\n Additionally, this field may contain 'null' value.\n " required: - attendee_emails - attendees - bot_id - calendar_platform - description - end_time - goto_meeting_invite - ical_uid - id - is_external - is_hosted_by_me - is_recurring - meet_invite - meeting_platform - organizer_email - platform - platform_id - start_time - teams_invite - title - visibility - webex_invite - will_record - will_record_reason - zoom_invite MeetingAttendeeStatusEnum: enum: - accepted - declined - tentative - not_available type: string description: '* `accepted` - accepted * `declined` - declined * `tentative` - tentative * `not_available` - not_available' GmeetMeetingInvite: type: object properties: meeting_id: type: string required: - meeting_id CalendarAuthenticateRequestRequest: type: object properties: user_id: type: string minLength: 1 description: The unique id of the user in your system. required: - user_id GotoMeetingInvite: type: object properties: meeting_id: type: string required: - meeting_id ZoomMeetingInvite: type: object properties: meeting_id: type: string meeting_password: type: - string - 'null' tk: type: - string - 'null' zak: type: - string - 'null' required: - meeting_id WebexInvite: type: object properties: meeting_subdomain: type: string meeting_path: type: string description: This value is available only for Scheduled Webex meetings. meeting_mtid: type: string description: This value is available only for Scheduled Webex meetings. meeting_personal_room_id: type: string description: This value is available only for Personal room Webex meetings. required: - meeting_subdomain PatchedCalendarRecordingPreferencesRequest: type: object properties: record_non_host: type: boolean record_recurring: type: boolean record_external: type: boolean record_internal: type: boolean record_confirmed: type: boolean record_only_host: type: boolean bot_name: type: string minLength: 1 CalendarUser: type: object properties: id: type: string format: uuid readOnly: true external_id: type: string connections: type: array items: $ref: '#/components/schemas/CalendarUserConnection' readOnly: true preferences: $ref: '#/components/schemas/CalendarRecordingPreferences' required: - connections - id CalendarUserRequest: type: object properties: external_id: type: string minLength: 1 preferences: $ref: '#/components/schemas/PatchedCalendarRecordingPreferencesRequest' CalendarUserConnection: type: object properties: connected: type: boolean platform: type: string email: type: string id: type: string required: - connected - platform securitySchemes: tokenAuth: type: apiKey in: header name: Authorization description: Token-based authentication with required prefix "Token" CalendarJwtAuthentication: type: apiKey in: header name: x-recallcalendarauthtoken x-provenance: method: searched source: https://docs.recall.ai/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.recall.ai/reference/audio_mixed_destroy.md - https://docs.recall.ai/reference/audio_mixed_list.md - https://docs.recall.ai/reference/audio_mixed_partial_update.md - https://docs.recall.ai/reference/audio_mixed_retrieve.md - https://docs.recall.ai/reference/audio_separate_destroy.md - https://docs.recall.ai/reference/audio_separate_list.md - https://docs.recall.ai/reference/audio_separate_partial_update.md - https://docs.recall.ai/reference/audio_separate_retrieve.md - https://docs.recall.ai/reference/billing_usage_retrieve.md - https://docs.recall.ai/reference/bot_create.md - https://docs.recall.ai/reference/bot_delete_media_create.md - https://docs.recall.ai/reference/bot_destroy.md - https://docs.recall.ai/reference/bot_leave_call_create.md - https://docs.recall.ai/reference/bot_list.md - https://docs.recall.ai/reference/bot_output_audio_create.md - https://docs.recall.ai/reference/bot_output_audio_destroy.md - https://docs.recall.ai/reference/bot_output_media_create.md - https://docs.recall.ai/reference/bot_output_media_destroy.md - https://docs.recall.ai/reference/bot_output_screenshare_create.md - https://docs.recall.ai/reference/bot_output_screenshare_destroy.md - https://docs.recall.ai/reference/bot_output_video_create.md - https://docs.recall.ai/reference/bot_output_video_destroy.md - https://docs.recall.ai/reference/bot_partial_update.md - https://docs.recall.ai/reference/bot_pause_recording_create.md - https://docs.recall.ai/reference/bot_pin_participant_create.md - https://docs.recall.ai/reference/bot_resume_recording_create.md - https://docs.recall.ai/reference/bot_retrieve.md - https://docs.recall.ai/reference/bot_send_chat_message_create.md - https://docs.recall.ai/reference/bot_start_recording_create.md - https://docs.recall.ai/reference/bot_stop_recording_create.md - https://docs.recall.ai/reference/calendar_authenticate_create.md - https://docs.recall.ai/reference/calendar_events_bot_create.md - https://docs.recall.ai/reference/calendar_events_bot_destroy.md - https://docs.recall.ai/reference/calendar_events_list.md - https://docs.recall.ai/reference/calendar_events_retrieve.md - https://docs.recall.ai/reference/calendar_meetings_list.md - https://docs.recall.ai/reference/calendar_meetings_refresh_create.md - https://docs.recall.ai/reference/calendar_meetings_retrieve.md - https://docs.recall.ai/reference/calendar_meetings_update.md - https://docs.recall.ai/reference/calendar_user_destroy.md - https://docs.recall.ai/reference/calendar_user_disconnect_create.md - https://docs.recall.ai/reference/calendar_user_retrieve.md - https://docs.recall.ai/reference/calendar_user_update.md - https://docs.recall.ai/reference/calendar_users_list.md - https://docs.recall.ai/reference/calendars_access_token_create.md - https://docs.recall.ai/reference/calendars_create.md - https://docs.recall.ai/reference/calendars_destroy.md - https://docs.recall.ai/reference/calendars_list.md - https://docs.recall.ai/reference/calendars_partial_update.md - https://docs.recall.ai/reference/calendars_retrieve.md - https://docs.recall.ai/reference/google_login_groups_create.md - https://docs.recall.ai/reference/google_login_groups_destroy.md - https://docs.recall.ai/reference/google_login_groups_list.md - https://docs.recall.ai/reference/google_login_groups_partial_update.md - https://docs.recall.ai/reference/google_login_groups_retrieve.md - https://docs.recall.ai/reference/google_login_groups_update.md - https://docs.recall.ai/reference/google_logins_create.md - https://docs.recall.ai/reference/google_logins_destroy.md - https://docs.recall.ai/reference/google_logins_list.md - https://docs.recall.ai/reference/google_logins_partial_update.md - https://docs.recall.ai/reference/google_logins_retrieve.md - https://docs.recall.ai/reference/google_logins_update.md - https://docs.recall.ai/reference/meeting_direct_connect_create.md - https://docs.recall.ai/reference/meeting_direct_connect_list.md - https://docs.recall.ai/reference/meeting_direct_connect_retrieve.md - https://docs.recall.ai/reference/meeting_metadata_destroy.md - https://docs.recall.ai/reference/meeting_metadata_list.md - https://docs.recall.ai/reference/meeting_metadata_partial_update.md - https://docs.recall.ai/reference/meeting_metadata_retrieve.md - https://docs.recall.ai/reference/participant_events_destroy.md - https://docs.recall.ai/reference/participant_events_list.md - https://docs.recall.ai/reference/participant_events_partial_update.md - https://docs.recall.ai/reference/participant_events_retrieve.md - https://docs.recall.ai/reference/realtime_endpoint_list.md - https://docs.recall.ai/reference/realtime_endpoint_partial_update.md - https://docs.recall.ai/reference/realtime_endpoint_retrieve.md - https://docs.recall.ai/reference/recording_create_transcript_create.md - https://docs.recall.ai/reference/recording_destroy.md - https://docs.recall.ai/reference/recording_list.md - https://docs.recall.ai/reference/recording_partial_update.md - https://docs.recall.ai/reference/recording_retrieve.md - https://docs.recall.ai/reference/sdk_upload_create.md - https://docs.recall.ai/reference/sdk_upload_list.md - https://docs.recall.ai/reference/sdk_upload_retrieve.md - https://docs.recall.ai/reference/transcript_destroy.md - https://docs.recall.ai/reference/transcript_list.md - https://docs.recall.ai/reference/transcript_partial_update.md - https://docs.recall.ai/reference/transcript_retrieve.md - https://docs.recall.ai/reference/video_mixed_destroy.md - https://docs.recall.ai/reference/video_mixed_list.md - https://docs.recall.ai/reference/video_mixed_partial_update.md - https://docs.recall.ai/reference/video_mixed_retrieve.md - https://docs.recall.ai/reference/video_separate_destroy.md - https://docs.recall.ai/reference/video_separate_list.md - https://docs.recall.ai/reference/video_separate_partial_update.md - https://docs.recall.ai/reference/video_separate_retrieve.md - https://docs.recall.ai/reference/zoom_meetings_to_credentials_list.md - https://docs.recall.ai/reference/zoom_oauth_app_logs_list.md - https://docs.recall.ai/reference/zoom_oauth_apps_create.md - https://docs.recall.ai/reference/zoom_oauth_apps_destroy.md - https://docs.recall.ai/reference/zoom_oauth_apps_list.md - https://docs.recall.ai/reference/zoom_oauth_apps_partial_update.md - https://docs.recall.ai/reference/zoom_oauth_apps_retrieve.md - https://docs.recall.ai/reference/zoom_oauth_credential_logs_list.md - https://docs.recall.ai/reference/zoom_oauth_credentials_access_token_retrieve.md - https://docs.recall.ai/reference/zoom_oauth_credentials_create.md - https://docs.recall.ai/reference/zoom_oauth_credentials_destroy.md - https://docs.recall.ai/reference/zoom_oauth_credentials_list.md - https://docs.recall.ai/reference/zoom_oauth_credentials_retrieve.md - https://docs.recall.ai/reference/zoom_oauth_credentials_sync_meetings_create.md - https://docs.recall.ai/reference/zoom_oauth_credentials_validate_create.md merge: pages: 111 deduped: 2254 conflicts_kept_first: 0