Adds keepActiveUser to NewUser. When set, the new user is created but the
current active user is preserved.
This is needed to create a profile for an invitation: the prepared chat is
resolved under the active user by APIChangePreparedContactUser, so the profile
that owns the invitation has to stay active until the chat has been moved to
the new one. Creating and activating in one step makes that reassignment
impossible without switching back and forth.
BoolDef gives the field omittedField = False, so clients that do not send it -
iOS, the CLI, and any older caller - keep the current behaviour of activating
the new user.
keepActiveUser is ignored when there is no active user to keep, which would
otherwise leave the app with none at all.
Note the response is still CRActiveUser: it carries the created user, which is
not the active one on this path. Documented at the field.
Regenerates the API docs and the generated TypeScript and Python client types,
which are checked by the Bot API docs tests.
The generator emits BoolDef fields as required in the client types, so the two
hand-maintained clients that build a NewUser literal - simplex-chat-python and
simplex-chat-nodejs - stop type-checking until the field is added there too. No
test covers those; a4e3a1ea1 did the same when clientService was added.
70 KiB
API Types
This file is generated automatically.
- ACIReaction
- AChat
- AChatItem
- AddRelayResult
- AddressSettings
- AgentCryptoError
- AgentErrorType
- AgentServiceError
- AutoAccept
- BadgeInfo
- BadgeProof
- BadgeStatus
- BadgeType
- BlockingInfo
- BlockingReason
- BrokerErrorType
- BusinessChatInfo
- BusinessChatType
- CICallStatus
- CIContent
- CIDeleteMode
- CIDeleted
- CIDirection
- CIFile
- CIFileStatus
- CIForwardedFrom
- CIGroupInvitation
- CIGroupInvitationStatus
- CIMention
- CIMentionMember
- CIMeta
- CIQuote
- CIReaction
- CIReactionCount
- CIStatus
- CITimed
- ChatBotCommand
- ChatDeleteMode
- ChatError
- ChatErrorType
- ChatFeature
- ChatInfo
- ChatItem
- ChatItemDeletion
- ChatListQuery
- ChatPeerType
- ChatRef
- ChatSettings
- ChatStats
- ChatType
- ChatWallpaper
- ChatWallpaperScale
- ClientNotice
- Color
- CommandError
- CommandErrorType
- CommentsGroupPreference
- ComposedMessage
- ConnStatus
- ConnType
- Connection
- ConnectionEntity
- ConnectionErrorType
- ConnectionMode
- ConnectionPlan
- Contact
- ContactAddressPlan
- ContactShortLinkData
- ContactStatus
- ContactUserPref
- ContactUserPreference
- ContactUserPreferences
- CreatedConnLink
- CryptoFile
- CryptoFileArgs
- DroppedMsg
- E2EInfo
- ErrorType
- FeatureAllowed
- FileDescr
- FileError
- FileErrorType
- FileInvitation
- FileProtocol
- FileStatus
- FileTransferMeta
- FileType
- Format
- FormattedText
- FullGroupPreferences
- FullPreferences
- Group
- GroupChatScope
- GroupChatScopeInfo
- GroupDirectInvitation
- GroupFeature
- GroupFeatureEnabled
- GroupInfo
- GroupKeys
- GroupLink
- GroupLinkOwner
- GroupLinkPlan
- GroupMember
- GroupMemberAdmission
- GroupMemberCategory
- GroupMemberRef
- GroupMemberRole
- GroupMemberSettings
- GroupMemberStatus
- GroupPreference
- GroupPreferences
- GroupProfile
- GroupRelay
- GroupRootKey
- GroupShortLinkData
- GroupShortLinkInfo
- GroupSummary
- GroupSupportChat
- GroupType
- HandshakeError
- InlineFileMode
- InvitationLinkPlan
- InvitedBy
- LinkContent
- LinkOwnerSig
- LinkPreview
- LocalBadge
- LocalProfile
- MemberCriteria
- MsgChatLink
- MsgContent
- MsgDecryptError
- MsgDirection
- MsgErrorType
- MsgFilter
- MsgReaction
- MsgReceiptStatus
- MsgSigStatus
- MsgVerified
- NameErrorType
- NetworkError
- NewUser
- NoteFolder
- OwnerVerification
- PaginationByTime
- PendingContactConnection
- PlanResolveMode
- PrefEnabled
- Preferences
- PreparedContact
- PreparedGroup
- Profile
- ProxyClientError
- ProxyError
- PublicGroupAccess
- PublicGroupData
- PublicGroupProfile
- RCErrorType
- RatchetSyncState
- RcvConnEvent
- RcvDirectEvent
- RcvFileDescr
- RcvFileStatus
- RcvFileTransfer
- RcvGroupEvent
- RcvMsgError
- RelayCapabilities
- RelayProfile
- RelayStatus
- ReportReason
- RoleGroupPreference
- SMPAgentError
- SecurityCode
- SimplePreference
- SimplexDomain
- SimplexDomainClaim
- SimplexDomainError
- SimplexDomainProof
- SimplexLinkType
- SimplexNameInfo
- SimplexNameType
- SimplexTLD
- SndCIStatusProgress
- SndConnEvent
- SndError
- SndFileTransfer
- SndGroupEvent
- SrvError
- StoreError
- SubscriptionStatus
- SupportGroupPreference
- SwitchPhase
- TimedMessagesGroupPreference
- TimedMessagesPreference
- TransportError
- UIColorMode
- UIColors
- UIThemeEntityOverride
- UIThemeEntityOverrides
- UpdatedMessage
- User
- UserChatRelay
- UserContact
- UserContactLink
- UserContactRequest
- UserContactRequestRef
- UserInfo
- UserProfileUpdateSummary
- UserPwdHash
- VersionRange
- XFTPErrorType
- XFTPRcvFile
- XFTPSndFile
ACIReaction
Record type:
- chatInfo: ChatInfo
- chatReaction: CIReaction
AChat
Record type:
AChatItem
Record type:
AddRelayResult
Record type:
- relay: UserChatRelay
- relayError: ChatError?
AddressSettings
Record type:
- businessAddress: bool
- autoAccept: AutoAccept?
- autoReply: MsgContent?
AgentCryptoError
Discriminated union type:
DECRYPT_AES:
- type: "DECRYPT_AES"
DECRYPT_CB:
- type: "DECRYPT_CB"
RATCHET_HEADER:
- type: "RATCHET_HEADER"
RATCHET_SYNC:
- type: "RATCHET_SYNC"
AgentErrorType
Discriminated union type:
CMD:
- type: "CMD"
- cmdErr: CommandErrorType
- errContext: string
CONN:
- type: "CONN"
- connErr: ConnectionErrorType
- errContext: string
NO_USER:
- type: "NO_USER"
SMP:
- type: "SMP"
- serverAddress: string
- smpErr: ErrorType
NTF:
- type: "NTF"
- serverAddress: string
- ntfErr: ErrorType
XFTP:
- type: "XFTP"
- serverAddress: string
- xftpErr: XFTPErrorType
FILE:
- type: "FILE"
- fileErr: FileErrorType
NO_NAME_SERVERS:
- type: "NO_NAME_SERVERS"
PROXY:
- type: "PROXY"
- proxyServer: string
- relayServer: string
- proxyErr: ProxyClientError
RCP:
- type: "RCP"
- rcpErr: RCErrorType
BROKER:
- type: "BROKER"
- brokerAddress: string
- brokerErr: BrokerErrorType
AGENT:
- type: "AGENT"
- agentErr: SMPAgentError
NOTICE:
- type: "NOTICE"
- server: string
- preset: bool
- expiresAt: UTCTime?
INTERNAL:
- type: "INTERNAL"
- internalErr: string
CRITICAL:
- type: "CRITICAL"
- offerRestart: bool
- criticalErr: string
INACTIVE:
- type: "INACTIVE"
AgentServiceError
Discriminated union type:
Rejected:
- type: "rejected"
- rejectReason: string
Timeout:
- type: "timeout"
NoPendingRequest:
- type: "noPendingRequest"
NotDRAddress:
- type: "notDRAddress"
BadSignature:
- type: "badSignature"
AutoAccept
Record type:
- acceptIncognito: bool
BadgeInfo
Record type:
- badgeType: BadgeType
- badgeExpiry: UTCTime?
- badgeExtra: string
BadgeProof
Record type:
- badgeKeyIdx: int
- presHeader: string
- proof: string
- badgeInfo: BadgeInfo
BadgeStatus
Enum type:
- "active"
- "expired"
- "expiredOld"
- "failed"
- "unknownKey"
BadgeType
Enum type:
- "supporter"
- "legend"
- "investor"
BlockingInfo
Record type:
- reason: BlockingReason
- notice: ClientNotice?
BlockingReason
Enum type:
- "spam"
- "content"
BrokerErrorType
Discriminated union type:
RESPONSE:
- type: "RESPONSE"
- respErr: string
UNEXPECTED:
- type: "UNEXPECTED"
- respErr: string
NETWORK:
- type: "NETWORK"
- networkError: NetworkError
HOST:
- type: "HOST"
NO_SERVICE:
- type: "NO_SERVICE"
TRANSPORT:
- type: "TRANSPORT"
- transportErr: TransportError
TIMEOUT:
- type: "TIMEOUT"
BusinessChatInfo
Record type:
- chatType: BusinessChatType
- businessId: string
- customerId: string
- businessDomain: SimplexDomainClaim?
BusinessChatType
Enum type:
- "business"
- "customer"
CICallStatus
Enum type:
- "pending"
- "missed"
- "rejected"
- "accepted"
- "negotiated"
- "progress"
- "ended"
- "error"
CIContent
Discriminated union type:
SndMsgContent:
- type: "sndMsgContent"
- msgContent: MsgContent
RcvMsgContent:
- type: "rcvMsgContent"
- msgContent: MsgContent
SndDeleted:
- type: "sndDeleted"
- deleteMode: CIDeleteMode
RcvDeleted:
- type: "rcvDeleted"
- deleteMode: CIDeleteMode
SndCall:
- type: "sndCall"
- status: CICallStatus
- duration: int
RcvCall:
- type: "rcvCall"
- status: CICallStatus
- duration: int
RcvIntegrityError:
- type: "rcvIntegrityError"
- msgError: MsgErrorType
RcvDecryptionError:
- type: "rcvDecryptionError"
- msgDecryptError: MsgDecryptError
- msgCount: word32
RcvMsgError:
- type: "rcvMsgError"
- rcvMsgError: RcvMsgError
RcvGroupInvitation:
- type: "rcvGroupInvitation"
- groupInvitation: CIGroupInvitation
- memberRole: GroupMemberRole
SndGroupInvitation:
- type: "sndGroupInvitation"
- groupInvitation: CIGroupInvitation
- memberRole: GroupMemberRole
RcvDirectEvent:
- type: "rcvDirectEvent"
- rcvDirectEvent: RcvDirectEvent
RcvGroupEvent:
- type: "rcvGroupEvent"
- rcvGroupEvent: RcvGroupEvent
SndGroupEvent:
- type: "sndGroupEvent"
- sndGroupEvent: SndGroupEvent
RcvConnEvent:
- type: "rcvConnEvent"
- rcvConnEvent: RcvConnEvent
SndConnEvent:
- type: "sndConnEvent"
- sndConnEvent: SndConnEvent
RcvChatFeature:
- type: "rcvChatFeature"
- feature: ChatFeature
- enabled: PrefEnabled
- param: int?
SndChatFeature:
- type: "sndChatFeature"
- feature: ChatFeature
- enabled: PrefEnabled
- param: int?
RcvChatPreference:
- type: "rcvChatPreference"
- feature: ChatFeature
- allowed: FeatureAllowed
- param: int?
SndChatPreference:
- type: "sndChatPreference"
- feature: ChatFeature
- allowed: FeatureAllowed
- param: int?
RcvGroupFeature:
- type: "rcvGroupFeature"
- groupFeature: GroupFeature
- preference: GroupPreference
- param: int?
- memberRole_: GroupMemberRole?
SndGroupFeature:
- type: "sndGroupFeature"
- groupFeature: GroupFeature
- preference: GroupPreference
- param: int?
- memberRole_: GroupMemberRole?
RcvChatFeatureRejected:
- type: "rcvChatFeatureRejected"
- feature: ChatFeature
RcvGroupFeatureRejected:
- type: "rcvGroupFeatureRejected"
- groupFeature: GroupFeature
SndModerated:
- type: "sndModerated"
RcvModerated:
- type: "rcvModerated"
RcvBlocked:
- type: "rcvBlocked"
SndDirectE2EEInfo:
- type: "sndDirectE2EEInfo"
- e2eeInfo: E2EInfo
RcvDirectE2EEInfo:
- type: "rcvDirectE2EEInfo"
- e2eeInfo: E2EInfo
SndGroupE2EEInfo:
- type: "sndGroupE2EEInfo"
- e2eeInfo: E2EInfo
RcvGroupE2EEInfo:
- type: "rcvGroupE2EEInfo"
- e2eeInfo: E2EInfo
ChatBanner:
- type: "chatBanner"
CIDeleteMode
Enum type:
- "broadcast"
- "internal"
- "internalMark"
- "history"
CIDeleted
Discriminated union type:
Deleted:
- type: "deleted"
- deletedTs: UTCTime?
- chatType: ChatType
Blocked:
- type: "blocked"
- deletedTs: UTCTime?
BlockedByAdmin:
- type: "blockedByAdmin"
- deletedTs: UTCTime?
Moderated:
- type: "moderated"
- deletedTs: UTCTime?
- byGroupMember: GroupMember
CIDirection
Discriminated union type:
DirectSnd:
- type: "directSnd"
DirectRcv:
- type: "directRcv"
GroupSnd:
- type: "groupSnd"
GroupRcv:
- type: "groupRcv"
- groupMember: GroupMember
ChannelRcv:
- type: "channelRcv"
LocalSnd:
- type: "localSnd"
LocalRcv:
- type: "localRcv"
CIFile
Record type:
- fileId: int64
- fileName: string
- fileSize: int64
- fileSource: CryptoFile?
- fileStatus: CIFileStatus
- fileProtocol: FileProtocol
CIFileStatus
Discriminated union type:
SndStored:
- type: "sndStored"
SndTransfer:
- type: "sndTransfer"
- sndProgress: int64
- sndTotal: int64
SndCancelled:
- type: "sndCancelled"
SndComplete:
- type: "sndComplete"
SndError:
- type: "sndError"
- sndFileError: FileError
SndWarning:
- type: "sndWarning"
- sndFileError: FileError
RcvInvitation:
- type: "rcvInvitation"
RcvAccepted:
- type: "rcvAccepted"
RcvTransfer:
- type: "rcvTransfer"
- rcvProgress: int64
- rcvTotal: int64
RcvAborted:
- type: "rcvAborted"
RcvComplete:
- type: "rcvComplete"
RcvCancelled:
- type: "rcvCancelled"
RcvError:
- type: "rcvError"
- rcvFileError: FileError
RcvWarning:
- type: "rcvWarning"
- rcvFileError: FileError
Invalid:
- type: "invalid"
- text: string
CIForwardedFrom
Discriminated union type:
Unknown:
- type: "unknown"
Contact:
- type: "contact"
- chatName: string
- msgDir: MsgDirection
- contactId: int64?
- chatItemId: int64?
Group:
- type: "group"
- chatName: string
- msgDir: MsgDirection
- groupId: int64?
- chatItemId: int64?
CIGroupInvitation
Record type:
- groupId: int64
- groupMemberId: int64
- localDisplayName: string
- groupProfile: GroupProfile
- status: CIGroupInvitationStatus
CIGroupInvitationStatus
Enum type:
- "pending"
- "accepted"
- "rejected"
- "expired"
CIMention
Record type:
- memberId: string
- memberRef: CIMentionMember?
CIMentionMember
Record type:
- groupMemberId: int64
- displayName: string
- localAlias: string?
- memberRole: GroupMemberRole
CIMeta
Record type:
- itemId: int64
- itemTs: UTCTime
- itemText: string
- itemStatus: CIStatus
- sentViaProxy: bool?
- itemSharedMsgId: string?
- itemForwarded: CIForwardedFrom?
- itemDeleted: CIDeleted?
- itemEdited: bool
- itemTimed: CITimed?
- itemLive: bool?
- userMention: bool
- hasLink: bool
- deletable: bool
- editable: bool
- forwardedByMember: int64?
- showGroupAsSender: bool
- msgVerified: MsgVerified?
- createdAt: UTCTime
- updatedAt: UTCTime
CIQuote
Record type:
- chatDir: CIDirection?
- itemId: int64?
- sharedMsgId: string?
- sentAt: UTCTime
- content: MsgContent
- formattedText: [FormattedText]?
CIReaction
Record type:
- chatDir: CIDirection
- chatItem: ChatItem
- sentAt: UTCTime
- reaction: MsgReaction
CIReactionCount
Record type:
- reaction: MsgReaction
- userReacted: bool
- totalReacted: int
CIStatus
Discriminated union type:
SndNew:
- type: "sndNew"
SndSent:
- type: "sndSent"
- sndProgress: SndCIStatusProgress
SndRcvd:
- type: "sndRcvd"
- msgRcptStatus: MsgReceiptStatus
- sndProgress: SndCIStatusProgress
SndErrorAuth:
- type: "sndErrorAuth"
SndError:
- type: "sndError"
- agentError: SndError
SndWarning:
- type: "sndWarning"
- agentError: SndError
RcvNew:
- type: "rcvNew"
RcvRead:
- type: "rcvRead"
Invalid:
- type: "invalid"
- text: string
CITimed
Record type:
- ttl: int
- deleteAt: UTCTime?
ChatBotCommand
Discriminated union type:
Command:
- type: "command"
- keyword: string
- label: string
- params: string?
Menu:
- type: "menu"
- label: string
- commands: [ChatBotCommand]
ChatDeleteMode
Discriminated union type:
Full:
- type: "full"
- notify: bool
Entity:
- type: "entity"
- notify: bool
Messages:
- type: "messages"
Syntax:
full|entity|messages[ notify=off]
type + (type == 'messages' ? '' : (!notify ? ' notify=off' : '')) // JavaScript
str(type) + ('' if str(type) == 'messages' else (' notify=off' if not notify else '')) # Python
ChatError
Discriminated union type:
Error:
- type: "error"
- errorType: ChatErrorType
ErrorAgent:
- type: "errorAgent"
- agentError: AgentErrorType
- agentConnId: string
- connectionEntity_: ConnectionEntity?
ErrorStore:
- type: "errorStore"
- storeError: StoreError
ChatErrorType
Discriminated union type:
NoActiveUser:
- type: "noActiveUser"
NoConnectionUser:
- type: "noConnectionUser"
- agentConnId: string
NoSndFileUser:
- type: "noSndFileUser"
- agentSndFileId: string
NoRcvFileUser:
- type: "noRcvFileUser"
- agentRcvFileId: string
UserUnknown:
- type: "userUnknown"
UserExists:
- type: "userExists"
- contactName: string
ChatRelayExists:
- type: "chatRelayExists"
DifferentActiveUser:
- type: "differentActiveUser"
- commandUserId: int64
- activeUserId: int64
CantDeleteActiveUser:
- type: "cantDeleteActiveUser"
- userId: int64
CantDeleteLastUser:
- type: "cantDeleteLastUser"
- userId: int64
CantHideLastUser:
- type: "cantHideLastUser"
- userId: int64
HiddenUserAlwaysMuted:
- type: "hiddenUserAlwaysMuted"
- userId: int64
EmptyUserPassword:
- type: "emptyUserPassword"
- userId: int64
UserAlreadyHidden:
- type: "userAlreadyHidden"
- userId: int64
UserNotHidden:
- type: "userNotHidden"
- userId: int64
InvalidDisplayName:
- type: "invalidDisplayName"
- displayName: string
- validName: string
ChatNotStarted:
- type: "chatNotStarted"
ChatNotStopped:
- type: "chatNotStopped"
ChatStoreChanged:
- type: "chatStoreChanged"
InvalidConnReq:
- type: "invalidConnReq"
SimplexDomainNotReady:
- type: "simplexDomainNotReady"
- simplexDomain: SimplexDomain
- simplexDomainError: SimplexDomainError
NotResolvedLocally:
- type: "notResolvedLocally"
UnsupportedConnReq:
- type: "unsupportedConnReq"
ConnReqMessageProhibited:
- type: "connReqMessageProhibited"
ContactNotReady:
- type: "contactNotReady"
- contact: Contact
ContactNotActive:
- type: "contactNotActive"
- contact: Contact
ContactDisabled:
- type: "contactDisabled"
- contact: Contact
ConnectionDisabled:
- type: "connectionDisabled"
- connection: Connection
GroupUserRole:
- type: "groupUserRole"
- groupInfo: GroupInfo
- requiredRole: GroupMemberRole
GroupMemberInitialRole:
- type: "groupMemberInitialRole"
- groupInfo: GroupInfo
- initialRole: GroupMemberRole
ContactIncognitoCantInvite:
- type: "contactIncognitoCantInvite"
GroupIncognitoCantInvite:
- type: "groupIncognitoCantInvite"
GroupContactRole:
- type: "groupContactRole"
- contactName: string
GroupDuplicateMember:
- type: "groupDuplicateMember"
- contactName: string
GroupDuplicateMemberId:
- type: "groupDuplicateMemberId"
GroupNotJoined:
- type: "groupNotJoined"
- groupInfo: GroupInfo
GroupMemberNotActive:
- type: "groupMemberNotActive"
CantBlockMemberForSelf:
- type: "cantBlockMemberForSelf"
- groupInfo: GroupInfo
- member: GroupMember
- setShowMessages: bool
GroupMemberUserRemoved:
- type: "groupMemberUserRemoved"
GroupMemberNotFound:
- type: "groupMemberNotFound"
GroupCantResendInvitation:
- type: "groupCantResendInvitation"
- groupInfo: GroupInfo
- contactName: string
GroupInternal:
- type: "groupInternal"
- message: string
FileNotFound:
- type: "fileNotFound"
- message: string
FileSize:
- type: "fileSize"
- filePath: string
FileAlreadyReceiving:
- type: "fileAlreadyReceiving"
- message: string
FileCancelled:
- type: "fileCancelled"
- message: string
FileCancel:
- type: "fileCancel"
- fileId: int64
- message: string
FileAlreadyExists:
- type: "fileAlreadyExists"
- filePath: string
FileWrite:
- type: "fileWrite"
- filePath: string
- message: string
FileSend:
- type: "fileSend"
- fileId: int64
- agentError: AgentErrorType
FileRcvChunk:
- type: "fileRcvChunk"
- message: string
FileInternal:
- type: "fileInternal"
- message: string
FileImageType:
- type: "fileImageType"
- filePath: string
FileImageSize:
- type: "fileImageSize"
- filePath: string
FileNotReceived:
- type: "fileNotReceived"
- fileId: int64
FileNotApproved:
- type: "fileNotApproved"
- fileId: int64
- unknownServers: [string]
FallbackToSMPProhibited:
- type: "fallbackToSMPProhibited"
- fileId: int64
InlineFileProhibited:
- type: "inlineFileProhibited"
- fileId: int64
InvalidForward:
- type: "invalidForward"
InvalidChatItemUpdate:
- type: "invalidChatItemUpdate"
InvalidChatItemDelete:
- type: "invalidChatItemDelete"
HasCurrentCall:
- type: "hasCurrentCall"
NoCurrentCall:
- type: "noCurrentCall"
CallContact:
- type: "callContact"
- contactId: int64
DirectMessagesProhibited:
- type: "directMessagesProhibited"
- direction: MsgDirection
- contact: Contact
AgentVersion:
- type: "agentVersion"
AgentNoSubResult:
- type: "agentNoSubResult"
- agentConnId: string
CommandError:
- type: "commandError"
- message: string
AgentCommandError:
- type: "agentCommandError"
- message: string
InvalidFileDescription:
- type: "invalidFileDescription"
- message: string
ConnectionIncognitoChangeProhibited:
- type: "connectionIncognitoChangeProhibited"
ConnectionUserChangeProhibited:
- type: "connectionUserChangeProhibited"
PeerChatVRangeIncompatible:
- type: "peerChatVRangeIncompatible"
RelayTestError:
- type: "relayTestError"
- message: string
InternalError:
- type: "internalError"
- message: string
Exception:
- type: "exception"
- message: string
ChatFeature
Enum type:
- "timedMessages"
- "fullDelete"
- "reactions"
- "voice"
- "files"
- "calls"
- "sessions"
ChatInfo
Discriminated union type:
Direct:
- type: "direct"
- contact: Contact
Group:
- type: "group"
- groupInfo: GroupInfo
- groupChatScope: GroupChatScopeInfo?
Local:
- type: "local"
- noteFolder: NoteFolder
ContactRequest:
- type: "contactRequest"
- contactRequest: UserContactRequest
ContactConnection:
- type: "contactConnection"
- contactConnection: PendingContactConnection
ChatItem
Record type:
- chatDir: CIDirection
- meta: CIMeta
- content: CIContent
- mentions: {string : CIMention}
- formattedText: [FormattedText]?
- quotedItem: CIQuote?
- reactions: [CIReactionCount]
- file: CIFile?
ChatItemDeletion
Message deletion result.
Record type:
ChatListQuery
Discriminated union type:
Filters:
- type: "filters"
- favorite: bool
- unread: bool
Search:
- type: "search"
- search: string
ChatPeerType
Enum type:
- "human"
- "bot"
- "business"
ChatRef
Used in API commands. Chat scope can only be passed with groups.
Record type:
- chatType: ChatType
- chatId: int64
- chatScope: GroupChatScope?
Syntax:
<str(chatType)><chatId>[<str(chatScope)>]
ChatType.cmdString(chatType) + chatId + (chatScope ? GroupChatScope.cmdString(chatScope) : '') // JavaScript
ChatType_cmd_string(chatType) + str(chatId) + ((GroupChatScope_cmd_string(chatScope)) if chatScope is not None else '') # Python
ChatSettings
Record type:
- enableNtfs: MsgFilter
- sendRcpts: bool?
- favorite: bool
ChatStats
Record type:
- unreadCount: int
- unreadMentions: int
- reportsCount: int
- minUnreadItemId: int64
- unreadChat: bool
ChatType
Enum type:
- "direct"
- "group"
- "local"
Syntax:
@|#|*|
self == 'direct' ? '@' : self == 'group' ? '#' : self == 'local' ? '*' : '' // JavaScript
'@' if str(self) == 'direct' else '#' if str(self) == 'group' else '*' if str(self) == 'local' else '' # Python
ChatWallpaper
Record type:
- preset: string?
- imageFile: string?
- background: string?
- tint: string?
- scaleType: ChatWallpaperScale?
- scale: double?
ChatWallpaperScale
Enum type:
- "fill"
- "fit"
- "repeat"
ClientNotice
Record type:
- ttl: int64?
Color
Enum type:
- "black"
- "red"
- "green"
- "yellow"
- "blue"
- "magenta"
- "cyan"
- "white"
CommandError
Discriminated union type:
UNKNOWN:
- type: "UNKNOWN"
SYNTAX:
- type: "SYNTAX"
PROHIBITED:
- type: "PROHIBITED"
NO_AUTH:
- type: "NO_AUTH"
HAS_AUTH:
- type: "HAS_AUTH"
NO_ENTITY:
- type: "NO_ENTITY"
CommandErrorType
Discriminated union type:
PROHIBITED:
- type: "PROHIBITED"
SYNTAX:
- type: "SYNTAX"
NO_CONN:
- type: "NO_CONN"
SIZE:
- type: "SIZE"
LARGE:
- type: "LARGE"
CommentsGroupPreference
Record type:
- enable: GroupFeatureEnabled
- duration: int?
ComposedMessage
Record type:
- fileSource: CryptoFile?
- quotedItemId: int64?
- msgContent: MsgContent
- mentions: {string : int64}
ConnStatus
Discriminated union type:
New:
- type: "new"
Prepared:
- type: "prepared"
Joined:
- type: "joined"
Requested:
- type: "requested"
Accepted:
- type: "accepted"
SndReady:
- type: "sndReady"
Ready:
- type: "ready"
Deleted:
- type: "deleted"
Failed:
- type: "failed"
- connError: string
ConnType
Enum type:
- "contact"
- "member"
- "user_contact"
Connection
Record type:
- connId: int64
- agentConnId: string
- connChatVersion: int
- peerChatVRange: VersionRange
- connLevel: int
- viaContact: int64?
- viaUserContactLink: int64?
- viaGroupLink: bool
- groupLinkId: string?
- xContactId: string?
- customUserProfileId: int64?
- connType: ConnType
- connStatus: ConnStatus
- contactConnInitiated: bool
- localAlias: string
- entityId: int64?
- connectionCode: SecurityCode?
- pqSupport: bool
- pqEncryption: bool
- pqSndEnabled: bool?
- pqRcvEnabled: bool?
- authErrCounter: int
- quotaErrCounter: int
- createdAt: UTCTime
ConnectionEntity
Discriminated union type:
RcvDirectMsgConnection:
- type: "rcvDirectMsgConnection"
- entityConnection: Connection
- contact: Contact?
RcvGroupMsgConnection:
- type: "rcvGroupMsgConnection"
- entityConnection: Connection
- groupInfo: GroupInfo
- groupMember: GroupMember
UserContactConnection:
- type: "userContactConnection"
- entityConnection: Connection
- userContact: UserContact
ConnectionErrorType
Discriminated union type:
NOT_FOUND:
- type: "NOT_FOUND"
DUPLICATE:
- type: "DUPLICATE"
SIMPLEX:
- type: "SIMPLEX"
NOT_ACCEPTED:
- type: "NOT_ACCEPTED"
NOT_AVAILABLE:
- type: "NOT_AVAILABLE"
ConnectionMode
Enum type:
- "inv"
- "con"
ConnectionPlan
Discriminated union type:
InvitationLink:
- type: "invitationLink"
- invitationLinkPlan: InvitationLinkPlan
ContactAddress:
- type: "contactAddress"
- contactAddressPlan: ContactAddressPlan
GroupLink:
- type: "groupLink"
- groupLinkPlan: GroupLinkPlan
Error:
- type: "error"
- chatError: ChatError
Contact
Record type:
- contactId: int64
- localDisplayName: string
- profile: LocalProfile
- activeConn: Connection?
- contactUsed: bool
- contactStatus: ContactStatus
- chatSettings: ChatSettings
- userPreferences: Preferences
- mergedPreferences: ContactUserPreferences
- createdAt: UTCTime
- updatedAt: UTCTime
- chatTs: UTCTime?
- preparedContact: PreparedContact?
- contactRequestId: int64?
- contactRequest: UserContactRequestRef?
- contactGroupMemberId: int64?
- contactGrpInvSent: bool
- groupDirectInv: GroupDirectInvitation?
- chatTags: [int64]
- chatItemTTL: int64?
- uiThemes: UIThemeEntityOverrides?
- chatDeleted: bool
- customData: JSONObject?
ContactAddressPlan
Discriminated union type:
Ok:
- type: "ok"
- contactSLinkData_: ContactShortLinkData?
- ownerVerification: OwnerVerification?
OwnLink:
- type: "ownLink"
ConnectingConfirmReconnect:
- type: "connectingConfirmReconnect"
ConnectingProhibit:
- type: "connectingProhibit"
- contact: Contact
Known:
- type: "known"
- contact: Contact
ContactViaAddress:
- type: "contactViaAddress"
- contact: Contact
ContactShortLinkData
Record type:
- profile: Profile
- message: MsgContent?
- business: bool
- localBadge: LocalBadge?
ContactStatus
Enum type:
- "active"
- "deleted"
- "deletedByUser"
- "rejected"
ContactUserPref
Discriminated union type:
Contact:
- type: "contact"
- preference: SimplePreference
User:
- type: "user"
- preference: SimplePreference
ContactUserPreference
Record type:
- enabled: PrefEnabled
- userPreference: ContactUserPref
- contactPreference: SimplePreference
ContactUserPreferences
Record type:
- timedMessages: ContactUserPreference
- fullDelete: ContactUserPreference
- reactions: ContactUserPreference
- voice: ContactUserPreference
- files: ContactUserPreference
- calls: ContactUserPreference
- sessions: ContactUserPreference
- commands: [ChatBotCommand]?
CreatedConnLink
Record type:
- connFullLink: string
- connShortLink: string?
Syntax:
<connFullLink>[ <connShortLink>]
connFullLink + (connShortLink ? ' ' + connShortLink : '') // JavaScript
connFullLink + ((' ' + connShortLink) if connShortLink is not None else '') # Python
CryptoFile
Record type:
- filePath: string
- cryptoArgs: CryptoFileArgs?
CryptoFileArgs
Record type:
- fileKey: string
- fileNonce: string
DroppedMsg
Record type:
- brokerTs: UTCTime
- attempts: int
E2EInfo
Record type:
- public: bool?
- pqEnabled: bool?
ErrorType
Discriminated union type:
BLOCK:
- type: "BLOCK"
SESSION:
- type: "SESSION"
CMD:
- type: "CMD"
- cmdErr: CommandError
PROXY:
- type: "PROXY"
- proxyErr: ProxyError
AUTH:
- type: "AUTH"
BLOCKED:
- type: "BLOCKED"
- blockInfo: BlockingInfo
SERVICE:
- type: "SERVICE"
CRYPTO:
- type: "CRYPTO"
QUOTA:
- type: "QUOTA"
STORE:
- type: "STORE"
- storeErr: string
NO_MSG:
- type: "NO_MSG"
LARGE_MSG:
- type: "LARGE_MSG"
EXPIRED:
- type: "EXPIRED"
INTERNAL:
- type: "INTERNAL"
NAME:
- type: "NAME"
- nameErr: NameErrorType
DUPLICATE_:
- type: "DUPLICATE_"
FeatureAllowed
Enum type:
- "always"
- "yes"
- "no"
FileDescr
Record type:
- fileDescrText: string
- fileDescrPartNo: int
- fileDescrComplete: bool
FileError
Discriminated union type:
Auth:
- type: "auth"
Blocked:
- type: "blocked"
- server: string
- blockInfo: BlockingInfo
NoFile:
- type: "noFile"
Relay:
- type: "relay"
- srvError: SrvError
Other:
- type: "other"
- fileError: string
FileErrorType
Discriminated union type:
NOT_APPROVED:
- type: "NOT_APPROVED"
SIZE:
- type: "SIZE"
REDIRECT:
- type: "REDIRECT"
- redirectError: string
FILE_IO:
- type: "FILE_IO"
- fileIOError: string
NO_FILE:
- type: "NO_FILE"
FileInvitation
Record type:
- fileName: string
- fileSize: int64
- fileDigest: string?
- fileConnReq: string?
- fileInline: InlineFileMode?
- fileDescr: FileDescr?
FileProtocol
Enum type:
- "smp"
- "xftp"
- "local"
FileStatus
Enum type:
- "new"
- "accepted"
- "connected"
- "complete"
- "cancelled"
FileTransferMeta
Record type:
- fileId: int64
- xftpSndFile: XFTPSndFile?
- xftpRedirectFor: int64?
- fileName: string
- filePath: string
- fileSize: int64
- fileInline: InlineFileMode?
- chunkSize: int64
- cancelled: bool
FileType
Enum type:
- "normal"
- "roster"
Format
Discriminated union type:
Bold:
- type: "bold"
Italic:
- type: "italic"
StrikeThrough:
- type: "strikeThrough"
Snippet:
- type: "snippet"
Secret:
- type: "secret"
Small:
- type: "small"
Colored:
- type: "colored"
- color: Color
Uri:
- type: "uri"
HyperLink:
- type: "hyperLink"
- showText: string?
- linkUri: string
SimplexLink:
- type: "simplexLink"
- showText: string?
- linkType: SimplexLinkType
- simplexUri: string
- smpHosts: [string]
SimplexName:
- type: "simplexName"
- nameInfo: SimplexNameInfo
Command:
- type: "command"
- commandStr: string
Mention:
- type: "mention"
- memberName: string
Email:
- type: "email"
Phone:
- type: "phone"
FormattedText
Record type:
- format: Format?
- text: string
FullGroupPreferences
Record type:
- timedMessages: TimedMessagesGroupPreference
- directMessages: RoleGroupPreference
- fullDelete: GroupPreference
- reactions: GroupPreference
- voice: RoleGroupPreference
- files: RoleGroupPreference
- simplexLinks: RoleGroupPreference
- reports: GroupPreference
- history: GroupPreference
- support: SupportGroupPreference
- sessions: RoleGroupPreference
- comments: CommentsGroupPreference
- signMessages: GroupPreference
- commands: [ChatBotCommand]
FullPreferences
Record type:
- timedMessages: TimedMessagesPreference
- fullDelete: SimplePreference
- reactions: SimplePreference
- voice: SimplePreference
- files: SimplePreference
- calls: SimplePreference
- sessions: SimplePreference
- commands: [ChatBotCommand]
Group
Record type:
- groupInfo: GroupInfo
- members: [GroupMember]
GroupChatScope
Discriminated union type:
MemberSupport:
- type: "memberSupport"
- groupMemberId_: int64?
Syntax:
(_support[:<groupMemberId_>])
'(_support' + (groupMemberId_ ? ':' + groupMemberId_ : '') + ')' // JavaScript
'(_support' + ((':' + str(groupMemberId_)) if groupMemberId_ is not None else '') + ')' # Python
GroupChatScopeInfo
Discriminated union type:
MemberSupport:
- type: "memberSupport"
- groupMember_: GroupMember?
GroupDirectInvitation
Record type:
- groupDirectInvLink: string
- fromGroupId_: int64?
- fromGroupMemberId_: int64?
- fromGroupMemberConnId_: int64?
- groupDirectInvStartedConnection: bool
GroupFeature
Enum type:
- "timedMessages"
- "directMessages"
- "fullDelete"
- "reactions"
- "voice"
- "files"
- "simplexLinks"
- "reports"
- "history"
- "support"
- "sessions"
- "comments"
- "signMessages"
GroupFeatureEnabled
Enum type:
- "on"
- "off"
GroupInfo
Record type:
- groupId: int64
- useRelays: bool
- relayOwnStatus: RelayStatus?
- localDisplayName: string
- groupProfile: GroupProfile
- localAlias: string
- businessChat: BusinessChatInfo?
- fullGroupPreferences: FullGroupPreferences
- membership: GroupMember
- chatSettings: ChatSettings
- createdAt: UTCTime
- updatedAt: UTCTime
- chatTs: UTCTime?
- userMemberProfileSentAt: UTCTime?
- preparedGroup: PreparedGroup?
- chatTags: [int64]
- chatItemTTL: int64?
- uiThemes: UIThemeEntityOverrides?
- customData: JSONObject?
- groupSummary: GroupSummary
- rosterVersion: int64?
- membersRequireAttention: int
- viaGroupLinkUri: string?
- groupKeys: GroupKeys?
- groupDomainVerified: bool?
GroupKeys
Record type:
- publicGroupId: string
- groupRootKey: GroupRootKey
- memberPrivKey: string
GroupLink
Record type:
- userContactLinkId: int64
- connLinkContact: CreatedConnLink
- shortLinkDataSet: bool
- shortLinkLargeDataSet: bool
- groupLinkId: string
- acceptMemberRole: GroupMemberRole
GroupLinkOwner
Record type:
- memberId: string
- memberKey: string
GroupLinkPlan
Discriminated union type:
Ok:
- type: "ok"
- groupSLinkInfo_: GroupShortLinkInfo?
- groupSLinkData_: GroupShortLinkData?
- ownerVerification: OwnerVerification?
OwnLink:
- type: "ownLink"
- groupInfo: GroupInfo
ConnectingConfirmReconnect:
- type: "connectingConfirmReconnect"
ConnectingProhibit:
- type: "connectingProhibit"
- groupInfo_: GroupInfo?
Known:
- type: "known"
- groupInfo: GroupInfo
- groupUpdated: bool
- ownerVerification: OwnerVerification?
- linkOwners: [GroupLinkOwner]
NoRelays:
- type: "noRelays"
- groupSLinkData_: GroupShortLinkData?
UpdateRequired:
- type: "updateRequired"
- groupSLinkData_: GroupShortLinkData?
GroupMember
Record type:
- groupMemberId: int64
- groupId: int64
- indexInGroup: int64
- memberId: string
- memberRole: GroupMemberRole
- memberCategory: GroupMemberCategory
- memberStatus: GroupMemberStatus
- memberSettings: GroupMemberSettings
- blockedByAdmin: bool
- invitedBy: InvitedBy
- invitedByGroupMemberId: int64?
- localDisplayName: string
- memberProfile: LocalProfile
- memberContactId: int64?
- memberContactProfileId: int64
- activeConn: Connection?
- memberChatVRange: VersionRange
- createdAt: UTCTime
- updatedAt: UTCTime
- supportChat: GroupSupportChat?
- memberPubKey: string?
- relayLink: string?
- memberVerifiedCode: SecurityCode?
GroupMemberAdmission
Record type:
- review: MemberCriteria?
GroupMemberCategory
Enum type:
- "user"
- "invitee"
- "host"
- "pre"
- "post"
GroupMemberRef
Record type:
- groupMemberId: int64
- profile: Profile
GroupMemberRole
Enum type:
- "relay"
- "observer"
- "author"
- "member"
- "moderator"
- "admin"
- "owner"
GroupMemberSettings
Record type:
- showMessages: bool
GroupMemberStatus
Enum type:
- "rejected"
- "removed"
- "left"
- "deleted"
- "unknown"
- "invited"
- "pending_approval"
- "pending_review"
- "introduced"
- "intro-inv"
- "accepted"
- "announced"
- "connected"
- "complete"
- "creator"
GroupPreference
Record type:
- enable: GroupFeatureEnabled
GroupPreferences
Record type:
- timedMessages: TimedMessagesGroupPreference?
- directMessages: RoleGroupPreference?
- fullDelete: GroupPreference?
- reactions: GroupPreference?
- voice: RoleGroupPreference?
- files: RoleGroupPreference?
- simplexLinks: RoleGroupPreference?
- reports: GroupPreference?
- history: GroupPreference?
- support: SupportGroupPreference?
- sessions: RoleGroupPreference?
- comments: CommentsGroupPreference?
- signMessages: GroupPreference?
- commands: [ChatBotCommand]?
GroupProfile
Record type:
- displayName: string
- fullName: string
- shortDescr: string?
- description: string?
- image: string?
- publicGroup: PublicGroupProfile?
- groupPreferences: GroupPreferences?
- memberAdmission: GroupMemberAdmission?
GroupRelay
Record type:
- groupRelayId: int64
- groupMemberId: int64
- userChatRelay: UserChatRelay
- relayStatus: RelayStatus
- relayLink: string?
- relayCap: RelayCapabilities
GroupRootKey
Discriminated union type:
Private:
- type: "private"
- rootPrivKey: string
Public:
- type: "public"
- rootPubKey: string
GroupShortLinkData
Record type:
- groupProfile: GroupProfile
- publicGroupData: PublicGroupData?
GroupShortLinkInfo
Record type:
- direct: bool
- groupRelays: [string]
- publicGroupId: string?
GroupSummary
Record type:
- currentMembers: int64
- publicMemberCount: int64?
GroupSupportChat
Record type:
- chatTs: UTCTime
- unread: int64
- memberAttention: int64
- mentions: int64
- lastMsgFromMemberTs: UTCTime?
GroupType
Enum type:
- "channel"
- "group"
HandshakeError
Enum type:
- "PARSE"
- "IDENTITY"
- "BAD_AUTH"
- "BAD_SERVICE"
InlineFileMode
Enum type:
- "offer"
- "sent"
InvitationLinkPlan
Discriminated union type:
Ok:
- type: "ok"
- contactSLinkData_: ContactShortLinkData?
- ownerVerification: OwnerVerification?
OwnLink:
- type: "ownLink"
Connecting:
- type: "connecting"
- contact_: Contact?
Known:
- type: "known"
- contact: Contact
InvitedBy
Discriminated union type:
Contact:
- type: "contact"
- byContactId: int64
User:
- type: "user"
Unknown:
- type: "unknown"
LinkContent
Discriminated union type:
Page:
- type: "page"
Image:
- type: "image"
Video:
- type: "video"
- duration: int?
Unknown:
- type: "unknown"
- tag: string
- json: JSONObject
LinkOwnerSig
Record type:
- ownerId: string?
- chatBinding: string
- ownerSig: string
LinkPreview
Record type:
- uri: string
- title: string
- description: string
- image: string
- content: LinkContent?
LocalBadge
Record type:
- badge: BadgeInfo
- status: BadgeStatus
LocalProfile
Record type:
- profileId: int64
- displayName: string
- fullName: string
- shortDescr: string?
- description: string?
- image: string?
- contactLink: string?
- preferences: Preferences?
- peerType: ChatPeerType?
- localBadge: LocalBadge?
- localAlias: string
- contactDomain: SimplexDomainClaim?
- contactDomainVerified: bool?
MemberCriteria
Enum type:
- "all"
MsgChatLink
Connection link sent in a message - only short links are allowed.
Discriminated union type:
Contact:
- type: "contact"
- connLink: string
- profile: Profile
- business: bool
Invitation:
- type: "invitation"
- invLink: string
- profile: Profile
Group:
- type: "group"
- connLink: string
- groupProfile: GroupProfile
MsgContent
Discriminated union type:
Text:
- type: "text"
- text: string
Link:
- type: "link"
- text: string
- preview: LinkPreview
Image:
- type: "image"
- text: string
- image: string
Video:
- type: "video"
- text: string
- image: string
- duration: int
Voice:
- type: "voice"
- text: string
- duration: int
File:
- type: "file"
- text: string
Report:
- type: "report"
- text: string
- reason: ReportReason
Chat:
- type: "chat"
- text: string
- chatLink: MsgChatLink
- ownerSig: LinkOwnerSig?
Unknown:
- type: "unknown"
- tag: string
- text: string
- json: JSONObject
MsgDecryptError
Enum type:
- "ratchetHeader"
- "tooManySkipped"
- "ratchetEarlier"
- "other"
- "ratchetSync"
MsgDirection
Enum type:
- "rcv"
- "snd"
MsgErrorType
Discriminated union type:
MsgSkipped:
- type: "msgSkipped"
- fromMsgId: int64
- toMsgId: int64
MsgBadId:
- type: "msgBadId"
- msgId: int64
MsgBadHash:
- type: "msgBadHash"
MsgDuplicate:
- type: "msgDuplicate"
MsgFilter
Enum type:
- "none"
- "all"
- "mentions"
MsgReaction
Discriminated union type:
Emoji:
- type: "emoji"
- emoji: string
Unknown:
- type: "unknown"
- tag: string
- json: JSONObject
MsgReceiptStatus
Enum type:
- "ok"
- "badMsgHash"
MsgSigStatus
Enum type:
- "verified"
- "signedNoKey"
MsgVerified
Discriminated union type:
Signed:
- type: "signed"
- sigStatus: MsgSigStatus
SigMissing:
- type: "sigMissing"
NameErrorType
Discriminated union type:
NO_RESOLVER:
- type: "NO_RESOLVER"
NOT_FOUND:
- type: "NOT_FOUND"
RESOLVER:
- type: "RESOLVER"
- resolverErr: string
NetworkError
Discriminated union type:
ConnectError:
- type: "connectError"
- connectError: string
TLSError:
- type: "tLSError"
- tlsError: string
UnknownCAError:
- type: "unknownCAError"
FailedError:
- type: "failedError"
TimeoutError:
- type: "timeoutError"
SubscribeError:
- type: "subscribeError"
- subscribeError: string
NewUser
Record type:
- profile: Profile?
- pastTimestamp: bool
- userChatRelay: bool
- clientService: bool
- keepActiveUser: bool
NoteFolder
Record type:
- noteFolderId: int64
- userId: int64
- createdAt: UTCTime
- updatedAt: UTCTime
- chatTs: UTCTime
- favorite: bool
- unread: bool
OwnerVerification
Discriminated union type:
Verified:
- type: "verified"
Failed:
- type: "failed"
- reason: string
PaginationByTime
Discriminated union type:
Last:
- type: "last"
- count: int
Syntax:
count=<count>
'count=' + count // JavaScript
'count=' + str(count) # Python
PendingContactConnection
Record type:
- pccConnId: int64
- pccAgentConnId: string
- pccConnStatus: ConnStatus
- viaContactUri: bool
- viaUserContactLink: int64?
- groupLinkId: string?
- customUserProfileId: int64?
- connLinkInv: CreatedConnLink?
- localAlias: string
- createdAt: UTCTime
- updatedAt: UTCTime
PlanResolveMode
Enum type:
- "allGroups"
- "unknown"
- "never"
PrefEnabled
Record type:
- forUser: bool
- forContact: bool
Preferences
Record type:
- timedMessages: TimedMessagesPreference?
- fullDelete: SimplePreference?
- reactions: SimplePreference?
- voice: SimplePreference?
- files: SimplePreference?
- calls: SimplePreference?
- sessions: SimplePreference?
- commands: [ChatBotCommand]?
PreparedContact
Record type:
- connLinkToConnect: CreatedConnLink
- uiConnLinkType: ConnectionMode
- welcomeSharedMsgId: string?
- requestSharedMsgId: string?
PreparedGroup
Record type:
- connLinkToConnect: CreatedConnLink
- connLinkPreparedConnection: bool
- connLinkStartedConnection: bool
- welcomeSharedMsgId: string?
- requestSharedMsgId: string?
Profile
Record type:
- displayName: string
- fullName: string
- shortDescr: string?
- description: string?
- image: string?
- contactLink: string?
- preferences: Preferences?
- peerType: ChatPeerType?
- badge: BadgeProof?
- contactDomain: SimplexDomainClaim?
ProxyClientError
Discriminated union type:
ProtocolError:
- type: "protocolError"
- protocolErr: ErrorType
UnexpectedResponse:
- type: "unexpectedResponse"
- responseStr: string
ResponseError:
- type: "responseError"
- responseErr: ErrorType
ProxyError
Discriminated union type:
PROTOCOL:
- type: "PROTOCOL"
- protocolErr: ErrorType
BROKER:
- type: "BROKER"
- brokerErr: BrokerErrorType
BASIC_AUTH:
- type: "BASIC_AUTH"
NO_SESSION:
- type: "NO_SESSION"
PublicGroupAccess
Record type:
- groupWebPage: string?
- groupDomainClaim: SimplexDomainClaim?
- domainWebPage: bool
- allowEmbedding: bool
PublicGroupData
Record type:
- publicMemberCount: int64
PublicGroupProfile
Record type:
- groupType: GroupType
- groupLink: string
- publicGroupId: string
- publicGroupAccess: PublicGroupAccess?
RCErrorType
Discriminated union type:
Internal:
- type: "internal"
- internalErr: string
Identity:
- type: "identity"
NoLocalAddress:
- type: "noLocalAddress"
NewController:
- type: "newController"
NotDiscovered:
- type: "notDiscovered"
TLSStartFailed:
- type: "tLSStartFailed"
Exception:
- type: "exception"
- exception: string
CtrlAuth:
- type: "ctrlAuth"
CtrlNotFound:
- type: "ctrlNotFound"
CtrlError:
- type: "ctrlError"
- ctrlErr: string
Invitation:
- type: "invitation"
Version:
- type: "version"
Encrypt:
- type: "encrypt"
Decrypt:
- type: "decrypt"
BlockSize:
- type: "blockSize"
Syntax:
- type: "syntax"
- syntaxErr: string
RatchetSyncState
Enum type:
- "ok"
- "allowed"
- "required"
- "started"
- "agreed"
RcvConnEvent
Discriminated union type:
SwitchQueue:
- type: "switchQueue"
- phase: SwitchPhase
RatchetSync:
- type: "ratchetSync"
- syncStatus: RatchetSyncState
VerificationCodeReset:
- type: "verificationCodeReset"
PqEnabled:
- type: "pqEnabled"
- enabled: bool
RcvDirectEvent
Discriminated union type:
ContactDeleted:
- type: "contactDeleted"
ProfileUpdated:
GroupInvLinkReceived:
- type: "groupInvLinkReceived"
- groupProfile: GroupProfile
RcvFileDescr
Record type:
- fileDescrId: int64
- fileDescrText: string
- fileDescrPartNo: int
- fileDescrComplete: bool
RcvFileStatus
Discriminated union type:
New:
- type: "new"
Accepted:
- type: "accepted"
- filePath: string
Connected:
- type: "connected"
- filePath: string
Complete:
- type: "complete"
- filePath: string
Cancelled:
- type: "cancelled"
- filePath_: string?
RcvFileTransfer
Record type:
- fileId: int64
- xftpRcvFile: XFTPRcvFile?
- fileInvitation: FileInvitation
- fileStatus: RcvFileStatus
- fileType: FileType
- rcvFileInline: InlineFileMode?
- senderDisplayName: string
- chunkSize: int64
- cancelled: bool
- grpMemberId: int64?
- cryptoArgs: CryptoFileArgs?
RcvGroupEvent
Discriminated union type:
MemberAdded:
- type: "memberAdded"
- groupMemberId: int64
- profile: Profile
MemberConnected:
- type: "memberConnected"
MemberAccepted:
- type: "memberAccepted"
- groupMemberId: int64
- profile: Profile
UserAccepted:
- type: "userAccepted"
MemberLeft:
- type: "memberLeft"
MemberRole:
- type: "memberRole"
- groupMemberId: int64
- profile: Profile
- role: GroupMemberRole
MemberBlocked:
- type: "memberBlocked"
- groupMemberId: int64
- profile: Profile
- blocked: bool
UserRole:
- type: "userRole"
- role: GroupMemberRole
MemberDeleted:
- type: "memberDeleted"
- groupMemberId: int64
- profile: Profile
UserDeleted:
- type: "userDeleted"
GroupDeleted:
- type: "groupDeleted"
GroupUpdated:
- type: "groupUpdated"
- groupProfile: GroupProfile
InvitedViaGroupLink:
- type: "invitedViaGroupLink"
MemberCreatedContact:
- type: "memberCreatedContact"
MemberProfileUpdated:
NewMemberPendingReview:
- type: "newMemberPendingReview"
MsgBadSignature:
- type: "msgBadSignature"
RcvMsgError
Discriminated union type:
Dropped:
- type: "dropped"
- attempts: int
ParseError:
- type: "parseError"
- parseError: string
RelayCapabilities
Record type:
- webDomain: string?
RelayProfile
Record type:
- displayName: string
- fullName: string
- shortDescr: string?
- image: string?
RelayStatus
Enum type:
- "new"
- "invited"
- "accepted"
- "acknowledgedRoster"
- "active"
- "inactive"
- "rejected"
ReportReason
Enum type:
- "spam"
- "content"
- "community"
- "profile"
- "other"
RoleGroupPreference
Record type:
- enable: GroupFeatureEnabled
- role: GroupMemberRole?
SMPAgentError
Discriminated union type:
A_MESSAGE:
- type: "A_MESSAGE"
A_PROHIBITED:
- type: "A_PROHIBITED"
- prohibitedErr: string
A_VERSION:
- type: "A_VERSION"
A_LINK:
- type: "A_LINK"
- linkErr: string
A_CRYPTO:
- type: "A_CRYPTO"
- cryptoErr: AgentCryptoError
A_DUPLICATE:
- type: "A_DUPLICATE"
- droppedMsg_: DroppedMsg?
A_QUEUE:
- type: "A_QUEUE"
- queueErr: string
A_SERVICE:
- type: "A_SERVICE"
- serviceError: AgentServiceError
SecurityCode
Record type:
- securityCode: string
- verifiedAt: UTCTime
SimplePreference
Record type:
- allow: FeatureAllowed
SimplexDomain
Record type:
- nameTLD: SimplexTLD
- domain: string
- subDomain: [string]
SimplexDomainClaim
Record type:
- domain: string
- proof: SimplexDomainProof?
SimplexDomainError
Discriminated union type:
NoValidLink:
- type: "noValidLink"
UnknownDomain:
- type: "unknownDomain"
SimplexDomainProof
Record type:
- linkOwnerId: string?
- presHeader: string
- signature: string
SimplexLinkType
Enum type:
- "contact"
- "invitation"
- "group"
- "channel"
- "relay"
SimplexNameInfo
Record type:
- nameType: SimplexNameType
- nameDomain: SimplexDomain
SimplexNameType
Enum type:
- "publicGroup"
- "contact"
SimplexTLD
Enum type:
- "simplex"
- "testing"
- "web"
SndCIStatusProgress
Enum type:
- "partial"
- "complete"
SndConnEvent
Discriminated union type:
SwitchQueue:
- type: "switchQueue"
- phase: SwitchPhase
- member: GroupMemberRef?
RatchetSync:
- type: "ratchetSync"
- syncStatus: RatchetSyncState
- member: GroupMemberRef?
PqEnabled:
- type: "pqEnabled"
- enabled: bool
SndError
Discriminated union type:
Auth:
- type: "auth"
Quota:
- type: "quota"
Expired:
- type: "expired"
Relay:
- type: "relay"
- srvError: SrvError
Proxy:
- type: "proxy"
- proxyServer: string
- srvError: SrvError
ProxyRelay:
- type: "proxyRelay"
- proxyServer: string
- srvError: SrvError
Other:
- type: "other"
- sndError: string
SndFileTransfer
Record type:
- fileId: int64
- fileName: string
- filePath: string
- fileSize: int64
- chunkSize: int64
- recipientDisplayName: string
- connId: int64
- agentConnId: string
- groupMemberId: int64?
- fileStatus: FileStatus
- fileDescrId: int64?
- fileInline: InlineFileMode?
SndGroupEvent
Discriminated union type:
MemberRole:
- type: "memberRole"
- groupMemberId: int64
- profile: Profile
- role: GroupMemberRole
MemberBlocked:
- type: "memberBlocked"
- groupMemberId: int64
- profile: Profile
- blocked: bool
UserRole:
- type: "userRole"
- role: GroupMemberRole
MemberDeleted:
- type: "memberDeleted"
- groupMemberId: int64
- profile: Profile
UserLeft:
- type: "userLeft"
GroupUpdated:
- type: "groupUpdated"
- groupProfile: GroupProfile
MemberAccepted:
- type: "memberAccepted"
- groupMemberId: int64
- profile: Profile
UserPendingReview:
- type: "userPendingReview"
SrvError
Discriminated union type:
Host:
- type: "host"
Version:
- type: "version"
Other:
- type: "other"
- srvError: string
StoreError
Discriminated union type:
DuplicateName:
- type: "duplicateName"
UserNotFound:
- type: "userNotFound"
- userId: int64
RelayUserNotFound:
- type: "relayUserNotFound"
UserNotFoundByName:
- type: "userNotFoundByName"
- contactName: string
UserNotFoundByContactId:
- type: "userNotFoundByContactId"
- contactId: int64
UserNotFoundByGroupId:
- type: "userNotFoundByGroupId"
- groupId: int64
UserNotFoundByFileId:
- type: "userNotFoundByFileId"
- fileId: int64
UserNotFoundByContactRequestId:
- type: "userNotFoundByContactRequestId"
- contactRequestId: int64
ContactNotFound:
- type: "contactNotFound"
- contactId: int64
ContactNotFoundByName:
- type: "contactNotFoundByName"
- contactName: string
ContactNotFoundByMemberId:
- type: "contactNotFoundByMemberId"
- groupMemberId: int64
ContactNotReady:
- type: "contactNotReady"
- contactName: string
DuplicateContactLink:
- type: "duplicateContactLink"
UserContactLinkNotFound:
- type: "userContactLinkNotFound"
ContactRequestNotFound:
- type: "contactRequestNotFound"
- contactRequestId: int64
ContactRequestNotFoundByName:
- type: "contactRequestNotFoundByName"
- contactName: string
InvalidContactRequestEntity:
- type: "invalidContactRequestEntity"
- contactRequestId: int64
InvalidBusinessChatContactRequest:
- type: "invalidBusinessChatContactRequest"
GroupNotFound:
- type: "groupNotFound"
- groupId: int64
GroupNotFoundByName:
- type: "groupNotFoundByName"
- groupName: string
GroupMemberNameNotFound:
- type: "groupMemberNameNotFound"
- groupId: int64
- groupMemberName: string
GroupMemberNotFound:
- type: "groupMemberNotFound"
- groupMemberId: int64
GroupMemberNotFoundByIndex:
- type: "groupMemberNotFoundByIndex"
- groupMemberIndex: int64
MemberRelationsVectorNotFound:
- type: "memberRelationsVectorNotFound"
- groupMemberId: int64
GroupHostMemberNotFound:
- type: "groupHostMemberNotFound"
- groupId: int64
GroupMemberNotFoundByMemberId:
- type: "groupMemberNotFoundByMemberId"
- memberId: string
MemberContactGroupMemberNotFound:
- type: "memberContactGroupMemberNotFound"
- contactId: int64
InvalidMemberRelationUpdate:
- type: "invalidMemberRelationUpdate"
GroupWithoutUser:
- type: "groupWithoutUser"
DuplicateGroupMember:
- type: "duplicateGroupMember"
DuplicateMemberId:
- type: "duplicateMemberId"
GroupAlreadyJoined:
- type: "groupAlreadyJoined"
GroupInvitationNotFound:
- type: "groupInvitationNotFound"
NoteFolderAlreadyExists:
- type: "noteFolderAlreadyExists"
- noteFolderId: int64
NoteFolderNotFound:
- type: "noteFolderNotFound"
- noteFolderId: int64
UserNoteFolderNotFound:
- type: "userNoteFolderNotFound"
SndFileNotFound:
- type: "sndFileNotFound"
- fileId: int64
SndFileInvalid:
- type: "sndFileInvalid"
- fileId: int64
RcvFileNotFound:
- type: "rcvFileNotFound"
- fileId: int64
RcvFileDescrNotFound:
- type: "rcvFileDescrNotFound"
- fileId: int64
FileNotFound:
- type: "fileNotFound"
- fileId: int64
RcvFileInvalid:
- type: "rcvFileInvalid"
- fileId: int64
RcvFileInvalidDescrPart:
- type: "rcvFileInvalidDescrPart"
LocalFileNoTransfer:
- type: "localFileNoTransfer"
- fileId: int64
SharedMsgIdNotFoundByFileId:
- type: "sharedMsgIdNotFoundByFileId"
- fileId: int64
FileIdNotFoundBySharedMsgId:
- type: "fileIdNotFoundBySharedMsgId"
- sharedMsgId: string
SndFileNotFoundXFTP:
- type: "sndFileNotFoundXFTP"
- agentSndFileId: string
RcvFileNotFoundXFTP:
- type: "rcvFileNotFoundXFTP"
- agentRcvFileId: string
ConnectionNotFound:
- type: "connectionNotFound"
- agentConnId: string
ConnectionNotFoundById:
- type: "connectionNotFoundById"
- connId: int64
ConnectionNotFoundByMemberId:
- type: "connectionNotFoundByMemberId"
- groupMemberId: int64
PendingConnectionNotFound:
- type: "pendingConnectionNotFound"
- connId: int64
UniqueID:
- type: "uniqueID"
LargeMsg:
- type: "largeMsg"
InternalError:
- type: "internalError"
- message: string
DBException:
- type: "dBException"
- message: string
DBBusyError:
- type: "dBBusyError"
- message: string
BadChatItem:
- type: "badChatItem"
- itemId: int64
- itemTs: UTCTime?
ChatItemNotFound:
- type: "chatItemNotFound"
- itemId: int64
ChatItemNotFoundByText:
- type: "chatItemNotFoundByText"
- text: string
ChatItemSharedMsgIdNotFound:
- type: "chatItemSharedMsgIdNotFound"
- sharedMsgId: string
ChatItemNotFoundByFileId:
- type: "chatItemNotFoundByFileId"
- fileId: int64
ChatItemNotFoundByContactId:
- type: "chatItemNotFoundByContactId"
- contactId: int64
ChatItemNotFoundByGroupId:
- type: "chatItemNotFoundByGroupId"
- groupId: int64
ProfileNotFound:
- type: "profileNotFound"
- profileId: int64
DuplicateGroupLink:
- type: "duplicateGroupLink"
- groupInfo: GroupInfo
GroupLinkNotFound:
- type: "groupLinkNotFound"
- groupInfo: GroupInfo
HostMemberIdNotFound:
- type: "hostMemberIdNotFound"
- groupId: int64
ContactNotFoundByFileId:
- type: "contactNotFoundByFileId"
- fileId: int64
NoGroupSndStatus:
- type: "noGroupSndStatus"
- itemId: int64
- groupMemberId: int64
DuplicateGroupMessage:
- type: "duplicateGroupMessage"
- groupId: int64
- sharedMsgId: string
- authorGroupMemberId: int64?
- forwardedByGroupMemberId: int64?
RemoteHostNotFound:
- type: "remoteHostNotFound"
- remoteHostId: int64
RemoteHostUnknown:
- type: "remoteHostUnknown"
RemoteHostDuplicateCA:
- type: "remoteHostDuplicateCA"
RemoteCtrlNotFound:
- type: "remoteCtrlNotFound"
- remoteCtrlId: int64
RemoteCtrlDuplicateCA:
- type: "remoteCtrlDuplicateCA"
ProhibitedDeleteUser:
- type: "prohibitedDeleteUser"
- userId: int64
- contactId: int64
OperatorNotFound:
- type: "operatorNotFound"
- serverOperatorId: int64
UsageConditionsNotFound:
- type: "usageConditionsNotFound"
UserChatRelayNotFound:
- type: "userChatRelayNotFound"
- chatRelayId: int64
GroupRelayNotFound:
- type: "groupRelayNotFound"
- groupRelayId: int64
GroupRelayNotFoundByMemberId:
- type: "groupRelayNotFoundByMemberId"
- groupMemberId: int64
InvalidQuote:
- type: "invalidQuote"
InvalidMention:
- type: "invalidMention"
InvalidDeliveryTask:
- type: "invalidDeliveryTask"
- taskId: int64
DeliveryTaskNotFound:
- type: "deliveryTaskNotFound"
- taskId: int64
InvalidDeliveryJob:
- type: "invalidDeliveryJob"
- jobId: int64
DeliveryJobNotFound:
- type: "deliveryJobNotFound"
- jobId: int64
WorkItemError:
- type: "workItemError"
- errContext: string
SubscriptionStatus
Discriminated union type:
Active:
- type: "active"
Pending:
- type: "pending"
Removed:
- type: "removed"
- subError: string
NoSub:
- type: "noSub"
SupportGroupPreference
Record type:
- enable: GroupFeatureEnabled
SwitchPhase
Enum type:
- "started"
- "confirmed"
- "secured"
- "completed"
TimedMessagesGroupPreference
Record type:
- enable: GroupFeatureEnabled
- ttl: int?
TimedMessagesPreference
Record type:
- allow: FeatureAllowed
- ttl: int?
TransportError
Discriminated union type:
BadBlock:
- type: "badBlock"
Version:
- type: "version"
LargeMsg:
- type: "largeMsg"
BadSession:
- type: "badSession"
NoServerAuth:
- type: "noServerAuth"
Handshake:
- type: "handshake"
- handshakeErr: HandshakeError
UIColorMode
Enum type:
- "light"
- "dark"
UIColors
Record type:
- accent: string?
- accentVariant: string?
- secondary: string?
- secondaryVariant: string?
- background: string?
- menus: string?
- title: string?
- accentVariant2: string?
- sentMessage: string?
- sentReply: string?
- receivedMessage: string?
- receivedReply: string?
UIThemeEntityOverride
Record type:
- mode: UIColorMode
- wallpaper: ChatWallpaper?
- colors: UIColors
UIThemeEntityOverrides
Record type:
- light: UIThemeEntityOverride?
- dark: UIThemeEntityOverride?
UpdatedMessage
Record type:
- msgContent: MsgContent
- mentions: {string : int64}
User
Record type:
- userId: int64
- agentUserId: int64
- userContactId: int64
- localDisplayName: string
- profile: LocalProfile
- fullPreferences: FullPreferences
- activeUser: bool
- activeOrder: int64
- viewPwdHash: UserPwdHash?
- showNtfs: bool
- sendRcptsContacts: bool
- sendRcptsSmallGroups: bool
- autoAcceptMemberContacts: bool
- userMemberProfileUpdatedAt: UTCTime?
- userChatRelay: bool
- clientService: bool
- uiThemes: UIThemeEntityOverrides?
UserChatRelay
Record type:
- chatRelayId: int64
- address: string
- relayProfile: RelayProfile
- domains: [string]
- preset: bool
- tested: bool?
- enabled: bool
- deleted: bool
UserContact
Record type:
- userContactLinkId: int64
- connReqContact: string
- groupId: int64?
UserContactLink
Record type:
- userContactLinkId: int64
- connLinkContact: CreatedConnLink
- shortLinkDataSet: bool
- shortLinkLargeDataSet: bool
- addressSettings: AddressSettings
UserContactRequest
Record type:
- contactRequestId: int64
- agentInvitationId: string
- contactId_: int64?
- businessGroupId_: int64?
- userContactLinkId_: int64?
- cReqChatVRange: VersionRange
- localDisplayName: string
- profileId: int64
- profile: LocalProfile
- createdAt: UTCTime
- updatedAt: UTCTime
- xContactId: string?
- pqSupport: bool
- welcomeSharedMsgId: string?
- requestSharedMsgId: string?
- rejectionSupported: bool
UserContactRequestRef
Record type:
- contactRequestId: int64
- rejectionSupported: bool
UserInfo
Record type:
- user: User
- unreadCount: int
UserProfileUpdateSummary
Record type:
- updateSuccesses: int
- updateFailures: int
- changedContacts: [Contact]
UserPwdHash
Record type:
- hash: string
- salt: string
VersionRange
Record type:
- minVersion: int
- maxVersion: int
XFTPErrorType
Discriminated union type:
BLOCK:
- type: "BLOCK"
SESSION:
- type: "SESSION"
HANDSHAKE:
- type: "HANDSHAKE"
CMD:
- type: "CMD"
- cmdErr: CommandError
AUTH:
- type: "AUTH"
BLOCKED:
- type: "BLOCKED"
- blockInfo: BlockingInfo
SIZE:
- type: "SIZE"
QUOTA:
- type: "QUOTA"
DIGEST:
- type: "DIGEST"
CRYPTO:
- type: "CRYPTO"
NO_FILE:
- type: "NO_FILE"
HAS_FILE:
- type: "HAS_FILE"
FILE_IO:
- type: "FILE_IO"
TIMEOUT:
- type: "TIMEOUT"
INTERNAL:
- type: "INTERNAL"
DUPLICATE_:
- type: "DUPLICATE_"
XFTPRcvFile
Record type:
- rcvFileDescription: RcvFileDescr
- agentRcvFileId: string?
- agentRcvFileDeleted: bool
- userApprovedRelays: bool
XFTPSndFile
Record type:
- agentSndFileId: string
- privateSndFileDescr: string?
- agentSndFileDeleted: bool
- cryptoArgs: CryptoFileArgs?