# In-Meeting Recording Controls API error

**URL:** <https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589>\
**Category:** API and Webhooks\
**Created:** [August 19, 2020, 10:50am UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589 "2020-08-19T10:50:55Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![shaneh](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shaneh/32/5899_2.png) [@shaneh](https://devforum.zoom.us/u/shaneh)\
**Post date:** [August 19, 2020, 10:50am UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/1 "2020-08-19T10:50:55Z")

</div>

**Description**  
I’m trying to test the new API endpoint for [controlling in-meeting recording](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/inmeetingrecordingcontrol) but I’m unexpectedly getting a permission error. My access token has the `meeting:write` scope as specified in the requirements and I’m trying to control a live meeting with cloud recording enabled. I additionally tested using the API request builder at the bottom of the docs page to ensure my request was well formed.

**Error**

```auto
$ curl --request PATCH \
  --url https://api.zoom.us/v2/live_meetings/9UHrjtlTR4S1qbzjHD8hzw\=\=/events \
  --header 'authorization: Bearer <snip>' \
  --header 'content-type: application/json' \
  --data '{"method":"recording.stop"}'

{"code":200,"message":"No permission."}

```

**Which App Type (OAuth / Chatbot / JWT / Webhook)?**  
OAuth

**Which Endpoint/s?**

> **[Use In-Meeting Recording Controls - Meetings - Zoom API - API Reference](https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/inmeetingrecordingcontrol)**
>
> Use this API to control the in-meeting recording features such as starting a recording, stopping a recording, pausing a recording, and resuming a record...

  
PATCH /live\_meetings/{meetingId}/events

**How To Reproduce (If applicable)**  
See error

---

<div class="post-metadata">

**Author:** ![DeveloperBot](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/developerbot/32/12632_2.png) [@DeveloperBot](https://devforum.zoom.us/u/DeveloperBot)\
**Post date:** [August 19, 2020, 10:50am UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/2 "2020-08-19T10:50:59Z")

</div>

Hey @shaneh

Thanks for posting on the Zoom Devforum! I am still learning, but I will try my best to help answer your question. 🙂

Checkout this related thread that may have the answer you are looking for:

> [@meeting recording for developer account](https://devforum.zoom.us/t/-/417):
>
> is cloud recording disabled for developer account? I am trying to download a meeting recording that I had conducted, using [https://api.zoom.us/v1/recording/get](https://api.zoom.us/v1/recording/get) but i get ‘there is no recording for this meeting message’. I am passing the uuid as the meeting id. The meeting recording did get saved on my local machine when the meeting ended but I cannot retrieve the recording to test the get recording service. &nbsp;

If this thread did not help, please let us know by replying back here and someone from the Developer Relations team will get back to you shortly.

Thanks,  
DeveloperBot

---

<div class="post-metadata">

**Author:** ![shaneh](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shaneh/32/5899_2.png) [@shaneh](https://devforum.zoom.us/u/shaneh)\
**Post date:** [August 19, 2020, 10:53am UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/3 "2020-08-19T10:53:03Z")

</div>

nope, this is not the same issue

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 21, 2020, 7:53pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/4 "2020-08-21T19:53:43Z")

</div>

Hey @shaneh,

Has the user who owns the meeting installed your OAuth app?

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![shaneh](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shaneh/32/5899_2.png) [@shaneh](https://devforum.zoom.us/u/shaneh)\
**Post date:** [August 21, 2020, 8:20pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/5 "2020-08-21T20:20:49Z")

</div>

Yes, I was testing on my own account with a test OAuth app I created and installed

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 25, 2020, 5:32pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/6 "2020-08-25T17:32:03Z")

</div>

Thanks for the info @shaneh!

Our engineering team is looking into this issue. I will get back to you with updates. (ZOOM-190194)

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 27, 2020, 4:26pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/7 "2020-08-27T16:26:28Z")

</div>

Hey @shaneh,

To use this API you need to also have the user:write scope or the OAuth user needs to be the meeting host/alternative host.

Try that and let me know if it works! 🙂

We will add these additional prerequisites to the docs.

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![shaneh](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shaneh/32/5899_2.png) [@shaneh](https://devforum.zoom.us/u/shaneh)\
**Post date:** [August 27, 2020, 4:42pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/8 "2020-08-27T16:42:51Z")

</div>

Thanks for looking into it @tommy!

In this instance, however, the OAuth user was the host, and I was using a token with the user:write scope.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [August 31, 2020, 5:22pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/9 "2020-08-31T17:22:35Z")

</div>

Hey @shaneh,

Thanks for the additional info. Are you still getting the same error?

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![shaneh](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/shaneh/32/5899_2.png) [@shaneh](https://devforum.zoom.us/u/shaneh)\
**Post date:** [September 1, 2020, 12:56pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/10 "2020-09-01T12:56:16Z")

</div>

I just tried it again, and yes I’m getting the same error.

---

<div class="post-metadata">

**Author:** ![ryan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ryan/32/37137_2.png) [@ryan](https://devforum.zoom.us/u/ryan)\
**Post date:** [September 1, 2020, 2:55pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/11 "2020-09-01T14:55:44Z")

</div>

Hi, I’m getting a different error:

```auto
$ http -v patch https://api.zoom.us/v2/live_meetings/t4NGz+1nTZ63PQb1hOGSgw==/events meth
od=recording.start 'Authorization: Bearer XXX'

PATCH /v2/live_meetings/t4NGz+1nTZ63PQb1hOGSgw==/events HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Authorization: Bearer XXX
Connection: keep-alive
Content-Length: 29
Content-Type: application/json
Host: api.zoom.us
User-Agent: HTTPie/2.2.0

{
    "method": "recording.start"
}

HTTP/1.1 415
Cache-Control: no-cache, no-store, must-revalidate, no-transform
Connection: keep-alive
Content-Length: 49
Content-Type: application/json;charset=UTF-8
Date: Tue, 01 Sep 2020 14:52:25 GMT
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Server: ZOOM
Set-Cookie: zm_aid=""; Domain=.zoom.us; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; Secure; HttpOnly
Set-Cookie: zm_haid=""; Domain=.zoom.us; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; Secure; HttpOnly
Set-Cookie: cred=B8057F8C3731B25FD4C3EE15F641DEA0; Path=/; Secure; HttpOnly
Set-Cookie: _zm_ctaid=""; Domain=.zoom.us; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; Secure; HttpOnly
Set-Cookie: _zm_chtaid=""; Domain=.zoom.us; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; Secure; HttpOnly
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-RateLimit-Category: Medium
x-zm-trackingid: WEB_28259c74cf60fd9b429f050eb2d1c3f0

{
    "code": 300,
    "message": "Unsupported Content Type"
}

```

---

<div class="post-metadata">

**Author:** ![eric.franzen](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/eric.franzen/32/8213_2.png) [@eric.franzen](https://devforum.zoom.us/u/eric.franzen)\
**Post date:** [September 3, 2020, 2:02am UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/13 "2020-09-03T02:02:56Z")

</div>

We are getting the same error as @Ryan:

```
{

"endpoint": "https://api.zoom.us/v2/live_meetings/123456789/events",

"response_headers": [

"Set-Cookie: zm_aid=""; Domain=.zoom.us; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; Secure; HttpOnly"

],

"date_time": "2020-09-02 21:32:32",

"method": "PATCH",

"request_body": "{"method":"recording.start"}",

"response": {

"code": 300,

"message": "Unsupported Content Type"

},

"request_headers": [

"accept-encoding: identity",

"accept: application/json",

"authorization: ******",

"connection: close",

"content-type: application/json"

],

"request_params": [

],

"http_status": "415"

}
```

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 8, 2020, 3:30pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/14 "2020-09-08T15:30:42Z")

</div>

@ryan @eric.franzen,

Have you tried the same payload using Postman or Curl to see if it works? The content-type application/json should work. If you’re still getting this error when using Postman or Curl, please let me know.

Thanks,  
Will

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 8, 2020, 3:35pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/15 "2020-09-08T15:35:20Z")

</div>

@shaneh,

As a next step, can I kindly ask that you send us an email to [developersupport@zoom.us](mailto:developersupport@zoom.us) with the following details:

- The meeting ID of the meeting you’re testing with
- The ID of the OAuth user or host/alternative host you’re testing with
- A copy of your most recent payload that continues to fail

These details should help us to take a closer look at your specific acccount.

Thanks!  
Will

---

<div class="post-metadata">

**Author:** ![ryan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ryan/32/37137_2.png) [@ryan](https://devforum.zoom.us/u/ryan)\
**Post date:** [September 8, 2020, 3:42pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/16 "2020-09-08T15:42:14Z")

</div>

Yup, curl, httpie, etc. See in my example above where we are setting `Content-Type: application/json`.

---

<div class="post-metadata">

**Author:** ![eric.franzen](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/eric.franzen/32/8213_2.png) [@eric.franzen](https://devforum.zoom.us/u/eric.franzen)\
**Post date:** [September 8, 2020, 3:47pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/17 "2020-09-08T15:47:17Z")

</div>

Hi Will,

Thanks for following up! I can confirm that the same issue occurs with Curl and all other implementations.

We did open a ticket (ID 7567453) last week with Zoom Developer Support, as the `/live_meetings/{meetingId}/events` API endpoint appears to be down. Last reply:

> Thanks for bringing this to our notice. We were able to reproduce this issue, and are currently investigating the root cause.

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [September 10, 2020, 4:27pm UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/18 "2020-09-10T16:27:19Z")

</div>

@ryan @eric.franzen,

Our team has confirmed that this issue is something they’re working on fixing and it will be addressed in our next release. You can keep up to date with our releases in the [Changelog](https://marketplace.zoom.us/docs/changelog).

Thanks,  
Will

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [October 11, 2020, 2:27am UTC](https://devforum.zoom.us/t/in-meeting-recording-controls-api-error/27589/19 "2020-10-11T02:27:21Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
