Skip to main content
Version: 8.5.11.1

Schema: UserConfig (ID: 1875)

METADATA

AttributeValue
Topic1800-client-config
MLink TokenClientConfig

Note: The symbol = next to a field number indicates that it is a primary key.

BODY

#FieldTypeDefault ValueComment
10=userNamestring(24)SR UserName Handle
100clientFirmstring(16)[custom:ClientFirm] client firm this user is associated with (can be Sponsor, Core, or Sub)
103userTypeenum : UserType[custom:UserType] (active users only)
106userStatusenum : UserStatusActive[custom:UserStatus]
109userStatusDttmDateTimeThe Date/Time this users status was last changed/updated
112userToBeFrozenenum : YesNoIf the user is to be frozen when date to be frozen is reached
115userToBeFrozenDttmDateTimeThe dateTime the user is to be frozen if to be froz flag is set to Yes
118userAuthActionenum : UserAuthActionused between a tool and an mlink server (SendInvite will go through the QR Code setup process)
121userAuthStateenum : UserAuthStateview only (should not be modified)
124userAuthErrortext1
127lastInviteTimestampDateTime
130lastAcceptTimestampDateTime
133descriptionstring(255)User record comment/description (if any)
136displayTimeZoneenum : SRTimeZone[custom:UserTimeZone] User timezone (affects date/time display in Tools)
139mlinkActivityLoggingenum : LogAmountCompleteAmount of user activity logging/archiving for MLink products. Complete --> Log Everything, Partial --> Take samples, None --> No non-error logging
413mlinkMaxBytesPerMsint500000maximum number of bytes sent in a given millisecond via mink
422mlinkMaxWsConnectionsint10maximum number of concurrent open websockets via mink
419mlinkMaxRestConnectionsint10maximum number ofconcurrent rest calls via mink
160clientConfigAccessenum : ConfigAccessuser can create new (pending approval) or edit existing client configuration records (SRAdmin, SponsorAdmin, ClientAdmin, or SRUser (any sysenv))
163accountTypeControlenum : AccountTypeControl
386prodOrderAccessenum : OrderAccess
387testOrderAccessenum : OrderAccess
388canCancelProdOrdersenum : YesNouser can cancel prod (live) orders (implied false for SRUsers, implied true for SRAdmin, SponsorAdmin, ClientAdmin, and users that can enter live orders)
389canCancelTestOrdersenum : YesNouser can cancel test orders (implied false for SRUsers, implied true for SRAdmin, SponsorAdmin, ClientAdmin, and users that can enter live orders)
390canBookProdExecutionsenum : YesNouser can enter prod (live) away tickets (default false for SRUsers SRAdmin, SponsorAdmin, and ClientAdmin, default true for users that can enter live orders)
391canBookTestExecutionsenum : YesNouser can enter test away tickets (default false for SRUsers, SRAdmin, SponsorAdmin, and ClientAdmin, default true for users that can enter live orders)
175canEditMarRiskenum : YesNo
181canEditSupervisoryRiskenum : YesNo
184canEditStockLocateListenum : YesNo
187displayNametext1[custom:UserDisplayName] User display name
429contactEmailstring(64)Contact Email Address (reset password email)
193contactPhonestring(32)Contact Phone Number (SMS Text #)
196contactSlacktext1Contact Slack Handle
199contactIceChattext1Contact ICE Handle
202contactBBergHandletext1Contact Bloomberg Handle (BBGID)
412contactSymChatTesttext1Contact Symphony Stream ID for test shows
417contactSymChatProdtext1Contact Symphony Stream ID for prod shows
407chatClientFirmstring(16)ICE Gateway (Bot) responder client firm
408chatProdAccntstring(16)ICE Gateway (Bot) prod responder accnt
409chatTestAccntstring(16)ICE Gateway (Bot) test responder accnt
410chatShowRiskenum : YesNoICE Gateway (Bot) show extra auction notice details
411auctionViewenum : AuctionViewWhich type of auctions are enabled (None implies both test and prod)
205authTypeenum : AuthTypetype of user logon allowed
208authExternNametext1eg. CorpName
211authExternParamstext1eg. https://corp.domain.com:xxxx
214defaultAccntstring(16)default account for this user (used as a tool default/setting); ignored if not viewable; if missing then default is the 1st accnt in the viewable list (alpha order)
217altUserNamestring(24)alternate (client supplied) user name (usually for client system integration)
220cmeTraderIdstring(24)CME assigned trader ID (if any)
223cmeLocationstring(16)For CME. The traders location is required. Format example: US,IL
226cfeTraderIdstring(24)CFE assigned trader ID (if any)
229cfeFrequentTraderIdstring(24)CFE frequent trader ID (if any)
232cfeLocationstring(8)CFE trader location (required)
235iceTraderIdstring(24)ICE assigned trader ID (if any)
238icePasswordstring(24)ICE assigned password (if any)
241iceCompanyIdstring(24)ICE Company Id of trader (if any)
399iceSubRoomstring(24)User designated Sub-Chatroom in ICE Chat
244cboeTraderIdstring(24)Cboe assigned trader ID (if any)
414eurexTraderIdlongEUREX assigned trader ID (if any)
415eurexPasswordstring(24)EUREX assigned password (if any)
416mifidTraderIdstring(16)A MIFID II reqirement, this is the ID assigned to a trader.
247firmPosVisibilityenum : YesNoYesControls whether user sees the firm position in the SV's widget
250allowRandomStrategyenum : YesNoSV Widget Control
256toolServerCodeenum : ToolServerCodeneeds to match -toolServerCode on the tool server this user is assigned to.
259toolServerHoststring(32)note: this will override auto detection of a server via toolServerCode
262toolServerPortinteg, 5240 V7SP, 5440 V7SD, 5640 SV7SB, 6240 V7LP, 6440 V7LPB
265toolsAutoShutdownenum : YesNoYesControls whether tools should auto-shutdown (this should be controled by SR)
268toolsAutoShutdownTimeTimeSpan19:30Tools will shut down at this time if toolsAutoShutdown = Yes (can be overriden by user)
271srsePwdHashstring(41)MySQL password hash (used in launch_srse.py)
280srseNumCoresbyte1maximum number of simultaneous (active) SRSE queries [0,1,2 ..., 10] [default=1] (note: 0=reject all SRSE queries)
283srseMaxConnectsPerDayint10maximum number of user SRSE connections per day [default=10]
286srseMaxConcurrentConnectsint5maximum number of concurrent SRSE connections [default=5] (note: SRSE has a global max of 100 simultaneous connections per user)
289srseMaxRowCacheint0maximum number of rows allowed to be used from the row cache
292srseMaxNewOrdersint10000maximum number of new parent orders (per day) that can be inserted via SRSE (0=NONE) [default = 10,000]
295srseMaxNewOrdersPerSecint250maximum number of new parent orders (per second; 4 second burst) that can be inserted via SRSE (0=NONE) [default = 250]
298srseMaxNewOrdersPerStatementint1000maximum number of new parent orders (per SQL statement) that can be inserted via SRSE (0=NONE) [default = 1,000]
395nmsBadgestring(16)NMS exchange memembership and badge ids
396cfeBadgestring(16)CFE exchange memembership and badge ids.
397cmeBadgestring(16)CME/CBOT/COMEX/NYMEX exchange memembership and badge ids.
398iceBadgestring(16)ICE exchange memembership and badge ids.
355apiKeystring(36)(Deprecated, use repeater) API access key (SR supplied; guid; plain text; HEX:32+4) (includes dashes) (can be reset/regenerated as needed)
358apiKeyExpiresDateTime(Deprecated, use repeater) API access key expiration
400hasApiKeyAccessenum : YesNoUser is allowed to use and manage (insert, update and delete) API keys
361passwordHashstring(64)user password (client supplied; optional; hashed value; HEX representation; SHA-256)
364passwordExpiresDateTimeuser password expiration
367tempPasswordHashstring(64)temporary user password hash (SR supplied; can only be used to change password)
370tempPasswordExpiresDateTimetemporary user password expiration
373tempPasswordCounterintwe allow temporary passwords to be change a limited number of times
376mfaSecretstring(36)MFA Secret (SR supplied; guid; plain text; HEX:32+4) (includes dashes) (can be reset/regenerated as needed)
379modifiedBystring(24)[custom:ModifiedBy] user who last modified this record
382modifiedInenum : SysEnvironment
385timestampDateTime

REPEATING FIELDS

AccountAccessControl

#FieldTypeDefault ValueComment
154accntstring(16)
157accessTypeenum : AccountAccessType

CitrixProductControl

#FieldTypeDefault ValueComment
252productCodeenum : CitrixProductCode
253expiresDateTime2100-01-01 00:00must exist (can be 2100-01-01)

SrseProductControl

#FieldTypeDefault ValueComment
275productCodeenum : SrseProductCode
276expiresDateTimemust exist (can be 2100-01-01)

SrseHistoricalControl

#FieldTypeDefault ValueComment
278productCodeenum : SrseProductCode
279expiresDateTimemust exist (can be 2100-01-01)

WebProductControl

#FieldTypeDefault ValueComment
307tokenenum : WebProductToken
310expiresDateTime2100-01-01 00:00must exist (can be 2100-01-01)
313valuestring(10)billing code/coupon (eg. FREE)

MLinkControl

#FieldTypeDefault ValueComment
319tokenenum : MLinkToken
322expiresDateTimemust exist (can be 2100-01-01)
325stkExchenum : StkExchNone = ANY (only applies to message types with OptExch control fields)
328futExchenum : FutExchNone = ANY
331optExchenum : OptExchNone = ANY
428primaryExchenum : PrimaryExchangeNone = ANY

MarketDataControl

#FieldTypeDefault ValueComment
337tokenenum : MarketDataTokenmarket data billing authorities (either external or internally controlled for billing purposes)
340scopeenum : MarketDataScopecontrols whether market data access is live or delayed
343classificationenum : MktDataClass
423accessflag : AccessScopeSR Platform enabled (display vs. non-display license)
346expiresDateTimemust exists (can be 2100-01-01)

DataVendorControl

#FieldTypeDefault ValueComment
425vendorenum : DataVendorTokenmarket data billing authorities (either external or internally controlled for billing purposes)
426accessflag : AccessScopeSR Platform enabled (display vs. non-display license)
427expiresDateTimemust exists (can be 2100-01-01)

ApiKeys

#FieldTypeDefault ValueComment
402idbyteAPI key serial number which identifies this key
403hashstring(64)API key hash (generated guid hash; SHA-256)
404expiresDateTimeAPI key expiration date, defaults to never 2100-01-01
405createdDateTimeAPI key creation date
406labelstring(255)API key name/description (if any; may be client supplied)

Get Schema API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'UserConfig'

# Request Parameters for Get Schema Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getschema',
"msgType": MSG_TYPE,
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Msg API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'UserConfig'

# Replace with your pkey value for getting the specific message desired
PKEY = 'ReplaceThisValueForTheQueryToWork'

# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned.
VIEW = 'clientFirm|userType|userStatus|userStatusDttm|userToBeFrozen|userToBeFrozenDttm|userAuthAction|userAuthState|userAuthError|lastInviteTimestamp|lastAcceptTimestamp|description|displayTimeZone|mlinkActivityLogging|mlinkMaxBytesPerMs|mlinkMaxWsConnections|mlinkMaxRestConnections|clientConfigAccess|accountTypeControl|prodOrderAccess|testOrderAccess|canCancelProdOrders|canCancelTestOrders|canBookProdExecutions|canBookTestExecutions|canEditMarRisk|canEditSupervisoryRisk|canEditStockLocateList|displayName|contactEmail|contactPhone|contactSlack|contactIceChat|contactBBergHandle|contactSymChatTest|contactSymChatProd|chatClientFirm|chatProdAccnt|chatTestAccnt|chatShowRisk|auctionView|authType|authExternName|authExternParams|defaultAccnt|altUserName|cmeTraderId|cmeLocation|cfeTraderId|cfeFrequentTraderId|cfeLocation|iceTraderId|icePassword|iceCompanyId|iceSubRoom|cboeTraderId|eurexTraderId|eurexPassword|mifidTraderId|firmPosVisibility|allowRandomStrategy|toolServerCode|toolServerHost|toolServerPort|toolsAutoShutdown|toolsAutoShutdownTime|srsePwdHash|srseNumCores|srseMaxConnectsPerDay|srseMaxConcurrentConnects|srseMaxRowCache|srseMaxNewOrders|srseMaxNewOrdersPerSec|srseMaxNewOrdersPerStatement|nmsBadge|cfeBadge|cmeBadge|iceBadge|apiKey|apiKeyExpires|hasApiKeyAccess|passwordHash|passwordExpires|tempPasswordHash|tempPasswordExpires|tempPasswordCounter|mfaSecret|modifiedBy|modifiedIn|timestamp'

# Replace with your desired where clause.
# a string in the form "field1:eq:valuse" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'userName:eq:ExampleString'

# Request Parameters for getmsg Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsg',
"pkey": PKEY,
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Msgs API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'UserConfig'

# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'clientFirm|userType|userStatus|userStatusDttm|userToBeFrozen|userToBeFrozenDttm|userAuthAction|userAuthState|userAuthError|lastInviteTimestamp|lastAcceptTimestamp|description|displayTimeZone|mlinkActivityLogging|mlinkMaxBytesPerMs|mlinkMaxWsConnections|mlinkMaxRestConnections|clientConfigAccess|accountTypeControl|prodOrderAccess|testOrderAccess|canCancelProdOrders|canCancelTestOrders|canBookProdExecutions|canBookTestExecutions|canEditMarRisk|canEditSupervisoryRisk|canEditStockLocateList|displayName|contactEmail|contactPhone|contactSlack|contactIceChat|contactBBergHandle|contactSymChatTest|contactSymChatProd|chatClientFirm|chatProdAccnt|chatTestAccnt|chatShowRisk|auctionView|authType|authExternName|authExternParams|defaultAccnt|altUserName|cmeTraderId|cmeLocation|cfeTraderId|cfeFrequentTraderId|cfeLocation|iceTraderId|icePassword|iceCompanyId|iceSubRoom|cboeTraderId|eurexTraderId|eurexPassword|mifidTraderId|firmPosVisibility|allowRandomStrategy|toolServerCode|toolServerHost|toolServerPort|toolsAutoShutdown|toolsAutoShutdownTime|srsePwdHash|srseNumCores|srseMaxConnectsPerDay|srseMaxConcurrentConnects|srseMaxRowCache|srseMaxNewOrders|srseMaxNewOrdersPerSec|srseMaxNewOrdersPerStatement|nmsBadge|cfeBadge|cmeBadge|iceBadge|apiKey|apiKeyExpires|hasApiKeyAccess|passwordHash|passwordExpires|tempPasswordHash|tempPasswordExpires|tempPasswordCounter|mfaSecret|modifiedBy|modifiedIn|timestamp'

# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'userName:eq:ExampleString'

# Replace with your desired limit of how many messages you receive. The default limit is 500
LIMIT = 500

# Order clause eg. "(field1:DESC | field1:ASC | field2:DESC:ABS | field2:ASC:ABS" (default is unordered; default is faster)
ORDER = 'clientFirm:ASC'

# Request Parameters for getmsgs Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsgs',
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE,
"limit": LIMIT,
"order": ORDER
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Aggregate API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'UserConfig'

# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'clientFirm|userType|userStatus|userStatusDttm|userToBeFrozen|userToBeFrozenDttm|userAuthAction|userAuthState|userAuthError|lastInviteTimestamp|lastAcceptTimestamp|description|displayTimeZone|mlinkActivityLogging|mlinkMaxBytesPerMs|mlinkMaxWsConnections|mlinkMaxRestConnections|clientConfigAccess|accountTypeControl|prodOrderAccess|testOrderAccess|canCancelProdOrders|canCancelTestOrders|canBookProdExecutions|canBookTestExecutions|canEditMarRisk|canEditSupervisoryRisk|canEditStockLocateList|displayName|contactEmail|contactPhone|contactSlack|contactIceChat|contactBBergHandle|contactSymChatTest|contactSymChatProd|chatClientFirm|chatProdAccnt|chatTestAccnt|chatShowRisk|auctionView|authType|authExternName|authExternParams|defaultAccnt|altUserName|cmeTraderId|cmeLocation|cfeTraderId|cfeFrequentTraderId|cfeLocation|iceTraderId|icePassword|iceCompanyId|iceSubRoom|cboeTraderId|eurexTraderId|eurexPassword|mifidTraderId|firmPosVisibility|allowRandomStrategy|toolServerCode|toolServerHost|toolServerPort|toolsAutoShutdown|toolsAutoShutdownTime|srsePwdHash|srseNumCores|srseMaxConnectsPerDay|srseMaxConcurrentConnects|srseMaxRowCache|srseMaxNewOrders|srseMaxNewOrdersPerSec|srseMaxNewOrdersPerStatement|nmsBadge|cfeBadge|cmeBadge|iceBadge|apiKey|apiKeyExpires|hasApiKeyAccess|passwordHash|passwordExpires|tempPasswordHash|tempPasswordExpires|tempPasswordCounter|mfaSecret|modifiedBy|modifiedIn|timestamp'

# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'userType|userStatus|userToBeFrozen|userAuthAction|userAuthState|displayTimeZone|mlinkActivityLogging|clientConfigAccess|accountTypeControl|prodOrderAccess|testOrderAccess|canCancelProdOrders|canCancelTestOrders|canBookProdExecutions|canBookTestExecutions|canEditMarRisk|canEditSupervisoryRisk|canEditStockLocateList|chatShowRisk|auctionView|authType|firmPosVisibility|allowRandomStrategy|toolServerCode|toolsAutoShutdown|hasApiKeyAccess|modifiedIn'

# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'userName:eq:ExampleString'

# Request Parameters for getaggregate Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getaggregate',
"msgType": MSG_TYPE,
"measure": MEASURE,
"group": GROUP,
# Optional Parameters
"where": WHERE,
}

response = requests.get(MLINK_PROD_URL, params=params)

Get Count API Call

import requests 

# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'

# Replace with your desired MsgType.
MSG_TYPE = 'UserConfig'

# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'userName:eq:ExampleString'

# Request Parameters for getCount Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getcount',
"msgType": MSG_TYPE,
# Optional Parameters
"where": WHERE,
}

response = requests.get(MLINK_PROD_URL, params=params)