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

# Session

## Import

```python theme={null}
from vastai.serverless.client.session import Session
```

## Constructor

```python theme={null}
Session(
    endpoint: Endpoint,
    session_id: str,
    lifetime: float,
    expiration: str,
    url: str,
    auth_data: dict,
    on_close_route: str = None,
    on_close_payload: dict = None
)
```

<ParamField path="endpoint" type="Endpoint" required>
  endpoint
</ParamField>

<ParamField path="session_id" type="str" required>
  session\_id
</ParamField>

<ParamField path="lifetime" type="float" required>
  lifetime
</ParamField>

<ParamField path="expiration" type="str" required>
  expiration
</ParamField>

<ParamField path="url" type="str" required>
  url
</ParamField>

<ParamField path="auth_data" type="dict" required>
  auth\_data
</ParamField>

<ParamField path="on_close_route" type="str">
  on\_close\_route
</ParamField>

<ParamField path="on_close_payload" type="dict">
  on\_close\_payload
</ParamField>

## Methods

### is\_open

```python theme={null}
async is_open()
```

### close

```python theme={null}
async close()
```

Explicit close for non-async contexts.
Returns an awaitable if async work is required.

### request

```python theme={null}
request(
    route,
    payload,
    serverless_request = None,
    cost: int = 100,
    retry: bool = True,
    stream: bool = False
)
```

Forward requests to the endpoint

<ParamField path="route" type="Any" required>
  route
</ParamField>

<ParamField path="payload" type="Any" required>
  payload
</ParamField>

<ParamField path="serverless_request" type="Any">
  serverless\_request
</ParamField>

<ParamField path="cost" type="int" default="100">
  cost
</ParamField>

<ParamField path="retry" type="bool" default="True">
  retry
</ParamField>

<ParamField path="stream" type="bool" default="False">
  stream
</ParamField>
