====== Message Catalog ======
[[developers:apiv2|◀ WebSocket API (V2)]]
The ''.proto'' files define every message and field. This page maps each envelope payload to its message and the proto file that describes it.
===== Message Model =====
All messages travel inside a transport envelope, one Protobuf message per WebSocket **binary** frame:
* ''ClientMessage'' — Client -> Server messages
* ''ServerMessage'' — Server -> Client messages
Each envelope is a ''oneof'': exactly one payload is set. Read the ''payload'' case to know what you received.
message ClientMessage {
oneof payload {
Heartbeat heartbeat = 1;
auth.LoginRequest login_request = 2;
market.MarketSubscribe market_subscribe = 100;
account.AccountSubscribe account_subscribe = 200;
orderrouting.OrderSubmit order_submit = 300;
// ...
}
}
message ServerMessage {
oneof payload {
Heartbeat heartbeat = 1;
auth.LoginResponse login_response = 2;
market.MarketSnapshot market_snapshot = 108;
account.AccountSnapshot account_snapshot = 205;
orderrouting.OrderUpdate order_update = 300;
// ...
}
}
The full envelope is in ''proto/t4/v2/service.proto''.
===== Proto files =====
^ File ^ Contents ^
| [[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/service.proto|proto/t4/v2/service.proto]] | ''ClientMessage'' / ''ServerMessage'' envelopes, ''Heartbeat''. |
| [[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/auth/auth.proto|proto/t4/v2/auth/auth.proto]] | Login and authentication tokens. |
| [[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto|proto/t4/v2/market/market.proto]] | Market-data subscribe and feed messages. |
| [[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto|proto/t4/v2/account/account.proto]] | Account subscribe, snapshot and updates. |
| [[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto|proto/t4/v2/orderrouting/orderrouting.proto]] | Order submit/revise/pull/batch and updates. |
| [[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/common/enums.proto|proto/t4/v2/common/enums.proto]] | All enums. |
| [[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/common/price.proto|proto/t4/v2/common/price.proto]] | ''Price'' and ''Decimal'' wrappers. |
===== ClientMessage (client → server) =====
^ Payload ^ Purpose ^
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/service.proto#L75|Heartbeat]]'' | Keepalive. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/auth/auth.proto#L9|LoginRequest]]'' | Authenticate. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/auth/auth.proto#L63|AuthenticationTokenRequest]]'' | Request a token. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L9|MarketSubscribe]]'' | Subscribe/unsubscribe a market (''quotes'' level + ''ticker''). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L12|AccountSubscribe]]'' | Subscribe account(s). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L30|OrderSubmit]]'' | Place order(s). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L74|OrderRevise]]'' | Revise order(s). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L100|OrderPull]]'' | Cancel order(s). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L66|OrderBatch]]'' | All-or-nothing batch. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L118|CreateUDS]]'' | Define a strategy. |
===== ServerMessage (server → client) =====
^ Payload ^ Purpose ^
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/service.proto#L83|Heartbeat]]'' | Keepalive. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/auth/auth.proto#L25|LoginResponse]]'' | Login result, identity, entitlements. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/auth/auth.proto#L75|AuthenticationToken]]'' | Token + expiry. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L21|MarketSubscribeReject]]'' | Subscribe refused (check ''mode''). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L29|MarketDetails]]'' | Instrument definition. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L79|MarketDepth]]'' | Depth update (top-of-book / full book). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L119|MarketTrade]]'' | Trade print (''ticker''). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L144|MarketHighLow]]'' | Session high/low/open. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L155|MarketPriceLimits]]'' | Price limits. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L165|MarketSettlement]]'' | Settlement, OI, VWAP. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L190|MarketSnapshot]]'' | Full state on subscribe (price feed). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L213|MarketByOrderSnapshot]]'' | Full book on subscribe (MBO). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/market/market.proto#L231|MarketByOrderUpdate]]'' | Per-order changes (MBO). |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L18|AccountSubscribeResponse]]'' | Subscribe result. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L26|AccountCurrency]]'' | Currency rates. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L34|AccountPosition]]'' | Position. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L78|AccountUpdate]]'' | Balances / margin. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L107|AccountDetails]]'' | Account configuration. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L161|AccountSnapshot]]'' | Full state on subscribe. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L171|AccountProfit]]'' | Account UPL / RPL. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/account/account.proto#L191|AccountPositionProfit]]'' | Per-position UPL / RPL. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L155|OrderUpdate]]'' | Unified order lifecycle event. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L258|OrderTrade]]'' | Fill. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L326|MarginInquiryResponse]]'' | Margin preview. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L288|OrderBatchAcknowledge]]'' | Batch accepted. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L305|OrderBatchReject]]'' | Batch rejected. |
| ''[[https://github.com/CTS-Futures/t4-api-tools/blob/main/proto/t4/v2/orderrouting/orderrouting.proto#L279|CreateUDSResponse]]'' | Strategy created. |