Introduction

This documentation refers to version 1.6 of the Five Minute Chat service API.

The aim of this document is to describe the API in terms of data contracts.

ChannelInfo

Since API v0.1

Container of channel information, sent by the server as part of other messages.

name type description introduced required deprecated
Name string The name of the channel 0.1 True False
IsDefault bool A flag designating if the channel is default channel for the user, i.e whether they should join it automatically when first logging in. It is up to the developer to decide whether to use this flag. 0.1 True False
IsMember bool A flag designating if the user is a member of the channel. 0.1 True False
IsSilenced bool A flag designating if the user is silenced in the channel (read-only). 0.6 True False
Members List<UserInfo> A list of members in the channel 0.1 True False
Metadata List<MetadataEntry> Metadata attached to the channel. This is a list of key-value pairs and is originally populated by the developer. 1.1 True False

ClientAddUsersToPersonalGroupRequest

Since API v1.5

Sent by the client in order to add users to a personal group. If the group does not exist, it will be created automatically.

name type description introduced required deprecated
OtherUserIds List<string> Unique user ids or display ids (can be mixed) of the users to be added to the group. 0.1 True False
GroupMoniker string The name of the group to which the user(s) should be added. 0.1 True False

Possible responses

type description is error
ServerAddUsersToPersonalGroupResponse Sent by the server in response to a ClientAddUsersToPersonalGroupRequest message. False

See also

ClientChannelHistoryPagedRequest

Since API v1.2

Sent by the client when requesting history on entries in a given channel, by name and by page

name type description introduced required deprecated
ChannelName string The name of the channel for which to fetch history 1.2 True False
PageKey Guid? When looking up older messages than the latest page, use this key from the previous lookup result to query the next page. 1.2 False False

ClientChannelHistoryRequest

Since API v0.2

Sent by the client when requesting history on entries in a given channel, by name

name type description introduced required deprecated
ChannelName string The name of the channel for which to fetch history 0.2 True False
MaxMessages int Max number of entries to fetch in one batch. Clamped between [1,100] and defaults to 10. 0.3 True False
MessagesOlderThan DateTime Only include messages older than this timestamp (in UTC). Used to fetch older batches of messages from channel history. 0.4 True False

ClientChannelInfoRequest

Since API v0.3

Sent by the client whe requesting info on a given channel, by name. Primarily used for finding users who are members of the channel.

name type description introduced required deprecated
ChannelName string Name of the channel for which to fetch info 0.3 True False
Page int When requesting channel info, specifies which page of the channel members to fetch. Results per batch is at a maximum of 25. When no results are returned, no further pages exist. Defaults to 0. 0.3 True False

ClientChatMessage

Since API v0.1

Sent by the client in order to deliver a chat message to a chat channel

name type description introduced required deprecated
ChannelName string Name of the recipient channel 0.1 True False
Content string The message content. Max length is 16384 characters. 0.1 True False

ClientChatMessageTranslationRequest

Since API v0.9

Sent by the client in order to request text translation on a given message, by id

name type description introduced required deprecated
TranslateMessageId Guid The unique id (Guid) identifying the message for which translation should be run 0.9 True False
TranslateTo Language The language to which the message should be translated. The following values are allowed: English, German, French, Italian, Spanish, Swedish, Polish, Greek, Russian 0.9 True False

ClientChatMessageTtsRequest

Since API v1.0

Sent by the client in order to request text to speech generation on a given message, by id

name type description introduced required deprecated
TtsMessageId Guid The unique id (Guid) identifying the message for which text-to-speech generation should be run 0.9 True False
TranslateTo Language The language to which the message should be translated before text-to-speech generation is run. The following values are allowed: None (default), English, German, French, Italian, Spanish, Swedish, Polish, Greek, Russian 0.9 False False

ClientCreateSupportTicketRequest

Since API v1.0

Sent by the client in order to request a new support ticket be opened on behalf of the user

name type description introduced required deprecated
Topic string A topic describing the issue. This value is optional if and only if Message is instead defined. 1.0 False False
Message string A message describing the issue in more detail. This value is optional if and only if Topic is instead defined. 1.0 False False

ClientCredentialsResponse

Since API v0.1

Sent by the client in response to a ServerCredentialsRequest from the server. Identifies the client (not the user) to the server.

name type description introduced required deprecated
ApplicationId string The unique id (a Guid in string format) identifying the application 0.1 True False
ApplicationSecret string Any of the secrets (Guids in string format) used to authenticate the client with the server 0.1 True False

Possible responses

type description is error
ServerUserInfoRequest Sent by the server as a continuation of the login flow False
ServerGoodbye Sent by the server if the client credentials are invalid. True

See also

ClientDeleteChannelRequest

Since API v0.1

Sent by the client in order to delete an existing channel.

name type description introduced required deprecated
ChannelName string The name of the channel to delete 0.1 True False

Possible responses

type description is error
ServerDeleteChannelResponse Sent by the server in response to the request, indicating the result False

See also

ClientDeleteChatMessageRequest

Since API v0.6

Sent by the client in order to delete an a chat message they themselves sent.

name type description introduced required deprecated
MessageIdToDelete Guid The unique MessageId of the message to delete 1.6 True False

Possible responses

type description is error
ServerDeleteChatMessageResponse Sent by the server in response to the request, indicating the result False

See also

ClientDeleteWhisperMessageRequest

Since API v0.6

Sent by the client in order to delete an a whisper message they themselves sent.

name type description introduced required deprecated
MessageIdToDelete Guid The unique MessageId of the message to delete 1.6 True False

Possible responses

type description is error
ServerDeleteWhisperMessageResponse Sent by the server in response to the request, indicating the result False

See also

ClientEncryptedSymmetricKey

Since API v0.1

Sent by the client in response to a ServerHello message. Contains a symmetric key that will be used for the rest of the session. Should be generated every time the message is sent. The key is encrypted using the server's previously communicated public key.

name type description introduced required deprecated
EncryptedSymmetricKey byte[] Key data 0.1 True False
EncryptedSymmetricIV byte[] IV data 0.1 True False

Possible responses

type description is error
ServerCredentialsRequest Sent by the server as a continuation of the login flow False
ServerGoodbye Sent by the server if the client API version is not supported, or if the key information is invalid. True

See also

ClientGenerateChannelRequest

Since API v0.1

Sent by the client in order to ask for a channel with a random name to be generated.

name type description introduced required deprecated
ChannelExpiration DateTime Defined when the channel should expire and be automatically removed. 0.1 False False
AutoJoinChannel bool Defines whether the client should automatically join the channel after it has been created, when successful. 1.3 False False

Possible responses

type description is error
ServerGenerateChannelResponse Sent by the server in response to the request, indicating the result False

See also

ClientGenerateNamedChannelRequest

Since API v0.1

Sent by the client in order to ask for a named channel to be generated.

name type description introduced required deprecated
ChannelName string Defines the desired name of the channel 0.1 True False

Possible responses

type description is error
ServerGenerateNamedChannelResponse Sent by the server in response to the request, indicating the result False

See also

ClientGetSupportTicketRequest

Since API v1.0

Sent by the client in order to request information about an existing support ticket, by id

name type description introduced required deprecated
SupportTicketId string The unique id identifying the support ticket to fetch 1.0 True False

Possible responses

type description is error
ServerGetSupportTicketResponse Sent by the server in response to the request, containing the result of the request False

See also

ClientJoinChannelRequest

Since API v0.1

Sent by the client when requesting to join a channel, by name

name type description introduced required deprecated
ChannelName string Name of the channel to join 0.1 True False

Possible responses

type description is error
ServerJoinChannelResponse Expected to be sent by the server in response, indicating whether the client was allowed to join the channel or not False

See also

ClientLeaveChannelRequest

Since API v0.1

Sent by the client when requesting to leave a channel, by name

name type description introduced required deprecated
ChannelName string Name of the channel to leave 0.1 True False

Possible responses

type description is error
ServerLeaveChannelResponse Sent by the server in response to this request, indicating the result of the request to leave the channel False

See also

ClientListPersonalGroupNamesRequest

Since API v1.5

Sent by the client in order to list all personal groups owned by the user, if any.

Possible responses

type description is error
ServerListPersonalGroupNamesResponse Sent by the server in response to a ClientListPersonalGroupNamesRequest message. False

See also

ClientListSubscriptionsRequest

Since API v1.5

Sent by the client in order to list subscriptions by the user, if any.

Possible responses

type description is error
ServerListSubscriptionsResponse Sent by the server in response to a ClientListSubscriptionsRequest message. False

See also

ClientMessageBase

Since API v0.1

Base class of all messages passed between client and server

name type description introduced required deprecated
MessageId Guid A unique identifier (Guid) for the message. Must always be unique between messages and cannot be re-used. Is always automatically set. The value is used by the backend as an idempotency token; duplicates will be filtered out and ignored. 0.1 True False
IsAckRequested bool Whether to have the client request an acknowledgement of the message. If true, the server will send a ServerAck back to the client, with the same MessageId as the original message. 0.4 True False

ClientP2PStreamEndpointInfoRequest

Since API v1.4

Sent by the client as part fo the P2P stream negotiation process. The server will forward this standard WebRTC ICE candidate information to the other client.

name type description introduced required deprecated
Recipient string The recipient of the message. This is the UniqueUserId or DisplayId of the user 0.1 True False
Candidate string The standard WebRTC ICE candidate information. 0.1 True False
SdpMid string The SDP mid of the ICE candidate. 0.1 True False
SdpMLineIndex Int32? The SDP m-line index of the ICE candidate. 0.1 True False

ClientP2PStreamNegotiationRequest

Since API v1.4

Sent by the client when it wants to negotiate a P2P stream with another client. The server will then forward this message to the recipient client.

name type description introduced required deprecated
Recipient string The recipient of the message. This is the UniqueUserId or DisplayId of the user that the client wants to negotiate a P2P stream with. 0.1 True False
Type string The type of the connection. Options are any of the standard WebRTC connection types: Offer, Pranswer, Answer and Rollback. 0.1 True False
ConnectionInfo string The connection info. This is a standard WebRTC SDP payload that is used to negotiate the connection. 0.1 True False

ClientRemoveUsersFromPersonalGroupRequest

Since API v1.5

Sent by the client in order to remove users from a personal group. Once a group is emptied, it will be automatically removed.

name type description introduced required deprecated
OtherUserIds List<string> Unique user ids or display ids (can be mixed) of the users to be removed from the group. 0.1 True False
GroupMoniker string The name of the group to which the user(s) should be added. 0.1 True False

Possible responses

type description is error
ServerRemoveUsersFromPersonalGroupResponse Sent by the server in response to a ClientRemoveUsersFromPersonalGroupRequest message. False

See also

ClientReportChatMessageRequest

Since API v0.7

Sent by the client reporting a message to moderators, by message id.

name type description introduced required deprecated
ReportedMessageId Guid The unique message id (Guid) identifying the message to report. 0.7 True False
ReportDescription string The complaint the user would like to report to moderators. 0.7 True False

ClientReportWhisperMessageRequest

Since API v0.7

Sent by the client reporting a message to moderators, by message id.

ClientSendSupportTicketMessageRequest

Since API v1.0

Sent by the client when responding to an ongoing conversation in a support ticket.

name type description introduced required deprecated
SupportTicketId string The unique id of the support ticket to respond to. 1.0 True False
Message string The message to send. 1.0 True False

ClientSetMetadataRequest

Since API v0.8

Used to attach metadata key-value pairs either to the user that sends the request, or to a channel by name. When attached to a user, this metadata will be passed along with every chat and whisper message the user sends through the service. Be mindful of the amount of data you attach, as this will utilize addi tional network traffic, scaling linearly - O(n) - with number of recipients. When attached to a channel, it will be passed along with any ChannelInfo in a client receives for the given channel. Metadata entries are expected to be exhaustive, meaning that if you remove a previously existing key-value-pair from the list in the request, it will be removed from the user or channel. Similarly, sending a request with an empty list will clear all metadata on the user or channel.

name type description introduced required deprecated
Metadata List<MetadataEntry> List of MetaDataEntry entries, each containing a key-value-pair of metadata to attach to the user. The key must be unique, and the value must be a string. The key must be less than or equal to 128 characters, and the value must be less than or equal to 1024 characters. 0.8 True False
ChannelName string The channel to attach the metadata to. If not set, the metadata will be attached to the user. 1.1 False False

Possible responses

type description is error
ServerSetMetadataResponse Sent by the server in response to this request, indicating the result of the request to update the metadata False

See also

ClientSetUsernameRequest

Since API v0.1

Sent by the client when requesting to update their username

name type description introduced required deprecated
Username string The new username for the user. 0.1 True False

Possible responses

type description is error
ServerSetUsernameResponse Sent by the server in response to this request, indicating the result of the request to update the username False

See also

ClientSubscribeEventRequest

Since API v1.5

Sent by the client in order to subscribe to events of different types, on different targets. Subscriptions must be renewed when the client reconnects as they may expire at some point after a client disconnects.

name type description introduced required deprecated
EventTypes EventType A list of events (as a bitmask) to subscribe to with the target, e.g UserLogin (for a user) or UserJoined (for a channel). 0.1 True False
Subject string The subject whence events originates from. Can be a user display id, a unique user id, a group moniker, a channel name or a channel id 0.1 True False

Possible responses

type description is error
ServerSubscribeEventResponse Sent by the server in response to a ClientSubscribeEventRequest message False

See also

ClientUnsubscribeEventRequest

Since API v1.5

Sent by the client in order to un subscribe to events of different types, on different targets.

name type description introduced required deprecated
EventTypes EventType A list of events (as a bitmask) to subscribe to with the target, e.g UserLogin (for a user) or UserJoined (for a channel). 0.1 True False
Subject string Can be a user display id, a unique user id, a group moniker, a channel name or a channel id 0.1 True False

Possible responses

type description is error
ServerUnsubscribeEventResponse Sent by the server in response to a ClientUnsubscribeEventRequest message False

See also

ClientUserInfoRequest

Since API v0.1

Sent by the client in order to request information about an existing user by display id, or a group of users by group moniker. When requesting a single user's information, the user can request their own information as well, by leaving all fields empty.

name type description introduced required deprecated
UserDisplayId string The unique user display id identifying the user. 0.1 True False
GroupMoniker string When sending a request for a personal group of users (such as a list of friends), the moniker of the group to request information about. Note: This value will be ignored if UniqueUserId is set. 1.5 True False

Possible responses

type description is error
ServerUserInfoResponse Sent by the server in response to this request False

See also

ClientUserInfoResponse

Since API v0.1

Sent by the client in response to a ServerUserInfoRequest within the scope of the login flow.

name type description introduced required deprecated
UniqueUserId string The user id uniquely identifying the user within the scope of the application. Developers are free to decide what is appropriate unique id for their application, but the max length of this value is 256 characters 0.1 True False
Username string The desired username of the user, which is normally displayed to other users. If left empty, a username on the form Anonymous-0123456 will be generated for the user the first time they log in. 0.1 False False
AssetVersion string The version of the Unity Asset. Used for troubleshooting efforts and statistics. 1.4 False False
RuntimePlatform string The platform the application is running on. Used for troubleshooting efforts and statistics. 1.4 False False
RuntimeVersion string The version of the platform runtime. Used for troubleshooting efforts and statistics. 1.4 False False
RuntimeMode string The runtime mode of the application. Used for troubleshooting efforts and statistics. 1.4 False False
SystemLanguage string The system language the application is running under. Used for troubleshooting efforts and statistics. 1.4 False False

Possible responses

type description is error
ServerWelcome Sent by the server as a finalization of the handshake and login flow False
ServerGoodbye Sent by the server if the client credentials are invalid. True

See also

ClientWhisperHistoryPagedRequest

Since API v1.2

Sent by the client when requesting recent history of whispers to themselves.

name type description introduced required deprecated
UniqueUserId string The unique user id identifying the user making the request. This value is deprecated, will be removed and will be ignored for the time being. 0.6 False True
NewMessagesOnly bool If true, only new messages that have not yet been received will be returned. The value of this property only applies when MessageDirection is set to Received, otherwise it is ignored 0.6 False False
PageKey Guid? When looking up older messages than the latest page, use this key from the previous lookup result to query the next page. 1.2 False False
MessageDirection MessageDirection Defines the direction of the messages to be returned. Default is Received, meaning messages sent to the user. Sent means messages sent by the user and All include both. 1.4 True False

Possible responses

type description is error
ServerWhisperHistoryPagedResponse Sent by the server in response to this request, containing the results false

See also

ClientWhisperHistoryRequest

Since API v0.6

Sent by the client when requesting recent history of whispers to themselves.

name type description introduced required deprecated
UniqueUserId string The unique user id identifying the user making the request. This value is deprecated, will be removed and will be ignored for the time being. 0.6 True True
NewMessagesOnly bool If true, only new messages that have not yet been received will be returned. The value of this property only applies when MessageDirection is set to Received, otherwise it is ignored 0.6 True False
MessageDirection MessageDirection Defines the direction of the messages to be returned. Default is Received, meaning messages sent to the user. Sent means messages sent by the user and All include both. 1.4 True False

Possible responses

type description is error
ServerWhisperHistoryResponse Sent by the server in response to this request, containing the results false

See also

ClientWhisperMessage

Since API v0.1

Sent by the client in order to deliver a whisper message to another user, or a set of users

name type description introduced required deprecated
Recipient string The intended recipient of the whisper message, identified by their DisplayId or UniqueUserId. It is strongly recommended to use the DisplayId as the UniqueUserId should normally not be known to any other client than the one who owns it. As of API version 1.3, the recipient can also be
defined in the form 'respondTo:{messageId}' where the message id is the unique GUID of a whisper message. As of API version 1.5, the recipient can also be defined in the form 'groupMoniker:{name}' where the name is the moniker of a personal group previously defined for the user sending the message. 0.1 True False
Content string The message content. Max length is 1024 characters. 0.1 True False
Metadata List<MetadataEntry> Metadata attached to the message. This is a list of key-value pairs and can be populated by the client and server side alike. 1.3 True False

ClientWhisperMessageReceivedRequest

Since API v0.6

Sent by the client when reporting a whisper message as received.

name type description introduced required deprecated
ReceivedMessageId Guid The unique id (Guid) identifying the whisper message in question. 0.6 True False

EventType (enum)

Since API v1.5

Event types used when registering for event subscriptions, or as a property describing received events.

  • Unknown
  • UserMetadataUpdated
  • UserStatusUpdated
  • UserConnected
  • UserDisconnected
  • ChannelMetadataUpdated
  • UserJoinedChannel
  • UserSilencedInChannel
  • UserKickedInChannel
  • UserBannedInChannel
  • UserLeftChannel

HeartbeatMessage

Since API v0.6

Sent by the client in order to let the server know it is still alive and to keep the connection open.

Language (enum)

Since API v0.9

Languages supported by the service when using translation services

  • None
  • English
  • German
  • French
  • Italian
  • Spanish
  • Swedish
  • Polish
  • Greek
  • Russian

MessageBase

Since API v0.1

Base class of all messages passed between client and server

name type description introduced required deprecated
ApiVersion Version API version of the message 0.1 True False

MessageDirection (enum)

Since API v1.4

The direction of messages to query for, whether it was sent, received, or either.

  • All
  • Sent
  • Received

ServerAck

Since API v0.4

Sent by the server in response to any message that has the parameter IsAckRequested set to true, confirming to the client that the message was received correctly.

name type description introduced required deprecated
MessageId Guid The unique identifier of the message that was acknowledged. Value is deprecated and should not be used anymore; use property ResponseToMessageId instead. 0.4 True True

ServerAddUsersToPersonalGroupResponse

Since API v0.1

Sent by the server as a response to a ClientAddUsersToPersonalGroupRequest

name type description introduced required deprecated
UsersAdded int The number of users that were added to the personal group - duplicates not included 1.6 True False

ServerChannelHistoryPagedResponse

Since API v1.2

Sent by the server in response to a ClientChannelHistoryPagedRequest message, containing the requested channel history along with the next page key, if available.

name type description introduced required deprecated
NextPageKey Guid? Key for the next page in history enumeration, if available. 1.2 True False

ServerChannelHistoryResponse

Since API v0.2

Sent by the serer in response to a ClientChannelHistoryRequest message, containing the requested channel history.

name type description introduced required deprecated
ChannelName string Name of the channel the history is for 0.2 True False
ChatMessages List<ServerChatMessage> The chat messages of the retrieved channel history 0.2 True False

ServerChannelInfoResponse

Since API v0.3

Sent by the serer in response to a ClientChannelInfoRequest message, containing the requested channel information.

name type description introduced required deprecated
ChannelName string Name of the channel the information is for 0.3 True False
Users List<UserInfo> The users who are joined to the channel 0.3 True False
Page int The result page of the channel information (i.e the users list) 0.3 True False
Metadata List<MetadataEntry> This field contains the metadata attached to the channel, if any. 1.1 True False
Success bool A flag signifying if the channel info lookup was a success. 1.3 True False
FailureReason string If the channel info lookup was not successful, this field will contain the reason for the failure 1.3 True False

ServerChatMessage

Since API v0.1

Sent by the serer whenever a new chat message is received for a channel to which the user is joined.

name type description introduced required deprecated
MessageId Guid The unique identifier of the message id 0.3 True False
ApplicationId Guid The unique identifier of the application that the message belongs to. Is deprecated and will be removed in a future version. 0.1 True True
SentAt DateTime The timestamp of when the message was sent, as defined by when it was first received by the server from a client. Given in UTC. 0.1 True False
ChannelName string The name of the channel to which the message was sent. 0.1 True False
Content string The contents of the message 0.1 True False
FromUser UserInfo Information about the user who sent the message 0.1 True False

ServerChatMessageTranslationResponse

Since API v0.9

Sent by the serer in response to a ClientChatMessageTranslationRequest message, containing the result of the requested translation.

name type description introduced required deprecated
TranslatedMessageId Guid The unique id (Guid) identifying the message for which translation was requested 0.9 True False
TranslatedTo Language The language which the message was translated to 0.9 True False
TranslatedContent string Translated content, if successful 0.9 True False
Success bool A flag signifying if the translation was a success. 0.9 True False
FailureReason string If the translation was not successful, this field will contain the reason for the failure 0.9 True False

ServerChatMessageTtsResponse

Since API v0.9

Sent by the serer in response to a ClientChatMessageTtsRequest message, containing the result of the requested text-to-speech generation.

name type description introduced required deprecated
TtsMessageId Guid The unique id (Guid) identifying the message for which text-to-speech generation was requested 0.9 True False
TranslatedTo Language The language to which the message was translated to before text-to-speech generation was run. 0.9 False False
AudioUrl string A URL where the generated audio can be downloaded from, provided the generation was successful. 0.9 False False
Success bool A flag signifying if the text-to-speech generation was a success. 0.9 True False
FailureReason string If the text-to-speech generation was not successful, this field will contain the reason for the failure 0.9 False False

ServerCreateSupportTicketResponse

Since API v1.0

Sent by the serer in response to a ClientCreateSupportTicketRequest message, containing the result of the support ticket creation.

name type description introduced required deprecated
SupportTicketId string The support ticket id, if successful. 1.0 False False
Success bool A flag signifying if the support ticket creation was a success. 1.0 True False
FailureReason string If the support ticket creation was not successful, this field will contain the reason for the failure 1.0 False False

ServerCredentialsRequest

Since API v0.1

Sent by the server in response to a ServerHello message in an ongoing handshake (over TCP), or to start a new handshake over an already encrypted channel.

Possible responses

type description is error
ClientCredentialsResponse Expected to be sent by the client in response False

See also

  • inherits MessageBase

  • in namespace FiveMinutes.Model.Messages.Server

ServerDeleteChannelResponse

Since API v1.0

Sent by the server in response to a ClientDeleteChannelRequest message, containing the result of the channel deletion.

name type description introduced required deprecated
Success bool A flag signifying if the channel deletion was a success. 1.0 True False
FailureReason string If deletion of the channel was not successful, this field will contain the reason for the failure 1.0 False False

ServerDeleteChatMessageResponse

Since API v1.6

Sent by the server in response to a ClientDeleteChatMessageRequest message, containing the result of the message deletion.

ServerDeleteWhisperMessageResponse

Since API v1.6

Sent by the server in response to a ClientDeleteWhisperMessageRequest message, containing the result of the message deletion.

ServerGenerateChannelResponse

Since API v0.1

Sent by the serer in response to a ClientGenerateChannelRequest message, containing the result of the channel generation.

name type description introduced required deprecated
Success bool A flag signifying if the channel creation was a success. If AutoJoinChannel was set to true in the request, the client can assume that the channel was also joined at success. 0.1 True False
FailureReason string If creation of the channel was not successful, this field will contain the reason for the failure 0.1 False False
ChannelInfo ChannelInfo If channel creation was successful, this field will contain the generated channel's information. 0.1 False False

ServerGenerateNamedChannelResponse

Since API v0.1

Sent by the serer in response to a ClientGenerateNamedChannelRequest message, containing the result of the channel generation. See ServerGenerateChannelResponse for parameters.

ServerGetSupportTicketResponse

Since API v1.0

Sent by the serer in response to a ClientGetSupportTicketRequest message, indicating if getting the support ticket was a success. Provided success, communications included in the support ticket will follow separately via ServerSupportTicketMessage messages.

name type description introduced required deprecated
Success bool A flag signifying if fetching the support ticket information was a success. 1.0 True False
FailureReason string If fetching the support ticket information was not successful, this field will contain the reason for the failure 1.0 False False
SupportTicketId string The support ticket id, if successful. 1.0 False False

ServerGoodbye

Since API v0.1

Sent by the serer as an indication that the connection with the client will be dropped momentarily.

name type description introduced required deprecated
AllowAutoReconnect bool Indicates if the client should attempt to reconnect to the server after the connection is dropped.

Allowing the client to reconnect is useful for example when the client is being asked to hand over to a different server instance for re-balancing purposes. In this case, t
he client can safely establish a new connection using a normal handshake procedure.

The server may also indicate that the client should not attempt reconnection. This rule applies for clients that have been misconfigured, are running an outdated and unsupported API version, or are in some other way exhibiting unacceptable behavior. The server expects clients to stop reconnecting in this case, and should they continue to do so anyway, the client will soon see their connection attempts dropped.
0.1 True False
Reason string When the server is dropping the connection, it may provide a reason for doing so. 0.1 True False

ServerHello

Since API v0.1

Sent by the server to a client connecting over TCP in order to initiate the handshake that will establish the encryption keys for the session. The client is expected to respond with a ClientEncryptedSymmetricKey message.

name type description introduced required deprecated
PublicKeyXml string A one-time, generated public key sent by the server, encoded as XML. The client will use this to encrypt the symmetric key which will be used for the rest of the session. 0.1 True False

Possible responses

type description is error
ClientEncryptedSymmetricKey Sent by the client as a response to the ServerHello message. False

See also

  • inherits MessageBase

  • in namespace FiveMinutes.Model.Messages.Server

ServerJoinChannelResponse

Since API v0.1

Sent by the server in response to a ClientJoinChannelRequest message.

name type description introduced required deprecated
Success bool Whether the user successfully joined the channel. 0.1 True False
Reason string If joining the channel failed, this details the reason why. 0.1 True False
ChannelInfo ChannelInfo If joining the channel succeeded, this contains information about the channel. 0.1 True False
IsSilenced bool If joining the channel succeeded, this indicates whether the user is silenced in the channel (read-only). 0.6 True False

ServerLeaveChannelResponse

Since API v0.1

Sent by the server in response to a ClientLeaveChannelRequest message, containing the result of the channel leaving attempt.

name type description introduced required deprecated
Success bool A flag signifying if leaving the channel was a success. 0.1 True False
Reason string If leaving the channel was not successful, this field will contain the reason for the failure 0.1 False False
ChannelName string The name of the channel that the client asked to leave. 0.1 True False

ServerListPersonalGroupNamesServerResponse

Since API v1.5

Sent by the server in response to a ClientListPersonalGroupNamesRequest message.

name type description introduced required deprecated
Groups List<string> A collection of monikers designating the groups the user owns. 0.1 True False

ServerListSubscriptionsResponse

Since API v1.5

Sent by the server in response to a ClientListSubscriptionsRequest message.

name type description introduced required deprecated
Subjects List<SubscriptionSubject> For users, this is the Display Id. For groups, this is the Group Moniker. For channels, this is the Channel Name. 0.1 True False

ServerP2PStreamEndpointInfoRequest

Since API v1.4

Sent by the server when another client wants to share their Standard WebRTC ICE Candidate information. This is such a request forwarded to the recipient client.

name type description introduced required deprecated
FromUser UserInfo User information on the user that sent the request. 0.1 True False
Candidate string The standard WebRTC ICE candidate information. 0.1 True False
SdpMid string The SDP mid of the ICE candidate. 0.1 True False
SdpMLineIndex Int32? The SDP m-line index of the ICE candidate. 0.1 True False

ServerP2PStreamNegotiationRequest

Since API v1.4

Sent by the server when another client wants to negotiate a P2P stream with another client. This is such a request forwarded to the recipient client.

name type description introduced required deprecated
FromUser UserInfo User information on the user that sent the request. 0.1 True False
Type string The type of the connection. Options are any of the standard WebRTC connection types: Offer, Pranswer, Answer and Rollback. 0.1 True False
ConnectionInfo string The connection info. This is a standard WebRTC SDP payload that is used to negotiate the connection. 0.1 True False

ServerRemoveUsersFromPersonalGroupResponse

Since API v0.1

Sent by the server as a response to a ClientRemoveUsersFromPersonalGroupRequest

name type description introduced required deprecated
RelationshipsDeleted int The number of users that were removed from the personal group 1.6 True False
EventSubscriptionsDeleted int The number of event subscriptions that were deleted 1.6 True False

ServerResponseMessageBase

Since API v0.1

Base class of all messages passed between client and server

name type description introduced required deprecated
ResponseToMessageId Guid A unique identifier (Guid) for the message this is a response to. 0.1 True False
Success bool A flag signifying if the request triggering this response was successful or not. 1.5 True False
FailureReason string If there was a failure in processing, or as a generic status indicating what updates were made, this field may provide additional information. 0.1 True False

ServerSetMetadataResponse

Since API v1.1

Sent by the server in response to a ClientSetMetadataRequest message.

name type description introduced required deprecated
Success bool Whether the metadata was successfully set. 1.1 True False
Reason string If setting metadata failed, this details the reason why. 1.1 True False

ServerSetUsernameResponse

Since API v0.1

Sent by the serer in response to a ClientSetUsernameRequest message, containing the result of the username change.

name type description introduced required deprecated
Success bool A flag signifying if setting a new username was a success. 0.1 True False
Reason string If setting a new username was not successful, this field will contain the reason for the failure 0.1 False False
Username string The new username. If the request was successful, this field will contain the requested username - otherwise it will be empty. 0.6 False False
DisplayId string The new DisplayId. If the request was successful, this field will contain the newly generated DisplayId - otherwise it will be empty. 0.6 False False

ServerSubscribeEventResponse

Since API v1.5

Sent by the server in response to a ClientSubscribeEventRequest message, indicating whether the subscription was successful.

name type description introduced required deprecated
Reason string If there was a failure in subscribing to events, or as a generic status indicating what updates were made, this field may provide additional information. 0.1 True False

ServerSupportTicketMessage

Since API v1.0

Sent by the server whenever a new message is received for an existing support ticket conversation.

name type description introduced required deprecated
MessageId Guid The unique id of the message, used for deduplication purposes. 1.0 True False
SupportTicketId string The unique id of the support ticket to which the message belongs. 1.0 True False
FromUser UserInfo Information about the user who sent the message. 1.0 True False
Message string The contents of the message. 1.0 True False
SentAt DateTime The timestamp of when the message was first created. Given in UTC. 1.0 True False

ServerUnsubscribeEventResponse

Since API v1.5

Sent by the server in response to a ClientUnsubscribeEventRequest message, indicating whether the unsubscription was successful.

name type description introduced required deprecated
Reason string If there was a failure in unsubscribing from events, or as a generic status indicating what updates were made, this field may provide additional information. 0.1 True False

ServerUserBanInfoMessage

Since API v0.6

Sent by the server indicating a change in the ban status of the user. A user can be banned from a channel or globally. When banned from a channel, the user also gets automatically kicked from the channel and cannot re-join it until they have been un-banned. A global ban will disconnect the user from the server and they will not be able to reconnect until they have been globally un-banned.

name type description introduced required deprecated
ChannelName string If set, this field indicates which chat channel the user was banned or unbanned from. If empty, the ban is global and the user will be disconnected momentarily after having received a ServerGoodbye message. 0.6 False False
IsBanned bool A flag indicating whether the user was banned or unbanned. 0.6 True False

ServerUserEvent

Since API v1.5

Sent by the server to alert clients of an event related to a user.

name type description introduced required deprecated
EventType EventType The type of the event. 0.1 True False
UserInfo UserInfo Information about the user that the event is related to. 0.1 True False

ServerUserInfoRequest

Since API v0.1

Sent by the server in response to a ClientCredentialsResponse message in an ongoing handshake.

Possible responses

type description is error
ServerWelcome Expected to be sent by the client in response False

See also

  • inherits MessageBase

  • in namespace FiveMinutes.Model.Messages.Server

ServerUserInfoResponse

Since API v0.4

Sent by the server in response to a ClientUserInfoRequest message

name type description introduced required deprecated
Success bool Flag indicating whether fetching the user information was successful. 0.4 True False
Reason string If getting the user information failed, this details the reason why. 0.4 False False
Username string If the request was successful, this field will contain the username of the user - otherwise empty. 0.4 False False
UserDisplayId string If the request was successful, this field will contain the DisplayId of the user - otherwise empty. 0.4 False False
Metadata List<MetadataEntry> If the request was successful, this field will contain the metadata attached to the user - otherwise empty. 0.8 False False
LastSeen DateTime If the request was successful, this field will contain the last time the user had any activity - otherwise current time. Given in UTC. 0.10 False False

ServerUserInfosResponse

Since API v1.5

Sent by the server in response to a ClientUserInfoRequest message when group moniker is set, containing user information about multiple users

name type description introduced required deprecated
Success bool Flag indicating whether fetching the user information was successful. 0.1 True False
Reason string If getting the user information failed, this details the reason why. 0.1 False False
UserInfos List<UserInfo> List of user information for the requested users. 0.1 True False

ServerUserKickInfoMessage

Since API v0.6

Sent by the server indicating that the user was kicked from a channel

name type description introduced required deprecated
ChannelName string The name of the channel the user was kicked from. 0.6 True False

ServerUserSilenceInfoMessage

Since API v0.6

Sent by the server indicating a change in the silence status of the user. If the user is silenced, they will not be able to send messages to a channel (read-only). Silencing a user is a moderation action normally taken by the developer's team.

name type description introduced required deprecated
ChannelName string If set, this field indicates which chat channel the user was silenced or un-silenced in. If empty, the silence is global and the user will not be able to send any messages to in channel from now on. 0.6 False False
IsSilenced bool A flag indicating whether the user was banned or unbanned. 0.6 True False

ServerWelcome

Since API v0.1

Sent by the server in response to a ClientUserInfoResponse message as finalization of the ongoing handshake and login flow.

name type description introduced required deprecated
AvailableChannels List<ChannelInfo> List of available channels for the user to join 0.1 True False
DisplayId string The DisplayId of the user. 0.1 True False

ServerWhisperHistoryPagedResponse

Since API v1.2

Sent by the server in response to a ClientWhisperHistoryPagedRequest, indicating the results of the request

name type description introduced required deprecated
NextPageKey Guid? Key for the next page in history enumeration, if available. 1.2 True False

ServerWhisperHistoryResponse

Since API v0.6

Sent by the server in response to a ClientWhisperHistoryRequest, indicating the results of the request

name type description introduced required deprecated
WhisperMessages List<ServerWhisperMessage> The list of whisper messages retrieved from the server. 0.6 True False

ServerWhisperMessage

Since API v0.1

Sent by the serer whenever a new whisper message is received from the server. A whisper message is a one-to-one private message between two users.

name type description introduced required deprecated
MessageId Guid The unique identifier of the message, used for deduplication and tracking of messages. 0.6 True False
SentAt DateTime The timestamp of when the message was sent, as defined by when it was first received by the server from a client. Given in UTC. 0.1 True False
ToUser UserInfo Information about the user to whom the message was sent. 0.1 True False
FromUser UserInfo Information about the user who sent the message. 0.1 True False
Content string The contents of the message 0.1 True False
IsNew bool If true, the message is new and has not yet been received by the client. If false, the message has been received by the client before. 0.8 True False
Metadata List<MetadataEntry> Metadata attached to the message. This is a list of key-value pairs and can be populated by the client and server side alike. 1.3 True False

Possible responses

type description is error
ClientWhisperMessageReceivedRequest Sent by the client to indicate that the whisper message has been received by the client. The server will mark the message as no longer new. False

See also

  • inherits MessageBase

  • in namespace FiveMinutes.Model.Messages.Server

SubscriptionSubject

Since API v1.5

Description of a subscription subject

name type description introduced required deprecated
Subject string Identifier of the subject. 0.1 True False
GroupMoniker string If the subscription is based on a group, this value will hold its Moniker 0.1 True False
EventType EventType Type of event this subscription is for. 0.1 True False

UserInfo

Since API v0.1

Sent by the serer as part of a number of messages, containing information about a user.

name type description introduced required deprecated
Id Guid A unique id (Guid) for the user. This is generated by the server and is immutable. The value is deprecated and will be removed in a future version. 0.1 True True
Name string The current username of the user. 0.1 True False
DisplayId string The DisplayId of the user. Used to address private messages. 0.1 True False
UserType UserType The type of user this information pertains to 0.6 True False
Metadata List<MetadataEntry> Metadata attached to the user. This is a list of key-value pairs and is populated by the developer. 0.8 True False
LastSeen DateTime A timestamp signifying when the user was last active. This is updated by the server on any user activity and is given in UTC. 0.10 True False

UserType (enum)

Since API v0.6

The type of a user. Used to determine the role of the user in the system, such as of the author of a message

  • Standard
  • System
  • Moderator
  • Support
  • Ai