# Invalid Client\_id:\[my\_client\_id\]

**URL:** <https://devforum.zoom.us/t/invalid-client-id-my-client-id/124794>\
**Category:** Authentication\
**Tags:** s2s-oauth\
**Created:** [January 17, 2025, 3:34pm UTC](https://devforum.zoom.us/t/invalid-client-id-my-client-id/124794 "2025-01-17T15:34:38Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![enlace.gossler](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/enlace.gossler/32/66472_2.png) [@enlace.gossler](https://devforum.zoom.us/u/enlace.gossler)\
**Post date:** [January 17, 2025, 3:34pm UTC](https://devforum.zoom.us/t/invalid-client-id-my-client-id/124794/1 "2025-01-17T15:34:38Z")

</div>

**API Endpoint(s) and/or Zoom API Event(s)**

```auto
[type or paste code here](https://developers.zoom.us/docs/internal-apps/s2s-oauth/#to-generate-an-access-token)

```

Description  
I am trying to generate a new token using the token generator api, and i receive the invalid client\_id or client\_secret. **This is as min funny because yesterday it worked and just failed today.**

**Error?**

{  
“reason”: “Invalid client\_id or client\_secret”,  
“error”: “invalid\_client”  
}  
**How To Reproduce**

1. We are using the api url : “[https://zoom.us/oauth/token?grant\_type=account\_credentials&account\_id=[my\_account\_id]](https://zoom.us/oauth/token?grant_type=account_credentials&account_id=%5Bmy_account_id%5D)”

2. Define de headers:  
Content-Type: application/x-www-form-urlencoded  
Authorization: Basic [base64([client\_id]:[client\_secret])

3. POST in postman

4. Error  
{  
“reason”: “Invalid client\_id or client\_secret”,  
“error”: “invalid\_client”  
}

---

<div class="post-metadata">

**Author:** ![MultiplayerSession](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/multiplayersession/32/66446_2.png) [@MultiplayerSession](https://devforum.zoom.us/u/MultiplayerSession)\
**Post date:** [January 17, 2025, 5:07pm UTC](https://devforum.zoom.us/t/invalid-client-id-my-client-id/124794/2 "2025-01-17T17:07:26Z")

</div>

Can you share the source code for how you’re generating the query string / headers and sending the request? For example, I’m curious how you’re Base64 encoding the Client ID and Client Secret, as there are a few flavors.

---

<div class="post-metadata">

**Author:** ![enlace.gossler](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/enlace.gossler/32/66472_2.png) [@enlace.gossler](https://devforum.zoom.us/u/enlace.gossler)\
**Post date:** [January 17, 2025, 5:23pm UTC](https://devforum.zoom.us/t/invalid-client-id-my-client-id/124794/3 "2025-01-17T17:23:10Z")

</div>

Christopher thanks for answer asap.

Here you have the script that we used.

curl --location --request POST ‘[https://zoom.us/oauth/token?grant\_type=account\_credentials&account\_id=DEwew-23Fefefewe\_efw3E](https://zoom.us/oauth/token?grant_type=account_credentials&account_id=DEwew-23Fefefewe_efw3E)’ \

–header ‘Content-Type: application/x-www-form-urlencoded’ \

–header ‘Authorization: Basic ZHdEd2VmZXdlZmVld2VmZHdERWplZmpROmRmZURld2VmZWZ3ZWZ3ZWZ3ZWNERkVGZXcxMzEzREY=’ \

Its super funny because yesterday it worked fine, I even used the token for create webinars and register registrants in those webinars, but now just stop to work.

---

<div class="post-metadata">

**Author:** ![MultiplayerSession](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/multiplayersession/32/66446_2.png) [@MultiplayerSession](https://devforum.zoom.us/u/MultiplayerSession)\
**Post date:** [January 17, 2025, 6:43pm UTC](https://devforum.zoom.us/t/invalid-client-id-my-client-id/124794/4 "2025-01-17T18:43:19Z")

</div>

Try regenerating your Client Secret and recomputing the Authorization header value. **You should do this anyway** as you’ve posted it in this public forum. I received the same error from trying your request details.

I sent the following raw request by using my Server-To-Server OAuth credentials and populating the Authorization header value by having JavaScript in a web browser execute: `btoa("[Client ID]" + ":" + "[Client Secret]")`

```auto
POST /oauth/token HTTP/1.1
Host: zoom.us
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Authorization: Basic [redacted]
Content-Length: 64

grant_type=account_credentials&account_id=[redacted]

```

Technically the [access token generation instructions](https://developers.zoom.us/docs/internal-apps/s2s-oauth/#to-generate-an-access-token) say to refrain from using a query string (which tends to end up in log files) and place its content in the request body, like in my example, but Zoom also accepted the query string variation without a request body. Note that the instructions are misleading in that the example body in step 3 isn’t actually formatted as `application/x-www-form-urlencoded`.

---

<div class="post-metadata">

**Author:** ![enlace.gossler](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/enlace.gossler/32/66472_2.png) [@enlace.gossler](https://devforum.zoom.us/u/enlace.gossler)\
**Post date:** [January 17, 2025, 9:35pm UTC](https://devforum.zoom.us/t/invalid-client-id-my-client-id/124794/5 "2025-01-17T21:35:27Z")

</div>

Thanks for your answer.

I tried to regenerate the secret and it was not possible, i received the error: failed\_to\_regenerate\_secret.

As i said, it was working yesterday, then i created a new app, and this one works perfectly. Then i suppose is not my postman configuration, but i will try to generete a new token tomorrow and verify that is not a limitation or misconfiguration of my zoom app or account.

I found a thread with the same problem, and it also doesn’t have any solution.

> [@Incorrect client-id/secret](https://devforum.zoom.us/t/incorrect-client-id-secret/116457/):
>
> Hello, previously on other account I created app on marketplace and successfully authenticated by Server-to-Server OAuth and were getting access token a few days. And today with same credentials I can’t to get access token, nothing has changed for credentials during that period while were researching API. Now I’m getting 400 response status and body: { "reason": "Invalid client\_id or client\_secret", "error": "invalid\_client" } I tried to regenerate client secret at app page and I’m g…

But is a bit crazy that de last app was working fine yesterday and now is just broken.
