There was a change in the OAuth flow that requires the code to token exchange to be done with an HTTP POST instead of an HTTP GET. The documentation originally documented the OAuth code exchange as an HTTP GET and over time switched to recommending an HTTP POST. As of the platform update yesterday, it looks like the HTTP GET was unintentionally closed. I updated SharpTools last night to work around the authorization changes, but I wouldn’t expect most developers to jump at making changes to their applications. That being said, SmartThings is looking into potentially rolling back the change.