# Account does not enabled REST API

**URL:** <https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247>\
**Category:** Users and Groups\
**Created:** [January 11, 2023, 8:33am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247 "2023-01-11T08:33:33Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason.bowsher](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jason.bowsher](https://devforum.zoom.us/u/jason.bowsher)\
**Post date:** [January 11, 2023, 8:33am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/1 "2023-01-11T08:33:33Z")

</div>

I successfully get token and then make a GET call for a users list. with a token supplied by sucessful oauth token request

def get\_user\_list(url, authorization\_header, status=‘active’, page\_size=‘30’):  
post\_data = {  
‘status’:status,  
‘page\_size’:page\_size  
}  
response = requests.get(  
url=url,  
headers=authorization\_header,  
params=post\_data  
)

However I get a response saying Account does not enabled REST API. I do not see such setting in the account settings.

authorization\_header = ‘Authorization’: ‘Bearer ey\*\*\*\*\*\*’  
url = ‘[https://api.zoom.us/v2/users](https://api.zoom.us/v2/users)’

response =  
…  
reason: ‘Bad Request’  
request: \<PreparedRequest [GET]\>  
status\_code: 400  
text: ‘{“code”:200,“message”:“Account does not enabled REST API.”}’  
url: ‘[https://api.zoom.us/v2/users?status=active&page\_size=30](https://api.zoom.us/v2/users?status=active&page_size=30)’

any idea on the cause of this.

---

<div class="post-metadata">

**Author:** ![freelancer.nak](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/freelancer.nak/32/40968_2.png) [@freelancer.nak](https://devforum.zoom.us/u/freelancer.nak)\
**Post date:** [January 11, 2023, 8:41am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/2 "2023-01-11T08:41:38Z")

</div>

@jason.bowsher Hope you will be fine.

What type of account is used while authorizing with OAuth?

---

<div class="post-metadata">

**Author:** ![jason.bowsher](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jason.bowsher](https://devforum.zoom.us/u/jason.bowsher)\
**Post date:** [January 11, 2023, 9:10am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/3 "2023-01-11T09:10:44Z")

</div>

We get the access token with the following code. (No proxies used). The client ID/Secret and AccountID are the variable values generated in the zoom server to server oauth app registration credentials

def get\_access\_token(url, client\_id, client\_secret, account\_id, proxy=PROXIES):  
response = requests.post(  
url,  
data={“grant\_type”: “client\_credentials”, “account\_id”:account\_id},  
auth=(client\_id, client\_secret),  
# proxies=proxy  
)  
#return response.json()[“access\_token”]  
return response

---

<div class="post-metadata">

**Author:** ![hellomusic.ru](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/hellomusic.ru/32/44424_2.png) [@hellomusic.ru](https://devforum.zoom.us/u/hellomusic.ru)\
**Post date:** [January 12, 2023, 12:10am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/4 "2023-01-12T00:10:33Z")

</div>

I am also got error “Account does not enabled REST API” trying to create meeting via OAuth app in our Pro (Named Host) account.

POST:  
[https://api.zoom.us/v2/users/[USER\_ID\_HERE]/meetings](https://api.zoom.us/v2/users/%5BUSER_ID_HERE%5D/meetings)

Response:  
data: { code: 200, message: ‘Account does not enabled REST API.’ }

Can’t find where is i need to enable this API.

---

<div class="post-metadata">

**Author:** ![freelancer.nak](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/freelancer.nak/32/40968_2.png) [@freelancer.nak](https://devforum.zoom.us/u/freelancer.nak)\
**Post date:** [January 12, 2023, 8:03am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/5 "2023-01-12T08:03:28Z")

</div>

@hellomusic.ru

> [@hellomusic.ru](#):
>
> [https://api.zoom.us/v2/users/[USER\_ID\_HERE]/meetings](https://api.zoom.us/v2/users/%5BUSER_ID_HERE%5D/meetings)

👉 `USER_ID_HERE` that user is created from `API` or `Account Management`?

---

<div class="post-metadata">

**Author:** ![hellomusic.ru](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/hellomusic.ru/32/44424_2.png) [@hellomusic.ru](https://devforum.zoom.us/u/hellomusic.ru)\
**Post date:** [January 12, 2023, 10:17am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/6 "2023-01-12T10:17:49Z")

</div>

Actually i tried different variants. Regarding documentation  
[https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetingCreate](https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#operation/meetingCreate)  
“userId – the user ID or email address of the user”  
We got only one user on our Pro account, so i tried pass email and account number from /profile page (i want just create meeting in this account)

Nothing works.

---

<div class="post-metadata">

**Author:** ![jason.bowsher](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jason.bowsher](https://devforum.zoom.us/u/jason.bowsher)\
**Post date:** [January 12, 2023, 1:44pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/7 "2023-01-12T13:44:00Z")

</div>

In case you mean what type of Zoom account reather than the server to server marketplace app generated account id. The Zoom account is a Business account

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [January 26, 2023, 11:55pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/8 "2023-01-26T23:55:04Z")

</div>

Hi @jason.bowsher , @hellomusic.ru could you please message me your account ids and confirm what type of licensing you have for your accounts? Thanks!

---

<div class="post-metadata">

**Author:** ![jason.bowsher](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jason.bowsher](https://devforum.zoom.us/u/jason.bowsher)\
**Post date:** [January 27, 2023, 8:16am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/10 "2023-01-27T08:16:06Z")

</div>

Found a resolution for this issue. the zoom\_api\_helper installed via pip works. I think it may be that you need to use the token in the same request session rather than passing it to a newly created session. Would be useful to confirm if this was the issue.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [January 27, 2023, 5:09pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/11 "2023-01-27T17:09:18Z")

</div>

> [@jason.bowsher](#):
>
> zoom\_api\_helper installed via pip

Interesting, thanks for sharing!

> [@jason.bowsher](#):
>
> I think it may be that you need to use the token in the same request session rather than passing it to a newly created session.

By session, do you mean a new separate request? Your access token should work as long as it’s unexpired. This behavior is unexpected.

---

<div class="post-metadata">

**Author:** ![jason.bowsher](https://avatars.discourse-cdn.com/v4/letter/j/ba8739/32.png) [@jason.bowsher](https://devforum.zoom.us/u/jason.bowsher)\
**Post date:** [January 30, 2023, 8:10am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/12 "2023-01-30T08:10:41Z")

</div>

By session I mean a request.session and in this same instance do the get token and then get function as the token is set in the session.

You can download the zoom\_api\_helper code from pypi and see this.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [January 30, 2023, 9:20pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/13 "2023-01-30T21:20:14Z")

</div>

Thanks for sharing. I have not tested this helper yet so I appreciate you including your experience here for our developer community.

---

<div class="post-metadata">

**Author:** ![HelloMusicFamily](https://avatars.discourse-cdn.com/v4/letter/h/e0b2c6/32.png) [@HelloMusicFamily](https://devforum.zoom.us/u/HelloMusicFamily)\
**Post date:** [February 7, 2023, 2:41pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/14 "2023-02-07T14:41:24Z")

</div>

Gianni, hello! it is me again (earlier i talk with you on account hellomus\*\*. **@** \*.com

For now business team decide to create separate account (i wrote from them right now), its licensed and I create OAuth app and again try to create meeting and again got this error “Account does not enabled REST API”

request is very simple

POST(  
`https://api.zoom.us/v2/users/me/meetings`,  
{  
agenda: ‘Basic online lesson’,  
default\_password: false,  
duration: 60,  
password: ‘1a2s3v4b5b6’,  
},  
{  
headers: {  
Authorization: `Bearer ${token}`,  
},  
}

token created with POST(‘[https://zoom.us/oauth/token?grant\_type=client\_credentials](https://zoom.us/oauth/token?grant_type=client_credentials)’) passing ZOOM\_CLIENT\_ID and ZOOM\_CLIENT\_SECRET from OAuth app

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [February 9, 2023, 9:18pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/15 "2023-02-09T21:18:37Z")

</div>

HI @HelloMusicFamily  
Please, take a look into our Docs here where you will find valuable information on how to use OAuth with Zoom

[https://marketplace.zoom.us/docs/guides/auth/oauth/#step-2-request-access-token](https://marketplace.zoom.us/docs/guides/auth/oauth/#step-2-request-access-token)

It looks like you are creating the token with client credentials that are tied to Oauth applications.

Are you trying to use a Server-to-Server Oauth app? In that case, you want to use account\_credentials

[https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/#use-account-credentials-to-get-an-access-token](https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/#use-account-credentials-to-get-an-access-token)

Hope this helps,  
Elisa

---

<div class="post-metadata">

**Author:** ![HelloMusicFamily](https://avatars.discourse-cdn.com/v4/letter/h/e0b2c6/32.png) [@HelloMusicFamily](https://devforum.zoom.us/u/HelloMusicFamily)\
**Post date:** [February 10, 2023, 3:33am UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/16 "2023-02-10T03:33:02Z")

</div>

Hi, Elisa!  
Yes, i used wrong app to create meeting…  
Now i create new server-to-server app and all works like a charm!

Thank you!

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [February 10, 2023, 6:38pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/17 "2023-02-10T18:38:18Z")

</div>

Great news @HelloMusicFamily !!!

---

<div class="post-metadata">

**Author:** ![gestionetmultimedia](https://avatars.discourse-cdn.com/v4/letter/g/f14d63/32.png) [@gestionetmultimedia](https://devforum.zoom.us/u/gestionetmultimedia)\
**Post date:** [September 4, 2023, 7:24pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/18 "2023-09-04T19:24:09Z")

</div>

> [@HelloMusicFamily](#):
>
> aplicación

Buenas tardes, tengo el mismo problema

1. cuano utilizo account\_credentials para generar un TOKEN, servidor a servidor, me da el error: unsupported grant type
2. cuando utilizo client\_credentials, se genera adecuadamente el TOKEN.
3. al querer crear un meeting, utilizando el TOKEN generado, da el error: Account does not enabled REST API… qué debo hacer…

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 5, 2023, 7:55pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/19 "2023-09-05T19:55:02Z")

</div>

Hola @gestionetmultimedia  
Muchas gracias por contactarnos! podrías crear un nuevo tema para que podamos apoyarte.  
Esta conversación ha sido cerrada

> **[API and Webhooks](https://devforum.zoom.us/c/api-and-webhooks/8)**
>
> REST APIs, authentication, and webhook events for Meetings, Webinars, Recordings, Chat, Reporting, and more.

---

<div class="post-metadata">

**Author:** ![jchavezb](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jchavezb/32/17812_2.png) [@jchavezb](https://devforum.zoom.us/u/jchavezb)\
**Post date:** [September 18, 2023, 2:48pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/20 "2023-09-18T14:48:36Z")

</div>

Recien hoy me me tope con este error , efectivamente veo que hay que migrar a authentication to server-to-server OAuth 2.0 , solo quiero agregar que en el apartado de activación en zoom app marketplace , fue posible tener una extensión hasta el 10 de noviembre del 2023.

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 19, 2023, 8:50pm UTC](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247/22 "2023-09-19T20:50:12Z")

</div>

@jchavezb Así es, hay una extensión que será válida hasta el 10 de noviembre, sin embargo te recomiendo comenzar con la migración desde ahora.

[Next page](https://devforum.zoom.us/t/account-does-not-enabled-rest-api/81247.md?page=2)
