# Does recording.completed (event) need cloud\_recording:read:list\_recording\_files (scope)?

**URL:** <https://devforum.zoom.us/t/does-recording-completed-event-need-cloud-recordinglist-recording-files-scope/147576>\
**Category:** Meetings\
**Tags:** api\
**Created:** [November 1, 2026, 5:09pm UTC](https://devforum.zoom.us/t/does-recording-completed-event-need-cloud-recordinglist-recording-files-scope/147576 "2026-11-01T17:09:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Abu](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/abu/32/49397_2.png) [@Abu](https://devforum.zoom.us/u/Abu)\
**Post date:** [November 1, 2026, 5:09pm UTC](https://devforum.zoom.us/t/does-recording-completed-event-need-cloud-recordinglist-recording-files-scope/147576/1 "2026-11-01T17:09:53Z")

</div>

**What we want** : the in-meeting chat of a cloud-recorded meeting, after the meeting ends.

**What we did:** we subscribed to all Recording events (Started, Stopped, Transcript files have completed, All Recordings have completed). “View a recording” (cloud\_recording:read:recording) is granted.

- Our live app (no cloud\_recording:read:list\_recording\_files): we get recording.started, recording.stopped and recording.transcript\_completed, but never recording.completed. GET /meetings/{id}/recordings fails with 4711: does not contain scopes cloud\_recording:read:list\_recording\_files.

- Our dev app (with cloud\_recording:read:list\_recording\_files): for the same meeting, recording.completed arrives, and its payload includes the CHAT file with a download\_token. GET /meetings/{id}/recordings also lists the CHAT file.

**Our understanding** : recording.completed, and the CHAT file, need cloud\_recording:read:list\_recording\_files, and there’s no narrower chat-only scope.

Question: Is that correct? If not, what are we missing?

---

<div class="post-metadata">

**Author:** ![amanda-recallai](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/amanda-recallai/32/44747_2.png) [@amanda-recallai](https://devforum.zoom.us/u/amanda-recallai)\
**Post date:** [November 4, 2026, 12:45am UTC](https://devforum.zoom.us/t/does-recording-completed-event-need-cloud-recordinglist-recording-files-scope/147576/2 "2026-11-04T00:45:14Z")

</div>

Zoom requires [cloud\_recording:read:recording](https://developers.zoom.us/docs/api/meetings/#tag/cloud-recording/get/meetings/%7BmeetingId%7D/recordings/registrants/questions), or its admin equivalent, to receive `recording.completed`. The [Get meeting recordings](https://developers.zoom.us/docs/api/meetings/#tag/cloud-recording/get/meetings/%7BmeetingId%7D/recordingst) endpoint separately requires `cloud_recording:read:list_recording_files`, which explains error 4711. Zoom does not document that list scope as a prerequisite for the webhook.

Check the Production configuration, not only Development, for both the All Recordings Have Completed event and `cloud_recording:read:recording`. If both are correct and delivery still fails, send Zoom Support the app ID, meeting UUID, UTC completion time, and webhook delivery logs because that behavior conflicts with Zoom’s published scope mapping.

For another managed route to post-meeting artifacts, Recall.ai offers a [Meeting Bot API](https://www.recall.ai/product/meeting-bot-api?utm_source=zoom&utm_medium=forum_answer).
