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" ## Messaging API types MessagingJsonEnvelope: type: object description: JSON wire form of the messaging MessageEnvelope (the send input). properties: payload: type: string format: byte contentTopic: $ref: "#/ContentTopic" ephemeral: type: boolean meta: type: string format: byte required: - payload - contentTopic MessagingSendResponse: type: object properties: requestId: type: string description: Correlates the send with its MessageSent / MessageError events. required: - requestId SendEventRecord: type: object properties: kind: type: string enum: - "sent" - "propagated" - "error" messageHash: type: string error: type: string description: Populated only when kind is "error". timestamp: type: integer format: int64 description: Nanoseconds, stamped when the event was cached. required: - kind - messageHash - timestamp SendStatus: type: object description: All send events observed so far for a single request id. properties: requestId: type: string events: type: array items: $ref: "#/SendEventRecord" required: - requestId - events SendStatusList: type: array items: $ref: "#/SendStatus" ReceivedMessageRecord: type: object properties: messageHash: type: string message: $ref: "#/RelayWakuMessage" required: - messageHash - message ReceivedMessagesResponse: type: array items: $ref: "#/ReceivedMessageRecord"