Appendix

Collaborate impersonation API

OVERVIEW

The Collaborate API endpoints respond based on the individual users permissions and there is no way with the Collaborate 3.4.x API implementation to call the API endpoint on behalf of another user. 

In order to provide this feature we have developed the impersonation API, which the system admin user can call to impersonate another user. This implementation is similar to proxy login functionality available in Collaborate. 

This API endpoint allows a system admin, once they have generated their own OAuth token to generate an OAuth token for another user using their email address or user id. 

 

Request URL : 

Method : GET

URL :/api/1/admin/impersonate

 

Parameters Value Description
userid int ID of the user who is to be impersonated. You can either use userid or useremail to represent a user, but do not need to use both parameters at the same time. The URL will be in the format
/admin/impersonate?userid={ID of the user}
useremail String

Email address of the user in Collaborate, you can use this parameter or userid parameter to represent a user. The URL should be in the following format

/admin/impersonate?useremail={email address of the user}

     

Response:

The response will be the OAuth token for the specific user in case of success

<TokenResponse> 

<access_token>QNvtELSppDtMtQI6ER5meGa3V29XYmUI</access_token>

 <expires_in>3600</expires_in>

  <refresh_token>YuchLxFdnEfu8JhnP2QOXjYrBkHs0btxhlOZoXLI63ahiPz4R1o9bU2xzstGeYG9</refresh_token>

  <token_type>bearer</token_type>
 <useremail>first.last@domain.com</useremail>

</TokenResponse>

The system admin then should be able to call the API using the users token to get the API response on his behalf.
 

Error response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
    <link>https://domain/instancename/api/1/error/272</link>
    <summary>Invalid useremail found, Please provide valid useremail.</summary>
</error>

 

 

Comments


2 Comments

Last Updated: Jun 10,2023