Zoom API call does not return all recordings for a give meeting ID

I am having a problem using the API for fetching all recording for a give meeting ID.


meetings: [
uuid: ‘/8ovVXMzTxKIWHecaWJtEg==’,
start_time: ‘2022-12-30T16:03:59Z’
uuid: ‘fDvi0MysRPiekrcMYwc7jA==’,
start_time: ‘2022-12-30T16:44:18Z’

I am using Axios in nodeJS server:
url: ‘https://api.zoom.us/v2/meetings//8ovVXMzTxKIWHecaWJtEg==/recordings’,
** method: ‘get’**

and the response is:

 response: {
    status: 404,
    statusText: 'Not Found',
    headers: {
      date: 'Mon, 09 Jan 2023 15:15:37 GMT',
      'content-type': 'application/json;charset=UTF-8',
      'content-length': '56',
      connection: 'close',
      'x-zm-trackingid': 'v=2.0;clid=aw1;rid=WEB_aa4d07dda95654f54b6a7dcd79f44bce',
      'x-content-type-options': 'nosniff',
      'cache-control': 'no-cache, no-store, must-revalidate, no-transform',
      pragma: 'no-cache',
      expires: 'Thu, 01 Jan 1970 00:00:00 GMT',
      'set-cookie': [Array],
      vary: 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers',
      'x-ratelimit-category': 'Light',
      'x-zm-zoneid': 'VA',
      'cf-cache-status': 'DYNAMIC',
      nel: '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}',
      server: 'cloudflare',
      'cf-ray': '786e211b8f87eef8-ATH'
    config: {
      transitional: [Object],
      adapter: [Function: httpAdapter],
      transformRequest: [Array],
      transformResponse: [Array],
      timeout: 0,
      xsrfCookieName: 'XSRF-TOKEN',
      xsrfHeaderName: 'X-XSRF-TOKEN',
      maxContentLength: -1,
      maxBodyLength: -1,
      validateStatus: [Function: validateStatus],
      headers: [Object],
      url: 'https://api.zoom.us/v2/meetings//8ovVXMzTxKIWHecaWJtEg==/recordings',
      method: 'get',
      data: undefined
    request: <ref *1> ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      _closed: false,
      socket: [TLSSocket],
      _header: 'GET /v2/meetings//8ovVXMzTxKIWHecaWJtEg==/recordings HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'User-Agent: Zoom-api-Jwt-Request\r\n' +
        'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJXWVlObEozZFNNNkhfVUs0R3p3NXJnIiwiZXhwIjoxNjczMjc3Mzk0OTgyLCJpYXQiOjE2NzMyNzczMzR9.zS2jFby-txUK2vzFCn6W7CwcYmEf5O_Jxp8zLclasjI\r\n' +
        'Content-Type: application/json\r\n' +
        'Host: api.zoom.us\r\n' +
        'Connection: close\r\n' +
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      path: '/v2/meetings//8ovVXMzTxKIWHecaWJtEg==/recordings',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'api.zoom.us',
      protocol: 'https:',
      _redirectable: [Writable],
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    data: { code: 3301, message: 'This recording does not exist.' }

The meeting exists only in Recording Management (its a file 39mb).

The host email is: vbageri@gmail.com

@jkapitakis Hope you will be fine.

Here is a session on how to get Zoom Cloud Recordings.

If still any query please share. Thanks

I managed to make it work…
It needed to double url encode it like this:

const urlEncodeUUID = encodeURIComponent(encodeURIComponent(meeting.uuid));


@jkapitakis Great. :slight_smile: