Files
simplex-chat/bots/api/TYPES.md
Evgeny 8798ede50a core: extended network errors information (simplexmq) (#6247)
* core: extended network errors information (simplexmq)

* fix test

* docs: add NetworkError to bot API types

* update simplexmq - JSON encoding for missing NetworkError
2025-09-07 15:07:21 +01:00

60 KiB

API Types

This file is generated automatically.


ACIReaction

Record type:


AChat

Record type:


AChatItem

Record type:


AddressSettings

Record type:


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:

CONN:

NO_USER:

  • type: "NO_USER"

SMP:

  • type: "SMP"
  • serverAddress: string
  • smpErr: ErrorType

NTF:

  • type: "NTF"
  • serverAddress: string
  • ntfErr: ErrorType

XFTP:

FILE:

PROXY:

  • type: "PROXY"
  • proxyServer: string
  • relayServer: string
  • proxyErr: ProxyClientError

RCP:

BROKER:

AGENT:

INTERNAL:

  • type: "INTERNAL"
  • internalErr: string

CRITICAL:

  • type: "CRITICAL"
  • offerRestart: bool
  • criticalErr: string

INACTIVE:

  • type: "INACTIVE"

AutoAccept

Record type:

  • acceptIncognito: bool

BlockingInfo

Record type:


BlockingReason

Enum type:

  • "spam"
  • "content"

BrokerErrorType

Discriminated union type:

RESPONSE:

  • type: "RESPONSE"
  • respErr: string

UNEXPECTED:

  • type: "UNEXPECTED"
  • respErr: string

NETWORK:

HOST:

  • type: "HOST"

NO_SERVICE:

  • type: "NO_SERVICE"

TRANSPORT:

TIMEOUT:

  • type: "TIMEOUT"

BusinessChatInfo

Record type:


BusinessChatType

Enum type:

  • "business"
  • "customer"

CICallStatus

Enum type:

  • "pending"
  • "missed"
  • "rejected"
  • "accepted"
  • "negotiated"
  • "progress"
  • "ended"
  • "error"

CIContent

Discriminated union type:

SndMsgContent:

RcvMsgContent:

SndDeleted:

RcvDeleted:

SndCall:

RcvCall:

RcvIntegrityError:

RcvDecryptionError:

  • type: "rcvDecryptionError"
  • msgDecryptError: MsgDecryptError
  • msgCount: word32

RcvGroupInvitation:

SndGroupInvitation:

RcvDirectEvent:

RcvGroupEvent:

SndGroupEvent:

RcvConnEvent:

SndConnEvent:

RcvChatFeature:

SndChatFeature:

RcvChatPreference:

SndChatPreference:

RcvGroupFeature:

SndGroupFeature:

RcvChatFeatureRejected:

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"

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:

LocalSnd:

  • type: "localSnd"

LocalRcv:

  • type: "localRcv"

CIFile

Record type:


CIFileStatus

Discriminated union type:

SndStored:

  • type: "sndStored"

SndTransfer:

  • type: "sndTransfer"
  • sndProgress: int64
  • sndTotal: int64

SndCancelled:

  • type: "sndCancelled"

SndComplete:

  • type: "sndComplete"

SndError:

SndWarning:

RcvInvitation:

  • type: "rcvInvitation"

RcvAccepted:

  • type: "rcvAccepted"

RcvTransfer:

  • type: "rcvTransfer"
  • rcvProgress: int64
  • rcvTotal: int64

RcvAborted:

  • type: "rcvAborted"

RcvComplete:

  • type: "rcvComplete"

RcvCancelled:

  • type: "rcvCancelled"

RcvError:

RcvWarning:

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:


CIGroupInvitationStatus

Enum type:

  • "pending"
  • "accepted"
  • "rejected"
  • "expired"

CIMention

Record type:


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
  • deletable: bool
  • editable: bool
  • forwardedByMember: int64?
  • showGroupAsSender: bool
  • createdAt: UTCTime
  • updatedAt: UTCTime

CIQuote

Record type:


CIReaction

Record type:


CIReactionCount

Record type:

  • reaction: MsgReaction
  • userReacted: bool
  • totalReacted: int

CIStatus

Discriminated union type:

SndNew:

  • type: "sndNew"

SndSent:

SndRcvd:

SndErrorAuth:

  • type: "sndErrorAuth"

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:


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:

ErrorAgent:

ErrorStore:


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"

ActiveUserExists:

  • type: "activeUserExists"

UserExists:

  • type: "userExists"
  • contactName: string

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"

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:

GroupMemberInitialRole:

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:

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

FileRead:

  • type: "fileRead"
  • filePath: string
  • message: string

FileWrite:

  • type: "fileWrite"
  • filePath: string
  • message: string

FileSend:

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:

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"

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:

Group:

Local:

ContactRequest:

ContactConnection:


ChatItem

Record type:


ChatItemDeletion

Message deletion result.

Record type:


ChatPeerType

Enum type:

  • "human"
  • "bot"

ChatRef

Used in API commands. Chat scope can only be passed with groups.

Record type:

Syntax:

<str(chatType)><chatId>[<str(chatScope)>]
chatType.toString() + chatId + (chatScope ? chatScope.toString() : '') // JavaScript
str(chatType) + str(chatId) + ((str(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"

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"

ComposedMessage

Record type:


ConnStatus

Enum type:

  • "new"
  • "prepared"
  • "joined"
  • "requested"
  • "accepted"
  • "snd-ready"
  • "ready"
  • "deleted"

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:

RcvGroupMsgConnection:

SndFileConnection:

RcvFileConnection:

UserContactConnection:


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:

ContactAddress:

GroupLink:

Error:


Contact

Record type:


ContactAddressPlan

Discriminated union type:

Ok:

OwnLink:

  • type: "ownLink"

ConnectingConfirmReconnect:

  • type: "connectingConfirmReconnect"

ConnectingProhibit:

  • type: "connectingProhibit"
  • contact: Contact

Known:

ContactViaAddress:

  • type: "contactViaAddress"
  • contact: Contact

ContactShortLinkData

Record type:


ContactStatus

Enum type:

  • "active"
  • "deleted"
  • "deletedByUser"

ContactUserPref

Discriminated union type:

Contact:

User:


ContactUserPreference

Record type:


ContactUserPreferences

Record type:


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:


CryptoFileArgs

Record type:

  • fileKey: string
  • fileNonce: string

E2EInfo

Record type:

  • pqEnabled: bool?

ErrorType

Discriminated union type:

BLOCK:

  • type: "BLOCK"

SESSION:

  • type: "SESSION"

CMD:

PROXY:

AUTH:

  • type: "AUTH"

BLOCKED:

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"

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:

NoFile:

  • type: "noFile"

Relay:

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

Format

Discriminated union type:

Bold:

  • type: "bold"

Italic:

  • type: "italic"

StrikeThrough:

  • type: "strikeThrough"

Snippet:

  • type: "snippet"

Secret:

  • type: "secret"

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]

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:


FullPreferences

Record type:


Group

Record type:


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:


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"
  • "sessions"

GroupFeatureEnabled

Enum type:

  • "on"
  • "off"

GroupInfo

Record type:


GroupInfoSummary

Record type:


Record type:

  • userContactLinkId: int64
  • connLinkContact: CreatedConnLink
  • shortLinkDataSet: bool
  • shortLinkLargeDataSet: bool
  • groupLinkId: string
  • acceptMemberRole: GroupMemberRole

GroupLinkPlan

Discriminated union type:

Ok:

OwnLink:

ConnectingConfirmReconnect:

  • type: "connectingConfirmReconnect"

ConnectingProhibit:

  • type: "connectingProhibit"
  • groupInfo_: GroupInfo?

Known:


GroupMember

Record type:


GroupMemberAdmission

Record type:


GroupMemberCategory

Enum type:

  • "user"
  • "invitee"
  • "host"
  • "pre"
  • "post"

GroupMemberRef

Record type:

  • groupMemberId: int64
  • profile: Profile

GroupMemberRole

Enum type:

  • "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:


GroupPreferences

Record type:


GroupProfile

Record type:


GroupShortLinkData

Record type:


GroupSummary

Record type:

  • currentMembers: int

GroupSupportChat

Record type:

  • chatTs: UTCTime
  • unread: int64
  • memberAttention: int64
  • mentions: int64
  • lastMsgFromMemberTs: UTCTime?

HandshakeError

Enum type:

  • "PARSE"
  • "IDENTITY"
  • "BAD_AUTH"
  • "BAD_SERVICE"

InlineFileMode

Enum type:

  • "offer"
  • "sent"

InvitationLinkPlan

Discriminated union type:

Ok:

OwnLink:

  • type: "ownLink"

Connecting:

  • type: "connecting"
  • contact_: Contact?

Known:


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

LinkPreview

Record type:

  • uri: string
  • title: string
  • description: string
  • image: string
  • content: LinkContent?

LocalProfile

Record type:

  • profileId: int64
  • displayName: string
  • fullName: string
  • shortDescr: string?
  • image: string?
  • contactLink: string?
  • preferences: Preferences?
  • peerType: ChatPeerType?
  • localAlias: string

MemberCriteria

Enum type:

  • "all"

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:


MsgContent

Discriminated union type:

Text:

  • type: "text"
  • text: string

Link:

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:

Chat:

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"

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

NoteFolder

Record type:

  • noteFolderId: int64
  • userId: int64
  • createdAt: UTCTime
  • updatedAt: UTCTime
  • chatTs: UTCTime
  • favorite: bool
  • unread: bool

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

PrefEnabled

Record type:

  • forUser: bool
  • forContact: bool

Preferences

Record type:


PreparedContact

Record type:


PreparedGroup

Record type:

  • connLinkToConnect: CreatedConnLink
  • connLinkPreparedConnection: bool
  • connLinkStartedConnection: bool
  • welcomeSharedMsgId: string?
  • requestSharedMsgId: string?

Profile

Record type:

  • displayName: string
  • fullName: string
  • shortDescr: string?
  • image: string?
  • contactLink: string?
  • preferences: Preferences?
  • peerType: ChatPeerType?

ProxyClientError

Discriminated union type:

ProtocolError:

  • type: "protocolError"
  • protocolErr: ErrorType

UnexpectedResponse:

  • type: "unexpectedResponse"
  • responseStr: string

ResponseError:

  • type: "responseError"
  • responseErr: ErrorType

ProxyError

Discriminated union type:

PROTOCOL:

BROKER:

BASIC_AUTH:

  • type: "BASIC_AUTH"

NO_SESSION:

  • type: "NO_SESSION"

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:

RatchetSync:

VerificationCodeReset:

  • type: "verificationCodeReset"

PqEnabled:

  • type: "pqEnabled"
  • enabled: bool

RcvDirectEvent

Discriminated union type:

ContactDeleted:

  • type: "contactDeleted"

ProfileUpdated:

GroupInvLinkReceived:


RcvFileDescr

Record type:

  • fileDescrId: int64
  • fileDescrText: string
  • fileDescrPartNo: int
  • fileDescrComplete: bool

RcvFileInfo

Record type:

  • filePath: string
  • connId: int64?
  • agentConnId: string?

RcvFileStatus

Discriminated union type:

New:

  • type: "new"

Accepted:

Connected:

Complete:

Cancelled:


RcvFileTransfer

Record type:


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:

MemberBlocked:

  • type: "memberBlocked"
  • groupMemberId: int64
  • profile: Profile
  • blocked: bool

UserRole:

MemberDeleted:

  • type: "memberDeleted"
  • groupMemberId: int64
  • profile: Profile

UserDeleted:

  • type: "userDeleted"

GroupDeleted:

  • type: "groupDeleted"

GroupUpdated:

InvitedViaGroupLink:

  • type: "invitedViaGroupLink"

MemberCreatedContact:

  • type: "memberCreatedContact"

MemberProfileUpdated:

  • type: "memberProfileUpdated"
  • fromProfile: Profile
  • toProfile: Profile

NewMemberPendingReview:

  • type: "newMemberPendingReview"

ReportReason

Enum type:

  • "spam"
  • "content"
  • "community"
  • "profile"
  • "other"

RoleGroupPreference

Record type:


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:

A_DUPLICATE:

  • type: "A_DUPLICATE"

A_QUEUE:

  • type: "A_QUEUE"
  • queueErr: string

SecurityCode

Record type:

  • securityCode: string
  • verifiedAt: UTCTime

SimplePreference

Record type:


SimplexLinkType

Enum type:

  • "contact"
  • "invitation"
  • "group"
  • "channel"
  • "relay"

SndCIStatusProgress

Enum type:

  • "partial"
  • "complete"

SndConnEvent

Discriminated union type:

SwitchQueue:

RatchetSync:

PqEnabled:

  • type: "pqEnabled"
  • enabled: bool

SndError

Discriminated union type:

Auth:

  • type: "auth"

Quota:

  • type: "quota"

Expired:

  • type: "expired"

Relay:

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:

MemberBlocked:

  • type: "memberBlocked"
  • groupMemberId: int64
  • profile: Profile
  • blocked: bool

UserRole:

MemberDeleted:

  • type: "memberDeleted"
  • groupMemberId: int64
  • profile: Profile

UserLeft:

  • type: "userLeft"

GroupUpdated:

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

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

GroupHostMemberNotFound:

  • type: "groupHostMemberNotFound"
  • groupId: int64

GroupMemberNotFoundByMemberId:

  • type: "groupMemberNotFoundByMemberId"
  • memberId: string

MemberContactGroupMemberNotFound:

  • type: "memberContactGroupMemberNotFound"
  • contactId: int64

GroupWithoutUser:

  • type: "groupWithoutUser"

DuplicateGroupMember:

  • type: "duplicateGroupMember"

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

IntroNotFound:

  • type: "introNotFound"

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"

InvalidQuote:

  • type: "invalidQuote"

InvalidMention:

  • type: "invalidMention"

SwitchPhase

Enum type:

  • "started"
  • "confirmed"
  • "secured"
  • "completed"

TimedMessagesGroupPreference

Record type:


TimedMessagesPreference

Record type:


TransportError

Discriminated union type:

BadBlock:

  • type: "badBlock"

Version:

  • type: "version"

LargeMsg:

  • type: "largeMsg"

BadSession:

  • type: "badSession"

NoServerAuth:

  • type: "noServerAuth"

Handshake:


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:


UIThemeEntityOverrides

Record type:


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?
  • uiThemes: UIThemeEntityOverrides?

UserContact

Record type:

  • userContactLinkId: int64
  • connReqContact: string
  • groupId: int64?

Record type:


UserContactRequest

Record type:

  • contactRequestId: int64
  • agentInvitationId: string
  • contactId_: int64?
  • businessGroupId_: int64?
  • userContactLinkId_: int64?
  • cReqChatVRange: VersionRange
  • localDisplayName: string
  • profileId: int64
  • profile: Profile
  • createdAt: UTCTime
  • updatedAt: UTCTime
  • xContactId: string?
  • pqSupport: bool
  • welcomeSharedMsgId: string?
  • requestSharedMsgId: string?

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:

AUTH:

  • type: "AUTH"

BLOCKED:

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?