ClientID’s represent an application.
Users grant access to that ClientID.
EventSub will use an “An App Access Token” to generate subsciptions
But if you are requesting private data you need to have generate a “User Access Token” with the relevant scopes at least once even if you don’t keep the token on file.
Private would be subscribers for example.
I wrote about it on this blog post
App Access Tokens are documented here
User tokens here
ClientID’s do not expire
All Tokens expire.
Refresh Tokens do not expire
App Access tokens won’t provide a refresh token, so you just make a new token when you need one.
One what? A ClientID or a token?
If a token, then yeah the token probably died
You can use the validate endpoint
To validate a token and determine if it’s a User or App token