WakuPeer: type: object required: - multiaddr - protocols - origin properties: multiaddr: type: string protocols: type: array items: type: object required: - protocol - connected properties: protocol: type: string connected: type: boolean origin: type: string 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'