323 lines
5.4 KiB
YAML

WakuPeerStats:
type: object
properties:
grouping:
type: object
properties:
name:
title: string
value:
type: array
items:
type: object
properties:
title:
type: string
value:
type: integer
format: int32
examples:
peer_statistics:
$ref: "./adminapi_peers_stats_example.json"
WakuPeer:
type: object
required:
- multiaddr
- protocols
- shards
- agent
- connected
- origin
properties:
multiaddr:
type: string
protocols:
type: array
items:
type: string
shards:
type: array
items:
type: integer
format: int32
connected:
type: string
enum:
- "NotConnected"
- "CannotConnect"
- "CanConnect"
- "Connected"
agent:
type: string
origin:
type: string
score:
type: number
format: double
PeersOfShard:
type: object
properties:
shard:
type: integer
format: int32
peers:
type: array
items:
$ref: "#/WakuPeer"
WakuInfo:
type: object
properties:
listenAddresses:
type: array
items:
type: string
enrUri:
type: string
required:
- listenAddresses
PubsubTopic:
type: string
ContentTopic:
type: string
FilterGetMessagesResponse:
type: array
items:
$ref: "#/WakuMessage"
FilterSubscribeRequest:
type: object
properties:
requestId:
type: string
contentFilters:
type: array
items:
$ref: "#/ContentTopic"
pubsubTopic:
$ref: "#/PubsubTopic"
required:
- requestId
- contentFilters
- pubsubTopic
FilterUnsubscribeRequest:
type: object
properties:
requestId:
type: string
contentFilters:
type: array
items:
$ref: "#/ContentTopic"
pubsubTopic:
$ref: "#/PubsubTopic"
required:
- requestId
- contentFilters
FilterUnsubscribeAllRequest:
type: object
properties:
requestId:
type: string
required:
- requestId
FilterSubscriptionResponse:
type: object
properties:
requestId:
type: string
statusDesc:
type: string
required:
- requestId
WakuMessage:
type: object
properties:
payload:
type: string
format: byte
contentTopic:
$ref: "#/ContentTopic"
version:
type: integer
format: int32
timestamp:
type: integer
format: int64
ephemeral:
type: boolean
proof:
type: string
meta:
type: string
format: byte
required:
- payload
- contentTopic
- timestamp
WakuMessageKeyValue:
type: object
properties:
message_hash:
type: string
message:
$ref: "#/components/schemas/WakuMessage"
required:
- message_hash
- message
StoreQueryResponse:
type: object
properties:
requestId:
type: string
statusCode:
type: integer
format: uint32
statusDesc:
type: string
messages:
type: array
items:
$ref: "#/components/schemas/WakuMessageKeyValue"
paginationCursor:
type: string
required:
- requestId
- statusCode
- statusDesc
- messages
PushRequest:
type: object
properties:
pubsubTopic:
$ref: "#/PubsubTopic"
message:
$ref: "#/WakuMessage"
required:
- message
PushResponse:
type: object
properties:
statusDesc:
type: string
relayPeerCount:
type: integer
format: uint32
## TODO: Check if it can be tunneled into the one WakuMessage structure
## mainly because of Relay post message request can break in client code
RelayWakuMessage:
type: object
properties:
payload:
type: string
format: byte
contentTopic:
$ref: "#/ContentTopic"
version:
type: number
timestamp:
type: number
ephemeral:
type: boolean
meta:
type: string
format: byte
required:
- payload
RelayGetMessagesResponse:
type: array
items:
$ref: "#/RelayWakuMessage"
RelayPostMessagesRequest:
$ref: "#/RelayWakuMessage"
StoreResponse:
type: object
properties:
messages:
type: array
items:
$ref: "#/WakuMessage"
cursor:
$ref: "#/HistoryCursor"
error_message:
type: string
required:
- messages
HistoryCursor:
type: object
properties:
pubsubTopic:
type: string
senderTime:
type: string
storeTime:
type: string
digest:
type: string
required:
- pubsubTopic
- senderTime
- storeTime
- digest
FilterSubscription:
type: object
required:
- peerId
- filterCriteria
properties:
peerId:
type: string
filterCriteria:
type: array
items:
type: object
required:
- pubsubTopic
- contentTopic
properties:
pubsubTopic:
type: string
contentTopic:
type: string
HealthStatus:
type: string
enum:
- "Initializing"
- "Synchronizing"
- "Ready"
- "Not Ready"
- "Not Mounted"
- "Shutting Down"
HealthReport:
type: object
properties:
nodeHealth:
$ref: "#/HealthStatus"
description: Overall health status of the node
protocolsHealth:
type: array
items:
type: object
additionalProperties:
$ref: "#/HealthStatus"