Schema: ClientFirmConfig (ID: 1850)
METADATA
| Attribute | Value |
|---|---|
| Topic | 1800-client-config |
| MLink Token | ClientConfig |
Note: The symbol
=next to a field number indicates that it is a primary key.
BODY
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 10= | clientFirm | string(16) | SR assigned client firm acronym | |
| 100 | clientFirmStatus | enum : ClientFirmStatus | ClientFirm status | |
| 103 | clientFirmStatusDttm | DateTime | The date/time this status was last changed | |
| 285 | enabledIn | enum : SysVersion | ||
| 289 | enabledInRegion | enum : SysRegion | indicates if client's data should bridged between US and EU | |
| 106 | clientFirmType | enum : ClientFirmType | SponsorClientFirm [Accnts/Users] -> CoreClientFirm [Accnts/Users] -> SubClientFirm [Accnts/Users] | |
| 109 | clientFirmName | text1 | SR assigned client firm Name | |
| 112 | clientFirmShortCode | string(4) | SR assigned client firm short code (usually an MPID or equivalent) | |
| 115 | clientFirmRelationship | flag : ClientFirmRelationship | ||
| 118 | repCodeSR | text1 | SR client rep code | |
| 121 | clientTagPool | text2 | (optional) complete (unique) pool of user defined account tag(s) (tag bag JSON definition block) [max of 10,000 total chars (including seps)] | |
| 124 | billingAccount | string(24) | billing account within the G/L system | |
| 127 | billingSchedule | string(16) | billing schedule code | |
| 130 | billingAddress1 | text1 | Billing Address - line 1 | |
| 133 | billingAddress2 | text1 | Billing Address - line 2 | |
| 136 | billingCity | text1 | Billing Address - city | |
| 139 | billingState | text1 | Billing Address - state | |
| 142 | billingZipCode | string(8) | Billing Address - zipCode | |
| 145 | billingCountry | string(8) | Billing Address - country | |
| 148 | billingPhoneNumber | string(15) | Billing - phone | |
| 151 | billingEmailAddress | text1 | Billing - emails (comma delimited string) | |
| 154 | reportAddress1 | text1 | Reporting Address - line 1 | |
| 157 | reportAddress2 | text1 | Reporting Address - line 2 | |
| 160 | reportCity | text1 | Reporting Address - city | |
| 163 | reportState | text1 | Reporting Address - state | |
| 166 | reportZipCode | string(8) | Reporting Address - zipCode | |
| 169 | reportCountry | string(8) | Reporting Address - country | |
| 172 | reportPhoneNumber | string(15) | Reporting - phone | |
| 175 | reportEmailAddress | text1 | Reporting - emails (comma delimited string) | |
| 178 | coreClientFirm | string(16) | the core client firm this (Sub) client firm rolls up to [blank if none] | |
| 181 | sponsorClientFirm | string(16) | the sponsor client firm this (Sub or Core) client firm rolls up to [blank if none] | |
| 184 | canHaveTradingAccnt | enum : YesNo | disables all accnt activity | |
| 187 | legalEntityId | string(20) | (LEI) reg oversight committee assigned entity ID assigned to a firm. 20 character string, contains numbers and dashes. | |
| 190 | secLargeTraderId | string(16) | SEC-assigned trading ID assigned to a firm. 13 character string, contains numbers and dashes. | |
| 288 | mifidFirmId | string(20) | A MiFID II requirement, this is trading ID assigned to a firm. | |
| 281 | LtidEffectiveDate | DateTime | LargeTraderID Effective Date | |
| 282 | catCaisTidType | enum : CatCaisTidType | CAT CAIS TID (Transformed Identifiers) Type | |
| 283 | catCaisTidValue | string(40) | CAT CAIS TID Value | |
| 284 | catCaisCustType | enum : CatCaisCustType | CAT CAIS CustomerType | |
| 193 | syncAggGroups | text1 | [tgt:src,tgt:src,...] target agg group [usually priAggGroup]; will accumulate SR executions; will sync w/srcAggGroup; tgt will follow (be made equal to) src | |
| 196 | syncThreshold | float | number of idle seconds before syncing aggGroups (default: 5 seconds) | |
| 199 | viewGICS | enum : YesNo | client firm can see GICS codes in SRSE | |
| 202 | viewCUSIP | enum : YesNo | No | client firm can see CUSIP codes in SRSE |
| 205 | restrictLocateUpload | enum : YesNo | restrict all associated users' ability to upload AwayStockLocate messages | |
| 208 | restrictAutohedge | enum : YesNo | restrict all associated users' ability to submit orders with autohedge enabled | |
| 211 | cxlRiskGroupOnReviewHedgeReject | enum : YesNo | behavior if the stage/review hedge order is rejected. "Yes" cancels the entire risk group. | |
| 214 | userRateSource | enum : RateSource | Default GlobalRate (Discount Rate) source (uses system default curve unless otherwise specified) | |
| 217 | enableSrseProductSnapshots | enum : YesNo | No | If enabled 'Yes' daily_snapshots.py scripts will make create clientFirm-specific snapshots of SRSE products. Grants are matched to UserConfig.SrseProductControl. |
| 229 | authType | enum : AuthType | type of user logon allowed | |
| 232 | authExternName | text1 | eg. CorpName | |
| 235 | authExternParams | text1 | eg. https://corp.domain.com:xxxx | |
| 238 | pwFileTransfer | string(16) | [SR] Password for securing files in transit | |
| 241 | dropAllParentTags | enum : YesNo | ||
| 271 | enableSrseProd | enum : YesNo | also requires srse pool instance in schedule.txt (which advertises as SRSE-{SysRealm}-{RunStatus}-V8.services.consul...) | |
| 274 | modifiedBy | string(24) | user who last modified this record | |
| 277 | modifiedIn | enum : SysEnvironment | ||
| 280 | timestamp | DateTime |
REPEATING FIELDS
LocatePool
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 223 | locateFirm | string(6) | acronym of firm used for locate requests (if any) | |
| 226 | locatePool | string(16) | locate pool @ locate firm |
DirectedCounterParty
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 247 | clientFirm | string(16) | ||
| 250 | isCommParty | enum : YesNo | is a commission billing/collecting counter-party |
ExcludeCounterParty
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 287 | clientFirm | string(16) |
RawDataBilling
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 256 | token | enum : RawDataToken | market data billing authorities (either external or internally controlled for billing purposes) | |
| 259 | scope | enum : RawDataScope | controls whether market data access is live or delayed |
SourceIP
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 265 | ipV4Range | string(20) | Use CIDR notation. "10.40.22.16/28" for 10.40.22.16 - 10.40.22.31 | |
| 268 | ipV6Range | string(50) | Use CIDR notation. "2001:4860:1723:0935:1845:9810:2960:4170/127" for 2001:4860:1723:0935:1845:9810:2960:4170 - 2001:4860:1723:0935:1845:9810:2960:4171 |
Get Schema API Call
- Python
- cUrl
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 = 'ClientFirmConfig'
# 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)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getschema' \
--data-urlencode 'msgType=ClientFirmConfig'
Get Msg API Call
- Python
- cUrl
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 = 'ClientFirmConfig'
# 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 = 'clientFirmStatus|clientFirmStatusDttm|enabledIn|enabledInRegion|clientFirmType|clientFirmName|clientFirmShortCode|clientFirmRelationship|repCodeSR|clientTagPool|billingAccount|billingSchedule|billingAddress1|billingAddress2|billingCity|billingState|billingZipCode|billingCountry|billingPhoneNumber|billingEmailAddress|reportAddress1|reportAddress2|reportCity|reportState|reportZipCode|reportCountry|reportPhoneNumber|reportEmailAddress|coreClientFirm|sponsorClientFirm|canHaveTradingAccnt|legalEntityId|secLargeTraderId|mifidFirmId|LtidEffectiveDate|catCaisTidType|catCaisTidValue|catCaisCustType|syncAggGroups|syncThreshold|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|authExternName|authExternParams|pwFileTransfer|dropAllParentTags|enableSrseProd|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 = 'clientFirm: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)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getmsg' \
--data-urlencode 'pkey=ReplaceThisValueForTheQueryToWork' \
--data-urlencode 'msgType=ClientFirmConfig' \
--data-urlencode 'view=clientFirmStatus|clientFirmStatusDttm|enabledIn|enabledInRegion|clientFirmType|clientFirmName|clientFirmShortCode|clientFirmRelationship|repCodeSR|clientTagPool|billingAccount|billingSchedule|billingAddress1|billingAddress2|billingCity|billingState|billingZipCode|billingCountry|billingPhoneNumber|billingEmailAddress|reportAddress1|reportAddress2|reportCity|reportState|reportZipCode|reportCountry|reportPhoneNumber|reportEmailAddress|coreClientFirm|sponsorClientFirm|canHaveTradingAccnt|legalEntityId|secLargeTraderId|mifidFirmId|LtidEffectiveDate|catCaisTidType|catCaisTidValue|catCaisCustType|syncAggGroups|syncThreshold|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|authExternName|authExternParams|pwFileTransfer|dropAllParentTags|enableSrseProd|modifiedBy|modifiedIn|timestamp' \
--data-urlencode 'where=clientFirm:eq:ExampleString'
Get Msgs API Call
- Python
- cUrl
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 = 'ClientFirmConfig'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'clientFirmStatus|clientFirmStatusDttm|enabledIn|enabledInRegion|clientFirmType|clientFirmName|clientFirmShortCode|clientFirmRelationship|repCodeSR|clientTagPool|billingAccount|billingSchedule|billingAddress1|billingAddress2|billingCity|billingState|billingZipCode|billingCountry|billingPhoneNumber|billingEmailAddress|reportAddress1|reportAddress2|reportCity|reportState|reportZipCode|reportCountry|reportPhoneNumber|reportEmailAddress|coreClientFirm|sponsorClientFirm|canHaveTradingAccnt|legalEntityId|secLargeTraderId|mifidFirmId|LtidEffectiveDate|catCaisTidType|catCaisTidValue|catCaisCustType|syncAggGroups|syncThreshold|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|authExternName|authExternParams|pwFileTransfer|dropAllParentTags|enableSrseProd|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 = 'clientFirm: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 = 'clientFirmStatus: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)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getmsgs' \
--data-urlencode 'msgType=ClientFirmConfig' \
--data-urlencode 'view=clientFirmStatus|clientFirmStatusDttm|enabledIn|enabledInRegion|clientFirmType|clientFirmName|clientFirmShortCode|clientFirmRelationship|repCodeSR|clientTagPool|billingAccount|billingSchedule|billingAddress1|billingAddress2|billingCity|billingState|billingZipCode|billingCountry|billingPhoneNumber|billingEmailAddress|reportAddress1|reportAddress2|reportCity|reportState|reportZipCode|reportCountry|reportPhoneNumber|reportEmailAddress|coreClientFirm|sponsorClientFirm|canHaveTradingAccnt|legalEntityId|secLargeTraderId|mifidFirmId|LtidEffectiveDate|catCaisTidType|catCaisTidValue|catCaisCustType|syncAggGroups|syncThreshold|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|authExternName|authExternParams|pwFileTransfer|dropAllParentTags|enableSrseProd|modifiedBy|modifiedIn|timestamp' \
--data-urlencode 'where=clientFirm:eq:ExampleString' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=clientFirmStatus:ASC'
Get Aggregate API Call
- Python
- cUrl
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 = 'ClientFirmConfig'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'clientFirmStatus|clientFirmStatusDttm|enabledIn|enabledInRegion|clientFirmType|clientFirmName|clientFirmShortCode|clientFirmRelationship|repCodeSR|clientTagPool|billingAccount|billingSchedule|billingAddress1|billingAddress2|billingCity|billingState|billingZipCode|billingCountry|billingPhoneNumber|billingEmailAddress|reportAddress1|reportAddress2|reportCity|reportState|reportZipCode|reportCountry|reportPhoneNumber|reportEmailAddress|coreClientFirm|sponsorClientFirm|canHaveTradingAccnt|legalEntityId|secLargeTraderId|mifidFirmId|LtidEffectiveDate|catCaisTidType|catCaisTidValue|catCaisCustType|syncAggGroups|syncThreshold|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|authExternName|authExternParams|pwFileTransfer|dropAllParentTags|enableSrseProd|modifiedBy|modifiedIn|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'clientFirmStatus|enabledIn|enabledInRegion|clientFirmType|canHaveTradingAccnt|catCaisTidType|catCaisCustType|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|dropAllParentTags|enableSrseProd|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 = 'clientFirm: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)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getaggregate' \
--data-urlencode 'msgType=ClientFirmConfig' \
--data-urlencode 'measure=clientFirmStatus|clientFirmStatusDttm|enabledIn|enabledInRegion|clientFirmType|clientFirmName|clientFirmShortCode|clientFirmRelationship|repCodeSR|clientTagPool|billingAccount|billingSchedule|billingAddress1|billingAddress2|billingCity|billingState|billingZipCode|billingCountry|billingPhoneNumber|billingEmailAddress|reportAddress1|reportAddress2|reportCity|reportState|reportZipCode|reportCountry|reportPhoneNumber|reportEmailAddress|coreClientFirm|sponsorClientFirm|canHaveTradingAccnt|legalEntityId|secLargeTraderId|mifidFirmId|LtidEffectiveDate|catCaisTidType|catCaisTidValue|catCaisCustType|syncAggGroups|syncThreshold|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|authExternName|authExternParams|pwFileTransfer|dropAllParentTags|enableSrseProd|modifiedBy|modifiedIn|timestamp' \
--data-urlencode 'group=clientFirmStatus|enabledIn|enabledInRegion|clientFirmType|canHaveTradingAccnt|catCaisTidType|catCaisCustType|viewGICS|viewCUSIP|restrictLocateUpload|restrictAutohedge|cxlRiskGroupOnReviewHedgeReject|userRateSource|enableSrseProductSnapshots|authType|dropAllParentTags|enableSrseProd|modifiedIn' \
--data-urlencode 'where=clientFirm:eq:ExampleString'
Get Count API Call
- Python
- cUrl
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 = 'ClientFirmConfig'
# 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 = 'clientFirm: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)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getcount' \
--data-urlencode 'msgType=ClientFirmConfig' \
--data-urlencode 'where=clientFirm:eq:ExampleString'