Skip to main content

Package: ski

The ski package is the protobuf designed for common e2ee instant messenger applications.

e2ees/AcceptMsg.proto

AcceptMsg

Msg form invitee for completing a key agreement.

FieldTypeLabelDescription
fromE2eeAddressThe sender's address.
toE2eeAddressThe receiver's address.
e2ees_pack_iduint32The E2EE Security pack ID.
encaps_ciphertextbytesThe ciphertext encapsulated by the inviter's identity public key, empty in ECC.
ratchet_keybytesThe invitee's ratchet key.

Top

e2ees/AcceptRequest.proto

AcceptRequest

Request for sending an accept msg.

FieldTypeLabelDescription
msgAcceptMsgThe included msg for this request.

Top

e2ees/AcceptResponse.proto

AcceptResponse

Response for sending Accept msg.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

e2ees/Account.proto

Account

Account for keeping keys and registeration information.

FieldTypeLabelDescription
versionstringThe version used for this account.
e2ees_pack_iduint32The e2ee pack ID used for this account.
addressE2eeAddressThe address with device ID for this account.
server_certCertificateThe certificate of the server that create this account.
identity_keyIdentityKeyThe identity key pair.
signed_pre_keySignedPreKeyThe signed pre-key pair.
one_time_pre_key_listOneTimePreKeyrepeatedThe one-time pre-key pairs.
next_one_time_pre_key_iduint32Next one-time pre-key pair ID.
savedboolThe account is saved or not.
passwordstringThe password for logining to server.
authstringThe jwt for authorizing request to server.
expires_inint64The expiration time of auth.

Top

e2ees/AcquireSyncMsg.proto

AcquireSyncMsg

Msg for acquiring un-processed msgs form server.

FieldTypeLabelDescription
last_proto_msg_tagProtoMsgTagThe last handled tag for acquiring un-handled msg from server.

Top

e2ees/AddGroupMemberDeviceMsg.proto

AddGroupMemberDeviceMsg

Msg for adding a device of group member.

FieldTypeLabelDescription
e2ees_pack_iduint32The E2EE Security pack ID.
sender_addressE2eeAddressThe sender's address.
sequenceuint32The sequence for related group session.
group_infoGroupInfoThe group information, including the group name, the group address and all of the group members.
adding_member_deviceGroupMemberInfoThe information of a group member's new device.

Top

e2ees/AddGroupMemberDeviceRequest.proto

AddGroupMemberDeviceRequest

Request for adding a device of group member.

FieldTypeLabelDescription
msgAddGroupMemberDeviceMsgThe included msg for this request.

Top

e2ees/AddGroupMemberDeviceResponse.proto

AddGroupMemberDeviceResponse

Response for adding a device of group member.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
group_member_listGroupMemberrepeatedThe group members.
adding_member_device_infoGroupMemberInfoThe information of a group member's new device.

Top

e2ees/AddGroupMembersMsg.proto

AddGroupMembersMsg

Msg for adding group members.

FieldTypeLabelDescription
e2ees_pack_iduint32The E2EE Security pack ID.
sender_addressE2eeAddressThe sender's address.
sequenceuint32The sequence for related group session.
group_infoGroupInfoThe group information, including the group name, the group address and all of the group members.
adding_member_listGroupMemberrepeatedThe adding group members.
adding_member_info_listGroupMemberInforepeatedThe adding group members' information.

Top

e2ees/AddGroupMembersRequest.proto

AddGroupMembersRequest

Request for adding group members.

FieldTypeLabelDescription
msgAddGroupMembersMsgThe included msg for this request.

Top

e2ees/AddGroupMembersResponse.proto

AddGroupMembersResponse

Response for adding group members.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server
msgstringThe message given by the server
added_group_member_listGroupMemberrepeatedThe added group members
group_member_listGroupMemberrepeatedThe group members
adding_member_info_listGroupMemberInforepeatedThe adding group members' information

Top

e2ees/AddUserDeviceMsg.proto

AddUserDeviceMsg

Msg for adding user device.

FieldTypeLabelDescription
user_addressE2eeAddressThe added user e2ee address
old_address_listE2eeAddressrepeatedThe list of other e2ee address that has the same user ID

Top

e2ees/AlgTypeDs.proto

AlgTypeDs

Algorithm type for Digital signature.

NameNumberDescription
ALG_TYPE_DS_CURVE255190
ALG_TYPE_DS_MLDSA_441
ALG_TYPE_DS_MLDSA_659
ALG_TYPE_DS_MLDSA_8717
ALG_TYPE_DS_FALCON_51233
ALG_TYPE_DS_FALCON_102441
ALG_TYPE_DS_SPHINCS_SHA2_128F65
ALG_TYPE_DS_SPHINCS_SHA2_128S69
ALG_TYPE_DS_SPHINCS_SHA2_192F73
ALG_TYPE_DS_SPHINCS_SHA2_192S77
ALG_TYPE_DS_SPHINCS_SHA2_256F81
ALG_TYPE_DS_SPHINCS_SHA2_256S85
ALG_TYPE_DS_SPHINCS_SHAKE_128F89
ALG_TYPE_DS_SPHINCS_SHAKE_128S93
ALG_TYPE_DS_SPHINCS_SHAKE_192F97
ALG_TYPE_DS_SPHINCS_SHAKE_192S101
ALG_TYPE_DS_SPHINCS_SHAKE_256F105
ALG_TYPE_DS_SPHINCS_SHAKE_256S109

Top

e2ees/AlgTypeHash.proto

AlgTypeHash

Algorithm type for hash function.

NameNumberDescription
ALG_TYPE_HASH_SHA2_2240
ALG_TYPE_HASH_SHA2_2561
ALG_TYPE_HASH_SHA2_3842
ALG_TYPE_HASH_SHA2_5123
ALG_TYPE_HASH_SHA3_2248
ALG_TYPE_HASH_SHA3_2569
ALG_TYPE_HASH_SHA3_38410
ALG_TYPE_HASH_SHA3_51211
ALG_TYPE_HASH_SHAKE_12812
ALG_TYPE_HASH_SHAKE_25613

Top

e2ees/AlgTypeKem.proto

AlgTypeKem

Algorithm type for Kem.

NameNumberDescription
ALG_TYPE_KEM_CURVE255190
ALG_TYPE_KEM_HQC_1281
ALG_TYPE_KEM_HQC_1929
ALG_TYPE_KEM_HQC_25617
ALG_TYPE_KEM_MLKEM_51233
ALG_TYPE_KEM_MLKEM_76841
ALG_TYPE_KEM_MLKEM_102449
ALG_TYPE_KEM_MCELIECE_34886465
ALG_TYPE_KEM_MCELIECE_348864F69
ALG_TYPE_KEM_MCELIECE_46089673
ALG_TYPE_KEM_MCELIECE_460896F77
ALG_TYPE_KEM_MCELIECE_668812881
ALG_TYPE_KEM_MCELIECE_6688128F85
ALG_TYPE_KEM_MCELIECE_696011989
ALG_TYPE_KEM_MCELIECE_6960119F93
ALG_TYPE_KEM_MCELIECE_819212897
ALG_TYPE_KEM_MCELIECE_8192128F101

Top

e2ees/AlgTypeSe.proto

AlgTypeSe

Algorithm type for Symmetric encryption.

NameNumberDescription
ALG_TYPE_SE_AES256GCM0

Top

e2ees/Certificate.proto

Cert

A cert data with public key is provided by an issuee and can be signed by an issuer.

FieldTypeLabelDescription
issueeSubjectThe owner of this certificate.
public_key_algAlgTypeDsThe public key algorithm.
public_keybytesThe public key data.
issuerSubjectThe signer of this certificate.
not_beforeint64The certificate issue date.
not_afterint64The certificate expiry date.

Certificate

The certificate message.

FieldTypeLabelDescription
versionuint32The version number
hash_algAlgTypeHashThe hash algorithm for creating fingerprint of cert attribute and signing public key.
signing_algAlgTypeDsThe algorithm for generating the signature.
certCertThe cert data that is provided by issuee.
cert_fingerprintbytesThe hash value as the fingerprint of cert attribute.
signing_public_key_fingerprintbytesThe hash value as the fingerprint of the signing public key.
signaturebytesThe signature that is signed by signing private key that is owned by issuer.
tsint64The lastest update time stamp for this certificate.
validboolThe validity of this certificate.

Subject

A subject is used to describe issuer or issuee.

FieldTypeLabelDescription
cnstringThe common name.
domainstringThe domain name.
ostringThe organization name
oustringrepeatedThe organization unit name.

Top

e2ees/ChainKey.proto

ChainKey

The chain key.

FieldTypeLabelDescription
indexuint32The index of the chain key.
shared_keybytesThe chain key data.

Top

e2ees/ClientHeartbeatMsg.proto

ClientHeartbeatMsg

Msg for client heartbeat.

FieldTypeLabelDescription
client_tint64The timestamp of client.

Top

e2ees/ConsumeProtoMsgRequest.proto

ConsumeProtoMsgRequest

Request for consuming a proto msg received from server.

FieldTypeLabelDescription
proto_msg_idstringThe proto msg ID to be consumed.
stateProtoMsgOpStateThe operational state of the consumed proto msg.

ProtoMsgOpState

The operational state of proto msg.

NameNumberDescription
PROTO_MSG_OP_STATE_UNSPECIFIED0
PROTO_MSG_OP_STATE_SUCCEEDEDED1
PROTO_MSG_OP_STATE_FAILED_SIGNATURE2
PROTO_MSG_OP_STATE_FAILED_DECRYPTION3
PROTO_MSG_OP_STATE_FAILED_ESCAPE4

Top

e2ees/ConsumeProtoMsgResponse.proto

ConsumeProtoMsgResponse

Response for consuming a proto msg.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

e2ees/CreateGroupMsg.proto

CreateGroupMsg

Msg for creating a group.

FieldTypeLabelDescription
e2ees_pack_iduint32The E2EE Security pack ID.
sender_addressE2eeAddressThe sender's address.
group_infoGroupInfoThe group information, including the group name, the group address and all of the group members.
member_info_listGroupMemberInforepeatedThe group members' information.

Top

e2ees/CreateGroupRequest.proto

CreateGroupRequest

Request for creating a group.

FieldTypeLabelDescription
msgCreateGroupMsgThe included msg for this request.

Top

e2ees/CreateGroupResponse.proto

CreateGroupResponse

Response for creating a group.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
group_addressE2eeAddressThe group address.
member_info_listGroupMemberInforepeatedThe group members' information.

Top

e2ees/DsAlgType.proto

DsAlgType

Digital signature algorithm type.

NameNumberDescription
DS_ALG_TYPE_CURVE255190
DS_ALG_TYPE_MLDSA_441
DS_ALG_TYPE_MLDSA_659
DS_ALG_TYPE_MLDSA_8717
DS_ALG_TYPE_FALCON_51233
DS_ALG_TYPE_FALCON_102441
DS_ALG_TYPE_SPHINCS_SHA2_128F65
DS_ALG_TYPE_SPHINCS_SHA2_128S69
DS_ALG_TYPE_SPHINCS_SHA2_192F73
DS_ALG_TYPE_SPHINCS_SHA2_192S77
DS_ALG_TYPE_SPHINCS_SHA2_256F81
DS_ALG_TYPE_SPHINCS_SHA2_256S85
DS_ALG_TYPE_SPHINCS_SHAKE_128F89
DS_ALG_TYPE_SPHINCS_SHAKE_128S93
DS_ALG_TYPE_SPHINCS_SHAKE_192F97
DS_ALG_TYPE_SPHINCS_SHAKE_192S101
DS_ALG_TYPE_SPHINCS_SHAKE_256F105
DS_ALG_TYPE_SPHINCS_SHAKE_256S109

Top

e2ees/E2eeAddress.proto

E2eeAddress

The address for designating an end point of user or group.

FieldTypeLabelDescription
domainstringThe domain of the address.
userPeerUserThe user peer of the address.
groupPeerGroupThe group peer of the address.

PeerGroup

Group peer.

FieldTypeLabelDescription
group_namestringThe optional group name.
group_idstringThe group ID.

PeerUser

User peer.

FieldTypeLabelDescription
user_namestringThe optional user name.
user_idstringThe user's ID.
device_idstringThe user's device ID.

Top

e2ees/E2eeMsg.proto

E2eeMsg

Msg for end to end encryption.

FieldTypeLabelDescription
versionstringThe version.
fromE2eeAddressThe sender's address.
toE2eeAddressThe receiver's address.
msg_idstring
session_idstringThe session ID.
notif_levelNotifLevel
one2one_msgOne2oneMsgPayloadThe payload for one2one msg.
group_msgGroupMsgPayloadThe payload for group msg.

Top

e2ees/E2eePackId.proto

E2eePackId

Msg for e2ee pack ID.

FieldTypeLabelDescription
verint32The version.
dsAlgTypeDsThe digital signature algorithm type.
kemAlgTypeKemThe kem algorithm type.
seAlgTypeSeThe symmetric encryption algorithm type.
hashAlgTypeHashThe hash function algorithm type.

Top

e2ees/FriendManagerMsg.proto

FriendManagerMsg

Msg for friend manager.

FieldTypeLabelDescription
modified_dateint64The modified date of the friend manager msg.
msgIdstringThe msg ID.
user_addressE2eeAddressThe user address.
user_namestringThe user name.
opFriendOpThe operation of this msg.
friendFriendshipDTOThe friend data.

FriendshipDTO

The data object representing a friend.

FieldTypeLabelDescription
modified_dateint64
from_userstring
to_userstring
nicknamestring
memonamestring
block_stateint32
friend_statusint32

FriendOp

The friend operations.

NameNumberDescription
FRIEND_OP_ADDING_SEND0
FRIEND_OP_ADDING_RECEIVE1
FRIEND_OP_ADDED2
FRIEND_OP_BLOCKED3
FRIEND_OP_UNBLOCKED4
FRIEND_OP_REMOVED5
FRIEND_OP_UPDATE_MEMONAME6
FRIEND_OP_RECOMMEND7

Top

e2ees/GetGroupRequest.proto

GetGroupRequest

Request for getting a group.

FieldTypeLabelDescription
group_addressE2eeAddressThe group address.
sender_addressE2eeAddressThe sender address.

Top

e2ees/GetGroupResponse.proto

GetGroupResponse

Response for getting a group.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
group_namestringThe group name.
group_addressE2eeAddressThe group address.
group_member_listGroupMemberrepeatedThe list of group members.

Top

e2ees/GetPreKeyBundleRequest.proto

GetPreKeyBundleRequest

Request for getting pre-key bundle.

FieldTypeLabelDescription
domainstringThe domain.
user_idstringThe user's ID.
device_idstringThe user's device ID.

Top

e2ees/GetPreKeyBundleResponse.proto

GetPreKeyBundleResponse

Response for getting pre-key bundle.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
user_idstringThe user's ID.
pre_key_bundlesPreKeyBundlerepeatedThe user's pre-key bundles for all devices.

Top

e2ees/GroupInfo.proto

GroupInfo

The group information.

FieldTypeLabelDescription
group_namestringThe group name.
group_addressE2eeAddressThe group address.
group_member_listGroupMemberrepeatedThe list of group members.

Top

e2ees/GroupManagerMsg.proto

AddGroupMembersArg

Argument for adding group members.

FieldTypeLabelDescription
user_addressE2eeAddress
added_member_listGroupMemberrepeated

CreateGroupArg

Argument for creating a group.

FieldTypeLabelDescription
creator_addressE2eeAddress
group_member_listGroupMemberrepeated

DestroyGroupArg

Argument for destroying a group.

FieldTypeLabelDescription
user_addressE2eeAddress

GroupManagerMsg

Msg for group manager.

FieldTypeLabelDescription
modified_dateint64The modified date of the group manager msg.
msgIdstringThe msg ID.
group_addressE2eeAddressThe group address.
group_namestringThe group name.
opGroupOpThe operation of this msg.
create_group_argCreateGroupArgThe argument for creating group.
update_group_name_argUpdateGroupNameArgThe argument for updating group name.
update_group_avatar_argUpdateGroupAvatarArgThe argument for updating group avatar.
update_group_admins_argUpdateGroupAdminsArgThe argument for updating group admins.
add_group_members_argAddGroupMembersArgThe argument for adding group members.
join_group_argJoinGroupArgThe argument for joining group.
remove_group_members_argRemoveGroupMembersArgThe argument for removing group members.
destroy_group_argDestroyGroupArgThe argument for destroying group.

JoinGroupArg

Argument for joining a group.

FieldTypeLabelDescription
user_addressE2eeAddress
joined_memberGroupMember

RemoveGroupMembersArg

Argument for removing group members.

FieldTypeLabelDescription
user_addressE2eeAddress
removed_member_listGroupMemberrepeated

UpdateGroupAdminsArg

Argument for updating the group admins.

FieldTypeLabelDescription
user_addressE2eeAddress
group_admin_listGroupMemberrepeated

UpdateGroupAvatarArg

Argument for updating the group avatar.

FieldTypeLabelDescription
user_addressE2eeAddress
groupAvatarUrlstring

UpdateGroupNameArg

Argument for updating the group name.

FieldTypeLabelDescription
user_addressE2eeAddress
group_namestring

GroupOp

The group operations.

NameNumberDescription
GROUP_OP_UNSPECIFIED0
GROUP_OP_CREATE_GROUP11
GROUP_OP_UPDATE_GROUP_NAME12
GROUP_OP_UPDATE_GROUP_AVATAR13
GROUP_OP_UPDATE_GROUP_ADMINS14
GROUP_OP_ADD_GROUP_MEMBERS21
GROUP_OP_JOIN_GROUP22
GROUP_OP_REMOVE_GROUP_MEMBERS23
GROUP_OP_DESTROY_GROUP30

Top

e2ees/GroupMember.proto

GroupMember

The group member.

FieldTypeLabelDescription
user_idstringThe group member's users ID.
domainstringThe group member's domain.
roleGroupRoleThe group member's role.

GroupRole

The group role.

NameNumberDescription
GROUP_ROLE_MEMBER0
GROUP_ROLE_MANAGER1
GROUP_ROLE_PENDING_MEMBER10
GROUP_ROLE_PENDING_MANAGER11

Top

e2ees/GroupMemberInfo.proto

GroupMemberInfo

The group member information with signed public key that is bound to a user device.

FieldTypeLabelDescription
member_addressE2eeAddressThe group member's address.
sign_public_keybytesThe signed public key part of the user's uploaded public identity key.

Top

e2ees/GroupMsgPayload.proto

GroupMsgPayload

Payload for group msg.

FieldTypeLabelDescription
sequenceuint32The sequence of the related group session.
ciphertextbytesThe ciphertext.
signaturebytesThe signature signed by the sender.

Top

e2ees/GroupPreKeyBundle.proto

GroupPreKeyBundle

Bundle for group pre-key.

FieldTypeLabelDescription
versionstringThe version.
e2ees_pack_iduint32The E2EE Security pack ID.
senderE2eeAddressThe sender's address.
session_idstringThe session ID.
old_session_idstringThe optional old session ID.
group_infoGroupInfoThe group information.
sequenceuint32The sequence of the related group session.
group_seedbytesThe seed for the related group session.

Top

e2ees/GroupSession.proto

GroupSession

The group session.

FieldTypeLabelDescription
versionstringThe version.
e2ees_pack_iduint32The E2EE Security pack ID.
session_idstringThe group session ID.
senderE2eeAddressThe sender's address.
session_ownerE2eeAddressThe group session owner's address.
group_infoGroupInfoThe group information.
sequenceuint32The sequence of the chain key.
chain_keybytesThe chain key.
group_seedbytesThe random seed generated by the group creator.
associated_databytesThe associated data.

Top

e2ees/GroupUpdateKeyBundle.proto

GroupUpdateKeyBundle

Bundle for group update key.

FieldTypeLabelDescription
versionstringThe version.
e2ees_pack_iduint32The E2EE Security pack ID.
senderE2eeAddressThe sender's address.
addingboolThe flag for identifying this bundle is used for adding or not.
session_idstringThe session ID.
group_infoGroupInfoThi group information.
sequenceuint32The sequence of the chain key.
chain_keybytesThe chain key.
sign_public_keybytesThe signed public key part of the user's uploaded public identity key.
adding_member_info_listGroupMemberInforepeatedThe list of adding group member information.

Top

e2ees/IdentityKey.proto

IdentityKey

The identity key.

FieldTypeLabelDescription
asym_key_pairKeyPairThe key pair for asymmetric encryption and decryption.
sign_key_pairKeyPairThe key pair for signing and verifying signature.

Top

e2ees/IdentityKeyPublic.proto

IdentityKeyPublic

The public key part of an identity key.

FieldTypeLabelDescription
asym_public_keybytesThe public key part for asymmetric encryption.
sign_public_keybytesThe public key part for verifying signature.

Top

e2ees/InviteMsg.proto

InviteMsg

Msg form inviter for initiating a key agreement.

FieldTypeLabelDescription
versionstringThe version.
e2ees_pack_iduint32The E2EE Security pack ID.
session_idstringThe session ID.
fromE2eeAddressThe sender's address.
toE2eeAddressThe receiver's address.
alice_identity_keybytesThe inviter's identity key.
alice_base_keybytesThe inviter's base key that is the first ratchet public key.
pre_shared_input_listbytesrepeatedThe data that needs to generate some shared secret.
bob_signed_pre_key_iduint32The invitee's signed pre-key ID.
bob_one_time_pre_key_iduint32The invitee's one-time pre-key ID.
invite_tint64The server time of invitation for creating this session.

Top

e2ees/InviteRequest.proto

InviteRequest

Request for sending an invite msg.

FieldTypeLabelDescription
msgInviteMsgThe included msg for this request.

Top

e2ees/InviteResponse.proto

InviteResponse

Response for sending an invite msg.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
session_idstringThe session ID.
invite_tint64The server time of invitation for creating this session.

Top

e2ees/KemAlgType.proto

KemAlgType

Kem algorithm type.

NameNumberDescription
KEM_ALG_TYPE_CURVE255190
KEM_ALG_TYPE_HQC_1281
KEM_ALG_TYPE_HQC_1929
KEM_ALG_TYPE_HQC_25617
KEM_ALG_TYPE_MLKEM_51233
KEM_ALG_TYPE_MLKEM_76841
KEM_ALG_TYPE_MLKEM_102449
KEM_ALG_TYPE_MCELIECE_34886465
KEM_ALG_TYPE_MCELIECE_348864F69
KEM_ALG_TYPE_MCELIECE_46089673
KEM_ALG_TYPE_MCELIECE_460896F77
KEM_ALG_TYPE_MCELIECE_668812881
KEM_ALG_TYPE_MCELIECE_6688128F85
KEM_ALG_TYPE_MCELIECE_696011989
KEM_ALG_TYPE_MCELIECE_6960119F93
KEM_ALG_TYPE_MCELIECE_819212897
KEM_ALG_TYPE_MCELIECE_8192128F101

Top

e2ees/KeyPair.proto

KeyPair

The Keypair.

FieldTypeLabelDescription
public_keybytesThe public key.
private_keybytesThe private key.

Top

e2ees/LeaveGroupMsg.proto

LeaveGroupMsg

Msg for leaving a group.

FieldTypeLabelDescription
user_addressE2eeAddressThe address of the user leaving the group.
group_addressE2eeAddressThe group address.

Top

e2ees/LeaveGroupRequest.proto

LeaveGroupRequest

Request for leaving a group.

FieldTypeLabelDescription
msgLeaveGroupMsgThe included msg for this request.

Top

e2ees/LeaveGroupResponse.proto

LeaveGroupResponse

Response for leaving a group.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
leave_group_member_addressE2eeAddressThe address of the user leaving the group.
group_addressE2eeAddressThe group address.

Top

e2ees/MsgKey.proto

MsgKey

The msg key.

FieldTypeLabelDescription
indexuint32The index of the message key.
derived_keybytesThe data of the message key.

Top

e2ees/NotifLevel.proto

NotifLevel

The notification level used to identify the urgency of a msg.

NameNumberDescription
NOTIF_LEVEL_NORMAL0The notification level indicates that server will not send push notification to device.
NOTIF_LEVEL_SESSION1The notification level indicates that server will forward msg for establishing session.
NOTIF_LEVEL_PUSH11The notification level indicates that server will send push notification to device.
NOTIF_LEVEL_STREAM12The notification level indicates that server will send push notification with streaming flags to device.

Top

e2ees/One2oneMsgPayload.proto

One2oneMsgPayload

Payload for one2one msg.

FieldTypeLabelDescription
sequenceuint32The sequence of the chain key.
ciphertextbytesThe ciphertext.
ratchet_keybytesThe ratchet public key.
root_sequenceuint32The root sequence.
sending_message_sequenceuint32The sequence of the sending message.

Top

e2ees/OneTimePreKey.proto

OneTimePreKey

The one-time pre-key.

FieldTypeLabelDescription
opk_iduint32The one-time pre-key ID.
usedboolThis one-time pre-key is used or not.
key_pairKeyPairThe one-time pre-key data.

Top

e2ees/OneTimePreKeyPublic.proto

OneTimePreKeyPublic

The public part of an one-time pre-key.

FieldTypeLabelDescription
opk_iduint32The one-time pre-key ID.
public_keybytesThe public part of this one-time pre-key pair.

Top

e2ees/PendingRequest.proto

PendingRequest

The pending request.

FieldTypeLabelDescription
typePendingRequestTypeThe type of the pending request
request_databytesThe data for the pending request.
request_arg_listbytesrepeatedThe optional arguments for the pending request .

PendingRequestType

The pending request types.

NameNumberDescription
PENDING_REQUEST_TYPE_GET_PRE_KEY_BUNDLE0
PENDING_REQUEST_TYPE_INVITE1
PENDING_REQUEST_TYPE_ACCEPT2
PENDING_REQUEST_TYPE_PUBLISH_SPK3
PENDING_REQUEST_TYPE_SUPPLY_OPKS4
PENDING_REQUEST_TYPE_SEND_ONE2ONE_MSG5
PENDING_REQUEST_TYPE_CREATE_GROUP6
PENDING_REQUEST_TYPE_ADD_GROUP_MEMBERS7
PENDING_REQUEST_TYPE_ADD_GROUP_MEMBER_DEVICE8
PENDING_REQUEST_TYPE_REMOVE_GROUP_MEMBERS9
PENDING_REQUEST_TYPE_LEAVE_GROUP10
PENDING_REQUEST_TYPE_SEND_GROUP_MSG11
PENDING_REQUEST_TYPE_PROTO_MSG12

Top

e2ees/Plaintext.proto

Plaintext

The plaintext.

FieldTypeLabelDescription
versionstringThe version.
common_msgbytesThe common msg payload that is used for general purpose from application.
common_sync_msgbytesThe sync msg payload that is forwarded to other devices of the user.
user_devices_bundleUserDevicesBundleThe user devices' bundle that is used to help sync session with other devices of the user.
group_pre_key_bundleGroupPreKeyBundleThe group pre-key bundle that is used to help create group session.
group_update_key_bundleGroupUpdateKeyBundleThe group update key bundle that is used to help renew group session.

Top

e2ees/PreKeyBundle.proto

PreKeyBundle

Bundle for pre-key.

FieldTypeLabelDescription
user_addressE2eeAddressThe user's address.
e2ees_pack_iduint32The E2EE Security pack ID.
identity_key_publicIdentityKeyPublicThe public part of the identity key pair.
signed_pre_key_publicSignedPreKeyPublicThe public part of the signed pre-key pair.
one_time_pre_key_publicOneTimePreKeyPublicThe public part of the one-time pre-key pair.
signatureServerSignedSignatureThe signature of pre-key bundle signed by the server's key.

Top

e2ees/ProtoMsg.proto

ProtoMsg

The proto msg from server.

FieldTypeLabelDescription
tagProtoMsgTagThe tag for helping server consume this msg.
fromE2eeAddressThe sender's address.
toE2eeAddressThe receiver's address.
acquire_sync_msgAcquireSyncMsgThe acquire sync msg.
supply_opks_msgSupplyOpksMsgThe supply one-time pre-key msg.
invite_msgInviteMsgThe invite msg.
accept_msgAcceptMsgThe accept msg.
add_user_device_msgAddUserDeviceMsgThe add user device msg.
remove_user_device_msgRemoveUserDeviceMsgThe remove user device msg.
create_group_msgCreateGroupMsgThe create group msg..
add_group_members_msgAddGroupMembersMsgThe add group members msg.
remove_group_members_msgRemoveGroupMembersMsgThe remove group members msg.
add_group_member_device_msgAddGroupMemberDeviceMsgThe add group member device msg.
leave_group_msgLeaveGroupMsgThe leave group msg.
e2ee_msgE2eeMsgThe end to end encryption msg.
update_user_msgUpdateUserMsgThe update user msg.
friend_manager_msgFriendManagerMsgThe friend manager msg.
group_manager_msgGroupManagerMsgThe group manager msg.
system_manager_msgSystemManagerMsgThe system manager msg.
client_heartbeat_msgClientHeartbeatMsgThe client heart beat msg.
server_heartbeat_msgServerHeartbeatMsgThe server heart beat msg.
upgrade_e2ee_pack_msgUpgradeE2eePackMsgThe upgrade e2ee pack msg.
signature_listServerSignedSignaturerepeatedThe list of signatures created by signing the fingerprint of tag

Top

e2ees/ProtoMsgTag.proto

ProtoMsgTag

The proto msg tag.

FieldTypeLabelDescription
proto_msg_tint64The server time stamp.
proto_msg_idstringThe proto msg ID.

Top

e2ees/PublishSpkRequest.proto

PublishSpkRequest

Request for publishing signed pre-key.

FieldTypeLabelDescription
user_addressE2eeAddressThe user's address.
signed_pre_key_publicSignedPreKeyPublicThe public part of the signed pre-key pair.

Top

e2ees/PublishSpkResponse.proto

PublishSpkResponse

Response for publishing signed pre-key.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

e2ees/Ratchet.proto

Ratchet

The ratchet.

FieldTypeLabelDescription
root_keybytesThe root key.
root_sequenceuint32The sequence of the root key.
sending_message_sequenceuint32The sequence of the sending message.
received_message_sequenceuint32The sequence of the received message.
sender_chainSenderChainNodeThe sender chain.
receiver_chainReceiverChainNodeThe receiver chains.
skipped_msg_key_listSkippedMsgKeyNoderepeatedThe skipped message keys.

Top

e2ees/ReceiverChainNode.proto

ReceiverChainNode

The receiver chain node.

FieldTypeLabelDescription
their_ratchet_public_keybytesThe public part of the ratchet key pair in ECC or the ciphertext given by the sender in PQC.
our_ratchet_private_keybytesOur ratchet private key.
chain_keyChainKeyThe chain key.

Top

e2ees/RegisterUserRequest.proto

RegisterUserRequest

Request for registering an account.

FieldTypeLabelDescription
user_namestringThe user's name.
user_idstringThe user's ID.
device_idstringThe ID of the user's device.
authenticatorstringAuthenticator is the email (mailto:xxx@xxx) that is bound to the registering user.
auth_codestringAuth code is a 6-digits number that is received by email or an invitation in this format (e2ee:invitorUserId@invitorDomain;invite=xxxxx).
e2ees_pack_iduint32The E2EE Security pack ID.
identity_key_publicIdentityKeyPublicThe public part of the identity key pair.
signed_pre_key_publicSignedPreKeyPublicThe public part of the signed pre-key pair.
one_time_pre_key_listOneTimePreKeyPublicrepeatedThe public part of all of the user's one-time pre-key pairs.

Top

e2ees/RegisterUserResponse.proto

RegisterUserResponse

Response for registering an account.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
addressE2eeAddressThe user's address.
usernamestringThe user's name.
passwordstringThe password.
authstringThe authorization token.
expires_inint64The expiry time of authorization token.
authenticatorstringThe optional authenticator that is bound to this userId.
server_certCertificateThe certificate of the server that support the registration.
other_device_address_listE2eeAddressrepeatedThe addresses of other devices that is created with this userId.
other_user_address_listE2eeAddressrepeatedThe addresses of other users who had built session with this userId.
group_info_listGroupInforepeatedThe information of groups that had been created or joined by this userId.

Top

e2ees/RemoveGroupMembersMsg.proto

RemoveGroupMembersMsg

Msg for removing group members.

FieldTypeLabelDescription
e2ees_pack_iduint32The E2EE Security pack ID.
sender_addressE2eeAddressThe sender's address.
group_infoGroupInfoThe group information.
removing_member_listGroupMemberrepeatedThe members going to be removed.
member_info_listGroupMemberInforepeatedThe remaining group members' information.

Top

e2ees/RemoveGroupMembersRequest.proto

RemoveGroupMembersRequest

Request for removing group members.

FieldTypeLabelDescription
msgRemoveGroupMembersMsgThe included msg for this request.

Top

e2ees/RemoveGroupMembersResponse.proto

RemoveGroupMembersResponse

Response for removing group members.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.
removed_group_member_listGroupMemberrepeatedThe removed group members.
group_member_listGroupMemberrepeatedThe group members.
member_info_listGroupMemberInforepeatedThe remaining group members' information.

Top

e2ees/RemoveUserDeviceMsg.proto

RemoveUserDeviceMsg

Msg for removing user device.

FieldTypeLabelDescription
user_addressE2eeAddressThe removed user e2ee address.

Top

e2ees/ResponseCode.proto

ResponseCode

Response status codes indicate whether a specific request has been successfully completed. Responses are grouped in four classes: (ref: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) Informational responses 100–199 Successful responses 200–299 Client error responses 400–499 Server error responses 500–599 Custom responses 1000–1007

NameNumberDescription
RESPONSE_CODE_UNSPECIFIED0Unknown response.
RESPONSE_CODE_OK200The request succeeded, and some resources were read or updated.
RESPONSE_CODE_CREATED201The request succeeded, and some new resources were created as a result.
RESPONSE_CODE_ACCEPTED202The request has been received but not yet acted upon.
RESPONSE_CODE_NO_CONTENT204There is no content to send for this request, and some resources were deleted.
RESPONSE_CODE_BAD_REQUEST400The server cannot or will not process the request due to something that is perceived to be a client error.
RESPONSE_CODE_UNAUTHORIZED401The client is not authenticated to get the requested response.
RESPONSE_CODE_FORBIDDEN403The client is authenticated but does not have access rights to the content.
RESPONSE_CODE_NOT_FOUND404The server can not find the requested resource.
RESPONSE_CODE_REQUEST_TIMEOUT408The server timed out waiting for the request, or client timeout waiting for the response.
RESPONSE_CODE_REQUEST_CONFLICT409Indicates that the request could not be processed because of conflict in the current state of the resource.
RESPONSE_CODE_EXPECTATION_FAILED417The server cannot meet the requirements of the expected request data.
RESPONSE_CODE_INTERNAL_SERVER_ERROR500The server has encountered a situation it does not know how to handle.
RESPONSE_CODE_SERVICE_UNAVAILABLE503The server is down for maintenance or overloaded.
RESPONSE_CODE_CUSTOM_10001000A custom response code supports the flexibility of diverse server implementations.
RESPONSE_CODE_CUSTOM_10011001A custom response code supports the flexibility of diverse server implementations.
RESPONSE_CODE_CUSTOM_10021002A custom response code supports the flexibility of diverse server implementations.
RESPONSE_CODE_CUSTOM_10031003A custom response code supports the flexibility of diverse server implementations.
RESPONSE_CODE_CUSTOM_10041004A custom response code supports the flexibility of diverse server implementations.
RESPONSE_CODE_CUSTOM_10051005A custom response code supports the flexibility of diverse server implementations.
RESPONSE_CODE_CUSTOM_10061006A custom response code supports the flexibility of diverse server implementations.
RESPONSE_CODE_CUSTOM_10071007A custom response code supports the flexibility of diverse server implementations.

Top

e2ees/SenderChainNode.proto

SenderChainNode

The sender chain node.

FieldTypeLabelDescription
our_ratchet_public_keybytesThe public part of the ratchet key pair in ECC or the ciphertext of the encapsulation in PQC.
their_ratchet_public_keybytesTheir ratchet public key.
chain_keyChainKeyThe chain key.

Top

e2ees/SendGroupMsgRequest.proto

SendGroupMsgRequest

Request for sending a group msg.

FieldTypeLabelDescription
msgE2eeMsgThe included msg for this request.
allow_listE2eeAddressrepeatedOptional allow list.
deny_listE2eeAddressrepeatedOptional deny list.

Top

e2ees/SendGroupMsgResponse.proto

SendGroupMsgResponse

Response for sending a group msg.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

e2ees/SendOne2oneMsgRequest.proto

SendOne2oneMsgRequest

Request for sending an one2one msg.

FieldTypeLabelDescription
msgE2eeMsgThe included msg for this request.

Top

e2ees/SendOne2oneMsgResponse.proto

SendOne2oneMsgResponse

Response for sending an one2one msg.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

e2ees/ServerHeartbeatMsg.proto

ServerHeartbeatMsg

Msg for server heartbeat.

FieldTypeLabelDescription
hostnamestringThe optional server host name.
server_tint64The server time stamp.

Top

e2ees/ServerSignedSignature.proto

ServerSignedSignature

The server signed signature.

FieldTypeLabelDescription
versionuint32The version number
hash_algAlgTypeHashThe hash algorithm for creating fingerprint of cert attribute and signing public key.
signing_algAlgTypeDsThe algorithm for generating the signature.
signerSubjectThe signer information.
signing_public_key_fingerprintbytesThe hash value as the fingerprint of the signing public key.
msg_fingerprintbytesThe hash value as the fingerprint of message to be signed.
signaturebytesThe signature of some message signed by the signer's key.

Top

e2ees/Session.proto

Session

The Session.

FieldTypeLabelDescription
versionstringThe version.
e2ees_pack_iduint32The E2EE Security pack ID.
session_idstringThe session ID.
our_addressE2eeAddressOur address.
their_addressE2eeAddressTheir address.
ratchetRatchetThe ratchet data.
associated_databytesThe associated data.
temp_shared_secretbytesThe shared secret encapsulated by the invitee's pre-key bundle, empty in ECC.
fingerprintbytesThe fingerprint.
alice_base_keyKeyPairThe inviter's base key pair.
bob_signed_pre_key_iduint32The invitee's signed pre-key ID.
bob_one_time_pre_key_iduint32The invitee's one-time pre-key ID.
pre_shared_input_listbytesrepeatedThe data that needs to generate some shared secret.
f2fboolThe session is face-to-face verified or not.
respondedboolThe invitee has responded or not.
invite_tint64The server time of invitation for creating this session.
short_termboolThe flag indicates that session is used for short term.

Top

e2ees/SignedPreKey.proto

SignedPreKey

The signed pre-key.

FieldTypeLabelDescription
spk_iduint32The signed pre-key ID.
key_pairKeyPairThe signed pre-key pair.
signaturebytesThe signature of key_pair's public_key signed by the user's identity key.
ttlint64The time stamp indicates that the signed pre-key will be removed.

Top

e2ees/SignedPreKeyPublic.proto

SignedPreKeyPublic

The public part of a signed pre-key.

FieldTypeLabelDescription
spk_iduint32The signed pre-key ID.
public_keybytesThe public part of the signed pre-key pair.
signaturebytesThe signature of public_key signed by the user's identity key.

Top

e2ees/SkippedMsgKeyNode.proto

SkippedMsgKeyNode

The skipped msg key node.

FieldTypeLabelDescription
ratchet_key_publicbytesThe public part of the ratchet key.
msg_keyMsgKeyThe msg key.

Top

e2ees/SupplyOpksMsg.proto

SupplyOpksMsg

Msg for sypplying one-time pre-keys.

FieldTypeLabelDescription
server_tint64
opks_numuint32The number of one-time pre-keys needed to be upload.
user_addressE2eeAddressThe user's address.

Top

e2ees/SupplyOpksRequest.proto

SupplyOpksRequest

Request for sypplying one-time pre-keys.

FieldTypeLabelDescription
e2ees_pack_iduint32The E2EE Security pack ID.
user_addressE2eeAddressThe user's address.
one_time_pre_key_public_listOneTimePreKeyPublicrepeatedThe public part of one-time pre-key pairs.

Top

e2ees/SupplyOpksResponse.proto

SupplyOpksResponse

Response for sypplying one-time pre-keys.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

e2ees/SystemManagerMsg.proto

SystemManagerMsg

Msg for system manager.

FieldTypeLabelDescription
modified_dateint64The modified date of the system manager msg.
opSystemOpThe operation of the system manager msg.
payloadbytesThe optional payload data.

SystemOp

The system operations.

NameNumberDescription
SYSTEM_OP_WELCOME_MSG0
SYSTEM_OP_REGISTER_MSG1
SYSTEM_OP_REGISTER_SUCCESS_MSG2
SYSTEM_OP_ANNOUNCEMENT_MSG3
SYSTEM_OP_NOTIFICATION_MSG4

Top

e2ees/UpdateUserMsg.proto

UpdateUserAvatarArg

Argument for updating the user avatar.

FieldTypeLabelDescription
user_avatar_urlstring

UpdateUserBackupPasskeyArg

Argument for updating the user backup passkey.

FieldTypeLabelDescription
backup_passkeybytes

UpdateUserMsg

Msg for updating user.

FieldTypeLabelDescription
modified_dateint64
user_addressE2eeAddress
opUpdateUserOp
update_user_name_argUpdateUserNameArgThe argument for updating user name.
update_user_avatar_argUpdateUserAvatarArgThe argument for updating user avatar.
update_user_state_argUpdateUserStateArgThe argument for updating user state.
update_user_privacy_argUpdateUserPrivacyArgThe argument for updating user privacy.
update_user_backup_passkey_argUpdateUserBackupPasskeyArgThe argument for updating user backup passkey.

UpdateUserNameArg

Argument for updating the user name.

FieldTypeLabelDescription
usernamestring

UpdateUserPrivacyArg

Argument for updating the user privacy.

FieldTypeLabelDescription
user_privacy_jsonstring

UpdateUserStateArg

Argument for updating the user state.

FieldTypeLabelDescription
user_stateint32

UpdateUserOp

The update user operations.

NameNumberDescription
UPDATE_USER_OP_NAME0
UPDATE_USER_OP_AVATAR1
UPDATE_USER_OP_STATE2
UPDATE_USER_OP_PRIVACY3
UPDATE_USER_OP_BACKUP_PASSKEY4

Top

e2ees/UpdateUserRequest.proto

UpdateUserRequest

Request for updating user.

FieldTypeLabelDescription
msgUpdateUserMsgThe included msg for this request.

Top

e2ees/UpdateUserResponse.proto

UpdateUserResponse

Response for updating user.

FieldTypeLabelDescription
codeResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

e2ees/UpgradeE2eePackMsg.proto

UpgradeE2eePackMsg

Message for upgrading e2ee pack.

FieldTypeLabelDescription
upgrade_tsint64The server timestamp for upgrading e2ee pack.
e2ees_pack_iduint32The new e2ee pack ID.

Top

e2ees/UserDevicesBundle.proto

UserDevicesBundle

Bundle for user devices.

FieldTypeLabelDescription
domainstringThe domain.
user_idstringThe user's ID.
device_id_liststringrepeatedAll of the user's devices ID.

Top

ski/AnsweredStreamEvent.proto

AnsweredStreamEvent

The message for answering event of the stream.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressE2ee address with deviceId for whom send this event.

Top

ski/AudioPayload.proto

AudioPayload

Message for encrypted audio file.

FieldTypeLabelDescription
file_namestringThe file name.
file_pathstringThe url that is used to download this audio file.
file_sizeint64The file size.
modified_dateint64The time stamp of this message.
mime_typestringThe mime type.
time_lenint64The time length in milliseconds.
passkeybytesThe passkey that is used to decrypt the download audio file.

Top

ski/BlockState.proto

BlockState

State to identify if a friend is blocked or not.

NameNumberDescription
BLOCK_STATE_NORMAL0Normal status.
BLOCK_STATE_BLOCKED1Block status.

Top

ski/ContactPayload.proto

ContactPayload

Message for contact payload.

FieldTypeLabelDescription
userstringSimple e2ee address.
nicknamestringThe nickname provided by user.

Top

ski/CreateStreamEvent.proto

CreateStreamEvent

The message for creating event of the stream.

FieldTypeLabelDescription
stream_typeStreamTypeThe type of stream.
callerstringThe simple e2ee address for caller.
participantsstringrepeatedThe list of simple e2ee addresses for whom join the stream.
pin_codestringThe pin code for accessing the stream.
passkeybytesThe key for encrypting/decrypting the stream.

Top

ski/DataPayload.proto

DataPayload

The message for data payload.

FieldTypeLabelDescription
namestringThe class name for decoding data.
databytesThe raw data encoded in a sequence of bytes no longer than 2^32 (4GB).

Top

ski/DeclineStreamEvent.proto

DeclineStreamEvent

The message for declining event of the stream.

FieldTypeLabelDescription
user_addressstringThe simple e2ee address who send this event.

Top

ski/DecryptStatusPayload.proto

DecryptStatusPayload

The decrypt status message will be sent when a peer decrypted the message and loaded in UI.

FieldTypeLabelDescription
msg_idsstringrepeatedThe array of message ids for the messages that have been decrypted.
time_decryptint64The time stamp that the messages are decrypted.

Top

ski/DeletePayload.proto

DeletePayload

The message for deleting some msgs.

FieldTypeLabelDescription
to_addressstringOptional Simple user or group address for which all its msgs will be deleted.
delete_msg_idsstringrepeatedThe array of message ids of a message to be deleted.

Top

ski/DestroyStreamEvent.proto

DestroyStreamEvent

The message for destroying event of the stream.

FieldTypeLabelDescription
user_addressstringThe simple e2ee address who send this event.
durationint64The duration for the stream.

Top

ski/FilePayload.proto

FilePayload

Message for encrypted file payload.

FieldTypeLabelDescription
file_namestringThe file name.
file_pathstringThe url that is used to download this file.
file_sizeint64The file size.
modified_dateint64The time stamp of this message.
mime_typestringThe mime type.
passkeybytesThe passkey that is used to decrypt the download file.

Top

ski/Forward.proto

Forward

Message for forwarding another message.

FieldTypeLabelDescription
fromstringThe simple e2ee address for whom is the sender of the forwarded message.
msg_idstringThe message id of the forwarded message.
time_stampint64The time stamp that this message is forwarded.

Top

ski/FriendNotifPayload.proto

FriendNotifPayload

Message for friend manager.

FieldTypeLabelDescription
ope2ees.FriendOpThe friend operation.
friende2ees.FriendshipDTOThe data transmission object of a friend.

Top

ski/FriendStatus.proto

FriendStatus

The frind status message identifies the status of a friendship.

NameNumberDescription
FRIEND_STATUS_UNSPECIFIED0The friendship is in unknown status.
FRIEND_STATUS_STRANGER1The friendship is in stranger status.
FRIEND_STATUS_ATTENTION2The friendship is in attention status.
FRIEND_STATUS_FRIEND3The friendship is in friend status.
FRIEND_STATUS_REMOVED9The friendship is removed. (the friend account may have been removed)

Top

ski/GroupNotifPayload.proto

GroupNotifPayload

Message from group manager.

FieldTypeLabelDescription
ope2ees.GroupOpThe group operation.
create_group_arge2ees.CreateGroupArgThe argement for creating group message.
update_group_name_arge2ees.UpdateGroupNameArgThe argement for updating group name message.
update_group_avatar_arge2ees.UpdateGroupAvatarArgThe argement for updating group avatar message.
update_group_admins_arge2ees.UpdateGroupAdminsArgThe argement for updatinge group admins message.
add_group_members_arge2ees.AddGroupMembersArgThe argement for adding group member message.
join_group_arge2ees.JoinGroupArgThe argement for joining group member message.
remove_group_members_arge2ees.RemoveGroupMembersArgThe argement for removing group member message.
destroy_group_arge2ees.DestroyGroupArgThe argement for destroying group member message.

Top

ski/HidePayload.proto

HidePayload

Message for hiding another messgae by manager of a group.

FieldTypeLabelDescription
hide_msg_idsstringrepeatedThe array of message ids of a message to be hided.

Top

ski/ImagePayload.proto

ImagePayload

Message for encrypted image file.

FieldTypeLabelDescription
file_namestringThe file name.
file_pathstringThe url that is used to download this image file.
file_sizeint64The file size.
modified_dateint64The time stamp of this message.
mime_typestringThe mime type.
orientationint32The orientation of this message in degrees (0, 90, 180, 270).
passkeybytesThe passkey that is used to decrypt the download image file.

Top

ski/LocationPayload.proto

LocationPayload

Message for location payload.

FieldTypeLabelDescription
latdoubleThe latitude of a location.
lngdoubleThe longitude of a location.
addressstringThe text address that identify a specific place.

Top

ski/MsgState.proto

MsgState

The state of a message is used to indicate the state of a transmitted message.

NameNumberDescription
MSG_STATE_UNSPECIFIED0The message is in unknown state.
MSG_STATE_SENDING1The message is in sending state.
MSG_STATE_SEND_FAILED2The message is failed to send.
MSG_STATE_SEND_PENDED3The message is pended to send and kept in local database.
MSG_STATE_SEND_SUCCEEDED5The message is succeeded to send and received by server .
MSG_STATE_RECEIVED10The message is received by peer.
MSG_STATE_DECRYPT_SUCCEEDED11The message is succeeded to decrypt by peer.
MSG_STATE_DECRYPT_FAILED12The message is failed to decrypt by peer.
MSG_STATE_READ13The message is read by peer
MSG_STATE_HIDED20The message is hided (by a manager of group).
MSG_STATE_DELETED21The message is deleted.

Top

ski/MsgType.proto

MsgType

The type of a message is used to identify the message type of a plainMsg. @see PlainMsg#msg

NameNumberDescription
MSG_TYPE_UNSPECIFIED0
MSG_TYPE_TEXT11
MSG_TYPE_CONTACT12
MSG_TYPE_LOCATION13
MSG_TYPE_STICKER14
MSG_TYPE_IMAGE21
MSG_TYPE_AUDIO22
MSG_TYPE_VIDEO23
MSG_TYPE_FILE24
MSG_TYPE_STREAM31
MSG_TYPE_DATA41
MSG_TYPE_FRIEND_NOTIF61
MSG_TYPE_GROUP_NOTIF62
MSG_TYPE_SYSTEM_NOTIF63
MSG_TYPE_RETRACT71
MSG_TYPE_DECRYPT_STATUS72
MSG_TYPE_HIDE73
MSG_TYPE_DELETE74

Top

ski/PlainMsg.proto

PlainMsg

PlainMsg is the main proto type to transfer plaintext among peers.

FieldTypeLabelDescription
versionstringThe version number is reserved to keep forward compatibility.
msg_idstringThe uuid for this plain message.
fromstringThe sender's address in simple e2ee address format without devideId.
tostringThe recipient's address in simple e2ee address format without devideId.
time_sendint64The time stamp that is provided by server.
time_deleteint64The optional time to delete by client.
textTextPayloadText message.
contactContactPayloadContact message.
locationLocationPayloadLocation message.
stickerStickerPayloadSticker message.
imageImagePayloadImage message.
audioAudioPayloadAudio message.
videoVideoPayloadVideo message.
fileFilePayloadFile message.
streamStreamPayloadStream message.
dataDataPayloadData message
friend_notifFriendNotifPayloadNotification message from the friend manager.
group_notifGroupNotifPayloadNotification message from the group manager.
system_notifSystemNotifPayloadNotification message from the system manager.
retractRetractPayloadSpecial message to retract some plainMsgs.
decrypt_statusDecryptStatusPayloadSpecial message to identify the decryption status of some plainMsgs.
hideHidePayloadSpecial message to hide some plainMsgs.
deleteDeletePayloadSpecial message to delete some plainMsgs.
replyReplyThe reply attribute is provided if this plainMsg is used to reply another plainMsg.
forwardsForwardrepeatedThe forwards attribute is an array to keep track the forwarded records.
reportReportThe reply attribute is provided if this plainMsg is used to report against another plainMsg.

Top

ski/Reply.proto

Reply

The message for replying another message.

FieldTypeLabelDescription
replied_msg_fromstringThe simple e2ee address for whom is the sender of replied message.
replied_msg_idstringThe message id of the message that is replied.
replied_msg_typeint32The message type of the message that is replied.
replied_msg_textstringThe replied text.

Top

ski/Report.proto

Report

The message for reporting another message that is considered to be objectionable.

FieldTypeLabelDescription
msg_idstringThe message id of a message to be reported.
fromstringThe simple e2ee address for whom send the reported message.
reasonReportReasonThe reason for this report.

Top

ski/ReportReason.proto

ReportReason

The reason for a report of an objectionable message.

NameNumberDescription
REPORT_REASON_HARASSMENT0The message is related to harassment. (騷擾)
REPORT_REASON_OBJECTIONABLE_ADVERTISING100The message is related to advertising. (不當內容:廣告)
REPORT_REASON_OBJECTIONABLE_FALSE_INFO101The message is related to false information. (不當內容:不實)
REPORT_REASON_OBJECTIONABLE_BLOODINESS102The message is related to bloodiness. (不當內容:血腥)
REPORT_REASON_OBJECTIONABLE_VIOLENCE103The message is related to violence. (不當內容:暴力)
REPORT_REASON_OBJECTIONABLE_PORNOGRAPHY104The message is related to pornography. (不當內容:色情)
REPORT_REASON_OBJECTIONABLE_HATRED105The message is related to hatred. (不當內容:仇恨)
REPORT_REASON_OBJECTIONABLE_DISCRIMINATION106The message is related to discrimination.(不當內容:歧視)
REPORT_REASON_OBJECTIONABLE_SELF_HARM107The message is related to self-harm. (不當內容:自殘)
REPORT_REASON_CONTRABAND_DRUGS200The message is involved in contraband of drugs. (違禁品:毒品、藥物)
REPORT_REASON_CONTRABAND_FIREARMS201The message is involved in contraband of firearms. (違禁品:槍械)
REPORT_REASON_COUNTERFEITING_ME300The message is a counterfeit of me. (冒充:我)
REPORT_REASON_COUNTERFEITING_FRIEND301The message is a counterfeit of some friend. (冒充:朋友)
REPORT_REASON_COUNTERFEITING_OTHER302The message is a counterfeit of some person. (冒充:其他人)
REPORT_REASON_COUNTERFEITING_CELEBRITY303The message is a counterfeit of some celebrity. (冒充:名人)
REPORT_REASON_MALFUNCTION400The message is malfunctioned. (功能錯誤)
REPORT_REASON_OTHER900Something else. (其它)

Top

ski/RetractPayload.proto

RetractPayload

The message to retract some other msgs.

FieldTypeLabelDescription
retract_msg_idsstringrepeatedThe array of message ids to be retracted.

Top

ski/StickerPayload.proto

StickerPayload

The message for sticker.

FieldTypeLabelDescription
namespacestringThe name space of this sticker.
categorystringThe category of this sticker.
sticker_pack_idstringThe sticker pack id to that this sticker is belonged.
sticker_idstringThe sticker id of this sticker.
descstringThe text description of this sticker.

Top

ski/StreamPayload.proto

StreamPayload

The message for streaming.

FieldTypeLabelDescription
server_urlstringServer url for serving the stream.
room_idstringThe room id of the stream.
createCreateStreamEvent
declineDeclineStreamEvent
destroyDestroyStreamEvent
answeredAnsweredStreamEvent

Top

ski/StreamType.proto

StreamType

The stream type message.

NameNumberDescription
STREAM_TYPE_AUDIO0
STREAM_TYPE_VIDEO1
STREAM_TYPE_CAMERA2
STREAM_TYPE_DESKTOP3

Top

ski/SyncMsg.proto

SyncMsg

Msg for syncing data among devices.

FieldTypeLabelDescription
opSyncOpThe operation of this msg.
update_backup_passkey_argUpdateBackupPasskeyArgThe argument for updating backup passkey.

UpdateBackupPasskeyArg

Argument for updating backup passkey.

FieldTypeLabelDescription
backup_passkeybytes

SyncOp

The sync operations.

NameNumberDescription
SYNC_OP_UNSPECIFIED0
SYNC_OP_UPDATE_BACKUP_PASSKEY11

Top

ski/SystemNotifPayload.proto

SystemNotifPayload

The message from system manager.

FieldTypeLabelDescription
ope2ees.SystemOpThe ststem operation.
payloadbytesThe utf-8 json string content.

Top

ski/TextPayload.proto

TextPayload

The message for text payload.

FieldTypeLabelDescription
contentstringThe text message that has utf-8 encoding and length limit 20480.

Top

ski/UserState.proto

UserState

The user state message.

NameNumberDescription
USER_STATE_NORMAL0
USER_STATE_BLOCKED1
USER_STATE_REVOKED2
USER_STATE_DEPRECATED3

Top

ski/UserType.proto

UserType

The user type message.

NameNumberDescription
USER_TYPE_PERSON0
USER_TYPE_GROUP1
USER_TYPE_BOT2
USER_TYPE_EDU3
USER_TYPE_GOV4
USER_TYPE_ORG5
USER_TYPE_COM6

Top

ski/VideoPayload.proto

VideoPayload

The message for encrypted video file.

FieldTypeLabelDescription
file_namestringThe file name.
file_pathstringThe url that is used to download this video file.
file_sizeint64The file size.
modified_dateint64The time stamp of this message.
mime_typestringThe mime type.
time_lenint64The time length in milliseconds.
passkeybytesThe passkey that is used to decrypt the download video file.

Top

skiserver/AcquireAuthCodeRequest.proto

AcquireAuthCodeRequest

Request for acquiring auth code.

FieldTypeLabelDescription
authenticatorstringEmail (mailto:xxx@xxx) or maybe mobile phone number (tel:xxx@xxx) to receive auth code.

Top

skiserver/AcquireAuthCodeResponse.proto

AcquireAuthCodeResponse

Response for acquiring auth code.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
ttlint32Time to live (seconds) for auth code that has

Top

skiserver/AcquireGroupMemberInfosRequest.proto

AcquireGroupMemberInfosRequest

Request for acquiring group member info list.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressUser address with userId and domain.

Top

skiserver/AcquireGroupMemberInfosResponse.proto

AcquireGroupMemberInfosResponse

Response for acquiring sign public key of uploaded identity public key.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
group_member_infose2ees.GroupMemberInforepeatedList of groupMemberInfo that consists of sign public key of uploaded identity public key.

Top

skiserver/AcquireServerInfoRequest.proto

AcquireServerInfoRequest

Request for acquiring server info.

FieldTypeLabelDescription
heartbeate2ees.ClientHeartbeatMsgSend the heartbeat msg to server.

Top

skiserver/AcquireServerInfoResponse.proto

AcquireServerInfoResponse

Response for acquiring server info.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
heartbeate2ees.ServerHeartbeatMsg

Top

skiserver/AddFriendRequest.proto

AddFriendRequest

Request for adding a friend.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe e2ee address for user who sends this request.
to_userstringThe simple e2ee address of user who will be added as a friend.
from_userstringThe simple e2ee address of user who is adding toUser as a friend.
from_usernamestringThe name of user who is adding toUser as a friend.

Top

skiserver/AddFriendResponse.proto

AddFriendResponse

Response for adding a friend.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
statusAddAttentionStatusThe friendship status.
friende2ees.FriendshipDTOThe friendship data.

AddAttentionStatus

The friendship status.

NameNumberDescription
ADD_ATTENTION_STATUS_REJECTED0
ADD_ATTENTION_STATUS_ATTENTION_ADDED1
ADD_ATTENTION_STATUS_FRIEND_ADDED2
ADD_ATTENTION_STATUS_ALREADY_ATTENDED3
ADD_ATTENTION_STATUS_ALREADY_FRIENDED4
ADD_ATTENTION_STATUS_REMOVE_BLOCKED5
ADD_ATTENTION_STATUS_EXCEPTION6

Top

skiserver/AskUserIdAvailableRequest.proto

AskUserIdAvailableRequest

Request for checking if a userId is available.

FieldTypeLabelDescription
user_idstringThe userId to be registered.

Top

skiserver/AskUserIdAvailableResponse.proto

AskUserIdAvailableResponse

Response for checking if a userId is available.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/BackupMsgRequest.proto

BackupMsgRequest

Request for backing up a message.

FieldTypeLabelDescription
backup_msgMsgBackupDTOThe backup data.

Top

skiserver/BackupMsgResponse.proto

BackupMsgResponse

Response for backing up a message.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
time_backupint64The back up time of the backup msg.

Top

skiserver/BackupPasskey.proto

BackupPasskey

Message for BackupPasskey.

FieldTypeLabelDescription
passkeysBackupPasskeyItemrepeatedA list of passkey items.

BackupPasskeyItem

Message for BackupPasskeyItem.

FieldTypeLabelDescription
verint32
e2ee_pack_iduint32The e2ee pack ID used for this passkey.
indexint32The index of passkey item start from 0.
passkeybytesThe passkey for backing up msg.
passkey_fingerprintbytesThe hash value as the fingerprint of passkey.
signing_private_keybytesThe private key data for signing backup msg.
signing_public_keybytesThe public key data for verifying backup msg.
signing_public_key_fingerprintbytesThe hash value as the fingerprint of the signing public key.

Top

skiserver/BlockFriendRequest.proto

BlockFriendRequest

Request for blocking a friend.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe e2ee address for user who sends this request.
to_userstringThe simple e2ee address for a user to be blocked.
from_userstringThe simple e2ee address for the user who is blocking toUser.

Top

skiserver/BlockFriendResponse.proto

BlockFriendResponse

Response for blocking a friend.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
friende2ees.FriendshipDTOThe updated friendship data.

Top

skiserver/E2eeBackupService.proto

E2eeBackupService

The backup unary grpc service.

Method NameRequest TypeResponse TypeDescription
GetMsgBackupTsGetMsgBackupTsRequestGetMsgBackupTsResponse
BackupMsgBackupMsgRequestBackupMsgResponse
RecoverMsgRecoverMsgRequestRecoverMsgResponse

Top

skiserver/E2eeBidiService.proto

E2eeBidiService

The e2ee bidirection stream grpc service.

Method NameRequest TypeResponse TypeDescription
Communicate.e2ees.ProtoMsg stream.e2ees.ProtoMsg streambidi streaming operations

Top

skiserver/E2eeS2SService.proto

E2eeS2SService

The e2ee server to server unary grpc service.

Method NameRequest TypeResponse TypeDescription
ServerAcquireLoginServerAcquireLoginRequestServerAcquireLoginResponse
ServerLoginServerLoginRequestServerLoginResponse
ServerRefreshTokenServerRefreshTokenRequestServerRefreshTokenResponse
GetPreKeyBundle.e2ees.GetPreKeyBundleRequest.e2ees.GetPreKeyBundleResponse
Invite.e2ees.InviteRequest.e2ees.InviteResponse
SendOne2oneMsg.e2ees.SendOne2oneMsgRequest.e2ees.SendOne2oneMsgResponse
GetUserGetUserRequestGetUserResponse
RemoveUserDeviceRemoveUserDeviceRequestRemoveUserDeviceResponse
AddFriendAddFriendRequestAddFriendResponse
RemoveFriendRemoveFriendRequestRemoveFriendResponse
BlockFriendBlockFriendRequestBlockFriendResponse
UnBlockFriendUnBlockFriendRequestUnBlockFriendResponse
AddGroupMembers.e2ees.AddGroupMembersRequest.e2ees.AddGroupMembersResponse
AddGroupMemberDevice.e2ees.AddGroupMemberDeviceRequest.e2ees.AddGroupMemberDeviceResponse
RemoveGroupMembers.e2ees.RemoveGroupMembersRequest.e2ees.RemoveGroupMembersResponse
JoinGroupJoinGroupRequestJoinGroupResponse
LeaveGroup.e2ees.LeaveGroupRequest.e2ees.LeaveGroupResponse
UpdateGroupNameUpdateGroupNameRequestUpdateGroupNameResponse
UpdateGroupManagersUpdateGroupManagersRequestUpdateGroupManagersResponse
GetGroup.e2ees.GetGroupRequest.e2ees.GetGroupResponse
SendGroupMsg.e2ees.SendGroupMsgRequest.e2ees.SendGroupMsgResponse
AcquireGroupMemberInfosAcquireGroupMemberInfosRequestAcquireGroupMemberInfosResponse
SubmitProtoMsgSubmitProtoMsgRequestSubmitProtoMsgResponse
NotifyCertUpdateNotifyCertUpdateRequestNotifyCertUpdateResponse

Top

skiserver/E2eeUnaryService.proto

E2eeUnaryService

The e2ee unary grpc service.

Method NameRequest TypeResponse TypeDescription
AcquireAuthCodeAcquireAuthCodeRequestAcquireAuthCodeResponse
AskUserIdAvailableAskUserIdAvailableRequestAskUserIdAvailableResponse
RegisterUser.e2ees.RegisterUserRequest.e2ees.RegisterUserResponse
UpdateAuthenticatorUpdateAuthenticatorRequestUpdateAuthenticatorResponse
LoginLoginRequestLoginResponse
LogoutLogoutRequestLogoutResponse
AcquireServerInfoAcquireServerInfoRequestAcquireServerInfoResponse
GetPreKeyBundle.e2ees.GetPreKeyBundleRequest.e2ees.GetPreKeyBundleResponse
Invite.e2ees.InviteRequest.e2ees.InviteResponse
Accept.e2ees.AcceptRequest.e2ees.AcceptResponse
PublishSpk.e2ees.PublishSpkRequest.e2ees.PublishSpkResponse
SupplyOpks.e2ees.SupplyOpksRequest.e2ees.SupplyOpksResponse
SendOne2oneMsg.e2ees.SendOne2oneMsgRequest.e2ees.SendOne2oneMsgResponse
AddFriendAddFriendRequestAddFriendResponse
RemoveFriendRemoveFriendRequestRemoveFriendResponse
BlockFriendBlockFriendRequestBlockFriendResponse
UnBlockFriendUnBlockFriendRequestUnBlockFriendResponse
MemoFriendMemoFriendRequestMemoFriendResponse
GetFriendsGetFriendsRequestGetFriendsResponse
GetUserGetUserRequestGetUserResponse
FindUserFindUserRequestFindUserResponse
CreateGroup.e2ees.CreateGroupRequest.e2ees.CreateGroupResponse
AddGroupMembers.e2ees.AddGroupMembersRequest.e2ees.AddGroupMembersResponse
AddGroupMemberDevice.e2ees.AddGroupMemberDeviceRequest.e2ees.AddGroupMemberDeviceResponse
RemoveGroupMembers.e2ees.RemoveGroupMembersRequest.e2ees.RemoveGroupMembersResponse
JoinGroupJoinGroupRequestJoinGroupResponse
LeaveGroup.e2ees.LeaveGroupRequest.e2ees.LeaveGroupResponse
UpdateGroupNameUpdateGroupNameRequestUpdateGroupNameResponse
UpdateGroupManagersUpdateGroupManagersRequestUpdateGroupManagersResponse
GetGroup.e2ees.GetGroupRequest.e2ees.GetGroupResponse
SendGroupMsg.e2ees.SendGroupMsgRequest.e2ees.SendGroupMsgResponse
UpdatePushIdUpdatePushIdRequestUpdatePushIdResponse
UpdateUserNameUpdateUserNameRequestUpdateUserNameResponse
UpdateUserPrivacyUpdateUserPrivacyRequestUpdateUserPrivacyResponse
ConsumeProtoMsg.e2ees.ConsumeProtoMsgRequest.e2ees.ConsumeProtoMsgResponse

Top

skiserver/FindUserRequest.proto

FindUserRequest

Request for finding user.

FieldTypeLabelDescription
querystringurl-encoded string such as: userId%3Dxxx%26domain%3Dxxxx or authenticator%3Duser%40example.com.
user_addresse2ees.E2eeAddressThe address of the user who us sending this request.

Top

skiserver/FindUserResponse.proto

FindUserResponse

Response for finding a user.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
friende2ees.FriendshipDTOThe friendship data of a retrieved user.

Top

skiserver/GetFriendsRequest.proto

GetFriendsRequest

Request for getting friendship data.

FieldTypeLabelDescription
last_modified_dateint64The latest modified time stamp of friendship in client side.

Top

skiserver/GetFriendsResponse.proto

GetFriendsResponse

Response for getting friendship data.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
friendse2ees.FriendshipDTOrepeatedThe list of friendship data.

Top

skiserver/GetMsgBackupTsRequest.proto

GetMsgBackupTsRequest

Request for acquiring time stamps of backed up msgs.

FieldTypeLabelDescription
msg_idsstringrepeatedThe array of msg ids to be queried.

Top

skiserver/GetMsgBackupTsResponse.proto

GetMsgBackupTsResponse

Response for acquiring time stamps of backed up msgs.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
backup_tsesMsgBackupTsDTOrepeatedThe array of backup time stamps.

Top

skiserver/GetUserRequest.proto

GetUserRequest

Request for retrieving information of a user.

FieldTypeLabelDescription
to_userstringThe simple e2ee address for the user whose information is retrieved.
user_addresse2ees.E2eeAddressThe address of the user who is retrieving the information of toUser.

Top

skiserver/GetUserResponse.proto

GetUserResponse

Response for retrieving information of a user.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
friende2ees.FriendshipDTOThe friendship data of a retrieved user.

Top

skiserver/JoinGroupRequest.proto

JoinGroupRequest

Request for joining a group.

FieldTypeLabelDescription
to_groupstringThe simple e2ee address of the joining group.
user_addresse2ees.E2eeAddressThe address of the user joining the group

Top

skiserver/JoinGroupResponse.proto

JoinGroupResponse

Response for joining a group.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/JwtToken.proto

JwtToken

Message for jwt token.

FieldTypeLabelDescription
tokenstringThe token.
expires_inint64The expiry time.

Top

skiserver/LoginRequest.proto

LoginRequest

Request for login.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe user e2ee address for whom is going to login.
passwordstringThe password to login the e2ee service.

Top

skiserver/LoginResponse.proto

LoginResponse

Response for login.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
authstringThe updated authorization code.
expires_inint64The time of expiration for the authorization code.
user_stateski.UserStateThe user state.
msgBackup_device_idstringThe optional main backup deviceId.

Top

skiserver/LogoutRequest.proto

LogoutRequest

Request for logout.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe user e2ee address (with device id) for whom is going to logout.

Top

skiserver/LogoutResponse.proto

LogoutResponse

Response for logout.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/MemoFriendRequest.proto

MemoFriendRequest

Request for giving a memo name to a friend.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe e2ee address for user who sends this request.
to_userstringThe simple e2ee address for the user who is giving a memo name.
memonamestringThe memo name (max len = 12 utf-8 chars).

Top

skiserver/MemoFriendResponse.proto

MemoFriendResponse

Response for giving a memo name to a friend.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
friende2ees.FriendshipDTOThe updated friendship data.

Top

skiserver/MsgBackupDTO.proto

MsgBackupDTO

Message for a backup msg.

FieldTypeLabelDescription
msg_idstringThe msgId of the backup msg.
time_sendint64The time of the backup msg that was sent.
time_backupint64The back up time of the backup msg.
passkey_fingerprintbytesThe passkey fingerprint for the backup msg.
signing_public_key_fingerprintbytesThe hash value as the fingerprint of the signing public key.
encrypted_msgbytesThe encrypted backup msg.
plain_msg_signaturebytesThe signature of plain msg to be backed up.
encrypted_attachmentbytesThe optional encrypted attachment data of the backup msg.
plain_attachment_signaturebytesThe optional signature of plain attachment data to be backed up.

Top

skiserver/MsgBackupTsDTO.proto

MsgBackupTsDTO

Message for the time stamp of a backed up msg.

FieldTypeLabelDescription
msg_idstringThe msgId of the backup msg.
time_sendint64The time of the backup msg that was sent.
time_backupint64The time of the backup msg that was backed up.

Top

skiserver/NotifyCertUpdateRequest.proto

NotifyCertUpdateRequest

Request for notifying certificates update.

FieldTypeLabelDescription
tsint64The lastest time stamp for current list of certificates.

Top

skiserver/NotifyCertUpdateResponse.proto

NotifyCertUpdateResponse

Response for notifying certificates update.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/RecoverMsgRequest.proto

RecoverMsgRequest

Request for recovering some backed up msgs.

FieldTypeLabelDescription
last_msg_idstringOptional last msgId that has been downloaded previously.
last_time_sendint64Optional last timestamp for a sent msg.
limitint32The maximal number of messages to be downloaded. (max 500)

Top

skiserver/RecoverMsgResponse.proto

RecoverMsgResponse

Response for recovering backed up msgs.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
backuped_msgsMsgBackupDTOrepeatedThe recovered data.

Top

skiserver/RemoveFriendRequest.proto

RemoveFriendRequest

Request for removing a friend.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe e2ee address for user who sends this request.
to_userstringThe simple e2ee address of user who will be removed as a friend.
from_userstringThe simple e2ee address of user who is removing toUser from contacts.

Top

skiserver/RemoveFriendResponse.proto

RemoveFriendResponse

Response for removing a friend.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
friende2ees.FriendshipDTOThe updated friendship data.

Top

skiserver/RemoveUserDeviceRequest.proto

RemoveUserDeviceRequest

Request for removing a user device.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe e2ee address for user who sends this request.
remove_user_device_msge2ees.RemoveUserDeviceMsgThe remove_user_device_msg.

Top

skiserver/RemoveUserDeviceResponse.proto

RemoveUserDeviceResponse

Response for removing a user device.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/ServerAcquireLoginRequest.proto

ServerAcquireLoginRequest

Request for acquiring server login challenge.

FieldTypeLabelDescription
domainstringThe domain.

Top

skiserver/ServerAcquireLoginResponse.proto

ServerAcquireLoginResponse

Response for acquiring server login challenge..

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
challengestringThe chanllenge base64 string.

Top

skiserver/ServerLoginRequest.proto

ServerLoginRequest

Request for server login.

FieldTypeLabelDescription
domainstringThe domain.
certFingerprintbytesThe certFingerprint for the certificate that can be used to verify the response;
challengestringThe challenge base64 string.
responsestringThe base64 string that is the signature created by signing the challenge with server's key.

Top

skiserver/ServerLoginResponse.proto

ServerLoginResponse

Response for server login.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
cnstringThe common name.
domainstringThe domain.
access_tokenJwtTokenThe access token.
refresh_tokenJwtTokenThe refresh token.

Top

skiserver/ServerRefreshTokenRequest.proto

ServerRefreshTokenRequest

The request for refreshing server token.

FieldTypeLabelDescription
domainstringThe domain.
refresh_tokenstringThe refresh token.

Top

skiserver/ServerRefreshTokenResponse.proto

ServerRefreshTokenResponse

The response for refreshing server token.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
access_tokenJwtTokenThe accessToken for 30 days.
refresh_tokenJwtTokenThe refreshToken for 180 days.

Top

skiserver/SubmitProtoMsgRequest.proto

SubmitProtoMsgRequest

Request for submitting protoMsg to a s2s service.

FieldTypeLabelDescription
protoMsge2ees.ProtoMsgThe protoMsg to be delivered.
ignoredDeviceIdListstringrepeatedOptional ignored deviceId list.

Top

skiserver/SubmitProtoMsgResponse.proto

SubmitProtoMsgResponse

Response for submitting protoMsg to a s2s service.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/UnBlockFriendRequest.proto

UnBlockFriendRequest

Request for unblocking a friend.

FieldTypeLabelDescription
user_addresse2ees.E2eeAddressThe e2ee address for user who sends this request.
to_userstringThe simple e2ee address for a user to be unblocked.
from_userstringThe simple e2ee address for the user who is unblocking toUser.

Top

skiserver/UnBlockFriendResponse.proto

UnBlockFriendResponse

Response for unblocking a friend.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
friende2ees.FriendshipDTOThe updated friendship data.

Top

skiserver/UpdateAuthenticatorRequest.proto

UpdateAuthenticatorRequest

Request for updating authenticator.

FieldTypeLabelDescription
authenticatorstringEmail (mailto:xxx@xxx) or mobile phone number (tel:xxx@xxx) to receive auth code.
auth_codestringThe auth code received from authenticator.

Top

skiserver/UpdateAuthenticatorResponse.proto

UpdateAuthenticatorResponse

Response for updating authenticator.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/UpdateGroupManagersRequest.proto

UpdateGroupManagersRequest

Request for updating group managers.

FieldTypeLabelDescription
to_groupstringThe simple e2ee address of the updating group.
from_userstringThe simple e2ee address of the user who is updating the group.
updating_memberse2ees.GroupMemberrepeatedThe list of updated group members with new roles.

Top

skiserver/UpdateGroupManagersResponse.proto

UpdateGroupManagersResponse

Response for updating group managers.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
group_managerse2ees.GroupMemberrepeatedThe list of new group managers.

Top

skiserver/UpdateGroupNameRequest.proto

UpdateGroupNameRequest

Request for renaming a group.

FieldTypeLabelDescription
to_groupstringThe simple e2ee address of the renaming group.
from_userstringThe simple e2ee address of the user who is renaming the group.
group_namestringThe group name.

Top

skiserver/UpdateGroupNameResponse.proto

UpdateGroupNameResponse

Response for renaming a group.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/UpdatePushIdRequest.proto

UpdatePushIdRequest

Request for updating pushId.

FieldTypeLabelDescription
push_idstringThe pushId for push notification.
typePushIDTypeThe optional pushId type.

PushIDType

NameNumberDescription
PUSH_ID_TYPE_NORMAL0PushId for general circumstances.
PUSH_ID_TYPE_APNS_VOIP1PushId for apns voip.

Top

skiserver/UpdatePushIdResponse.proto

UpdatePushIdResponse

Response for updating pushId.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/UpdateUserNameRequest.proto

UpdateUserNameRequest

Request for updating user name.

FieldTypeLabelDescription
usernamestringThe user name (max len = 12 utf-8 chars).

Top

skiserver/UpdateUserNameResponse.proto

UpdateUserNameResponse

Response for updating user name.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skiserver/UpdateUserPrivacyRequest.proto

UpdateUserPrivacyRequest

Request for updating user privacy.

FieldTypeLabelDescription
allow_attentionboolAllow being added as a friend.
allow_greetingboolAllow receiving msg from strangers.
allow_auto_friendboolAllow adding friend automatically when someone is adding user as friend.

Top

skiserver/UpdateUserPrivacyResponse.proto

UpdateUserPrivacyResponse

Response for updating user privacy.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Top

skirobot/E2eeRobotService.proto

E2eeRobotService

Method NameRequest TypeResponse TypeDescription
CreateAccountRobotCreateAccountRequest.e2ees.RegisterUserResponseaccount
LoginRobotLoginRequest.skiserver.LoginResponse
LogoutRobotLogoutRequest.skiserver.LogoutResponse
InviteRobotInviteRequest.e2ees.InviteResponseOne2one
SendOne2oneMsgRobotSendPlainMsgRequestRobotMsgDTO
SendSyncMsgRobotSendSyncPlainMsgRequestRobotSendSyncPlainMsgResponse
CreateGroupRobotCreateGroupRequest.e2ees.CreateGroupResponseGroup
AddGroupMembersRobotAddGroupMembersRequest.e2ees.AddGroupMembersResponse
RemoveGroupMembersRobotRemoveGroupMembersRequest.e2ees.RemoveGroupMembersResponse
UpdateGroupName.skiserver.UpdateGroupNameRequest.skiserver.UpdateGroupNameResponse
JoinGroup.skiserver.JoinGroupRequest.skiserver.JoinGroupResponse
LeaveGroup.e2ees.LeaveGroupRequest.e2ees.LeaveGroupResponse
UpdateGroupManagers.skiserver.UpdateGroupManagersRequest.skiserver.UpdateGroupManagersResponse
SendGroupMsgRobotSendPlainMsgRequestRobotMsgDTO
AddFriendRobotAddFriendRequest.skiserver.AddFriendResponseFriendship
RemoveFriendRobotRemoveFriendRequest.skiserver.RemoveFriendResponse
BlockFriendRobotBlockFriendRequest.skiserver.BlockFriendResponse
UnBlockFriendRobotUnBlockFriendRequest.skiserver.UnBlockFriendResponse
MemoFriendRobotMemoFriendRequest.skiserver.MemoFriendResponse
GetFriendsRobotGetFriendsRequest.skiserver.GetFriendsResponse
GetUser.skiserver.GetUserRequest.skiserver.GetUserResponse
UpdatePushId.skiserver.UpdatePushIdRequest.skiserver.UpdatePushIdResponseSettings
UpdateUserName.skiserver.UpdateUserNameRequest.skiserver.UpdateUserNameResponse
UpdateUserPrivacy.skiserver.UpdateUserPrivacyRequest.skiserver.UpdateUserPrivacyResponse
SendDecryptStatusMsgRobotSendDecryptStatusRequestRobotSendDecryptStatusResponseMisc
EncryptFileRobotEncryptFileRequestRobotEncryptFileResponse
DecryptFileRobotDecryptFileRequestRobotDecryptFileResponse
SubscribeEventSubscriptionEventNotification streamserver streaming operations

Top

skirobot/EventNotification.proto

EventNotification

Message for event notification from subscription service.

FieldTypeLabelDescription
initedOnInited
user_registeredOnUserRegistered
group_createdOnGroupCreated
group_members_addedOnGroupMembersAdded
group_members_removedOnGroupMembersRemoved
user_updatedOnUserUpdated
one2one_msg_receivedOnOne2oneMsgReceived
other_device_msg_receivedOnOtherDeviceMsgReceived
group_msg_receivedOnGroupMsgReceived
friend_manager_msg_receivedOnFriendManagerMsgReceived
group_manager_msg_receivedOnGroupManagerMsgReceived
system_manager_msg_receivedOnSystemManagerMsgReceived

OnFriendManagerMsgReceived

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
friend_manager_msge2ees.FriendManagerMsg

OnGroupCreated

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
group_addresse2ees.E2eeAddress
group_namestring
group_member_liste2ees.GroupMemberrepeated

OnGroupManagerMsgReceived

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
group_manager_msge2ees.GroupManagerMsg

OnGroupMembersAdded

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
group_addresse2ees.E2eeAddress
group_namestring
group_member_liste2ees.GroupMemberrepeated
added_group_member_liste2ees.GroupMemberrepeated

OnGroupMembersRemoved

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
group_addresse2ees.E2eeAddress
group_namestring
group_member_liste2ees.GroupMemberrepeated
removed_group_member_liste2ees.GroupMemberrepeated

OnGroupMsgReceived

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
plain_msgski.PlainMsg

OnInited

OnOne2oneMsgReceived

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
plain_msgski.PlainMsg

OnOtherDeviceMsgReceived

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
plain_msgski.PlainMsg

OnSystemManagerMsgReceived

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
system_manager_msge2ees.SystemManagerMsg

OnUserRegistered

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress

OnUserUpdated

FieldTypeLabelDescription
user_addresse2ees.E2eeAddress
update_user_msge2ees.UpdateUserMsg

Top

skirobot/EventSubscription.proto

EventSubscription

Top

skirobot/RobotAddFriendRequest.proto

RobotAddFriendRequest

FieldTypeLabelDescription
to_userstring

Top

skirobot/RobotAddGroupMembersRequest.proto

RobotAddGroupMembersRequest

FieldTypeLabelDescription
to_groupstring
adding_memberse2ees.GroupMemberrepeated

Top

skirobot/RobotBlockFriendRequest.proto

RobotBlockFriendRequest

FieldTypeLabelDescription
to_userstring

Top

skirobot/RobotCreateAccountRequest.proto

RobotCreateAccountRequest

FieldTypeLabelDescription
usernamestring
user_idstring
authenticatorstring
auth_codestring

Top

skirobot/RobotCreateGroupRequest.proto

RobotCreateGroupRequest

FieldTypeLabelDescription
group_namestring
group_memberse2ees.GroupMemberrepeated

Top

skirobot/RobotDecryptFileRequest.proto

RobotDecryptFileRequest

Request for decrypting file.

FieldTypeLabelDescription
passkeybytes
in_file_pathstring

Top

skirobot/RobotDecryptFileResponse.proto

RobotDecryptFileResponse

Response for decrypting a file.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code given by the server.
msgstringThe message given by the server.
urlstringThe url for decrypted file.

Top

skirobot/RobotEncryptFileRequest.proto

RobotEncryptFileRequest

Request for encrypting file.

FieldTypeLabelDescription
passkeybytes
in_file_pathstring

Top

skirobot/RobotEncryptFileResponse.proto

RobotEncryptFileResponse

Response for encrypting a file.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code given by the server.
msgstringThe message given by the server.
urlstringThe url for encrypted file.

Top

skirobot/RobotGetFriendsRequest.proto

RobotGetFriendsRequest

Top

skirobot/RobotGetUserRequest.proto

RobotGetUserRequest

FieldTypeLabelDescription
user_addressstring

Top

skirobot/RobotInviteRequest.proto

RobotInviteRequest

FieldTypeLabelDescription
to_userstring

Top

skirobot/RobotLoginRequest.proto

RobotLoginRequest

FieldTypeLabelDescription
user_addressstring

Top

skirobot/RobotLogoutRequest.proto

RobotLogoutRequest

Top

skirobot/RobotMemoFriendRequest.proto

RobotMemoFriendRequest

FieldTypeLabelDescription
to_userstring
memonamestring

Top

skirobot/RobotMsgDTO.proto

RobotMsgDTO

FieldTypeLabelDescription
po_idstring

Top

skirobot/RobotRemoveFriendRequest.proto

RobotRemoveFriendRequest

FieldTypeLabelDescription
to_userstring

Top

skirobot/RobotRemoveGroupMembersRequest.proto

RobotRemoveGroupMembersRequest

FieldTypeLabelDescription
to_groupstring
removing_memberse2ees.GroupMemberrepeated

Top

skirobot/RobotSendDecryptStatusRequest.proto

RobotSendDecryptStatusRequest

FieldTypeLabelDescription
tostring
msg_idsstringrepeated

Top

skirobot/RobotSendDecryptStatusResponse.proto

RobotSendDecryptStatusResponse

FieldTypeLabelDescription
codee2ees.ResponseCode
msgstring

Top

skirobot/RobotSendPlainMsgRequest.proto

RobotSendPlainMsgRequest

Send a group or one2one plainMsg.

FieldTypeLabelDescription
plain_msgski.PlainMsg
notif_levele2ees.NotifLevel

Top

skirobot/RobotSendSyncPlainMsgRequest.proto

RobotSendSyncPlainMsgRequest

Send a sync plainMsg.

FieldTypeLabelDescription
plain_msgski.PlainMsg

Top

skirobot/RobotSendSyncPlainMsgResponse.proto

RobotSendSyncPlainMsgResponse

Response for sending a sync plainMsg.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code given by the server.
msgstringThe message given by the server.

Top

skirobot/RobotUnBlockFriendRequest.proto

RobotUnBlockFriendRequest

FieldTypeLabelDescription
to_userstring

Top

skirobot/RobotUpdatePushIdRequest.proto

RobotUpdatePushIdRequest

FieldTypeLabelDescription
push_idstring

Top

skirobot/RobotUpdateUserNameRequest.proto

RobotUpdateUserNameRequest

FieldTypeLabelDescription
usernamestring

Top

directory/E2eeDirectoryService.proto

E2eeDirectoryService

The directory unary grpc service.

Method NameRequest TypeResponse TypeDescription
LookupDomainProfileLookupDomainProfileRequestLookupDomainProfileResponse
RetrieveCertRetrieveCertRequestRetrieveCertResponse
RetrieveCertListRetrieveCertListRequestRetrieveCertListResponse
ValidateCertValidateCertRequestValidateCertResponse

Top

directory/E2eeDomainProfile.proto

E2eeDomainProfile

Profile of an e2ee service domain.

FieldTypeLabelDescription
api_server_grpcServiceConnectionThe grpc api server host:port.
api_server_httpServiceConnectionThe http api server host:port.
file_server_grpcServiceConnectionThe reserved grpc file server host:port.
file_server_httpServiceConnectionThe http file server host:port.
backup_server_grpcServiceConnectionThe optional grpc backup server host:port.
backup_server_httpServiceConnectionThe optional http backup server host:port.
streaming_serverServiceConnectionThe optional streaming server url.

ServiceConnection

FieldTypeLabelDescription
apistringThe api style (ex: restful, grpc, ws).
hoststringThe host.
portint32The port.

Top

directory/LookupDomainProfileRequest.proto

LookupDomainProfileRequest

Request for looking up an e2ee service profile.

FieldTypeLabelDescription
domainstringThe domain for retriving the profile.

Top

directory/LookupDomainProfileResponse.proto

LookupDomainProfileResponse

Response for looking up an e2ee service profile.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
profileE2eeDomainProfileThe returned e2ee service profile.

Top

directory/RetrieveCertListRequest.proto

RetrieveCertListRequest

Request for retriving list of certificates by giving time stamp.

FieldTypeLabelDescription
tsint64The timestamp for retriving the certificates that is updated later.

Top

directory/RetrieveCertListResponse.proto

RetrieveCertListResponse

Response for retrieving list of certificates.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
certificate_liste2ees.CertificaterepeatedThe returned list of certificates.

Top

directory/RetrieveCertRequest.proto

RetrieveCertRequest

Request for retriving a certificate by domain.

FieldTypeLabelDescription
domainstringThe domain for retriving the profile.

Top

directory/RetrieveCertResponse.proto

RetrieveCertResponse

Response for retrieving a certificate.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.
certificatee2ees.CertificateThe returned certificate.

Top

directory/ValidateCertRequest.proto

ValidateCertRequest

Request for validating a certificate by domain.

FieldTypeLabelDescription
domainstringThe domain for retriving the profile.
cert_fingerprintbytesThe hash value as the fingerprint of cert that is being validated.

Top

directory/ValidateCertResponse.proto

ValidateCertResponse

Response for validating a certificate.

FieldTypeLabelDescription
codee2ees.ResponseCodeThe response code.
msgstringOptional response message.

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)