I want to clear the air and explain a little bit more about what's going on here...
First is a domain token. This is generated by TiVo Online by each individual user. This allows MG3 to query TiVo Online as though it were that user logged in to the browser and retrieve series and episode IDs.
Then there is an
API key for TheTVDB. These are issued per project and like
@dlfl mentions they are secret to the project. It should only be visible by those compiling the source of MG3.
As has been diagnosed above my problem was not with the TiVo domain token but the search that is performed against TheTVDB.
The link above to the docs tells me that MG3 hitting the v4 API and not the v3 API. I've tested calls to the API server both via a browser and command-line cURL and don't see any certificate issues. My theory was that the root certificates on my machine had expired and were not updated, which means that my machine would not be able to validate a certificate presented by any website. A client does not download the certificate (per se); it's the trust chain against the root CAs that was my thought. But that's not it.
The error isn't specific to any one show; it happens on all searches. Searches against TMDb and TheMovieDB work fine.
I downloaded MG3 4.03 on to a Win10 machine and series searches against TheTVDB work as expected. So everything works, there's just something environment specific.
Looking deeper in to the stack trace it seems like the data coming back from TheTVDB is not in an expected format. Could it be an expired TVDB token causing the API to return an authorization failed message instead of the expected search results?
Besides deleting the
Metagenerator folder in AppData is there anything I need to do to have the app run like a clean "install"?