Skip to main content
Version: Upcoming

Schema: SpdrParentExecution (ID: 4085)

SpdrParentExecution records are published every time a parent order execution is received. They also update as additional post execution mark information is available at F+1m and F+10m.

METADATA

AttributeValue
Topic3985-parent-orders
MLink TokenClientTrading
SRSE ProductSRTrade

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

BODY

#FieldTypeComment
10=fillNumberlongSpiderRock execution number (globally unique over trailing 10 days)
100sysRealmenum : SysRealm
103sysEnvironmentenum : SysEnvironment
106runStatusenum : RunStatus
109versionbyterecord version number;starts at zero and goes up every time an execution record is re-published (eg, bust, +1m marks, +10m marks, etc)
112execStatusenum : ExecStatusSpiderRock execution status (Fill,Bust,Correct,Reject,SysRej)
115execShapeenum : ExecShape
118packageIdlongSR package Id
121parentNumberlongSR parent number
124parentVersionshortSPDR order instance number (1 = original order; 2 = 1st cancel/replace, etc)
127baseParentNumberlongSPDR order number (initial number in cancel/replace sequence) (also, source parent for dynamically generated orders;eg auto-hedges)
130clOrdIdlongSR child order clOrdID resulting in fill
133reviewClOrdIdstring(24)review session clOrdId (usually from inbound review FIX session)S
136altFillIdlongalternate fill ID (usually from AwayTktGateway.pkey.clientFillID)
139altOrderIdstring(24)alternate order ID (usually clOrdId from client)
142altCrossIdstring(24)
145altLegRefIdstring(24)
148altAccntstring(32)alternate (client assigned) "long" account string (optional) [used to map between client and SR account strings]
151altUserNamestring(24)alternate (client assigned) user name (optional) [used to map between client and SR account strings]
154srcRoutingCodetext1inbound FIX routing code, if any
157riskGroupIdlongriskGroupId (parent order group ID) for this execution report
160triggerGroupIdlongWaitTrigger group Id
163triggerTimestamplongWaitTrigger trigger timestamp (nanoseconds since epoch)
166streetClOrdIdstring(24)street side clOrdId (clOrdId or equivalent of the street side order) [SR/street gateway generated]
169streetOrderIdstring(24)street side orderId (orderId or equivalent of the street side order) [from street side execReport]
178parentShapeenum : SpdrOrderShapeshape of originating parent order
181secKeyOptionKeyexecution security key
184secTypeenum : SpdrKeyTypeexecution security type [Stock, Future, Option]
187tickerTickerKeybase stock key (used for symbol risk aggregation)
843originTickerTickerKeyOrigin Parent Order TickerKey (will only be set for Spiderrock regional composite orders)
844originSecKeyOptionKeyOrigin Parent Order SecKey (will only be set for Spiderrock regional composite orders)
190accntstring(16)SpiderRock trading accnt [broker pkey]
193clientFirmstring(16)SR client firm
196spdrSourceenum : SpdrSourceSpiderRock parent order source code [broker pkey]
199groupingCodelongSpiderRock parent broker number [broker pkey]
809coreClientFirmstring(16)
810sponsorClientFirmstring(16)
202routingCodetext1SpiderRock market routing code
811engineNamestring(32)SpiderRock execution engine that handled the parent order
208gatewayNamestring(20)StreetGateway server than handled the child order (if any)
211execRoleenum : ExecRoleSpiderRock relationship to this execution record
833execBrkrCodestring(16)SR Assigned executing broker code
217execBrkrMPIDstring(8)FINRA/Assigned exec broker MPID (if any)
834altBrkrMPIDstring(8)alternative broker MPID for a given route (if needed)
220execBrkrAccntstring(16)account at executing broker (if any)
223execBrkrClFirmstring(16)client/firm at executing broker (if any)
226execBrkrUserNamestring(16)userName at execution broker (if any)
229clearingFlipTypeenum : FlipTypeClearing Flip Type (None, ExecBroker, CMTA, Giveup, DTCC, QSR, etc)
232clearingFlipFirmstring(6)Clearing Flip Firm (if any)
235clearingFlipAccntstring(10)Clearing Flip Account (if any)
238clearingFirmstring(4)clearing firm
241clearingAccntstring(12)clearing firm account (if any)
244origExecIDtext1original execution ID string (child order)
247lastExecIDtext1most recent execution ID (same as origExecID unless CANCEL/CORRECTION has been processed)
250remoteTexttext1text comment from remote endpoint (if any)
253orderSideenum : BuySellorder side
256spdrOrderStatusenum : SpdrOrderStatus
259spdrCloseReasonenum : SpdrCloseReason
262cumFillQuantityintcumulative fills (this parent number only)
265avgFillPricedouble
268cumLegFillQuantityintcumulative fills (spread only)
271avgLegFillPricedouble
274leavesQtyint
277priceTypeenum : PriceType
280childShapeenum : SpdrOrderShape
283childSizeintchild order size
286childPricedoublechild order price
289childDttmDateTimechild order generation date/time
292childExchstring(6)child order exchange
845childExDeststring(16)child order exchange destination code
298childExecBrokerstring(8)executing broker that child order was routed to
301childIsDirectedenum : YesNochild order isDirected flag
304childIsoSweepenum : YesNochild order ISO sweep flag
307childOrderHandlingstring(24)child order handling string from the algo that generated the child order responsible for this fill
310childAlgoHandlerenum : ChildHandleralgo handler for this child order
313childCreateReasonenum : ChildCreateReason
316childCancelReasonenum : ChildCancelReason
319childMakerTakerenum : MakerTaker
322childUBiddoubleunderlier market bid at @ child order send time
325childUAskdoubleunderlier market ask at @ child order send time
328childBiddoublemarket bid at the @ child order send time
331childAskdoublemarket ask at the @ child order send time
334childMarkdoublemid-market (SR surface price if option) @ child order send time
337childFairWidthdoublemodel fair width @ child order create
340childVolfloatchild order volatility @ childLimitRefUPrc
343childProbfloatSR probability for the child order @ child order send time
346childLimitRefUPrcdoublelimit reference underlier price @ child order send time
349childLimitPrcdoubleparent order limit price @ child order send time
352childVolAtmfloatatm volatility @ child order send time
355childPosTypeenum : PositionTypechild order position type
358childFirmOptPositioninteffective firm option position @ child order send time
361childSSaleFlagenum : ShortSaleFlagshort sale flag
364childFirmStkPositioninteffective firm stock position @ child order send time
367childFirmOpenOrdersintopen sell orders counted in marking @ child order send time
370childLocateQuanintavailable locate quantity (if selling short) @ child order send time
373childLocateFirmstring(6)firm granting the locate
376childLocatePoolstring(16)locate pool @ firm granting locate
379childMktStanceenum : MktStancechild order was expected to be marketable @ child send time
382childCxlAttemptedenum : YesNocancel attempt was made on the child order prior to receiving this fill
385childCxlFillLatencyfloatcancel attempt -to- fill report latency (in ms)
388childMethodstring(8)execution method string
391childSourcestring(12)execution source string
394firmTypeenum : FirmTypechild order firm type [Customer, ProCust, Firm, MM, etc]
397priAggGroupstring(16)primary aggregation group
400secAggGroupstring(16)secondary aggregation group
403directedClientFirmstring(16)
406isCommPayingenum : YesNo
409fillTransactDttmDateTimetransaction date/time as reported by exchange or down stream broker
412fillTsdoublefill report ts (seconds since startup; 100 nanosec resolution)
415fillDttmDateTimeDate/time of fill arrival (SRDateTime)
418fillExchstring(12)ExDest code from child order execution report
421fillExecIdtext1street side execution Id
424fillExecRefIdtext1street side execution ref Id (only used when busting an execution)
427fillLegRefIdlonglegRefId for multileg fills
430fillLegRatiointlegRatio (if spread order)
433fillExchFeefloatSpiderRock estimate of the exchange fee based on liquidity tags (best effort)
436fillMarketstring(8)usually from execReport.lastMkt as reported by child order venue
439fillPricedoublefill price
442fillQuantityintfill quantity
445fillReportDetailtext1extra detail (if any) from child execution
448fillBiddoublemarket bid @ fill arrival
451fillAskdoublemarket ask @ fill arrival
454fillMarkdoublemid-market (or SR surface price if option) @ fill arrival
457fillFairWidthdoublemodel fair width @ fill time
460fillUMarkdoubleunderlier mark @ fill arrival
463fillUBiddoubleunderlier market bid @ fill arrival
466fillUAskdoubleunderlier market bid @ fill arrival
469fillUBidSzintunderlier bid size @ fill arrival
472fillUAskSzintunderlier ask size @ fill arrival
475fillVolAtmfloatatm volatility @ fill arrival
478fillMark1Mdoublemid-market (or SR surface price if option) @ fill arrival + 1m
481fillMark10Mdoublemid-market (or SR surface price if option) @ fill arrival + 10m
484fillBid1Mdoublemarket bid @ fill arrival + 1m
487fillAsk1Mdoublemarket ask @ fill arrival + 1m
490fillBid10Mdoublemarket bid @ fill arrival + 10m
493fillAsk10Mdoublemarket ask @ fill arrival + 10m
496fillUMark1Mdoubleunderlier mark @ fill arrival + 1m
499fillUMark10Mdoubleunderlier mark @ fill arrival + 10m
502fillVolAtm1Mfloatatm volatility (options only) + 1m
505fillVolAtm10Mfloatatm volatility (options only) + 10m
508fillState1Menum : FillMarkState
511fillState10Menum : FillMarkState
514fillVolfloatfill volatility @ fillLimitRefUPrc & fillLimitRefSDiv
517fillVolSfloatfill volatility @ surfaceUPrc & surfaceSDiv
520fillProbfloatT+10m probability for the fill @ fill arrival send time
523fillLimitRefUPrcdoublelimit reference underlier price @ fill arrival time
526fillLimitRefSDivdoublelimit reference sdiv value @ fill arrival time
529fillLimitPrcdoubleparent order limit price @ fill arrival time
532fillVefloatfill vega
535fillGafloatfill gamma
538fillDefloatfill delta
541fillThfloatfill theta
547fillVeRatiofloatfill ve / fill atm ve
550fillBetafloatSpiderRock estimate of beta to SPX
812riskVegafloatrisk vega
813riskWtVegafloatrisk gamma
814riskNValuefloatrisk delta
815riskDeltafloatrisk delta
816riskDDeltafloatrisk ddelta
817riskRm1floatuser defined (from parent order) [used to manage order groups]
818riskRm2floatuser defined (from parent order) [used to manage order groups]
819riskRm3floatuser defined (from parent order) [used to manage order groups]
820riskRm4floatuser defined (from parent order) [used to manage order groups]
821riskRm5floatuser defined (from parent order) [used to manage order groups]
822riskRm6floatuser defined (from parent order) [used to manage order groups]
823riskRm7floatuser defined (from parent order) [used to manage order groups]
824marginUDnVDnfloatunderlier down, vol down
825marginUDnVUpfloatunderlier down, vol up
826marginUUpVDnfloatunderlier up, vol down
827marginUUpVUpfloatunderlier up, vol up
828riskU15Dnfloatunderlier dn 15% shock slide
829riskU15Upfloatunderlier up 15% shock slide
830riskU50Dnfloatunderlier dn 50% shock slide
831riskU50Upfloatunderlier up 50% shock slide
604fillBrkrRatefloatbilling brokerage rate (tier 1)
607fillRoutingRatefloatbilling routing rate (tier 1)
835mmPrefCodestring(6)market maker preference code (if any)
836mmCreditfloatexpected market maker credit (if any)
610riskCodeenum : RiskCodeSpiderRock Risk Code (if any)
613billingSecTypeenum : BillingSecTypeSpiderRock billing security type
616billingCategoryenum : BillingCategorySpiderRock billing category
619spdrLiquidityTagstring(2)SpiderRock normalized liquidity tag
622exchLiquidityTagstring(4)liquidity tag as reported by downstream venue (if any)
625fillExchDetailtext1other fix tags (tag:value#tag:value) [additional detail used for analysis]
628lastCapacityenum : OrderCapacitychild order capacity
631exchFirmTypestring(6)used to reflect field from a downstread execution back up to upstream fill report
634extExecBrokerstring(12)used to reflect field from a downstream destination back up to and upstream fill report
637relationshipTypeenum : RelationshipTypetype of SR <-> client relationship
640clArriveMarkfloatclient specified arrival mark (passed through from parent order)
643parentDttmDateTimeparent order creation date/time
646parentOrderSizeintparent order size
649parentUBiddoubleunderlier market bid @ parent order arrival
652parentUAskdoubleunderlier market ask @ parent order arrival
655parentUMarkdoubleunderlier mid mark @ parent order arrival
658parentBiddoublemarket bid @ parent order arrival
661parentAskdoublemarket ask @ parent order arrival
664parentMarkdoublemid-market (or SR surface price) @ parent order arrival
667parentFairWidthdoublemodel fair width @ parent order arrival
670parentSurfVoldoubleSR surf vol @ parent order arrival
673parentLimitVolfloatparent order limit volatilty (if any)
676parentLimitPrcdoubleparent order limit price @ parent order arrival
679parentLimitRefUPrcdoublelimit reference underlier price @ parent order arrival
682parentTheoVolfloatclient supplied theoretical volatility (used for markup only) [copied from parent order]
685parentTheoPrcfloatoption price corresponding parentTheoVol
688parentPosTypeenum : PositionTypeparent order position type
691parentSSaleFlagenum : ShortSaleFlagshort sale flag on parent order
832noticeNumberlongRFR / Auction noticeNumber (if any)
697numMakeExchangesbytenumber of exchanges (1 - 4) on which to publish public making orders. Effective number might be less than requested number if sufficient exchanges are not available.
700publicSizeenum : PublicSizeHandlingpublic order size handling: None=use default size handling (usually limits public size to 'typical' market size); Randomize=randomize public size; FullSize=expose entire order size where possible
703canOverlapCxlReplenum : YesNocan execution engines overlap cancel/replace operations [order can overfill if YES] (at most one active overlapping cxl/replace operation for each parent order)
706progressRuleenum : ProgressRuleImmediate = all size immediately available;TWAP = size released in time intervals;VWAP = size released in volume intervals;
709exchMaskEnabledenum : YesNoexchMask != 0
712timeInForceenum : TimeInForceParent order market session
715parentOrderHandlingenum : ParentOrderHandlingPrimary/Take Algo Handler
718parentBalanceHandlingenum : ParentBalanceHandlingMake Algo Handler
721orderLimitTypeenum : SpdrLimitTypePrimary Limit Type (Prc, Vol, Rel, Market, Smrt, etc)
724orderLimitClassenum : SpdrLimitClassSimple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit)
727takeReachRuleenum : ReachRuleImmediate = reach room immediately available; Delayed = available after [1-3] seconds; Passive = available if contra side aggresses; WeakOnly = only take if available size < avgMarketSize; ISOSweep = Intermarket Sweep [requires WaitTrigger]
730overrideCodeenum : OverrideCodeSDiv/DDiv override rule (applies if LimitType = Vol)
733alphaTypeenum : AlphaTypeAffects limit probabilities (applies if LimitClass = Probability)
736parentStrategystring(36)client strategy [usually client supplied]
739userNamestring(24)user name associated with the parent order
742autoHedgeenum : AutoHedgeauto-hedge algorithm (if any)
745hedgeSecKeyExpiryKeyauto-hedge sec key (if any)
748hedgeSecTypeenum : SpdrKeyTypeauto-hedge sec type (if any)
751hedgeBetaRatiofloatportion of executed $delta to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0])
754hedgeScopeenum : HedgeScopehedge group scope
757userData1text1client supplied data field; passes through to parent and child executions and reports as well as FIX drops
760userData2text1client supplied data field; passes through to parent and child executions and reports as well as FIX drops
763yearsfloatyears to expiration
766underliersPerCnintoption delivery underliers per contract
769underlierTypeenum : UnderlierTypetype of underlier (affects $greek calculations)
772tickValuefloat$NLV value of a single tick change in display premium (pointValue = tickValue / tickSize)
775pointValuefloat$NLV value of a single point change in display premium (pointValue = tickValue / tickSize)
778pointCurrencyenum : Currency
781uPrcRatiofloatUPrcRatio (SymbolRatio) from product definition
784minTickSizefloatminimum market price variation (dnTickSize if on a boundary)
787priceFormatenum : PriceFormatSpiderRock price display format code
790uPriceFormatenum : PriceFormatSpiderRock underlier price display format code
837responseTypestring(4)usually an exch auction response type
838nbboBiddoublenbbo bid @ child order send
839nbboAskdoublenbbo ask @ child order send
840childUPrcdoubleunderlier price when child order sent
841exchBidSzintexch bid size @ child order send
842exchAskSzintexch ask size @ child order send
793liveUPrcdoubleSpiderRock internal use only
796liveMarkdoubleSpiderRock internal use only
799srcTimestamplong
802sgwTimestamplong
805engTimestamplong
808timestampDateTimetimestamp of this record [not necessarily the timstamp of the fill itself]

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

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

# 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 = 'sysRealm|sysEnvironment|runStatus|version|execStatus|execShape|packageId|parentNumber|parentVersion|baseParentNumber|clOrdId|reviewClOrdId|altFillId|altOrderId|altCrossId|altLegRefId|altAccnt|altUserName|srcRoutingCode|riskGroupId|triggerGroupId|triggerTimestamp|streetClOrdId|streetOrderId|parentShape|secKey|secType|ticker|originTicker|originSecKey|accnt|clientFirm|spdrSource|groupingCode|coreClientFirm|sponsorClientFirm|routingCode|engineName|gatewayName|execRole|execBrkrCode|execBrkrMPID|altBrkrMPID|execBrkrAccnt|execBrkrClFirm|execBrkrUserName|clearingFlipType|clearingFlipFirm|clearingFlipAccnt|clearingFirm|clearingAccnt|origExecID|lastExecID|remoteText|orderSide|spdrOrderStatus|spdrCloseReason|cumFillQuantity|avgFillPrice|cumLegFillQuantity|avgLegFillPrice|leavesQty|priceType|childShape|childSize|childPrice|childDttm|childExch|childExDest|childExecBroker|childIsDirected|childIsoSweep|childOrderHandling|childAlgoHandler|childCreateReason|childCancelReason|childMakerTaker|childUBid|childUAsk|childBid|childAsk|childMark|childFairWidth|childVol|childProb|childLimitRefUPrc|childLimitPrc|childVolAtm|childPosType|childFirmOptPosition|childSSaleFlag|childFirmStkPosition|childFirmOpenOrders|childLocateQuan|childLocateFirm|childLocatePool|childMktStance|childCxlAttempted|childCxlFillLatency|childMethod|childSource|firmType|priAggGroup|secAggGroup|directedClientFirm|isCommPaying|fillTransactDttm|fillTs|fillDttm|fillExch|fillExecId|fillExecRefId|fillLegRefId|fillLegRatio|fillExchFee|fillMarket|fillPrice|fillQuantity|fillReportDetail|fillBid|fillAsk|fillMark|fillFairWidth|fillUMark|fillUBid|fillUAsk|fillUBidSz|fillUAskSz|fillVolAtm|fillMark1M|fillMark10M|fillBid1M|fillAsk1M|fillBid10M|fillAsk10M|fillUMark1M|fillUMark10M|fillVolAtm1M|fillVolAtm10M|fillState1M|fillState10M|fillVol|fillVolS|fillProb|fillLimitRefUPrc|fillLimitRefSDiv|fillLimitPrc|fillVe|fillGa|fillDe|fillTh|fillVeRatio|fillBeta|riskVega|riskWtVega|riskNValue|riskDelta|riskDDelta|riskRm1|riskRm2|riskRm3|riskRm4|riskRm5|riskRm6|riskRm7|marginUDnVDn|marginUDnVUp|marginUUpVDn|marginUUpVUp|riskU15Dn|riskU15Up|riskU50Dn|riskU50Up|fillBrkrRate|fillRoutingRate|mmPrefCode|mmCredit|riskCode|billingSecType|billingCategory|spdrLiquidityTag|exchLiquidityTag|fillExchDetail|lastCapacity|exchFirmType|extExecBroker|relationshipType|clArriveMark|parentDttm|parentOrderSize|parentUBid|parentUAsk|parentUMark|parentBid|parentAsk|parentMark|parentFairWidth|parentSurfVol|parentLimitVol|parentLimitPrc|parentLimitRefUPrc|parentTheoVol|parentTheoPrc|parentPosType|parentSSaleFlag|noticeNumber|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|exchMaskEnabled|timeInForce|parentOrderHandling|parentBalanceHandling|orderLimitType|orderLimitClass|takeReachRule|overrideCode|alphaType|parentStrategy|userName|autoHedge|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|userData1|userData2|years|underliersPerCn|underlierType|tickValue|pointValue|pointCurrency|uPrcRatio|minTickSize|priceFormat|uPriceFormat|responseType|nbboBid|nbboAsk|childUPrc|exchBidSz|exchAskSz|liveUPrc|liveMark|srcTimestamp|sgwTimestamp|engTimestamp|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 = 'reviewClOrdId: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 = 'SpdrParentExecution'

# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'sysRealm|sysEnvironment|runStatus|version|execStatus|execShape|packageId|parentNumber|parentVersion|baseParentNumber|clOrdId|reviewClOrdId|altFillId|altOrderId|altCrossId|altLegRefId|altAccnt|altUserName|srcRoutingCode|riskGroupId|triggerGroupId|triggerTimestamp|streetClOrdId|streetOrderId|parentShape|secKey|secType|ticker|originTicker|originSecKey|accnt|clientFirm|spdrSource|groupingCode|coreClientFirm|sponsorClientFirm|routingCode|engineName|gatewayName|execRole|execBrkrCode|execBrkrMPID|altBrkrMPID|execBrkrAccnt|execBrkrClFirm|execBrkrUserName|clearingFlipType|clearingFlipFirm|clearingFlipAccnt|clearingFirm|clearingAccnt|origExecID|lastExecID|remoteText|orderSide|spdrOrderStatus|spdrCloseReason|cumFillQuantity|avgFillPrice|cumLegFillQuantity|avgLegFillPrice|leavesQty|priceType|childShape|childSize|childPrice|childDttm|childExch|childExDest|childExecBroker|childIsDirected|childIsoSweep|childOrderHandling|childAlgoHandler|childCreateReason|childCancelReason|childMakerTaker|childUBid|childUAsk|childBid|childAsk|childMark|childFairWidth|childVol|childProb|childLimitRefUPrc|childLimitPrc|childVolAtm|childPosType|childFirmOptPosition|childSSaleFlag|childFirmStkPosition|childFirmOpenOrders|childLocateQuan|childLocateFirm|childLocatePool|childMktStance|childCxlAttempted|childCxlFillLatency|childMethod|childSource|firmType|priAggGroup|secAggGroup|directedClientFirm|isCommPaying|fillTransactDttm|fillTs|fillDttm|fillExch|fillExecId|fillExecRefId|fillLegRefId|fillLegRatio|fillExchFee|fillMarket|fillPrice|fillQuantity|fillReportDetail|fillBid|fillAsk|fillMark|fillFairWidth|fillUMark|fillUBid|fillUAsk|fillUBidSz|fillUAskSz|fillVolAtm|fillMark1M|fillMark10M|fillBid1M|fillAsk1M|fillBid10M|fillAsk10M|fillUMark1M|fillUMark10M|fillVolAtm1M|fillVolAtm10M|fillState1M|fillState10M|fillVol|fillVolS|fillProb|fillLimitRefUPrc|fillLimitRefSDiv|fillLimitPrc|fillVe|fillGa|fillDe|fillTh|fillVeRatio|fillBeta|riskVega|riskWtVega|riskNValue|riskDelta|riskDDelta|riskRm1|riskRm2|riskRm3|riskRm4|riskRm5|riskRm6|riskRm7|marginUDnVDn|marginUDnVUp|marginUUpVDn|marginUUpVUp|riskU15Dn|riskU15Up|riskU50Dn|riskU50Up|fillBrkrRate|fillRoutingRate|mmPrefCode|mmCredit|riskCode|billingSecType|billingCategory|spdrLiquidityTag|exchLiquidityTag|fillExchDetail|lastCapacity|exchFirmType|extExecBroker|relationshipType|clArriveMark|parentDttm|parentOrderSize|parentUBid|parentUAsk|parentUMark|parentBid|parentAsk|parentMark|parentFairWidth|parentSurfVol|parentLimitVol|parentLimitPrc|parentLimitRefUPrc|parentTheoVol|parentTheoPrc|parentPosType|parentSSaleFlag|noticeNumber|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|exchMaskEnabled|timeInForce|parentOrderHandling|parentBalanceHandling|orderLimitType|orderLimitClass|takeReachRule|overrideCode|alphaType|parentStrategy|userName|autoHedge|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|userData1|userData2|years|underliersPerCn|underlierType|tickValue|pointValue|pointCurrency|uPrcRatio|minTickSize|priceFormat|uPriceFormat|responseType|nbboBid|nbboAsk|childUPrc|exchBidSz|exchAskSz|liveUPrc|liveMark|srcTimestamp|sgwTimestamp|engTimestamp|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 = 'reviewClOrdId: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 = 'sysRealm: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 = 'SpdrParentExecution'

# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'sysRealm|sysEnvironment|runStatus|version|execStatus|execShape|packageId|parentNumber|parentVersion|baseParentNumber|clOrdId|reviewClOrdId|altFillId|altOrderId|altCrossId|altLegRefId|altAccnt|altUserName|srcRoutingCode|riskGroupId|triggerGroupId|triggerTimestamp|streetClOrdId|streetOrderId|parentShape|secKey|secType|ticker|originTicker|originSecKey|accnt|clientFirm|spdrSource|groupingCode|coreClientFirm|sponsorClientFirm|routingCode|engineName|gatewayName|execRole|execBrkrCode|execBrkrMPID|altBrkrMPID|execBrkrAccnt|execBrkrClFirm|execBrkrUserName|clearingFlipType|clearingFlipFirm|clearingFlipAccnt|clearingFirm|clearingAccnt|origExecID|lastExecID|remoteText|orderSide|spdrOrderStatus|spdrCloseReason|cumFillQuantity|avgFillPrice|cumLegFillQuantity|avgLegFillPrice|leavesQty|priceType|childShape|childSize|childPrice|childDttm|childExch|childExDest|childExecBroker|childIsDirected|childIsoSweep|childOrderHandling|childAlgoHandler|childCreateReason|childCancelReason|childMakerTaker|childUBid|childUAsk|childBid|childAsk|childMark|childFairWidth|childVol|childProb|childLimitRefUPrc|childLimitPrc|childVolAtm|childPosType|childFirmOptPosition|childSSaleFlag|childFirmStkPosition|childFirmOpenOrders|childLocateQuan|childLocateFirm|childLocatePool|childMktStance|childCxlAttempted|childCxlFillLatency|childMethod|childSource|firmType|priAggGroup|secAggGroup|directedClientFirm|isCommPaying|fillTransactDttm|fillTs|fillDttm|fillExch|fillExecId|fillExecRefId|fillLegRefId|fillLegRatio|fillExchFee|fillMarket|fillPrice|fillQuantity|fillReportDetail|fillBid|fillAsk|fillMark|fillFairWidth|fillUMark|fillUBid|fillUAsk|fillUBidSz|fillUAskSz|fillVolAtm|fillMark1M|fillMark10M|fillBid1M|fillAsk1M|fillBid10M|fillAsk10M|fillUMark1M|fillUMark10M|fillVolAtm1M|fillVolAtm10M|fillState1M|fillState10M|fillVol|fillVolS|fillProb|fillLimitRefUPrc|fillLimitRefSDiv|fillLimitPrc|fillVe|fillGa|fillDe|fillTh|fillVeRatio|fillBeta|riskVega|riskWtVega|riskNValue|riskDelta|riskDDelta|riskRm1|riskRm2|riskRm3|riskRm4|riskRm5|riskRm6|riskRm7|marginUDnVDn|marginUDnVUp|marginUUpVDn|marginUUpVUp|riskU15Dn|riskU15Up|riskU50Dn|riskU50Up|fillBrkrRate|fillRoutingRate|mmPrefCode|mmCredit|riskCode|billingSecType|billingCategory|spdrLiquidityTag|exchLiquidityTag|fillExchDetail|lastCapacity|exchFirmType|extExecBroker|relationshipType|clArriveMark|parentDttm|parentOrderSize|parentUBid|parentUAsk|parentUMark|parentBid|parentAsk|parentMark|parentFairWidth|parentSurfVol|parentLimitVol|parentLimitPrc|parentLimitRefUPrc|parentTheoVol|parentTheoPrc|parentPosType|parentSSaleFlag|noticeNumber|numMakeExchanges|publicSize|canOverlapCxlRepl|progressRule|exchMaskEnabled|timeInForce|parentOrderHandling|parentBalanceHandling|orderLimitType|orderLimitClass|takeReachRule|overrideCode|alphaType|parentStrategy|userName|autoHedge|hedgeSecKey|hedgeSecType|hedgeBetaRatio|hedgeScope|userData1|userData2|years|underliersPerCn|underlierType|tickValue|pointValue|pointCurrency|uPrcRatio|minTickSize|priceFormat|uPriceFormat|responseType|nbboBid|nbboAsk|childUPrc|exchBidSz|exchAskSz|liveUPrc|liveMark|srcTimestamp|sgwTimestamp|engTimestamp|timestamp'

# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'sysRealm|sysEnvironment|runStatus|execStatus|execShape|parentShape|secType|spdrSource|execRole|clearingFlipType|orderSide|spdrOrderStatus|spdrCloseReason|priceType|childShape|childIsDirected|childIsoSweep|childAlgoHandler|childCreateReason|childCancelReason|childMakerTaker|childPosType|childSSaleFlag|childMktStance|childCxlAttempted|firmType|isCommPaying|fillState1M|fillState10M|riskCode|billingSecType|billingCategory|lastCapacity|relationshipType|parentPosType|parentSSaleFlag|publicSize|canOverlapCxlRepl|progressRule|exchMaskEnabled|timeInForce|parentOrderHandling|parentBalanceHandling|orderLimitType|orderLimitClass|takeReachRule|overrideCode|alphaType|autoHedge|hedgeSecType|hedgeScope|underlierType|pointCurrency|priceFormat|uPriceFormat'

# 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 = 'reviewClOrdId: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 = 'SpdrParentExecution'

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