openapi: 3.2.0 info: title: Recall.ai Zoom OAUTH Credentials 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: zoom-oauth-credentials paths: /api/v2/zoom-oauth-credential-logs/: get: operationId: zoom_oauth_credential_logs_list description: 'Get a list of all Zoom OAuth Credential Logs. Any warnings or errors related to the OAuth Credential will be logged here, and this can be helpful for debugging. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: List Zoom OAuth Credential Logs parameters: - in: query name: created_at_after schema: type: string format: date-time - in: query name: created_at_before schema: type: string format: date-time - in: query name: credential schema: type: string format: uuid - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string tags: - zoom-oauth-credentials security: - tokenAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedZoomOAuthCredentialLogList' description: '' x-throttles: - scope_key: workspace_id limit: 300 period: min /api/v2/zoom-oauth-credentials/: get: operationId: zoom_oauth_credentials_list description: 'Get a list of all Zoom OAuth Credentials The base rate limit for this endpoint is: - 60 requests per min per workspace' summary: List Zoom OAuth Credentials parameters: - in: query name: account_id schema: type: string - in: query name: created_at_after schema: type: string format: date-time - in: query name: created_at_before schema: type: string format: date-time - name: cursor required: false in: query description: The pagination cursor value. schema: type: string - in: query name: meeting_sync_status schema: type: string enum: - completed - failed - in_progress - not_started description: 'This field tracks the status of initial meeting sync on the credential. This operation is processed asynchronously when the credential is created or when the sync meetings endpoint is called. * `not_started` - Not Started * `in_progress` - In Progress * `completed` - Completed * `failed` - Failed' - in: query name: oauth_app schema: type: string format: uuid - name: ordering required: false in: query description: Which field to use when ordering the results. schema: type: string - in: query name: status schema: type: string enum: - healthy - unhealthy description: '* `healthy` - Healthy * `unhealthy` - Unhealthy' - in: query name: user_id schema: type: string tags: - zoom-oauth-credentials security: - tokenAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedZoomOAuthCredentialList' description: '' x-throttles: - scope_key: workspace_id limit: 60 period: min post: operationId: zoom_oauth_credentials_create description: 'Create a new Zoom OAuth Credential. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: Create Zoom OAuth Credential tags: - zoom-oauth-credentials requestBody: content: application/json: schema: $ref: '#/components/schemas/ZoomOAuthCredentialRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ZoomOAuthCredentialRequest' multipart/form-data: schema: $ref: '#/components/schemas/ZoomOAuthCredentialRequest' required: true security: - tokenAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/ZoomOAuthCredential' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ZoomOAuthCredentialBadRequest' description: '' x-throttles: - scope_key: workspace_id limit: 300 period: min /api/v2/zoom-oauth-credentials/{id}/: get: operationId: zoom_oauth_credentials_retrieve description: 'Get a Zoom OAuth Credential. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: Retrieve Zoom OAuth Credential parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this zoom o auth credential. required: true tags: - zoom-oauth-credentials security: - tokenAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ZoomOAuthCredential' description: '' x-throttles: - scope_key: workspace_id limit: 300 period: min delete: operationId: zoom_oauth_credentials_destroy description: 'Deletes a Zoom OAuth Credential. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: Destroy Zoom OAuth Credential parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this zoom o auth credential. required: true tags: - zoom-oauth-credentials security: - tokenAuth: [] responses: '204': description: No response body x-throttles: - scope_key: workspace_id limit: 300 period: min /api/v2/zoom-oauth-credentials/{id}/access-token/: get: operationId: zoom_oauth_credentials_access_token_retrieve description: 'Get the access token for these credentials. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: Get Access Token parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this zoom o auth credential. required: true tags: - zoom-oauth-credentials security: - tokenAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ZoomAccessToken' description: '' x-throttles: - scope_key: workspace_id limit: 300 period: min /api/v2/zoom-oauth-credentials/{id}/sync-meetings/: post: operationId: zoom_oauth_credentials_sync_meetings_create description: 'Manually re-sync meetings accessible from these credentials. This operation is asynchronous, and may take some time to complete.Use the `meeting_sync_status` field on the credential object to check status of sync.This is ONLY useful for debugging, and should not be called on a regular basis. Meetings are ordinarily automatically synced. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: Manually Resync Meetings parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this zoom o auth credential. required: true tags: - zoom-oauth-credentials security: - tokenAuth: [] responses: '200': description: No response body x-throttles: - scope_key: workspace_id limit: 300 period: min /api/v2/zoom-oauth-credentials/{id}/validate/: post: operationId: zoom_oauth_credentials_validate_create description: 'Manually check the validity of credentials, and re-enable them if they are functional. This can be useful if credentials are disabled due to repeated errors. The base rate limit for this endpoint is: - 300 requests per min per workspace' summary: Manually Revalidate Credential parameters: - in: path name: id schema: type: string format: uuid description: A UUID string identifying this zoom o auth credential. required: true tags: - zoom-oauth-credentials security: - tokenAuth: [] responses: '200': description: No response body x-throttles: - scope_key: workspace_id limit: 300 period: min components: schemas: ZoomOAuthCredential: type: object properties: id: type: string format: uuid readOnly: true oauth_app: type: string format: uuid status: allOf: - $ref: '#/components/schemas/ZoomOAuthCredentialStatusEnum' readOnly: true user_id: type: - string - 'null' readOnly: true account_id: type: - string - 'null' readOnly: true access_token_callback_url: type: - string - 'null' description: The url to retrieve access token from. Applicable for **Customer Managed OAuth** flow. maxLength: 200 created_at: type: string format: date-time readOnly: true meeting_sync_status: allOf: - $ref: '#/components/schemas/MeetingSyncStatusEnum' readOnly: true description: 'This field tracks the status of initial meeting sync on the credential. This operation is processed asynchronously when the credential is created or when the sync meetings endpoint is called. * `not_started` - Not Started * `in_progress` - In Progress * `completed` - Completed * `failed` - Failed' required: - account_id - created_at - id - meeting_sync_status - oauth_app - status - user_id MeetingSyncStatusEnum: enum: - not_started - in_progress - completed - failed type: string description: '* `not_started` - Not Started * `in_progress` - In Progress * `completed` - Completed * `failed` - Failed' ZoomAccessToken: type: object properties: token: type: string expires_at: type: string format: date-time required: - expires_at - token PaginatedZoomOAuthCredentialLogList: type: object properties: next: type: - string - 'null' previous: type: - string - 'null' results: type: array items: $ref: '#/components/schemas/ZoomOAuthCredentialLog' ZoomAuthorizationCodeRequest: type: object properties: code: type: string minLength: 1 redirect_uri: type: string format: uri minLength: 1 code_verifier: type: string minLength: 1 required: - code - redirect_uri PaginatedZoomOAuthCredentialList: type: object properties: next: type: - string - 'null' previous: type: - string - 'null' results: type: array items: $ref: '#/components/schemas/ZoomOAuthCredential' ZoomOAuthCredentialStatusEnum: enum: - healthy - unhealthy type: string description: '* `healthy` - Healthy * `unhealthy` - Unhealthy' ZoomOAuthCredentialBadRequest: type: object properties: detail: type: string conflicting_zoom_account_id: type: string description: The Zoom account ID of the conflicting credential, if any. conflicting_zoom_user_id: type: string description: The Zoom user ID of the conflicting credential, if any. required: - detail ZoomOAuthCredentialRequest: type: object properties: oauth_app: type: string format: uuid authorization_code: allOf: - $ref: '#/components/schemas/ZoomAuthorizationCodeRequest' writeOnly: true description: Data received from Zoom after the user has authorized the app. Applicable for **Recall Managed OAuth** flow. access_token_callback_url: type: - string - 'null' minLength: 1 description: The url to retrieve access token from. Applicable for **Customer Managed OAuth** flow. maxLength: 200 required: - oauth_app ZoomOAuthCredentialLog: type: object properties: credential: type: string format: uuid message: type: string maxLength: 2000 created_at: type: string format: date-time readOnly: true required: - created_at - credential - message 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