# 200 invalid api key or secret, testing in postman

**URL:** <https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215>\
**Category:** API and Webhooks\
**Created:** [September 20, 2022, 1:52am UTC](https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215 "2022-09-20T01:52:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![inject](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/inject/32/41561_2.png) [@inject](https://devforum.zoom.us/u/inject)\
**Post date:** [September 20, 2022, 1:52am UTC](https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215/1 "2022-09-20T01:52:51Z")

</div>

I have read several posts on the same issue, and for a server to server Oauth I can get a token but when using the token I keep getting “Invalid api key or secret”.

Also, I am trying to find the user id for my accounts email, in order to create webinars using the API so the call failing is v2/users/{userId} passing in the email.

I am not accessing account endpoints, I have all the necessary scopes on the token, but API calls in postman fail with this error using Authorization Bearer headers after obtaining a fresh token.

“scope”: “meeting:master meeting:read:admin meeting:write:admin meeting\_token:read:admin:live\_streaming meeting\_token:read:admin:local\_archiving meeting\_token:read:admin:local\_recording recording:master recording:read:admin recording:write:admin user:master user:read:admin user:write:admin webinar:master webinar:read:admin webinar:write:admin webinar\_token:read:admin:live\_streaming webinar\_token:read:admin:local\_archiving webinar\_token:read:admin:local\_recording”

---

<div class="post-metadata">

**Author:** ![inject](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/inject/32/41561_2.png) [@inject](https://devforum.zoom.us/u/inject)\
**Post date:** [September 20, 2022, 7:42pm UTC](https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215/2 "2022-09-20T19:42:09Z")

</div>

Trying to change grant to account\_credentials from client\_credentials and supplying account\_id on the token call gives bad request.

So its not clear from documentation why I can get a token but it won’t work against the API’s using server to server. Documentation needs to be clear and validation/error messages clearer it seems like this has come up all over the threads but under varying circumstances.

---

<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 20, 2022, 9:30pm UTC](https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215/3 "2022-09-20T21:30:28Z")

</div>

Hi @inject  
Thanks for reaching out to the Zoom Developer Forum, I am happy to help here!  
Please refer to this post on how to use our Server-to-Server OAuth app in postman

> [@How to user Server-to-Sever OAuth app with Postman](https://devforum.zoom.us/t/how-to-user-server-to-sever-oauth-app-with-postman/70848):
>
> How to use our Server-to-Server OAuth with Postman? As some of you might be aware of, our JWT app is being deprecated by June 2023 and we encourage you to migrate to the newly introduced [Server-to-Server OAuth App](https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app) That being said, here is a quick and simple guide on how to use or new app with Postman As stated in our documentation here: This new app type facilitates OAuth-authenticated requests between servers without end-user involvement. And this grant type enable your private server a…

Let me know if this helps,  
Elisa

---

<div class="post-metadata">

**Author:** ![inject](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/inject/32/41561_2.png) [@inject](https://devforum.zoom.us/u/inject)\
**Post date:** [September 21, 2022, 10:36pm UTC](https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215/4 "2022-09-21T22:36:33Z")

</div>

Thanks, one last question. Is the only way to get the user id of the owner to call users/ endpoint and extract the id that way? We need to create webinars under the host account using the server to server app, but the ID isn’t anywhere in the dashboard in Zoom profile so that has to be part of the process in code to extract user id from API call then call create/post webinar API?

---

<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 22, 2022, 12:42am UTC](https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215/5 "2022-09-22T00:42:34Z")

</div>

Hi @inject  
This is the only way to get users ID via API yes.  
I believe they are not available in the web portal but you should also be able to create meetings using the email associated to the host

---

<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:** [September 25, 2023, 4:18pm UTC](https://devforum.zoom.us/t/200-invalid-api-key-or-secret-testing-in-postman/76215/6 "2023-09-25T16:18:36Z")

</div>

Closed on September 25, 2023, 4:18pm UTC

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