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

# Get Realtime Status

> Retorna o status de saúde de todos os handlers WebSocket ativos

## 📖 Descrição

Retorna informações sobre o estado atual do fluxo WebSocket: se está habilitado, quais handlers estão conectados e quantas entradas existem no cache de preços em tempo real.

<Callout title="Disponibilidade" icon="info-circle" color="blue">
  Este endpoint só retorna dados significativos quando o serviço foi iniciado com `ENABLED_WEBSOCKET=1`. Caso contrário, `enabled` será `false` e `handlers` estará vazio.
</Callout>

***

## 🛠️ Requisição

### Método

`GET`

### URL

```plaintext theme={null}
/v1/realtime/status
```

### Parâmetros

Nenhum.

### Exemplo de Requisição

```bash theme={null}
curl --location 'localhost:8080/v1/realtime/status'
```

***

## 📤 Resposta

### Exemplo de Resposta — WebSocket habilitado

```json theme={null}
{
  "enabled": true,
  "handlers": [
    {
      "exchange": "Binance",
      "connected": true,
      "lastUpdate": "2025-03-18T12:00:00Z"
    }
  ],
  "totalConnected": 1,
  "cacheSize": 847
}
```

### Exemplo de Resposta — WebSocket desabilitado

```json theme={null}
{
  "enabled": false,
  "handlers": [],
  "totalConnected": 0,
  "cacheSize": 0
}
```

### Campos da Resposta

| Campo                   | Tipo              | Descrição                                       |
| ----------------------- | ----------------- | ----------------------------------------------- |
| `enabled`               | boolean           | `true` se o fluxo WebSocket foi iniciado        |
| `handlers`              | array             | Lista com o status de cada handler registrado   |
| `handlers[].exchange`   | string            | Nome da exchange                                |
| `handlers[].connected`  | boolean           | `true` se o WebSocket está conectado no momento |
| `handlers[].lastUpdate` | string (ISO 8601) | Timestamp do último tick recebido               |
| `totalConnected`        | integer           | Número de handlers com conexão ativa            |
| `cacheSize`             | integer           | Total de entradas de preços no cache em memória |

***

## ⚠️ Códigos de Status HTTP

| Código   | Descrição               |
| -------- | ----------------------- |
| `200 OK` | Requisição bem-sucedida |

<Callout type="info">
  O endpoint sempre retorna `200`. Use o campo `enabled` para determinar se o fluxo WebSocket está ativo, e `connected` por exchange para verificar saúde individual.
</Callout>
