Kraken · AsyncAPI Specification
Kraken Spot WebSocket API v2
Version 2.0.0
Public WebSocket API for the Kraken cryptocurrency exchange (Spot v2). Provides real-time market data through subscribe/unsubscribe semantics over JSON. Channels documented here are restricted to the public surface confirmed by https://docs.kraken.com/api/docs/websocket-v2/ (ticker, book, ohlc, trade, instrument) plus the connection-level methods (ping/pong, subscribe, unsubscribe). Authenticated channels are intentionally out of scope.
View Spec
View on GitHub
CryptocurrencyExchangeTradingMarket DataSpot TradingFuturesDerivativesStakingEarnNFTWebSocketFIXCustodyOTCPrime BrokerageEmbedOAuthPublic APIsAsyncAPIWebhooksEvents
Channels
ticker
publish
Subscribe or unsubscribe from the ticker channel.
Level 1 market data: best bid/ask, last trade, 24h volume/VWAP/high/low, and price change metrics for one or more currency pairs.
book
publish
Subscribe or unsubscribe from the book channel.
Level 2 order book channel. Emits an initial snapshot of bids/asks followed by incremental updates. Includes a CRC32 checksum for the top 10 levels.
ohlc
publish
Subscribe or unsubscribe from the ohlc channel.
Open/High/Low/Close candle data for a configured interval (1, 5, 15, 30, 60, 240, 1440, 10080, or 21600 minutes). Updates are trade-triggered.
trade
publish
Subscribe or unsubscribe from the trade channel.
Stream of individual trade executions. Optional initial snapshot returns the most recent 50 trades for each subscribed symbol.
instrument
publish
Subscribe or unsubscribe from the instrument channel.
Reference data feed for all active assets and tradeable pairs, including precisions, trading limits, and margin parameters.
ping
publish
Send a ping to the server.
Application-level keepalive. Distinct from the WebSocket protocol-level ping frames. Server replies with a pong message echoing req_id and including time_in/time_out timestamps.
Messages
✉
SubscribeTicker
Subscribe to ticker
✉
UnsubscribeTicker
Unsubscribe from ticker
✉
TickerMessage
Ticker snapshot or update
✉
SubscribeBook
Subscribe to book
✉
UnsubscribeBook
Unsubscribe from book
✉
BookMessage
Book snapshot or update
✉
SubscribeOHLC
Subscribe to OHLC
✉
UnsubscribeOHLC
Unsubscribe from OHLC
✉
OHLCMessage
OHLC snapshot or update
✉
SubscribeTrade
Subscribe to trade
✉
UnsubscribeTrade
Unsubscribe from trade
✉
TradeMessage
Trade snapshot or update
✉
SubscribeInstrument
Subscribe to instrument
✉
UnsubscribeInstrument
Unsubscribe from instrument
✉
InstrumentMessage
Instrument snapshot or update
✉
SubscriptionStatus
Subscribe/Unsubscribe acknowledgement
✉
Ping
Ping request
✉
Pong
Pong response
Servers
wss
public
ws.kraken.com/v2
Public market data WebSocket endpoint. No authentication required. Carries ticker, book, ohlc, trade, and instrument channels.
wss
authenticated
ws-auth.kraken.com/v2
Authenticated WebSocket endpoint used for private channels and trading methods (out of scope for this document; included here only because it is a documented separate host). Connecting requires a token obtained from the REST GetWebSocketsToken endpoint.
AsyncAPI Specification
asyncapi: 2.6.0
info:
title: Kraken Spot WebSocket API v2
version: '2.0.0'
description: >
Public WebSocket API for the Kraken cryptocurrency exchange (Spot v2).
Provides real-time market data through subscribe/unsubscribe semantics over JSON.
Channels documented here are restricted to the public surface confirmed by
https://docs.kraken.com/api/docs/websocket-v2/ (ticker, book, ohlc, trade,
instrument) plus the connection-level methods (ping/pong, subscribe,
unsubscribe). Authenticated channels are intentionally out of scope.
contact:
name: Kraken API Support
url: https://support.kraken.com/
license:
name: Kraken Terms of Service
url: https://www.kraken.com/legal
defaultContentType: application/json
servers:
public:
url: ws.kraken.com/v2
protocol: wss
description: >
Public market data WebSocket endpoint. No authentication required. Carries
ticker, book, ohlc, trade, and instrument channels.
authenticated:
url: ws-auth.kraken.com/v2
protocol: wss
description: >
Authenticated WebSocket endpoint used for private channels and trading
methods (out of scope for this document; included here only because it is
a documented separate host). Connecting requires a token obtained from the
REST GetWebSocketsToken endpoint.
channels:
ticker:
description: >
Level 1 market data: best bid/ask, last trade, 24h volume/VWAP/high/low,
and price change metrics for one or more currency pairs.
subscribe:
summary: Receive ticker snapshot and updates from the server.
message:
oneOf:
- $ref: '#/components/messages/TickerMessage'
- $ref: '#/components/messages/SubscriptionStatus'
publish:
summary: Subscribe or unsubscribe from the ticker channel.
message:
oneOf:
- $ref: '#/components/messages/SubscribeTicker'
- $ref: '#/components/messages/UnsubscribeTicker'
book:
description: >
Level 2 order book channel. Emits an initial snapshot of bids/asks
followed by incremental updates. Includes a CRC32 checksum for the top
10 levels.
subscribe:
summary: Receive book snapshot and update messages.
message:
oneOf:
- $ref: '#/components/messages/BookMessage'
- $ref: '#/components/messages/SubscriptionStatus'
publish:
summary: Subscribe or unsubscribe from the book channel.
message:
oneOf:
- $ref: '#/components/messages/SubscribeBook'
- $ref: '#/components/messages/UnsubscribeBook'
ohlc:
description: >
Open/High/Low/Close candle data for a configured interval (1, 5, 15, 30,
60, 240, 1440, 10080, or 21600 minutes). Updates are trade-triggered.
subscribe:
summary: Receive OHLC snapshot and update messages.
message:
oneOf:
- $ref: '#/components/messages/OHLCMessage'
- $ref: '#/components/messages/SubscriptionStatus'
publish:
summary: Subscribe or unsubscribe from the ohlc channel.
message:
oneOf:
- $ref: '#/components/messages/SubscribeOHLC'
- $ref: '#/components/messages/UnsubscribeOHLC'
trade:
description: >
Stream of individual trade executions. Optional initial snapshot returns
the most recent 50 trades for each subscribed symbol.
subscribe:
summary: Receive trade snapshot and update messages.
message:
oneOf:
- $ref: '#/components/messages/TradeMessage'
- $ref: '#/components/messages/SubscriptionStatus'
publish:
summary: Subscribe or unsubscribe from the trade channel.
message:
oneOf:
- $ref: '#/components/messages/SubscribeTrade'
- $ref: '#/components/messages/UnsubscribeTrade'
instrument:
description: >
Reference data feed for all active assets and tradeable pairs, including
precisions, trading limits, and margin parameters.
subscribe:
summary: Receive instrument snapshot and update messages.
message:
oneOf:
- $ref: '#/components/messages/InstrumentMessage'
- $ref: '#/components/messages/SubscriptionStatus'
publish:
summary: Subscribe or unsubscribe from the instrument channel.
message:
oneOf:
- $ref: '#/components/messages/SubscribeInstrument'
- $ref: '#/components/messages/UnsubscribeInstrument'
ping:
description: >
Application-level keepalive. Distinct from the WebSocket protocol-level
ping frames. Server replies with a pong message echoing req_id and
including time_in/time_out timestamps.
subscribe:
summary: Receive pong response from the server.
message:
$ref: '#/components/messages/Pong'
publish:
summary: Send a ping to the server.
message:
$ref: '#/components/messages/Ping'
components:
messages:
SubscribeTicker:
name: subscribeTicker
title: Subscribe to ticker
payload:
$ref: '#/components/schemas/SubscribeTickerRequest'
examples:
- name: SubscribeTickerDefaultExample
summary: Default SubscribeTicker example payload
x-microcks-default: true
payload:
method: subscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
UnsubscribeTicker:
name: unsubscribeTicker
title: Unsubscribe from ticker
payload:
$ref: '#/components/schemas/UnsubscribeTickerRequest'
examples:
- name: UnsubscribeTickerDefaultExample
summary: Default UnsubscribeTicker example payload
x-microcks-default: true
payload:
method: unsubscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
TickerMessage:
name: tickerMessage
title: Ticker snapshot or update
payload:
$ref: '#/components/schemas/TickerEnvelope'
examples:
- name: TickerMessageDefaultExample
summary: Default TickerMessage example payload
x-microcks-default: true
payload:
channel: ticker
type: snapshot
data: []
SubscribeBook:
name: subscribeBook
title: Subscribe to book
payload:
$ref: '#/components/schemas/SubscribeBookRequest'
examples:
- name: SubscribeBookDefaultExample
summary: Default SubscribeBook example payload
x-microcks-default: true
payload:
method: subscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
UnsubscribeBook:
name: unsubscribeBook
title: Unsubscribe from book
payload:
$ref: '#/components/schemas/UnsubscribeBookRequest'
examples:
- name: UnsubscribeBookDefaultExample
summary: Default UnsubscribeBook example payload
x-microcks-default: true
payload:
method: unsubscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
BookMessage:
name: bookMessage
title: Book snapshot or update
payload:
$ref: '#/components/schemas/BookEnvelope'
examples:
- name: BookMessageDefaultExample
summary: Default BookMessage example payload
x-microcks-default: true
payload:
channel: book
type: snapshot
data: []
SubscribeOHLC:
name: subscribeOHLC
title: Subscribe to OHLC
payload:
$ref: '#/components/schemas/SubscribeOHLCRequest'
examples:
- name: SubscribeOHLCDefaultExample
summary: Default SubscribeOHLC example payload
x-microcks-default: true
payload:
method: subscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
UnsubscribeOHLC:
name: unsubscribeOHLC
title: Unsubscribe from OHLC
payload:
$ref: '#/components/schemas/UnsubscribeOHLCRequest'
examples:
- name: UnsubscribeOHLCDefaultExample
summary: Default UnsubscribeOHLC example payload
x-microcks-default: true
payload:
method: unsubscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
OHLCMessage:
name: ohlcMessage
title: OHLC snapshot or update
payload:
$ref: '#/components/schemas/OHLCEnvelope'
examples:
- name: OHLCMessageDefaultExample
summary: Default OHLCMessage example payload
x-microcks-default: true
payload:
channel: ohlc
type: snapshot
data: []
SubscribeTrade:
name: subscribeTrade
title: Subscribe to trade
payload:
$ref: '#/components/schemas/SubscribeTradeRequest'
examples:
- name: SubscribeTradeDefaultExample
summary: Default SubscribeTrade example payload
x-microcks-default: true
payload:
method: subscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
UnsubscribeTrade:
name: unsubscribeTrade
title: Unsubscribe from trade
payload:
$ref: '#/components/schemas/UnsubscribeTradeRequest'
examples:
- name: UnsubscribeTradeDefaultExample
summary: Default UnsubscribeTrade example payload
x-microcks-default: true
payload:
method: unsubscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
TradeMessage:
name: tradeMessage
title: Trade snapshot or update
payload:
$ref: '#/components/schemas/TradeEnvelope'
examples:
- name: TradeMessageDefaultExample
summary: Default TradeMessage example payload
x-microcks-default: true
payload:
channel: trade
type: snapshot
data: []
SubscribeInstrument:
name: subscribeInstrument
title: Subscribe to instrument
payload:
$ref: '#/components/schemas/SubscribeInstrumentRequest'
examples:
- name: SubscribeInstrumentDefaultExample
summary: Default SubscribeInstrument example payload
x-microcks-default: true
payload:
method: subscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
UnsubscribeInstrument:
name: unsubscribeInstrument
title: Unsubscribe from instrument
payload:
$ref: '#/components/schemas/UnsubscribeInstrumentRequest'
examples:
- name: UnsubscribeInstrumentDefaultExample
summary: Default UnsubscribeInstrument example payload
x-microcks-default: true
payload:
method: unsubscribe
req_id: OQCLML-BW3P3-BUCMWZ
params: {}
InstrumentMessage:
name: instrumentMessage
title: Instrument snapshot or update
payload:
$ref: '#/components/schemas/InstrumentEnvelope'
examples:
- name: InstrumentMessageDefaultExample
summary: Default InstrumentMessage example payload
x-microcks-default: true
payload:
channel: instrument
type: snapshot
data: {}
SubscriptionStatus:
name: subscriptionStatus
title: Subscribe/Unsubscribe acknowledgement
payload:
$ref: '#/components/schemas/SubscriptionStatusResponse'
examples:
- name: SubscriptionStatusDefaultExample
summary: Default SubscriptionStatus example payload
x-microcks-default: true
payload:
method: subscribe
req_id: OQCLML-BW3P3-BUCMWZ
success: true
result: {}
error: string
time_in: string
time_out: string
warnings: []
Ping:
name: ping
title: Ping request
payload:
$ref: '#/components/schemas/PingRequest'
examples:
- name: PingDefaultExample
summary: Default Ping example payload
x-microcks-default: true
payload:
method: ping
req_id: OQCLML-BW3P3-BUCMWZ
Pong:
name: pong
title: Pong response
payload:
$ref: '#/components/schemas/PongResponse'
examples:
- name: PongDefaultExample
summary: Default Pong example payload
x-microcks-default: true
payload:
method: pong
req_id: OQCLML-BW3P3-BUCMWZ
success: true
time_in: string
time_out: string
result: {}
error: string
warnings: []
schemas:
# ---------- Common envelopes ----------
SubscribeRequestBase:
type: object
required:
- method
- params
properties:
method:
type: string
enum: [subscribe]
example: subscribe
req_id:
type: integer
description: Optional client-originated request identifier echoed in the response.
example: OQCLML-BW3P3-BUCMWZ
UnsubscribeRequestBase:
type: object
required:
- method
- params
properties:
method:
type: string
enum: [unsubscribe]
example: unsubscribe
req_id:
type: integer
example: OQCLML-BW3P3-BUCMWZ
SubscriptionStatusResponse:
type: object
description: Standard server acknowledgement for subscribe/unsubscribe requests.
properties:
method:
type: string
enum: [subscribe, unsubscribe]
example: subscribe
req_id:
type: integer
example: OQCLML-BW3P3-BUCMWZ
success:
type: boolean
example: true
result:
type: object
description: Echo of the parameters of a successful subscription.
example: {}
error:
type: string
description: Error message when success is false.
example: string
time_in:
type: string
format: date-time
description: RFC3339 timestamp the request was received on the wire.
example: string
time_out:
type: string
format: date-time
description: RFC3339 timestamp the response was sent on the wire.
example: string
warnings:
type: array
items:
type: string
# ---------- Ticker ----------
example: []
SubscribeTickerRequest:
allOf:
- $ref: '#/components/schemas/SubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [ticker]
example: ticker
symbol:
type: array
items:
type: string
example: ["BTC/USD", "MATIC/GBP"]
event_trigger:
type: string
enum: [bbo, trades]
default: trades
description: bbo emits on best-bid/offer change; trades emits on trade events.
example: bbo
snapshot:
type: boolean
default: true
example: true
example: {}
UnsubscribeTickerRequest:
allOf:
- $ref: '#/components/schemas/UnsubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [ticker]
example: ticker
symbol:
type: array
items:
type: string
example: PI_XBTUSD
example: {}
TickerEnvelope:
type: object
required: [channel, type, data]
properties:
channel:
type: string
enum: [ticker]
example: ticker
type:
type: string
enum: [snapshot, update]
example: snapshot
data:
type: array
items:
$ref: '#/components/schemas/Ticker'
example: []
Ticker:
type: object
properties:
symbol:
type: string
example: PI_XBTUSD
bid:
type: number
format: double
description: Best bid price.
example: OQCLML-BW3P3-BUCMWZ
bid_qty:
type: number
format: double
description: Quantity at best bid.
example: 0.01
ask:
type: number
format: double
description: Best ask price.
example: 0.01
ask_qty:
type: number
format: double
description: Quantity at best ask.
example: 0.01
last:
type: number
format: double
description: Last traded price.
example: 0.01
volume:
type: number
format: double
description: 24-hour volume in the base currency.
example: '0.01'
vwap:
type: number
format: double
description: 24-hour volume weighted average price.
example: 0.01
low:
type: number
format: double
description: 24-hour low price.
example: 0.01
high:
type: number
format: double
description: 24-hour high price.
example: 0.01
change:
type: number
format: double
description: 24-hour absolute price change.
example: 0.01
change_pct:
type: number
format: double
description: 24-hour percentage price change.
# ---------- Book ----------
example: 0.01
SubscribeBookRequest:
allOf:
- $ref: '#/components/schemas/SubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [book]
example: book
symbol:
type: array
items:
type: string
example: PI_XBTUSD
depth:
type: integer
enum: [10, 25, 100, 500, 1000]
default: 10
example: 10
snapshot:
type: boolean
default: true
example: true
example: {}
UnsubscribeBookRequest:
allOf:
- $ref: '#/components/schemas/UnsubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [book]
example: book
symbol:
type: array
items:
type: string
example: PI_XBTUSD
depth:
type: integer
enum: [10, 25, 100, 500, 1000]
example: 10
example: {}
BookEnvelope:
type: object
required: [channel, type, data]
properties:
channel:
type: string
enum: [book]
example: book
type:
type: string
enum: [snapshot, update]
example: snapshot
data:
type: array
items:
$ref: '#/components/schemas/BookData'
example: []
BookData:
type: object
properties:
symbol:
type: string
example: PI_XBTUSD
bids:
type: array
items:
$ref: '#/components/schemas/PriceLevel'
example: []
asks:
type: array
items:
$ref: '#/components/schemas/PriceLevel'
example: []
checksum:
type: integer
format: int64
description: CRC32 checksum of the top 10 bids and asks.
example: 1
timestamp:
type: string
format: date-time
example: '2026-05-30T00:00:00Z'
PriceLevel:
type: object
properties:
price:
type: number
format: double
example: '0.01'
qty:
type: number
format: double
# ---------- OHLC ----------
example: 0.01
SubscribeOHLCRequest:
allOf:
- $ref: '#/components/schemas/SubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [ohlc]
example: ohlc
symbol:
type: array
items:
type: string
example: PI_XBTUSD
interval:
type: integer
enum: [1, 5, 15, 30, 60, 240, 1440, 10080, 21600]
example: 1
snapshot:
type: boolean
default: true
example: true
example: {}
UnsubscribeOHLCRequest:
allOf:
- $ref: '#/components/schemas/UnsubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [ohlc]
example: ohlc
symbol:
type: array
items:
type: string
example: PI_XBTUSD
interval:
type: integer
enum: [1, 5, 15, 30, 60, 240, 1440, 10080, 21600]
example: 1
example: {}
OHLCEnvelope:
type: object
required: [channel, type, data]
properties:
channel:
type: string
enum: [ohlc]
example: ohlc
type:
type: string
enum: [snapshot, update]
example: snapshot
data:
type: array
items:
$ref: '#/components/schemas/Candle'
example: []
Candle:
type: object
properties:
symbol:
type: string
example: PI_XBTUSD
open:
type: number
format: double
example: 0.01
high:
type: number
format: double
example: 0.01
low:
type: number
format: double
example: 0.01
close:
type: number
format: double
example: 0.01
vwap:
type: number
format: double
example: 0.01
trades:
type: integer
description: Number of trades in the interval.
example: 1
volume:
type: number
format: double
description: Total traded volume in the base currency.
example: '0.01'
interval_begin:
type: string
format: date-time
description: RFC3339 timestamp of interval start.
example: string
interval:
type: integer
description: Interval length in minutes.
# ---------- Trade ----------
example: 1
SubscribeTradeRequest:
allOf:
- $ref: '#/components/schemas/SubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [trade]
example: trade
symbol:
type: array
items:
type: string
example: PI_XBTUSD
snapshot:
type: boolean
default: false
description: When true, returns the most recent 50 trades on subscribe.
example: true
example: {}
UnsubscribeTradeRequest:
allOf:
- $ref: '#/components/schemas/UnsubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel, symbol]
properties:
channel:
type: string
enum: [trade]
example: trade
symbol:
type: array
items:
type: string
example: PI_XBTUSD
example: {}
TradeEnvelope:
type: object
required: [channel, type, data]
properties:
channel:
type: string
enum: [trade]
example: trade
type:
type: string
enum: [snapshot, update]
example: snapshot
data:
type: array
items:
$ref: '#/components/schemas/Trade'
example: []
Trade:
type: object
properties:
symbol:
type: string
example: PI_XBTUSD
side:
type: string
enum: [buy, sell]
description: Taker order direction.
example: buy
qty:
type: number
format: double
example: 0.01
price:
type: number
format: double
example: '0.01'
ord_type:
type: string
enum: [limit, market]
description: Taker order type.
example: limit
trade_id:
type: integer
format: int64
description: Sequence number unique per trading book.
example: OQCLML-BW3P3-BUCMWZ
timestamp:
type: string
format: date-time
# ---------- Instrument ----------
example: '2026-05-30T00:00:00Z'
SubscribeInstrumentRequest:
allOf:
- $ref: '#/components/schemas/SubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel]
properties:
channel:
type: string
enum: [instrument]
example: instrument
execution_venue:
type: string
enum: [international, bitnomial-exchange]
default: international
example: international
include_tokenized_assets:
type: boolean
default: false
example: true
snapshot:
type: boolean
default: true
example: true
example: {}
UnsubscribeInstrumentRequest:
allOf:
- $ref: '#/components/schemas/UnsubscribeRequestBase'
- type: object
properties:
params:
type: object
required: [channel]
properties:
channel:
type: string
enum: [instrument]
example: instrument
example: {}
InstrumentEnvelope:
type: object
required: [channel, type, data]
properties:
channel:
type: string
enum: [instrument]
example: instrument
type:
type: string
enum: [snapshot, update]
example: snapshot
data:
type: object
properties:
assets:
type: array
items:
$ref: '#/components/schemas/Asset'
example: []
pairs:
type: array
items:
$ref: '#/components/schemas/Pair'
example: XBTUSD
example: {}
Asset:
type: object
properties:
id:
type: string
example: OQCLML-BW3P3-BUCMWZ
status:
type: string
example: string
precision:
type: integer
example: 1
precision_display:
type: integer
example: 1
borrowable:
type: boolean
example: true
collateral_value:
type: number
format: double
example: 0.01
margin_rate:
type: number
format: double
example: '0.01'
multiplier:
type: number
format: double
example: 0.01
Pair:
type: object
properties:
symbol:
type: string
example: PI_XBTUSD
base:
type: string
example: string
quote:
type: string
example: string
status:
type: string
example: string
marginable:
type: boolean
example: '0.01'
has_index:
type: boolean
example: true
qty_min:
type: string
example: string
qty_increment:
type: string
example: string
qty_precision:
type: integer
example: 1
price_increment:
type: string
example: '0.01'
price_precision:
type: integer
example: '0.01'
cost_precision:
type: integer
example: 1
cost_min:
type: string
example: string
margin_initial:
type: number
format: double
example: '0.01'
position_limit_long:
type: integer
example: 1
position_limit_short:
type: integer
# ---------- Ping / Pong ----------
example: 1
PingRequest:
type: object
required: [method]
properties:
method:
type: string
enum: [ping]
example: ping
req_id:
type: integer
example: OQCLML-BW3P3-BUCMWZ
PongResponse:
type: object
required: [method]
properties:
method:
type: string
enum: [pong]
example: pong
req_id:
type: integer
example: OQCLML-BW3P3-BUCMWZ
success:
type: boolean
example: true
time_in:
type: string
format: date-time
example: string
time_out:
type: string
format: date-time
example: string
result:
type: object
example: {}
error:
type: string
example: string
warnings:
type: array
items:
type: string
example: []