PUT /authenticate/switch

How did we do?

Authenticates into another project via the current session. Unlike the /authenticate endpoint, you can call this outside of the Account Portal domain.

Request

HTTP request

PUT https://sessions-api.hivemp.com/v1/authenticate/switch

You must replace the emphasized parameter values when making the request. Refer to the parameters section below.

Access policies

This method can only be called with certain kinds of API keys. The API key types that are permitted to call this API are:

  • admin: Obtained by creating an administrative session with HiveMP Sessions.

Additional restrictions may apply to some of the API key types listed above; refer to the method description for any additional restrictions.

Authorization

All HiveMP REST APIs require the presence of an X-API-Key header with an appropriate value, depending on the access policies outlined above.

This method requires a valid API key to be passed on request, as demonstrated in the following example:

X-API-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Parameters

authenticationSwitch Description The information required to perform the session switch.
Type AuthenticationSwitchRequest
Specified In body

Required? No

Request body

You must pass the value of authenticationSwitch as the request body.

Response

This method will return one of the following responses:

200 Description Success
Type AuthenticationResponse
... Description An error occurred; check the value error code and message of the response
Type HiveMPSystemError

Code Snippets

read -r -d '' _request_body << EOM
null
EOM
curl -s \
  -H "X-API-Key: $apiKey" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data "..." \
  -X PUT \
  "https://user-session-api.hivemp.com/v1/authenticate/switch"
// At the top of your script.
using HiveMP.Api;
using HiveMP.UserSession.Api;

// Inside your MonoBehaviour. Callbacks automatically happen on the main thread
// via Unity's coroutine infrastructure.
var client = new UserSessionClient("<YOUR API KEY HERE>");
client.AuthenticateSwitchPUTPromise(new AuthenticateSwitchPUTRequest
    {
        AuthenticationSwitch = null,
    },
    result =>
    {
        // result is an AuthenticationResponse
    },
    ex =>
    {
        // HiveMP exception properties:
        // - ex.HttpStatusCode: The HTTP status code of the response
        // - ex.HiveErrorCode: The HiveMP error code
        // - ex.HiveErrorMessage: The HiveMP error message
        // - ex.HiveErrorFields: Arbitrary extra data associated with the error
    });
// Add to your namespaces.
using HiveMP.Api;
using HiveMP.UserSession.Api;

// Call this inside an async method.
var client = new UserSessionClient("<YOUR API KEY HERE>");
try
{
    var result = await client.AuthenticateSwitchPUTAsync(new AuthenticateSwitchPUTRequest
        {
            AuthenticationSwitch = null,
        });
    
// result is an AuthenticationResponse } catch (HiveMPException ex) { // HiveMP exception properties: // - ex.HttpStatusCode: The HTTP status code of the response // - ex.HiveErrorCode: The HiveMP error code // - ex.HiveErrorMessage: The HiveMP error message // - ex.HiveErrorFields: Arbitrary extra data associated with the error }
# Copy the text below into a Blueprints window
# inside the UE4 editor anywhere to create the node for
# this API call.
Begin Object Class=/Script/OnlineBlueprintSupport.K2Node_LatentOnlineCall Name="K2Node_LatentOnlineCall_0"
   ProxyFactoryFunctionName="PerformHiveCall"
   ProxyFactoryClass=Class'/Script/HiveMPSDK.sessions_UserSession_'
   ProxyClass=Class'/Script/HiveMPSDK.sessions_UserSession_'
End Object

Try this API

The API key to use for the request.

The information required to perform the session switch.