client_secret and immediately invalidates the previous one. You only need to send client_id and email to rotate. Any other fields you include will update the app. Fields you omit stay unchanged.
When to rotate
- Your
client_secretwas compromised or lost - You need to change the app name, description, or avatar
- You need to add or remove redirect URIs
How it works
Rotation is not a full update. It uses yourclient_id and email as proof of ownership. The new credentials are always sent to the email address registered with the app. That email cannot be changed and is never returned by the API.
1
Submit the rotation request
Call
POST /v1/auth/rotate-app with your client_id, email, and any fields you want to
update.2
Receive new credentials by email
A new
client_secret is generated and sent to the email address registered with the app. The
old secret is invalidated immediately.3
Update your app
Replace the stored
client_secret in your app with the new value.Rotate via API
Minimal request: only rotates the credentials, keeps all existing app data:client_secret is sent only by email and never returned in the API response. Store it securely as soon as you receive it.
Request parameters
Scopes cannot be changed via rotation. Scopes are fixed at registration and are permanent for the
lifetime of the app. If you need different scopes, you must register a new app with a different
email address. Each email can only be associated with one registered app. Registering a new app
generates a new
client_id, which means all existing user authorizations are invalidated and
users must go through the consent flow again.What changes after rotation
Related
- Register your app: first-time registration to get your initial credentials
- Authentication: implement the OAuth 2.1 flow after updating your credentials