Restart device via API?

We are running into issues where the devices in our meeting rooms dont always play nice. An example would be our microphone system randomly deciding not to work, and losing an entire meetings audio without much warning.

Does anyone know if its possible or have an example of restarting a device remotely via the API? We solution to the example issue above would be to login to our admin portal and restart the room. Our goal would be to create a page where a user could reset the room their are in, without having to contact IT

Hey @jordan.berry, thanks for posting and using Zoom!

You can in fact restart a Zoom Room via our API. Check out the Restart Zoom Room Client endpoint:

Let me know if this helps! :slight_smile:

Thanks,
Tommy

Hey Tommy, Thank you!

Forgive me, but I am pretty bad when it comes to api calls. Do you have an example of calling this function with its headers/authentication? If not, no worries!

1 Like

Hey @jordan.berry, no worries, happy to help!

POST https://api.zoom.us/v2/rooms/{roomId}/zrclient

(You can get the Zoom Room ID from here, same authentication headers as below.)

HEADERS:

{
   "Authentication": "Bearer JWT_TOKEN_HERE"
}

BODY:

{
  "method": "restart"
}

If you don’t have a JWT Token yet, you can create a JWT app here.

Let me know if this makes sense! :slight_smile:

Thanks,
Tommy

Awesome. I will give this a shot here soon and report back. Thank you!

1 Like

Happy to help!

Let me know how it goes! :slight_smile:

Thanks,
Tommy

Feel like I am missing something extremely obvious here, and I am sorry for asking such basic questions. Here is what I have written in Python:

import requests

headers = {"Authentication": "Bearer long_token"}
endpoint = 'https://api.zoom.us/v2/rooms/PXuefyUASZ2trO2BJgwRCQ/zrclient'

data = {"method": "restart"}

r = requests.post( url = endpoint, data = data, headers = headers)

print(r.text)

And that returns

{"code":124,"message":"Invalid access token."}

Any idea what I did wrong here?

Hey @jordan.berry, this all looks good.

To confirm, you are using a JWT token in place of long_token?

Thanks,
Tommy

Hey Tommy,

Yes, the long_token is the token provided by JWT with the expiration date set to 1 week for testing

Thanks for joining the Zoom meeting! Glad we got the request working over postman! :slight_smile:

Thanks,
Tommy

Thank you very much for all your help Tommy!

1 Like

You are welcome! Happy to help! :slight_smile:

Thanks,
Tommy