version: 1 enums: #Type of attachment AttachmentType: type: int8 values: - id: 0 name: IMAGE #Image - id: 1 name: MESSAGES #Reply/Forwarded messages - id: 2 name: FILE #File - id: 3 name: AVATAR #Avatar - id: 4 name: CALL #Call - id: 5 name: VOICE #Voice message - id: 6 name: VIDEO_CIRCLE #Video circle #Solution by device after accept or decline request to attach new device DeviceSolution: type: int8 values: - id: 0 name: ACCEPT #Accept device to log in to account - id: 1 name: DECLINE #Decline device #Handshake Stage (need for set device confirm view after pass seed) HandshakeStage: type: int8 values: - id: 0 name: COMPLETED - id: 1 name: NEED_DEVICE_VERIFICATION GroupStatus: type: int8 values: - id: 0 name: JOINED - id: 1 name: INVALID - id: 2 name: NOT_JOINED - id: 3 name: BANNED NotificationAction: type: int8 values: - id: 0 name: SUBSCRIBE - id: 1 name: UNSUBSCRIBE SignalType: type: int8 values: - id: 0 name: CALL - id: 1 name: KEY_EXCHANGE - id: 2 name: ACTIVE_CALL - id: 3 name: END_CALL - id: 4 name: ACTIVE - id: 5 name: END_CALL_BECAUSE_PEER_DISCONNECTED - id: 6 name: END_CALL_BECAUSE_BUSY - id: 7 name: ACCEPT - id: 8 name: RINGING_TIMEOUT NetworkStatus: type: int8 values: - id: 0 name: ONLINE - id: 1 name: OFFLINE SyncStatus: type: int8 values: - id: 0 name: NOT_NEEDED - id: 1 name: BATCH_START - id: 2 name: BATCH_END WebRTCType: type: int8 values: - id: 0 name: OFFER - id: 1 name: ANSWER - id: 2 name: ICE_CANDIDATE ResultCode: type: int8 values: - id: 0 name: SUCCESS - id: 1 name: ERROR - id: 2 name: INVALID - id: 3 name: USERNAME_TAKEN TokenType: type: int8 values: - id: 0 name: FCM - id: 1 name: VoIPApns types: Attachment: fields: - id: 1 name: id type: string - id: 2 name: blob? type: string - id: 3 name: type type: AttachmentType - id: 4 name: preview type: string - id: 5 name: transport type: AttachmentTransport AttachmentTransport: fields: - id: 1 name: transportTag type: string - id: 2 name: transportServer type: string NetworkDevice: fields: - id: 1 name: networkStatus type: NetworkStatus - id: 2 name: deviceName type: string - id: 3 name: deviceOs type: string - id: 4 name: deviceId type: string - id: 5 name: deviceSolution type: DeviceSolution PKNetworkStatus: fields: - id: 1 name: publicKey type: string - id: 2 name: networkStatus type: NetworkStatus SearchInfo: fields: - id: 1 name: username type: string - id: 2 name: title type: string - id: 3 name: publicKey type: string - id: 4 name: verified type: int32 - id: 5 name: networkStatus type: NetworkStatus RTCIceServer: fields: - id: 1 name: url type: string - id: 2 name: username type: string - id: 3 name: credential type: string - id: 4 name: transport type: string packets: Handshake: id: 0 fields: - id: 1 name: publicKey type: string - id: 2 name: privateKey type: string - id: 3 name: deviceId type: string - id: 4 name: deviceName type: string - id: 5 name: deviceOs type: string - id: 6 name: handshakeStage? type: HandshakeStage UserInfo: id: 1 fields: - id: 1 name: privateKey type: string - id: 2 name: username type: string - id: 3 name: title type: string Result: id: 2 fields: - id: 1 name: resultCode type: ResultCode Search: id: 3 fields: - id: 1 name: privateKey type: string - id: 2 name: search type: string - id: 3 name: searchInfo? type: SearchInfo[] OnlineSubscribe: id: 4 fields: - id: 1 name: privateKey type: string - id: 2 name: publicKeys type: string[] OnlineState: id: 5 fields: - id: 1 name: pkNetworkStatuses type: PKNetworkStatus[] Message: id: 6 fields: - id: 1 name: fromPublicKey type: string - id: 2 name: toPublicKey type: string - id: 3 name: privateKey type: string - id: 4 name: content type: string - id: 5 name: chachaKey type: string - id: 6 name: timestamp type: int64 - id: 7 name: messageId type: string - id: 8 name: attachments? type: Attachment[] - id: 9 name: aesChachaKey type: string Read: id: 7 fields: - id: 1 name: fromPublicKey type: string - id: 2 name: toPublicKey type: string - id: 3 name: privateKey type: string Delivery: id: 8 fields: - id: 1 name: messageId type: string - id: 2 name: toPublicKey type: string DeviceNew: id: 9 fields: - id: 1 name: ipAddress type: string - id: 2 name: deviceId type: string - id: 3 name: deviceName type: string - id: 4 name: deviceOs type: string RequestUpdate: id: 10 fields: - id: 1 name: server? type: string Typeing: id: 11 fields: - id: 1 name: fromPublicKey type: string - id: 2 name: toPublicKey type: string - id: 3 name: privateKey type: string RequestTransport: id: 15 fields: - id: 1 name: server? type: string PushNotification: id: 16 fields: - id: 1 name: notificationToken type: string - id: 2 name: action type: NotificationAction - id: 3 name: tokenType type: TokenType - id: 4 name: deviceId type: string GroupCreate: id: 17 fields: - id: 1 name: groupId type: string GroupInfo: id: 18 fields: - id: 1 name: groupId type: string - id: 2 name: membersPKs? type: string[] GroupInviteInfo: id: 19 fields: - id: 1 name: groupId type: string - id: 2 name: membersCount? type: int32 - id: 3 name: status? type: GroupStatus GroupJoin: id: 20 fields: - id: 1 name: groupId type: string - id: 2 name: status? type: GroupStatus - id: 3 name: groupString type: string GroupLeave: id: 21 fields: - id: 1 name: groupId type: string GroupBan: id: 22 fields: - id: 1 name: groupId type: string - id: 2 name: publicKey type: string DeviceList: id: 23 fields: - id: 1 name: devices type: NetworkDevice[] DeviceResolve: id: 24 fields: - id: 1 name: deviceId type: string - id: 2 name: solution type: DeviceSolution Sync: id: 25 fields: - id: 1 name: syncStatus type: SyncStatus - id: 2 name: timestamp type: int64 SignalPeer: id: 26 fields: - id: 1 name: src type: string - id: 2 name: dst type: string - id: 3 name: sharedPublic type: string - id: 4 name: signalType type: SignalType - id: 5 name: callId type: string - id: 6 name: joinToken type: string WebRTC: id: 27 fields: - id: 1 name: sdpOrCandidate type: string - id: 2 name: type type: WebRTCType IceServers: id: 28 fields: - id: 1 name: iceServers? type: RTCIceServer[]