> ISPO SDK documentation. [HTML](https://ispo.ai/docs/interfaces/core.CloudChatSessionReady.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Interface CloudChatSessionReady

A minted Community chat session: exactly what the app needs to connect the realtime chat worker directly, and nothing else.

```typescript
interface CloudChatSessionReady {
    channels: string[];
    handle: string | null;
    kind: "session";
    role: CloudChatRole;
    token: string;
    wsUrl: string;
}
```

Types: [channels](#channels), [handle](#handle), [kind](#kind), [role](#role), [CloudChatRole](../types/core.CloudChatRole.md), [token](#token), [wsUrl](#wsurl)

##### Index

### <a id="properties"></a>Properties

[channels](#channels) [handle](#handle) [kind](#kind) [role](#role) [token](#token) [wsUrl](#wsurl)

## <a id="properties-1"></a>Properties

### <a id="channels"></a>channels

```typescript
channels: string[]
```

Operator-seeded channel ids this session may join.

### <a id="handle"></a>handle

```typescript
handle: string | null
```

The account's claimed chat handle; null for readers, who have none.

### <a id="kind"></a>kind

```typescript
kind: "session"
```

### <a id="role"></a>role

```typescript
role: CloudChatRole
```

Types: [CloudChatRole](../types/core.CloudChatRole.md)

Access tier: signed-out visitors and signed-in accounts without an active subscription get reader sessions (read everything, post nothing).

### <a id="token"></a>token

```typescript
token: string
```

Short-TTL chat-scoped token (aud `ispo-chat`). Never the cloud bearer.

### <a id="wsurl"></a>wsUrl

```typescript
wsUrl: string
```

wss:// endpoint of the realtime chat worker.
