Skip to main content
Version: Upcoming

Schema: AccountConfigGateway (ID: 5120)

METADATA

AttributeValue
Topic5120-srse-gateway
MLink TokenInternal
MLink EndpointMLink-Live
SRSE Product

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

BODY

#FieldTypeDefault ValueComment
10=accntstring(16)
11=clientFirmstring(16)
100accountTypeenum : AccountTypeSR account type
103omniAccntstring(16)omnibus account (if any) (must be an existing account with the same clientFirm and type=Omnibus)
104omniAccnt2string(16)omnibus account (if any) (must be an existing account with the same clientFirm and type=Omnibus)
112clientAccntstring(32)client assigned "long" account string (optional) [used to map between client and SR account strings]
113clientAccntIdstext2comma separated list of alternate client defined accnt strings that all map to this accountConfig
114clientTagstext2(optional) user defined account tag(s) (eg. tag,tag,tag,tag) [max of 10,000 total chars (including seps)]
115accntNamestring(32)account name (SR assigned)
121proxyFirm1string(16)proxy firm #1
124proxyFirm2string(16)proxy firm #2
127proxyFirm3string(16)proxy firm #3
130clientMPIDstring(4)
133internalMPIDstring(4)
136execBrkrCodestring(16)
139execBrkrAccountStkstring(24)
142execBrkrClFirmStkstring(24)
145execBrkrAccountFutstring(24)
148execBrkrClFirmFutstring(24)
151execBrkrAccountOptstring(24)
154execBrkrClFirmOptstring(24)
157reviewBrkrExDestStkstring(24)
160reviewBrkrExDestFutstring(24)
163reviewBrkrExDestOptstring(24)
166execUserNameStkstring(24)
169execUserNameFutstring(24)
172execUserNameOptstring(24)
175clearingFirmNamestring(24)string name (can be anything) [commonly used by position loaders] (not used in any FIX message)
178clearingFirmStkstring(4)stock clearing firm name or code [books and records only; visible in fix drop templates]
181clearingAccntStkstring(16)eg C233702
184clearingFirmFutstring(4)futures clearing firm name or code [books and records only; visible in fix drop templates]
187clearingAccntFutstring(16)eg C233702
190clearingFirmOptstring(4)options clearing firm name or code [books and records only; visible in fix drop templates]
193clearingAccntOptstring(16)eg C233701
196clearingFlipTypeOptstring(16)
199clearingFlipFirmOptstring(16)
201clearingFlipAccntOptstring(16)
204stkPositionSrcenum : PositionSource
207futPositionSrcenum : PositionSource
210optPositionSrcenum : PositionSource
213theoModelstring(16)theo model (primary)
214theoModel2string(16)theo model #2
216priStkAggGroupstring(16)primary stk grouping code (for computing aggregate positions) [default = ClientFirm]
219secStkAggGroupstring(16)secondary stk grouping code (for computing aggregate positions) [default = ""]
222optAggGroupstring(16)opt grouping code (for computing aggregate positions) [default = ClientFirm]
225futAggGroupstring(16)fut grouping code (for computing aggregate positions) [default = ClientFirm]
231accntColorstring(16)
234accntStatusenum : AccntStatusThis accounts current status
237defaultTradingAccntstring(16)[our type=Rollup] default trading accnt (must be type=Trading) (if ticker not found in AltSymbolMap)
240mifidAccntIdstring(16)MIFID account identifier
243catFdidOpenDateDateKeyCAT FDID OpenDate
249noCrossGroupstring(16)no cross grouping code (accounts with the same nCrossGroup will not cross with themselves) [default = ClientFirm]
252hedgeDeltaRuleenum : HedgeDeltaRuleHedgeDelta Source (IVol = use SR implied surface (sticky strike), IvS = use SR surface (dynamic), TVol = use user supplied theo surface (sticky strike), TvS = use user supplied theo surface (dynamic)) [AccountConfig.hedgeDelta]
255binaryDaysfloatused to force delta calcs binary prior to expiration
258awayExecControlenum : AwayExecControlWhether to include Away Executions in EE risk counters
261riskGroupControlenum : RiskGroupControlenables enhanced risk group controls, ParentCap.n means each parent order can be at most 1/n of the risk group limit, StrictLimits implies PC.4
264isAtsEnabledenum : YesNo
267clrFlipEnabledenum : YesNoused to enable broker/dealers to send agency clearing (ClrFlip) instructions on parent orders
270stageReviewenum : StageReviewStrict will re-review user changes; Normal will re-review size incr only
273reviewExDeststring(16)order routing string (if any) [StageReview Orders]
276userMarkingenum : YesNousers are required to do the long/short marking on orders
279requireLocateenum : RequireLocatelocate check enforced in SR systems
282locateFirmstring(6)locate firm [must be one of the items in the clientFirmConfig.LocatePool list]
285locatePoolstring(16)locate pool @ firm granting the locate
288firmTypeenum : FirmType
291orderCapacityenum : OrderCapacityOrder capacity
294custOrderCapacityenum : OrderCapacityOrder capacity of Account at Customer's Firm
297futClearingRangeenum : FutClearingRange
300futCustTypeenum : FutCustType
303catReportableenum : CatReportTypeCAT reportable type
306catAccntstring(40)CAT Firm Designated ID
309catBrkrAccntstring(40)Brkrs CAT Firm Designated ID
312catBrkrAccntTypeenum : CatAccntTypeCAT account holder type
315catBrkrFirmTypeenum : CatFirmTypeCAT source firm type
318catBrkrIMIDstring(16)B/D firm FDID (only if client is a B/D) (supplied by FINRA fbo client)
321tiedPriceRoundingenum : TiedPriceRoundingoption limit price rounding rule: Loose = up to 1/4 tick extra; Strict = never exceed limit
324algoFlashPctbytepercent of orders for which algo will start flash auctions [0 - 100]
327algoBlockPctbytepercent of orders for which algo will start block auctions [0 - 100]
330auctionResponderenum : AuctionRespondercan respond to exchange / away auctions
336takeExchListtext1exchange order for marketable orders eg: BATS,NYSE,CBOE
339makeExchListtext1exchange order for non-marketable orders eg: BATS,NYSE,CBOE
342incTakeExchFeeenum : IncExchFeeinclude exchange fee in limit calculations
345incMakeExchFeeenum : IncExchFeeinclude exchange fee in limit calculations
348makeExchRuleenum : MakeExchRuleActiveMaker exchange preference rule: 'MaxPart' will pick exchanges to maximize participation; 'FeeOrder' will pick exchanges to minimize fees [maximize rebates]; 'ImprvOnly' will only make when improving NBBO.
351roundRuleenum : RoundRuleStock Price Rounding rule (Fuzzy = 90%, Exact = 100%)
354execModeenum : ExecMode
357cxlOnHaltenum : YesNocancel parent orders if the item being traded (or underlier) is halted
360splitZeroenum : YesNosell stock down to zero before selling short
363betaSourceenum : BetaSource
366billingSchedulestring(16)overrides billingSchedule at clientFirm level
369routeTemplatestext2comma separated list of AccountRouteConfigTemplate IDs
372accountConfigRiskTemplatestring(32)AccountConfigRiskTemplate ID
375ExchGroupCapStratTemplateNmsEqtstring(32)AccountExchGroupCapStratTemplate ID for NMS EQT config's CapStrategyTable
378ExchGroupCapStratTemplateNmsOptstring(32)AccountExchGroupCapStratTemplate ID for NMS OPT config's CapStrategyTable
381ExchGroupCapStratTemplateCmxFutstring(32)AccountExchGroupCapStratTemplate ID for CMX FUT config's CapStrategyTable
384ExchGroupRteTemplateNmsEqtstring(32)AccountExchGroupRteTableTemplate ID For NMS EQT config's AccountRouteTable
387ExchGroupRteTemplateNmsOptstring(32)AccountExchGroupRteTableTemplate ID for NMS OPT config's AccountRouteTable
390ExchGroupRteTemplateCmxFutstring(32)AccountExchGroupRteTableTemplate ID for CMX FUT config's AccountRouteTable

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 = 'AccountConfigGateway'

# 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 = 'AccountConfigGateway'

# 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 = 'accountType|omniAccnt|omniAccnt2|clientAccnt|clientAccntIds|clientTags|accntName|proxyFirm1|proxyFirm2|proxyFirm3|clientMPID|internalMPID|execBrkrCode|execBrkrAccountStk|execBrkrClFirmStk|execBrkrAccountFut|execBrkrClFirmFut|execBrkrAccountOpt|execBrkrClFirmOpt|reviewBrkrExDestStk|reviewBrkrExDestFut|reviewBrkrExDestOpt|execUserNameStk|execUserNameFut|execUserNameOpt|clearingFirmName|clearingFirmStk|clearingAccntStk|clearingFirmFut|clearingAccntFut|clearingFirmOpt|clearingAccntOpt|clearingFlipTypeOpt|clearingFlipFirmOpt|clearingFlipAccntOpt|stkPositionSrc|futPositionSrc|optPositionSrc|theoModel|theoModel2|priStkAggGroup|secStkAggGroup|optAggGroup|futAggGroup|accntColor|accntStatus|defaultTradingAccnt|mifidAccntId|catFdidOpenDate|noCrossGroup|hedgeDeltaRule|binaryDays|awayExecControl|riskGroupControl|isAtsEnabled|clrFlipEnabled|stageReview|reviewExDest|userMarking|requireLocate|locateFirm|locatePool|firmType|orderCapacity|custOrderCapacity|futClearingRange|futCustType|catReportable|catAccnt|catBrkrAccnt|catBrkrAccntType|catBrkrFirmType|catBrkrIMID|tiedPriceRounding|algoFlashPct|algoBlockPct|auctionResponder|takeExchList|makeExchList|incTakeExchFee|incMakeExchFee|makeExchRule|roundRule|execMode|cxlOnHalt|splitZero|betaSource|billingSchedule|routeTemplates|accountConfigRiskTemplate|ExchGroupCapStratTemplateNmsEqt|ExchGroupCapStratTemplateNmsOpt|ExchGroupCapStratTemplateCmxFut|ExchGroupRteTemplateNmsEqt|ExchGroupRteTemplateNmsOpt|ExchGroupRteTemplateCmxFut'

# 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 = 'accnt: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 = 'AccountConfigGateway'

# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'accountType|omniAccnt|omniAccnt2|clientAccnt|clientAccntIds|clientTags|accntName|proxyFirm1|proxyFirm2|proxyFirm3|clientMPID|internalMPID|execBrkrCode|execBrkrAccountStk|execBrkrClFirmStk|execBrkrAccountFut|execBrkrClFirmFut|execBrkrAccountOpt|execBrkrClFirmOpt|reviewBrkrExDestStk|reviewBrkrExDestFut|reviewBrkrExDestOpt|execUserNameStk|execUserNameFut|execUserNameOpt|clearingFirmName|clearingFirmStk|clearingAccntStk|clearingFirmFut|clearingAccntFut|clearingFirmOpt|clearingAccntOpt|clearingFlipTypeOpt|clearingFlipFirmOpt|clearingFlipAccntOpt|stkPositionSrc|futPositionSrc|optPositionSrc|theoModel|theoModel2|priStkAggGroup|secStkAggGroup|optAggGroup|futAggGroup|accntColor|accntStatus|defaultTradingAccnt|mifidAccntId|catFdidOpenDate|noCrossGroup|hedgeDeltaRule|binaryDays|awayExecControl|riskGroupControl|isAtsEnabled|clrFlipEnabled|stageReview|reviewExDest|userMarking|requireLocate|locateFirm|locatePool|firmType|orderCapacity|custOrderCapacity|futClearingRange|futCustType|catReportable|catAccnt|catBrkrAccnt|catBrkrAccntType|catBrkrFirmType|catBrkrIMID|tiedPriceRounding|algoFlashPct|algoBlockPct|auctionResponder|takeExchList|makeExchList|incTakeExchFee|incMakeExchFee|makeExchRule|roundRule|execMode|cxlOnHalt|splitZero|betaSource|billingSchedule|routeTemplates|accountConfigRiskTemplate|ExchGroupCapStratTemplateNmsEqt|ExchGroupCapStratTemplateNmsOpt|ExchGroupCapStratTemplateCmxFut|ExchGroupRteTemplateNmsEqt|ExchGroupRteTemplateNmsOpt|ExchGroupRteTemplateCmxFut'

# 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 = 'accnt: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 = 'accountType: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 = 'AccountConfigGateway'

# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'accountType|omniAccnt|omniAccnt2|clientAccnt|clientAccntIds|clientTags|accntName|proxyFirm1|proxyFirm2|proxyFirm3|clientMPID|internalMPID|execBrkrCode|execBrkrAccountStk|execBrkrClFirmStk|execBrkrAccountFut|execBrkrClFirmFut|execBrkrAccountOpt|execBrkrClFirmOpt|reviewBrkrExDestStk|reviewBrkrExDestFut|reviewBrkrExDestOpt|execUserNameStk|execUserNameFut|execUserNameOpt|clearingFirmName|clearingFirmStk|clearingAccntStk|clearingFirmFut|clearingAccntFut|clearingFirmOpt|clearingAccntOpt|clearingFlipTypeOpt|clearingFlipFirmOpt|clearingFlipAccntOpt|stkPositionSrc|futPositionSrc|optPositionSrc|theoModel|theoModel2|priStkAggGroup|secStkAggGroup|optAggGroup|futAggGroup|accntColor|accntStatus|defaultTradingAccnt|mifidAccntId|catFdidOpenDate|noCrossGroup|hedgeDeltaRule|binaryDays|awayExecControl|riskGroupControl|isAtsEnabled|clrFlipEnabled|stageReview|reviewExDest|userMarking|requireLocate|locateFirm|locatePool|firmType|orderCapacity|custOrderCapacity|futClearingRange|futCustType|catReportable|catAccnt|catBrkrAccnt|catBrkrAccntType|catBrkrFirmType|catBrkrIMID|tiedPriceRounding|algoFlashPct|algoBlockPct|auctionResponder|takeExchList|makeExchList|incTakeExchFee|incMakeExchFee|makeExchRule|roundRule|execMode|cxlOnHalt|splitZero|betaSource|billingSchedule|routeTemplates|accountConfigRiskTemplate|ExchGroupCapStratTemplateNmsEqt|ExchGroupCapStratTemplateNmsOpt|ExchGroupCapStratTemplateCmxFut|ExchGroupRteTemplateNmsEqt|ExchGroupRteTemplateNmsOpt|ExchGroupRteTemplateCmxFut'

# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'accountType|stkPositionSrc|futPositionSrc|optPositionSrc|accntStatus|hedgeDeltaRule|awayExecControl|riskGroupControl|isAtsEnabled|clrFlipEnabled|stageReview|userMarking|requireLocate|firmType|orderCapacity|custOrderCapacity|futClearingRange|futCustType|catReportable|catBrkrAccntType|catBrkrFirmType|tiedPriceRounding|auctionResponder|incTakeExchFee|incMakeExchFee|makeExchRule|roundRule|execMode|cxlOnHalt|splitZero|betaSource'

# 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 = 'accnt: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 = 'AccountConfigGateway'

# 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 = 'accnt: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)