Introduction
This documentation refers to version 1.5 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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientGenerateChannelRequest
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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. | 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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
inherits ClientMessageBase
in namespace FiveMinutes.Model.Messages.Client
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
- 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
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 serer 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 |
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
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 |
| Reason | 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.
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.
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
