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

# Streaming Introduction

> Real-time transcripts via WebSocket.

# Overview

Our WebSocket-based streaming service provides real-time access to conference call transcripts, press releases, and more through a secure connection. Using an API token for authentication, you can subscribe to live transcripts, manage active streams, and test connectivity seamlessly. This service ensures you have up-to-the-second insights.

## Getting Started

### 1. Establish a WebSocket Connection

Connect to our WebSocket endpoint using your preferred client:

```bash theme={null}
wss://api.finvera.news
```

### 2. Authenticate Your Session

Include your API key as a query parameter in the connection URL:

```bash theme={null}
wss://api.finvera.news?apikey=yourApiKeyHere
```

### 3. Establish a Stable Connection

To ensure a stable connection, use the **ping** action periodically to keep the WebSocket session active:

```json theme={null}
{ "action": "ping" }
```

You can also send an echo action to verify that the connection is responsive:

```json theme={null}
{ "action": "echo", "data": "Hello, World!" }
```

### 4. Subscribe to a Symbol

To start receiving real-time transcripts for a specific stock, use the subscribe action:

```json theme={null}
{ "action": "subscribe", "symbol": "AAPL" }
```

To subscribe to all available transcripts, use:

```json theme={null}
{ "action": "subscribe", "symbol": "*" }
```

### 5. Confirm Your Subscriptions

To check which transcripts you are actively subscribed to, use the subscribed action:

```json theme={null}
{ "action": "subscribed" }
```

## Supported Actions

| Action                | Description                            | Example Request                                 |
| --------------------- | -------------------------------------- | ----------------------------------------------- |
| **list**              | Retrieve available transcripts         | `{ "action": "list" }`                          |
| **subscribe**         | Subscribe to a specific transcript     | `{ "action": "subscribe", "symbol": "AAPL" }`   |
| **subscribe** (all)   | Subscribe to all available transcripts | `{ "action": "subscribe", "symbol": "*" }`      |
| **subscribed**        | Get a list of active subscriptions     | `{ "action": "subscribed" }`                    |
| **unsubscribe**       | Unsubscribe from a specific transcript | `{ "action": "unsubscribe", "symbol": "AAPL" }` |
| **unsubscribe** (all) | Unsubscribe from all transcripts       | `{ "action": "unsubscribe", "symbol": "*" }`    |
| **echo**              | Test the connection                    | `{ "action": "echo", "message": "test" }`       |
| **ping**              | Maintain an active WebSocket session   | `{ "action": "ping" }`                          |

### Need Help?

We hope this guide helps you get started with our Websockets. If you have any questions, please don't hesitate to reach out to our support team. We're here to assist you in setting up and optimizing your WebSocket connection!
