---
title: "POST /streamgroups/{Identifier}/streamsessions/{StreamSessionIdentifier}/connections"
method: POST
path: "/streamgroups/{Identifier}/streamsessions/{StreamSessionIdentifier}/connections"
---

# POST /streamgroups/{Identifier}/streamsessions/{StreamSessionIdentifier}/connections

`POST /streamgroups/{Identifier}/streamsessions/{StreamSessionIdentifier}/connections`

Enables clients to reconnect to a stream session while preserving all session state and data in the disconnected session. This reconnection process can be initiated when a stream session is in either `PENDING_CLIENT_RECONNECTION` or `ACTIVE` status. The process works as follows:

1.  Initial disconnect:
    
    *   When a client disconnects or loses connection, the stream session transitions from `CONNECTED` to `PENDING_CLIENT_RECONNECTION`
        
2.  Reconnection time window:
    
    *   Clients have `ConnectionTimeoutSeconds` (defined in [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)) to reconnect before session termination
        
    *   Your backend server must call **CreateStreamSessionConnection** to initiate reconnection
        
    *   Session transitions to `RECONNECTING` status
        
3.  Reconnection completion:
    
    *   On successful **CreateStreamSessionConnection**, session status changes to `ACTIVE`
        
    *   Provide the new connection information to the requesting client
        
    *   Client must establish connection within `ConnectionTimeoutSeconds`
        
    *   Session terminates automatically if client fails to connect in time
        

For more information about the stream session lifecycle, see [Stream sessions](https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/stream-sessions.html) in the _Amazon GameLift Streams Developer Guide_.

To begin re-connecting to an existing stream session, specify the stream group ID and stream session ID that you want to reconnect to, and the signal request to use with the stream.

## Path parameters

- `Identifier` string, required
- `StreamSessionIdentifier` string, required

## Request body

- object
  - `ClientToken` string — A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.
  - `SignalRequest` string, password, required — A WebRTC ICE offer string to use when initializing a WebRTC connection. The offer is a very long JSON string. Provide the string as a text value in quotes. The offer must be newly generated, not the same offer provided to <code>StartStreamSession</code>.

## Response `200`

Success

- CreateStreamSessionConnectionOutput
  - `SignalResponse` string, password — The WebRTC answer string that the stream server generates in response to the <code>SignalRequest</code>.

## Other responses

- `480` — AccessDeniedException
- `481` — ResourceNotFoundException
- `482` — ThrottlingException
- `483` — InternalServerException
- `484` — ConflictException
- `485` — ValidationException

---

[API](https://skmtc.net/aws/apis/gameliftstreams.md) · [All operations](https://skmtc.net/aws/apis/gameliftstreams/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/gameliftstreams/versions/1da584a2a4a4/schema)
