The IMIconnect JavaScript SDK has the following enumerations:


This enumeration describes different access levels a topic can have. Write access is required to publish to a topic. Read access is required to subscribe to a topic.

ReadUsers are only permitted to receive message on the topic.
WriteUsers are allowed to publish message on the topic.
ReadWriteUsers can receive and publish messages on the topic.


This enumeration describes different filters used to fetch topics.

AllUsed to fetch all the topics regardless of access level.
ReadUsed to fetch the topics with Read access.
WriteUsed to fetch the topics with Write access.
ReadWriteUsed to fetch the topics with ReadWrite access.


This enumeration describes different connection statuses between the SDK and the Real Time Messaging server.

NoneNo connection attempt has been made.
ConnectingThe SDK is attempting to establish a connection to the Real Time Messaging server.
ConnectedThe SDK is connected and allows you to publish and receive messages.
RefusedThe connection is refused by the server.
Note: Currently this value is not used.
ClosedThe SDK is disconnected from the Real Time Messaging server.
ErrorA connection error has occurred.


This enumeration describes different error codes of the SDK.

Not InitializedReturned when trying to access a feature without initializing the SDK.
AlreadyInitializedReturned when trying to initialize the SDK when it is already initialized.
ConnectionAlreadyExistsReturned when the connection is already established.
NotRegisteredReturned when trying to access a feature without registering a user.
FeatureNotSupportedReturned when trying to access a feature that is not supported by the app.
InvalidParameterValueReturned when a required parameter is not passed or an invalid value has been passed to a method.
PermissionNotGrantedReturned when access is not granted to a permission that is required for an operation.
NotConnectedReturned when trying to communicate with the RTM server without establishing a connection.
ConnectionFailureReturned when a connection is failed between the SDK and RTM server.
PublishFailedReturned when a publication of an RTM message has failed.
SubscribeFailedReturned when a subscription to an RTM topic has failed.
UnsubscribeFailedReturned when trying to unsubscribe from an RTM topic has failed.
UnknownReturned when an unknown error occurs.
DuplicateRegisterListener (code 6026)Duplicate register listener.
InvalidToken (code 6027)Invalid token.
InvalidAuthorizationRequest (code 6028)Invalid authorization request.
TokenExpired (code 6029)Token has expired.
TokenRequired (code 6030)Token is required.


This enumeration describes different connection statuses and their respective error codes.

UserIdSpecifies the value passed in the UserId parameter in DeviceProfileParam.
CustomerIdSpecifies the value passed in the CustomerId parameter in DeviceProfileParam.


MessageMessage is a standard RTM.
ReadReceiptMessage data is a ReadReceipt. Only TransactionId is available and can be used to match receipt to original message.
RepublishMessage is a republish of an MO, all data available in the original message is available.