zaccl 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -136,6 +136,44 @@ class ECatCloudRecording extends EndpointCategory_1.default {
136
136
  });
137
137
  });
138
138
  }
139
+ /**
140
+ * Recover recordings for a meeting (Light)
141
+ * @author Gabe Abrams
142
+ * @instance
143
+ * @memberof api.cloudRecording
144
+ * @method recoverMeetingRecordings
145
+ * @param opts object containing all arguments
146
+ * @param opts.meetingId the Zoom meeting ID or UUID
147
+ */
148
+ recoverMeetingRecordings(opts) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ // Check if required param is present
151
+ if (!opts.meetingId) {
152
+ throw new ZACCLError_1.default({
153
+ message: 'Meeting ID is a required parameter',
154
+ code: ErrorCode_1.default.InvalidMeetingId,
155
+ });
156
+ }
157
+ return this.visitEndpoint({
158
+ path: `/meetings/${(0, utils_1.doubleEncode)(String(opts.meetingId))}/recordings/status`,
159
+ method: 'PUT',
160
+ params: {
161
+ action: 'recover',
162
+ },
163
+ action: 'recover recordings of a meeting',
164
+ errorMap: {
165
+ 400: {
166
+ 1010: 'We could not find the user on this account',
167
+ 3309: 'Not enough cloud storage available. Either purchase additional storage or delete cloud recordings to free up storage.',
168
+ },
169
+ 404: {
170
+ 1001: 'We could not find that user',
171
+ 3301: `There are no recordings for the meeting ${opts.meetingId}`,
172
+ },
173
+ },
174
+ });
175
+ });
176
+ }
139
177
  /**
140
178
  * Get all recordings of a meeting (Light)
141
179
  * @author Aryan Pandey
@@ -146,6 +184,8 @@ class ECatCloudRecording extends EndpointCategory_1.default {
146
184
  * @param opts.meetingId the Zoom meeting ID or UUID
147
185
  * @param opts.includeDownloadAccessToken if true, the response will include a download_access_token
148
186
  * that can be used to download the recording files
187
+ * @param opts.attemptRecoverOnNotFound if true, when Zoom returns a "not found" error,
188
+ * attempt to recover the recording and then fetch the recording info again
149
189
  * @returns list of Zoom meeting recording objects {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingget#responses}
150
190
  */
151
191
  listMeetingRecordings(opts) {
@@ -163,22 +203,59 @@ class ECatCloudRecording extends EndpointCategory_1.default {
163
203
  params.include_fields = 'download_access_token';
164
204
  params.ttl = 604800; // Max TTL
165
205
  }
166
- return this.visitEndpoint({
167
- // Call function on meetingId to handle double encoding if necessary
168
- path: `/meetings/${(0, utils_1.doubleEncode)(String(opts.meetingId))}/recordings`,
169
- method: 'GET',
170
- action: 'get all recordings of a meeting',
171
- params,
172
- errorMap: {
173
- 400: {
174
- 1010: 'We could not find the user on this account',
175
- },
176
- 404: {
177
- 1001: 'We could not find that user',
178
- 3301: `There are no recordings for the meeting ${opts.meetingId}`,
179
- },
206
+ // Create full visitEndpoint opts
207
+ const path = `/meetings/${(0, utils_1.doubleEncode)(String(opts.meetingId))}/recordings`;
208
+ const method = 'GET';
209
+ const action = 'get all recordings of a meeting';
210
+ const errorMap = {
211
+ 400: {
212
+ 1010: 'We could not find the user on this account',
180
213
  },
181
- });
214
+ 404: {
215
+ 1001: 'We could not find that user',
216
+ 3301: `There are no recordings for the meeting ${opts.meetingId}`,
217
+ },
218
+ };
219
+ try {
220
+ const output = yield this.visitEndpoint({
221
+ path,
222
+ method,
223
+ action,
224
+ errorMap,
225
+ params,
226
+ });
227
+ return output;
228
+ }
229
+ catch (err) {
230
+ if (
231
+ // Attempt recovery
232
+ opts.attemptRecoverOnNotFound
233
+ // Recording not found
234
+ &amp;&amp; (err || {}).code === 'ZOOM404-3301') {
235
+ try {
236
+ // Try recovering the recording
237
+ yield this.recoverMeetingRecordings({ meetingId: opts.meetingId });
238
+ // Recovered! Try fetching again
239
+ const output = yield this.visitEndpoint({
240
+ path,
241
+ method,
242
+ action,
243
+ errorMap,
244
+ params,
245
+ });
246
+ return output;
247
+ }
248
+ catch (err2) {
249
+ // Failed to recover
250
+ throw new ZACCLError_1.default({
251
+ message: `The recording for meeting ${opts.meetingId} could not be found, and we were unable to recover it. Error: ${(err2 === null || err2 === void 0 ? void 0 : err2.message) || 'unknown recovery error'}`,
252
+ code: ErrorCode_1.default.NotFoundAndUnrecoverable,
253
+ });
254
+ }
255
+ }
256
+ // Not an error we handle. Rethrow it.
257
+ throw err;
258
+ }
182
259
  });
183
260
  }
184
261
  /**
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -576,7 +576,7 @@ for custom throttle control</td>
576
576
 
577
577
  <dt class="tag-source">Source:</dt>
578
578
  <dd class="tag-source"><ul class="dummy"><li>
579
- <a href="ECatCloudRecording.js.html">ECatCloudRecording.js</a>, <a href="ECatCloudRecording.js.html#line98">line 98</a>
579
+ <a href="ECatCloudRecording.js.html">ECatCloudRecording.js</a>, <a href="ECatCloudRecording.js.html#line136">line 136</a>
580
580
  </li></ul></dd>
581
581
 
582
582
 
@@ -732,6 +732,25 @@ for custom throttle control</td>
732
732
  </tr>
733
733
 
734
734
 
735
+
736
+ <tr>
737
+
738
+ <td class="name"><code>attemptRecoverOnNotFound</code></td>
739
+
740
+
741
+ <td class="type">
742
+
743
+ </td>
744
+
745
+
746
+
747
+
748
+
749
+ <td class="description last">if true, when Zoom returns a "not found" error,
750
+ attempt to recover the recording and then fetch the recording info again</td>
751
+ </tr>
752
+
753
+
735
754
  </tbody>
736
755
  </table>
737
756
 
@@ -787,7 +806,7 @@ for custom throttle control</td>
787
806
 
788
807
  <dt class="tag-source">Source:</dt>
789
808
  <dd class="tag-source"><ul class="dummy"><li>
790
- <a href="ECatCloudRecording.js.html">ECatCloudRecording.js</a>, <a href="ECatCloudRecording.js.html#line143">line 143</a>
809
+ <a href="ECatCloudRecording.js.html">ECatCloudRecording.js</a>, <a href="ECatCloudRecording.js.html#line220">line 220</a>
791
810
  </li></ul></dd>
792
811
 
793
812
 
@@ -1150,6 +1169,188 @@ for custom throttle control</td>
1150
1169
 
1151
1170
 
1152
1171
 
1172
+
1173
+
1174
+
1175
+
1176
+ <h4 class="name" id="recoverMeetingRecordings"><span class="type-signature"></span>recoverMeetingRecordings<span class="signature">(opts)</span><span class="type-signature"></span></h4>
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+ <dl class="details">
1184
+
1185
+
1186
+ <dt class="tag-source">Source:</dt>
1187
+ <dd class="tag-source"><ul class="dummy"><li>
1188
+ <a href="ECatCloudRecording.js.html">ECatCloudRecording.js</a>, <a href="ECatCloudRecording.js.html#line98">line 98</a>
1189
+ </li></ul></dd>
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+ <dt class="tag-author">Author:</dt>
1210
+ <dd class="tag-author">
1211
+ <ul>
1212
+ <li>Gabe Abrams</li>
1213
+ </ul>
1214
+ </dd>
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+ </dl>
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+ <div class="description usertext">
1235
+ Recover recordings for a meeting (Light)
1236
+ </div>
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+ <h5>Parameters:</h5>
1249
+
1250
+
1251
+ <table class="params">
1252
+ <thead>
1253
+ <tr>
1254
+
1255
+ <th>Name</th>
1256
+
1257
+
1258
+ <th>Type</th>
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+ <th class="last">Description</th>
1265
+ </tr>
1266
+ </thead>
1267
+
1268
+ <tbody>
1269
+
1270
+
1271
+ <tr>
1272
+
1273
+ <td class="name"><code>opts</code></td>
1274
+
1275
+
1276
+ <td class="type">
1277
+
1278
+ </td>
1279
+
1280
+
1281
+
1282
+
1283
+
1284
+ <td class="description last">object containing all arguments
1285
+ <h6>Properties</h6>
1286
+
1287
+
1288
+ <table class="params">
1289
+ <thead>
1290
+ <tr>
1291
+
1292
+ <th>Name</th>
1293
+
1294
+
1295
+ <th>Type</th>
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+ <th class="last">Description</th>
1302
+ </tr>
1303
+ </thead>
1304
+
1305
+ <tbody>
1306
+
1307
+
1308
+ <tr>
1309
+
1310
+ <td class="name"><code>meetingId</code></td>
1311
+
1312
+
1313
+ <td class="type">
1314
+
1315
+ </td>
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+ <td class="description last">the Zoom meeting ID or UUID</td>
1322
+ </tr>
1323
+
1324
+
1325
+ </tbody>
1326
+ </table>
1327
+
1328
+ </td>
1329
+ </tr>
1330
+
1331
+
1332
+ </tbody>
1333
+ </table>
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+
1153
1354
 
1154
1355
 
1155
1356
 
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
package/docs/index.html CHANGED
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
29
29
 
30
- <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
30
+ <h2><a style="font-size: 30px;" href="index.html">ZACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.cloudRecording.html">api.cloudRecording</a><ul class='methods'><li data-type='method'><a href="api.cloudRecording.html#listAccountRecordings">listAccountRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listMeetingRecordings">listMeetingRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#listUserRecordings">listUserRecordings</a></li><li data-type='method'><a href="api.cloudRecording.html#recoverMeetingRecordings">recoverMeetingRecordings</a></li></ul></li><li><a href="api.group.html">api.group</a><ul class='methods'><li data-type='method'><a href="api.group.html#listGroupMembers">listGroupMembers</a></li></ul></li><li><a href="api.meeting.html">api.meeting</a><ul class='methods'><li data-type='method'><a href="api.meeting.html#addAltHost">addAltHost</a></li><li data-type='method'><a href="api.meeting.html#create">create</a></li><li data-type='method'><a href="api.meeting.html#delete">delete</a></li><li data-type='method'><a href="api.meeting.html#get">get</a></li><li data-type='method'><a href="api.meeting.html#getActivitiesReport">getActivitiesReport</a></li><li data-type='method'><a href="api.meeting.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.meeting.html#getPastMeetingDetails">getPastMeetingDetails</a></li><li data-type='method'><a href="api.meeting.html#getPollInfo">getPollInfo</a></li><li data-type='method'><a href="api.meeting.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.meeting.html#getTranscript">getTranscript</a></li><li data-type='method'><a href="api.meeting.html#listPastInstances">listPastInstances</a></li><li data-type='method'><a href="api.meeting.html#listPastMeetingParticipants">listPastMeetingParticipants</a></li><li data-type='method'><a href="api.meeting.html#listPastPollOccurrences">listPastPollOccurrences</a></li><li data-type='method'><a href="api.meeting.html#update">update</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#activate">activate</a></li><li data-type='method'><a href="api.user.html#addWebinarLicense">addWebinarLicense</a></li><li data-type='method'><a href="api.user.html#get">get</a></li><li data-type='method'><a href="api.user.html#getZAKToken">getZAKToken</a></li><li data-type='method'><a href="api.user.html#promoteToLicensed">promoteToLicensed</a></li></ul></li><li><a href="api.webinar.html">api.webinar</a><ul class='methods'><li data-type='method'><a href="api.webinar.html#addPanelist">addPanelist</a></li><li data-type='method'><a href="api.webinar.html#create">create</a></li><li data-type='method'><a href="api.webinar.html#get">get</a></li><li data-type='method'><a href="api.webinar.html#getParticipantReport">getParticipantReport</a></li><li data-type='method'><a href="api.webinar.html#getPollReport">getPollReport</a></li><li data-type='method'><a href="api.webinar.html#getQAReport">getQAReport</a></li><li data-type='method'><a href="api.webinar.html#listPanelists">listPanelists</a></li></ul></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -40,6 +40,18 @@ declare class ECatCloudRecording extends EndpointCategory {
40
40
  onNewPage?: (recordings: ZoomRecordingInAccount[]) => void;
41
41
  minMsBetweenPageRequests?: number;
42
42
  }): Promise<ZoomRecordingInAccount[]>;
43
+ /**
44
+ * Recover recordings for a meeting (Light)
45
+ * @author Gabe Abrams
46
+ * @instance
47
+ * @memberof api.cloudRecording
48
+ * @method recoverMeetingRecordings
49
+ * @param opts object containing all arguments
50
+ * @param opts.meetingId the Zoom meeting ID or UUID
51
+ */
52
+ recoverMeetingRecordings(opts: {
53
+ meetingId: string | number;
54
+ }): Promise<void>;
43
55
  /**
44
56
  * Get all recordings of a meeting (Light)
45
57
  * @author Aryan Pandey
@@ -50,11 +62,14 @@ declare class ECatCloudRecording extends EndpointCategory {
50
62
  * @param opts.meetingId the Zoom meeting ID or UUID
51
63
  * @param opts.includeDownloadAccessToken if true, the response will include a download_access_token
52
64
  * that can be used to download the recording files
65
+ * @param opts.attemptRecoverOnNotFound if true, when Zoom returns a "not found" error,
66
+ * attempt to recover the recording and then fetch the recording info again
53
67
  * @returns list of Zoom meeting recording objects {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingget#responses}
54
68
  */
55
69
  listMeetingRecordings(opts: {
56
70
  meetingId: string | number;
57
71
  includeDownloadAccessToken?: boolean;
72
+ attemptRecoverOnNotFound?: boolean;
58
73
  }): Promise<ZoomMeetingRecordings>;
59
74
  /**
60
75
  * List all cloud recordings of a user (Medium)
@@ -95,6 +95,44 @@ class ECatCloudRecording extends EndpointCategory_1.default {
95
95
  });
96
96
  });
97
97
  }
98
+ /**
99
+ * Recover recordings for a meeting (Light)
100
+ * @author Gabe Abrams
101
+ * @instance
102
+ * @memberof api.cloudRecording
103
+ * @method recoverMeetingRecordings
104
+ * @param opts object containing all arguments
105
+ * @param opts.meetingId the Zoom meeting ID or UUID
106
+ */
107
+ recoverMeetingRecordings(opts) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ // Check if required param is present
110
+ if (!opts.meetingId) {
111
+ throw new ZACCLError_1.default({
112
+ message: 'Meeting ID is a required parameter',
113
+ code: ErrorCode_1.default.InvalidMeetingId,
114
+ });
115
+ }
116
+ return this.visitEndpoint({
117
+ path: `/meetings/${(0, utils_1.doubleEncode)(String(opts.meetingId))}/recordings/status`,
118
+ method: 'PUT',
119
+ params: {
120
+ action: 'recover',
121
+ },
122
+ action: 'recover recordings of a meeting',
123
+ errorMap: {
124
+ 400: {
125
+ 1010: 'We could not find the user on this account',
126
+ 3309: 'Not enough cloud storage available. Either purchase additional storage or delete cloud recordings to free up storage.',
127
+ },
128
+ 404: {
129
+ 1001: 'We could not find that user',
130
+ 3301: `There are no recordings for the meeting ${opts.meetingId}`,
131
+ },
132
+ },
133
+ });
134
+ });
135
+ }
98
136
  /**
99
137
  * Get all recordings of a meeting (Light)
100
138
  * @author Aryan Pandey
@@ -105,6 +143,8 @@ class ECatCloudRecording extends EndpointCategory_1.default {
105
143
  * @param opts.meetingId the Zoom meeting ID or UUID
106
144
  * @param opts.includeDownloadAccessToken if true, the response will include a download_access_token
107
145
  * that can be used to download the recording files
146
+ * @param opts.attemptRecoverOnNotFound if true, when Zoom returns a "not found" error,
147
+ * attempt to recover the recording and then fetch the recording info again
108
148
  * @returns list of Zoom meeting recording objects {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingget#responses}
109
149
  */
110
150
  listMeetingRecordings(opts) {
@@ -122,22 +162,59 @@ class ECatCloudRecording extends EndpointCategory_1.default {
122
162
  params.include_fields = 'download_access_token';
123
163
  params.ttl = 604800; // Max TTL
124
164
  }
125
- return this.visitEndpoint({
126
- // Call function on meetingId to handle double encoding if necessary
127
- path: `/meetings/${(0, utils_1.doubleEncode)(String(opts.meetingId))}/recordings`,
128
- method: 'GET',
129
- action: 'get all recordings of a meeting',
130
- params,
131
- errorMap: {
132
- 400: {
133
- 1010: 'We could not find the user on this account',
134
- },
135
- 404: {
136
- 1001: 'We could not find that user',
137
- 3301: `There are no recordings for the meeting ${opts.meetingId}`,
138
- },
165
+ // Create full visitEndpoint opts
166
+ const path = `/meetings/${(0, utils_1.doubleEncode)(String(opts.meetingId))}/recordings`;
167
+ const method = 'GET';
168
+ const action = 'get all recordings of a meeting';
169
+ const errorMap = {
170
+ 400: {
171
+ 1010: 'We could not find the user on this account',
139
172
  },
140
- });
173
+ 404: {
174
+ 1001: 'We could not find that user',
175
+ 3301: `There are no recordings for the meeting ${opts.meetingId}`,
176
+ },
177
+ };
178
+ try {
179
+ const output = yield this.visitEndpoint({
180
+ path,
181
+ method,
182
+ action,
183
+ errorMap,
184
+ params,
185
+ });
186
+ return output;
187
+ }
188
+ catch (err) {
189
+ if (
190
+ // Attempt recovery
191
+ opts.attemptRecoverOnNotFound
192
+ // Recording not found
193
+ && (err || {}).code === 'ZOOM404-3301') {
194
+ try {
195
+ // Try recovering the recording
196
+ yield this.recoverMeetingRecordings({ meetingId: opts.meetingId });
197
+ // Recovered! Try fetching again
198
+ const output = yield this.visitEndpoint({
199
+ path,
200
+ method,
201
+ action,
202
+ errorMap,
203
+ params,
204
+ });
205
+ return output;
206
+ }
207
+ catch (err2) {
208
+ // Failed to recover
209
+ throw new ZACCLError_1.default({
210
+ message: `The recording for meeting ${opts.meetingId} could not be found, and we were unable to recover it. Error: ${(err2 === null || err2 === void 0 ? void 0 : err2.message) || 'unknown recovery error'}`,
211
+ code: ErrorCode_1.default.NotFoundAndUnrecoverable,
212
+ });
213
+ }
214
+ }
215
+ // Not an error we handle. Rethrow it.
216
+ throw err;
217
+ }
141
218
  });
142
219
  }
143
220
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ECatCloudRecording.js","sourceRoot":"","sources":["../../src/endpoints/ECatCloudRecording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ECatCloudRecording.js","sourceRoot":"","sources":["../../src/endpoints/ECatCloudRecording.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ declare enum ErrorCode {
16
16
  UnknownError = "ZAC6",
17
17
  ProgrammerError = "ZAC13",
18
18
  InvalidPageSize = "ZAC17",
19
+ NotFoundAndUnrecoverable = "ZAC22",
19
20
  NotAddedBecauseDeactivated = "ZAC14",
20
21
  CredentialsNotIncluded = "ZAC18",
21
22
  FailedToGetAccessToken = "ZAC19",
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Highest error: ZAC21
2
+ // Highest error: ZAC22
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  var ErrorCode;
5
5
  (function (ErrorCode) {
@@ -25,6 +25,8 @@ var ErrorCode;
25
25
  ErrorCode["UnknownError"] = "ZAC6";
26
26
  ErrorCode["ProgrammerError"] = "ZAC13";
27
27
  ErrorCode["InvalidPageSize"] = "ZAC17";
28
+ // Meeting errors
29
+ ErrorCode["NotFoundAndUnrecoverable"] = "ZAC22";
28
30
  // Account errors
29
31
  ErrorCode["NotAddedBecauseDeactivated"] = "ZAC14";
30
32
  // Initialization Errors
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorCode.js","sourceRoot":"","sources":["../../../src/shared/types/ErrorCode.ts"],"names":[],"mappings":";AAAA,uBAAuB;;AAEvB,IAAK,SAqCJ;AArCD,WAAK,SAAS;IACZ,iBAAiB;IACjB,kCAAqB,CAAA;IACrB,yCAA4B,CAAA;IAE5B,kBAAkB;IAClB,uDAA0C,CAAA;IAC1C,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,qCAAwB,CAAA;IACxB,wCAA2B,CAAA;IAE3B,oBAAoB;IACpB,yCAA4B,CAAA;IAC5B,wCAA2B,CAAA;IAC3B,6CAAgC,CAAA;IAChC,wCAA2B,CAAA;IAE3B,kBAAkB;IAClB,uCAA0B,CAAA;IAC1B,uCAA0B,CAAA;IAC1B,wCAA2B,CAAA;IAE3B,eAAe;IACf,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IAEzB,iBAAiB;IACjB,iDAAoC,CAAA;IAEpC,wBAAwB;IACxB,6CAAgC,CAAA;IAEhC,eAAe;IACf,6CAAgC,CAAA;IAChC,yCAA4B,CAAA;AAC9B,CAAC,EArCI,SAAS,KAAT,SAAS,QAqCb;AAED,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"ErrorCode.js","sourceRoot":"","sources":["../../../src/shared/types/ErrorCode.ts"],"names":[],"mappings":";AAAA,uBAAuB;;AAEvB,IAAK,SAwCJ;AAxCD,WAAK,SAAS;IACZ,iBAAiB;IACjB,kCAAqB,CAAA;IACrB,yCAA4B,CAAA;IAE5B,kBAAkB;IAClB,uDAA0C,CAAA;IAC1C,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,qCAAwB,CAAA;IACxB,wCAA2B,CAAA;IAE3B,oBAAoB;IACpB,yCAA4B,CAAA;IAC5B,wCAA2B,CAAA;IAC3B,6CAAgC,CAAA;IAChC,wCAA2B,CAAA;IAE3B,kBAAkB;IAClB,uCAA0B,CAAA;IAC1B,uCAA0B,CAAA;IAC1B,wCAA2B,CAAA;IAE3B,eAAe;IACf,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IAEzB,iBAAiB;IACjB,+CAAkC,CAAA;IAElC,iBAAiB;IACjB,iDAAoC,CAAA;IAEpC,wBAAwB;IACxB,6CAAgC,CAAA;IAEhC,eAAe;IACf,6CAAgC,CAAA;IAChC,yCAA4B,CAAA;AAC9B,CAAC,EAxCI,SAAS,KAAT,SAAS,QAwCb;AAED,kBAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zaccl",
3
- "version": "5.0.1",
3
+ "version": "5.1.0",
4
4
  "description": "The Zoom App Complete Connection Library, a project that handles everything required to build a zoom-integrated app.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -107,6 +107,48 @@ class ECatCloudRecording extends EndpointCategory {
107
107
  });
108
108
  }
109
109
 
110
+ /**
111
+ * Recover recordings for a meeting (Light)
112
+ * @author Gabe Abrams
113
+ * @instance
114
+ * @memberof api.cloudRecording
115
+ * @method recoverMeetingRecordings
116
+ * @param opts object containing all arguments
117
+ * @param opts.meetingId the Zoom meeting ID or UUID
118
+ */
119
+ async recoverMeetingRecordings(
120
+ opts: {
121
+ meetingId: string | number,
122
+ },
123
+ ): Promise<void> {
124
+ // Check if required param is present
125
+ if (!opts.meetingId) {
126
+ throw new ZACCLError({
127
+ message: 'Meeting ID is a required parameter',
128
+ code: ErrorCode.InvalidMeetingId,
129
+ });
130
+ }
131
+
132
+ return this.visitEndpoint({
133
+ path: `/meetings/${doubleEncode(String(opts.meetingId))}/recordings/status`,
134
+ method: 'PUT',
135
+ params: {
136
+ action: 'recover',
137
+ },
138
+ action: 'recover recordings of a meeting',
139
+ errorMap: {
140
+ 400: {
141
+ 1010: 'We could not find the user on this account',
142
+ 3309: 'Not enough cloud storage available. Either purchase additional storage or delete cloud recordings to free up storage.',
143
+ },
144
+ 404: {
145
+ 1001: 'We could not find that user',
146
+ 3301: `There are no recordings for the meeting ${opts.meetingId}`,
147
+ },
148
+ },
149
+ });
150
+ }
151
+
110
152
  /**
111
153
  * Get all recordings of a meeting (Light)
112
154
  * @author Aryan Pandey
@@ -117,12 +159,15 @@ class ECatCloudRecording extends EndpointCategory {
117
159
  * @param opts.meetingId the Zoom meeting ID or UUID
118
160
  * @param opts.includeDownloadAccessToken if true, the response will include a download_access_token
119
161
  * that can be used to download the recording files
162
+ * @param opts.attemptRecoverOnNotFound if true, when Zoom returns a "not found" error,
163
+ * attempt to recover the recording and then fetch the recording info again
120
164
  * @returns list of Zoom meeting recording objects {@link https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingget#responses}
121
165
  */
122
166
  async listMeetingRecordings(
123
167
  opts: {
124
168
  meetingId: string | number,
125
169
  includeDownloadAccessToken?: boolean,
170
+ attemptRecoverOnNotFound?: boolean,
126
171
  },
127
172
  ): Promise<ZoomMeetingRecordings> {
128
173
  // Check if required param is present
@@ -140,22 +185,60 @@ class ECatCloudRecording extends EndpointCategory {
140
185
  params.ttl = 604800; // Max TTL
141
186
  }
142
187
 
143
- return this.visitEndpoint({
144
- // Call function on meetingId to handle double encoding if necessary
145
- path: `/meetings/${doubleEncode(String(opts.meetingId))}/recordings`,
146
- method: 'GET',
147
- action: 'get all recordings of a meeting',
148
- params,
149
- errorMap: {
150
- 400: {
151
- 1010: 'We could not find the user on this account',
152
- },
153
- 404: {
154
- 1001: 'We could not find that user',
155
- 3301: `There are no recordings for the meeting ${opts.meetingId}`,
156
- },
188
+ // Create full visitEndpoint opts
189
+ const path = `/meetings/${doubleEncode(String(opts.meetingId))}/recordings`;
190
+ const method = 'GET';
191
+ const action = 'get all recordings of a meeting';
192
+ const errorMap = {
193
+ 400: {
194
+ 1010: 'We could not find the user on this account',
157
195
  },
158
- });
196
+ 404: {
197
+ 1001: 'We could not find that user',
198
+ 3301: `There are no recordings for the meeting ${opts.meetingId}`,
199
+ },
200
+ };
201
+ try {
202
+ const output = await this.visitEndpoint({
203
+ path,
204
+ method,
205
+ action,
206
+ errorMap,
207
+ params,
208
+ });
209
+ return output;
210
+ } catch (err) {
211
+ if (
212
+ // Attempt recovery
213
+ opts.attemptRecoverOnNotFound
214
+ // Recording not found
215
+ && (err as any || {}).code === 'ZOOM404-3301'
216
+ ) {
217
+ try {
218
+ // Try recovering the recording
219
+ await this.recoverMeetingRecordings({ meetingId: opts.meetingId });
220
+
221
+ // Recovered! Try fetching again
222
+ const output = await this.visitEndpoint({
223
+ path,
224
+ method,
225
+ action,
226
+ errorMap,
227
+ params,
228
+ });
229
+ return output;
230
+ } catch (err2) {
231
+ // Failed to recover
232
+ throw new ZACCLError({
233
+ message: `The recording for meeting ${opts.meetingId} could not be found, and we were unable to recover it. Error: ${(err2 as any)?.message || 'unknown recovery error'}`,
234
+ code: ErrorCode.NotFoundAndUnrecoverable,
235
+ });
236
+ }
237
+ }
238
+
239
+ // Not an error we handle. Rethrow it.
240
+ throw err;
241
+ }
159
242
  }
160
243
 
161
244
  /**
@@ -1,4 +1,4 @@
1
- // Highest error: ZAC21
1
+ // Highest error: ZAC22
2
2
 
3
3
  enum ErrorCode {
4
4
  // Network errors
@@ -28,6 +28,9 @@ enum ErrorCode {
28
28
  ProgrammerError = 'ZAC13',
29
29
  InvalidPageSize = 'ZAC17',
30
30
 
31
+ // Meeting errors
32
+ NotFoundAndUnrecoverable = 'ZAC22',
33
+
31
34
  // Account errors
32
35
  NotAddedBecauseDeactivated = 'ZAC14',
33
36