Symptoms
This is the error we get
SmartObject Server Exception: Error refreshing Service Instance '"CLIENTNAME"_sharepoint_com___sites___k2test'. Service returned : 'Access denied. You do not have permission to perform this action or access this resource.Failed to initialize the Context: URL: https://"CLIENTNAME"sharepoint.com/sites/k2test Username: Correlation ID: 428a259d-c0ab-2000-15ff-66a9160daee8 Error Details: Method: SharePointService.initializeContext '.
Diagnoses
The registrations wizard was using an incorrect OAuth token on the K2Service account.
This was due to the K2 service account registering an OAuth token when K2 was first deployed for SharePoint (basically before it had global admin rights)
Resolution
Delete all OAuth tokens for Microsoft Online and SharePoint service that were using the K2 service account.
Path: (K2Designer> System > Management > Security > Forms > Manage OAuth Tokens)
Once the tokens were removed we ran the K2 registration wizard and was able to re-trust the K2 for SharePoint app and issuing a new token successfully.