> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# StartOrRecoverSession SignalR server method

> StartOrRecoverSession SignalR server method for PlayFab real-time messages, starting a session or restoring subscriptions after an unexpected disconnect.

<Note>
  The REST and SignalR APIs documented here are more complex than the client SDKs. Consider using the [Lobby C++ SDK](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/pflobby_members) or [Matchmaking C++ SDK](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmatchmaking/pfmatchmaking_members) instead, unless those SDKs don't meet your needs.
</Note>

Starts a session.

The client must call this method to start the session and obtain the `Connection
Handle` representing it. The client must store this `Connection Handle` to later
use to create subscriptions for the session.

```text theme={null}
StartOrRecoverSessionResponse StartOrRecoverSession(StartOrRecoverSessionRequest request)
```

<Tip>
  This is a SignalR server method. See [documentation on calling server methods](https://learn.microsoft.com/en-us/aspnet/core/signalr/dotnet-client#call-hub-methods-from-client) from a SignalR client.
</Tip>

## Parameters

[**`StartOrRecoverSessionRequest`**](/services/playfab/multiplayer/real-time-messages/types/start-or-recover-session-request)

## Return value

[**`StartOrRecoverSessionResponse`**](/services/playfab/multiplayer/real-time-messages/types/start-or-recover-session-response)

## See also

* Server method [EndSession](/services/playfab/multiplayer/real-time-messages/server-methods/end-session)
* [Real-time messages SignalR Hub](/services/playfab/multiplayer/real-time-messages/signalr-hub)
* [Real-time messages for Lobby and Matchmaking APIs](/services/playfab/multiplayer/real-time-messages/overview)


## Related topics

- [EndSession SignalR server method](/services/playfab/multiplayer/real-time-messages/server-methods/end-session.md)
- [RemoveEntityFromSession SignalR server method](/services/playfab/multiplayer/real-time-messages/server-methods/remove-entity-from-session.md)
- [AddEntityToSession SignalR server method](/services/playfab/multiplayer/real-time-messages/server-methods/add-entity-to-session.md)
- [Real-time messages SignalR Hub](/services/playfab/multiplayer/real-time-messages/signalr-hub.md)
- [StartOrRecoverSessionRequest real-time messages type](/services/playfab/multiplayer/real-time-messages/types/start-or-recover-session-request.md)
