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

# Message catalog

> Frame conventions and the full index of client and server message types

This page is the quick-reference index for the orderbook stream at
`wss://wss.parlayx.com/v1/orderbook`. Each frame type links to the page that
documents it in full. For a guided walkthrough, start with the
[Quickstart](/streaming/quickstart).

## Frame conventions

Every **server** frame is a JSON object with a `type`, a `v: 1` version
discriminator, and a `serverTimestamp` (epoch milliseconds). Every **client**
frame has a `type` and an optional `requestId` — a correlation token you choose
(any string) that the server echoes on the matching reply, so you can pair
async responses with the request that triggered them.

## Client → server

| `type`        | Purpose                                                         | Reference                                                       |
| ------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
| `subscribe`   | Create subscriptions for one or more `(market, channel)` pairs. | [Subscriptions & markets](/streaming/subscriptions#subscribe)   |
| `unsubscribe` | Tear down subscriptions by `subscriptionId`.                    | [Subscriptions & markets](/streaming/subscriptions#unsubscribe) |
| `list`        | Snapshot every active subscription on this connection.          | [Subscriptions & markets](/streaming/subscriptions#list)        |
| `ping`        | Application-level keepalive; replies with `pong`.               | [Connection lifecycle](/streaming/connection#keepalive)         |

## Server → client

| `type`          | When                                     | Key fields                                                                          | Reference                                                                     |
| --------------- | ---------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `welcome`       | once, on connect                         | `customerId`, `connectionId`, `activeConnections`, `limits`                         | [Connection lifecycle](/streaming/connection#welcome)                         |
| `subscribed`    | per market on a successful `subscribe`   | `market`, `channel`, `subscriptionId`, `snapshotPending`                            | [Subscriptions & markets](/streaming/subscriptions#subscribe)                 |
| `unsubscribed`  | per id on `unsubscribe`                  | `subscriptionId`, `market`, `channel`                                               | [Subscriptions & markets](/streaming/subscriptions#unsubscribe)               |
| `snapshot`      | first book frame, and on every resync    | `subscriptionId`, `seq`, `venueTimestamp`, `bids[]`, `asks[]`, `status`             | [Orderbook channel](/streaming/orderbook#snapshot-and-delta)                  |
| `delta`         | book changes                             | `subscriptionId`, `seq`, `venueTimestamp`, `changes[]`                              | [Orderbook channel](/streaming/orderbook#snapshot-and-delta)                  |
| `trade`         | a fill on a trade-channel subscription   | `subscriptionId`, `seq`, `venueTimestamp`, `price`, `size`, `takerSide`, `tradeId?` | [Trades channel](/streaming/trades)                                           |
| `status`        | subscription state change                | `subscriptionId`, `state`, `reason?`                                                | [Errors & status](/streaming/errors#status)                                   |
| `error`         | a request or subscription failed         | `code`, `message`, plus addressing fields                                           | [Errors & status](/streaming/errors#error)                                    |
| `pong`          | reply to `ping`                          | `requestId?`                                                                        | [Connection lifecycle](/streaming/connection#keepalive)                       |
| `subscriptions` | reply to `list`                          | `subscriptions[]`                                                                   | [Subscriptions & markets](/streaming/subscriptions#list)                      |
| `goodbye`       | just before the server closes the socket | `reason`                                                                            | [Connection lifecycle](/streaming/connection#connection-lifetime-and-goodbye) |
