Skip to main content
Version: Upcoming

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

#FieldTypeComment
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 : UserStatus[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 : LogAmountAmount of user activity logging/archiving for MLink products. Complete --> Log Everything, Partial --> Take samples, None --> No non-error logging
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
190contactEmailstring(64)Contact Email Address (reset password email)
193contactPhonestring(32)Contact Phone Number (SMS Text #)
196contactSlacktext1Contact Slack Handle
199contactIceChattext1Contact ICE Handle
202contactBBergHandletext1Contact Bloomberg Handle (BBGID)
392iceClientFirmstring(16)ICE Gateway (Bot) responder client firm
393iceProdAccntstring(16)ICE Gateway (Bot) prod responder accnt
394iceTestAccntstring(16)ICE Gateway (Bot) test responder accnt
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)
247firmPosVisibilityenum : YesNoControls 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 : YesNoControls whether tools should auto-shutdown (this should be controled by SR)
268toolsAutoShutdownTimeTimeSpanTools will shut down at this time if toolsAutoShutdown = Yes (can be overriden by user)
271srsePwdHashstring(41)MySQL password hash (used in launch_srse.py)
280srseNumCoresbytemaximum number of simultaneous (active) SRSE queries [0,1,2 ..., 10] [default=1] (note: 0=reject all SRSE queries)
283srseMaxConnectsPerDayintmaximum number of user SRSE connections per day [default=500]
286srseMaxConcurrentConnectsintmaximum number of concurrent SRSE connections [default=5] (note: SRSE has a global max of 100 simultaneous connections per user)
289srseMaxRowCacheintmaximum number of rows allowed to be used from the row cache
292srseMaxNewOrdersintmaximum number of new parent orders (per day) that can be inserted via SRSE (0=NONE) [default = 500,000]
295srseMaxNewOrdersPerSecintmaximum number of new parent orders (per second; 4 second burst) that can be inserted via SRSE (0=NONE) [default = 250]
298srseMaxNewOrdersPerStatementintmaximum 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 allowd to 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

FieldTypeComment
154accntstring(16)
157accessTypeenum : AccountAccessType

CitrixProductControl

FieldTypeComment
252productCodeenum : CitrixProductCode
253expiresDateTime

SrseProductControl

FieldTypeComment
275productCodeenum : SrseProductCode
276expiresDateTime

SrseHistoricalControl

FieldTypeComment
278productCodeenum : SrseProductCode
279expiresDateTime

WebProductControl

FieldTypeComment
307tokenenum : WebProductToken
310expiresDateTime
313valuestring(10)

MLinkControl

FieldTypeComment
319tokenenum : MLinkToken
322expiresDateTime
325stkExchenum : StkExch
328futExchenum : FutExch
331optExchenum : OptExch

MarketDataControl

FieldTypeComment
337tokenenum : MarketDataToken
340scopeenum : MarketDataScope
343classificationenum : MktDataClass
346expiresDateTime

ApiKeys

FieldTypeComment
402idbyte
403hashstring(64)
404expiresDateTime
405createdDateTime
406labelstring(255)

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|clientConfigAccess|accountTypeControl|prodOrderAccess|testOrderAccess|canCancelProdOrders|canCancelTestOrders|canBookProdExecutions|canBookTestExecutions|canEditMarRisk|canEditSupervisoryRisk|canEditStockLocateList|displayName|contactEmail|contactPhone|contactSlack|contactIceChat|contactBBergHandle|iceClientFirm|iceProdAccnt|iceTestAccnt|authType|authExternName|authExternParams|defaultAccnt|altUserName|cmeTraderId|cmeLocation|cfeTraderId|cfeFrequentTraderId|cfeLocation|iceTraderId|icePassword|iceCompanyId|iceSubRoom|cboeTraderId|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|clientConfigAccess|accountTypeControl|prodOrderAccess|testOrderAccess|canCancelProdOrders|canCancelTestOrders|canBookProdExecutions|canBookTestExecutions|canEditMarRisk|canEditSupervisoryRisk|canEditStockLocateList|displayName|contactEmail|contactPhone|contactSlack|contactIceChat|contactBBergHandle|iceClientFirm|iceProdAccnt|iceTestAccnt|authType|authExternName|authExternParams|defaultAccnt|altUserName|cmeTraderId|cmeLocation|cfeTraderId|cfeFrequentTraderId|cfeLocation|iceTraderId|icePassword|iceCompanyId|iceSubRoom|cboeTraderId|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|clientConfigAccess|accountTypeControl|prodOrderAccess|testOrderAccess|canCancelProdOrders|canCancelTestOrders|canBookProdExecutions|canBookTestExecutions|canEditMarRisk|canEditSupervisoryRisk|canEditStockLocateList|displayName|contactEmail|contactPhone|contactSlack|contactIceChat|contactBBergHandle|iceClientFirm|iceProdAccnt|iceTestAccnt|authType|authExternName|authExternParams|defaultAccnt|altUserName|cmeTraderId|cmeLocation|cfeTraderId|cfeFrequentTraderId|cfeLocation|iceTraderId|icePassword|iceCompanyId|iceSubRoom|cboeTraderId|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|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)