Skip to main content
Version: 8.5.11.1

Schema: ResponderMarkupVegaDir (ID: 2500)

METADATA

AttributeValue
Topic2450-liquidity-notice
MLink TokenSRATS
SRSE ProductSRTrade

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

BODY

#FieldTypeDefault ValueComment
10=accntstring(16)
11=clientFirmstring(16)
15=rootTickerKey
13=respSideenum : BuySellauction responder side (your side)
16=responderIDintclient supplied responder ID (can be any number including zero)
100userNamestring(24)username used for responding to auction notices
101isDisabledenum : YesNoif Yes, this auto-responder record is disabled
137enabledUntilDateTimewill be enabled up until this time
102canIncludeFlexenum : YesNoif yes, can respond to auction notices that include flex option legs
103canIncludeStockenum : YesNoif yes, can respond to auction notices that include a stock leg
178canRespondSRenum : YesNoif yes, can respond to auction notices from SR
179canRespondExchenum : YesNoif yes, can respond to auction notices from exchanges
104cpFlagenum : CallPutPairif not Pair must match all option legs
138minNetVegaRatiofloat1.0minimum ratio of abs(netVega)/totalVega to enable a response (hard lower limit of 0.25)
105minYearsfloat0both markup.minYears and markup.maxYears must be between [minYears, maxYears]
106maxYearsfloat10.0
107minExpiryDateTimeboth markup.minExpiry and markup.maxExpiry must be between [minExpiry, maxExpiry]
108maxExpiryDateTime
109minXDeltafloat-0.50all leg xDelta must be between [minXDelta, maxXDelta]
110maxXDeltafloat+0.50
111minStrikedouble0all leg strikes must be between [minStrike, maxStrike]
112maxStrikedouble999999
113minSurfEdgePremfloat-99spread surface edge (in premium) (+ = through surface; - = behind surface)
114minSurfEdgeVolfloat-99spread surface edge (in vol) (0.01 = 1.0 vol pts) (+ = through surface; - = behind surface)
184minProbabilityfloatoption response probability must be >= minProbability
115incFeesInRespenum : YesNoinclude all estimated responder fees in final response price
116roundRuleenum : RoundRule
117maxResponseSizeintmaximum number of contracts per response (will respond for 100% if auction size <= maxResponseSize)
118maxResponseVegafloatmaximum total vega per response
119totalResponseVegafloatmaximum vega (filled) all day
120totalResponseWtVegafloatmaximum wtVega (filled) all day
185notMktPennyenum : YesNoNone or Yes will respond to non-marketable penny name orders
186mktPenny1enum : YesNoNone or Yes will respond to marketable (mkt 1 tick wide) penny name orders
187mktPenny2enum : YesNoNone or Yes will respond to marketable (mkt 2 tick wide) penny name orders
188mktPenny3penum : YesNoNone or Yes will respond to marketable (mkt 3+ tick wide) penny name orders
189notMktNickleenum : YesNoNone or Yes will respond to non-marketable nickle/dime name orders
190mktNickle1enum : YesNoNone or Yes will respond to marketable (mkt 1 tick wide) nickel/dime name orders
191mktNickle2enum : YesNoNone or Yes will respond to marketable (mkt 2 tick wide) nickel/dime name orders
192mktNickle3penum : YesNoNone or Yes will respond to marketable (mkt 3+ tick wide) nickel/dime name orders
121autoHedgeenum : AutoHedge
122hedgeInstrumentenum : HedgeInstDefault=actual underlier (EQT or FUT) [IndexOptions use ETF]; FrontMonth=actual underlier (EQT) or front month (FUT) [IndexOptions use FM Fut]; Stock=hedgeSecKey.TickerKey; Future=hedgeSecKey.ExpiryKey
123hedgeSecKeyExpiryKeyautohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]
124hedgeBetaRatiofloatportion of executed $money to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0]
125hedgeScopeenum : HedgeScopehedge group scope [RiskGroup or Accnt]
126hedgeSessionenum : MarketSessiontime in force for the autohedge order (can be Day or ExtDay) [None defaults to pOrder.timeInForce]
127riskGroupIdlong0Default: 0 (none). Required to be non-zero if autoHedge is something other than None.
129numNoticeslongnumber of notices that match response bucket
193numNoticeBlocklongnumber of SR block auction numNotices
194numNoticeFlashlongnumber of SR flash auction numNotices
195numNoticeExchPIlongnumber of Exch Price Improvement auction numNotices
196numNoticeExchEXlongnumber of Exch Exposure auction numNotices
197numNotMktPennylongnumber auction numNotices
198numMktPenny1longnumber auction numNotices
199numMktPenny2longnumber auction numNotices
200numMktPenny3plongnumber auction numNotices
201numNotMktNicklelongnumber auction numNotices
202numMktNickle1longnumber auction numNotices
203numMktNickle2longnumber auction numNotices
204numMktNickle3plongnumber auction numNotices
158respDisabledSkipslongnumber skipped from isDisabled
159stockDisabledSkipslongnumber skipped from canIncludeStock != Yes
160cpFlagSkipslongnumber skipped from cpFlag not matching notice legs CallPut
161expiryRangeSkipslongnumber skipped from out of range expiry value
162yearsRangeSkipslongnumber skipped from out of range years value
163listedFlexSkipslongnumber skipped from flex/listed filter
164noticePriceSkipslongnumber skipped from limit price filter (exchange only)
165aggSizeLimitSkipslongnumber skipped from aggregate contract/vega size limit
166riskGroupLimitSkipslongnumber skipped from riskGroup limits
167rootSkipslongnumber skipped from leg root mismatch
168xDeltaRangeSkipslongnumber skipped from out of range XDelta value
169strikeRangeSkipslongnumber skipped from out of range strike
170minVegaRatioSkipslongnumber skipped from not qualifying ratio netVega/sum(abs(vega))
205probabilitySkipslongnumber skipped from min probability threshold not being met
131numResponseslongnumber of response attempts (number of parentOrders/NoticeExecReports)
206numRespondsBlocklongnumber of SR block auction responses
207numRespondsFlashlongnumber of SR flash auction responses
208numResponsesExchPIlongnumber of Exch Price Improvement auction responses
209numResponsesExchEXlongnumber of Exch Exposure auction responses
171numFullSizelong
172numAllocSizelong
173numPriceMisslong
174numTooLatelong
175numOtherMisslong
176numDidNotTradelong
210numTradedint
132qtyTradedint
133vegaTradeddouble
177wtVegaTradeddouble
211sumWidthTradeddoubleSUM: marketWidth * trdQty => AvgMktWidth = sumWidthTraded / qtyTraded
212sumSurfEdgeTradeddoubleSUM: printEdge * trdQty => AvgPrintEdge = sumSurfEdgeTraded / qtyTraded
213sumM1PnLTradeddoubleSUM: M1PnL * trdQty => AvgM1PnL = sumM1PnLTraded / qtyTraded
214sumM10PnLTradeddoubleSUM: M10PnL * trdQty => AvgM10PnL = sumM10PnLTraded / qtyTraded
215numTradedBlocklongnumber of SR block auctions traded
216numTradedFlashlongnumber of SR flash auctions traded
217numTradedExchPIlongnumber of Exch Price Improvement auctions traded
218numTradedExchEXlongnumber of Exch Exposure auctions traded
134modifiedBystring(24)user who last modified this record
135modifiedInenum : SysEnvironment
136timestampDateTimetimestamp of last modification

REPEATING FIELDS

CFirmInclFilter

#FieldTypeDefault ValueComment
181inititorCFirmstring(16)<missing> will respond to all initiating client firms; non-empty will only respond if (one of) matches initiator ClientFirm

CFirmExclFilter

#FieldTypeDefault ValueComment
183inititorCFirmstring(16)<missing> will not exclude any initiating client firms; non-empty will only respond if (none of) matches initiator ClientFirm

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

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

# 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 = 'userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|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 = '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 = 'ResponderMarkupVegaDir'

# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|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 = '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 = 'userName: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 = 'ResponderMarkupVegaDir'

# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|modifiedBy|modifiedIn|timestamp'

# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'isDisabled|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|incFeesInResp|roundRule|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeScope|hedgeSession|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 = '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 = 'ResponderMarkupVegaDir'

# 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)

Post 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'

# Request Parameters
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'postmsgs',
"postaction": "U", # (U)pdate, (I)nsert, or (R)eplace
"postmerge": "Y", # (Y)es or (N)o
}

payload = {
"header": {
"mTyp": "ResponderMarkupVegaDir"
},
"message": {
"pkey": {
"accnt": "exampleString", // string
"clientFirm": "exampleString", // string
"root": {
"at": "EQT",
"ts": "NMS",
"tk": "AAPL"
},
"respSide": "enumValue", // enum(BuySell) - None, Buy, Sell
"responderID": 1 // int
},
"userName": "exampleString", // string
"isDisabled": "enumValue", // enum(YesNo) - None, Yes, No
"enabledUntil": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"canIncludeFlex": "enumValue", // enum(YesNo) - None, Yes, No
"canIncludeStock": "enumValue", // enum(YesNo) - None, Yes, No
"canRespondSR": "enumValue", // enum(YesNo) - None, Yes, No
"canRespondExch": "enumValue", // enum(YesNo) - None, Yes, No
"cpFlag": "Pair", // enum(CallPut) - Call, Put, Pair. Default=Pair
"minNetVegaRatio": 1.0, // float. Default=1.0
"minYears": 0, // float. Default=0
"maxYears": 10.0, // float. Default=10.0
"minExpiry": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"maxExpiry": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"minXDelta": -0.50, // float. Default=-0.50
"maxXDelta": +0.50, // float. Default=+0.50
"minStrike": 0, // double. Default=0
"maxStrike": 999999, // double. Default=999999
"minSurfEdgePrem": -99, // float. Default=-99
"minSurfEdgeVol": -99, // float. Default=-99
"minProbability": 1.0, // float
"incFeesInResp": "enumValue", // enum(YesNo) - None, Yes, No
"roundRule": "enumValue", // enum(RoundRule) - None, Exact, Fuzzy
"maxResponseSize": 1, // int
"maxResponseVega": 1.0, // float
"totalResponseVega": 1.0, // float
"totalResponseWtVega": 1.0, // float
"notMktPenny": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny1": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny2": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny3p": "enumValue", // enum(YesNo) - None, Yes, No
"notMktNickle": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle1": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle2": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle3p": "enumValue", // enum(YesNo) - None, Yes, No
"autoHedge": "enumValue", // enum(AutoHedge) - None, Static, AutoMid, AutoCrx, AutoTrn, SpdrAuto, Spdr10S, Spdr30S, Spdr90S, Spdr5M, Spdr30M, SpdrDay, SmartFast, SmartNorm, FastCrx, FastDark, SlowDark, AlphaVwap1pct, AlphaVwap2pct, AlphaVwap5pct, AlphaVwap25pct, Custom, AwayAlgo, EuxMsAlgo
"hedgeInstrument": "enumValue", // enum(HedgeInst) - None, Default, FrontMonth, Stock, Future
"hedgeSecKey": {
"at": "EQT",
"ts": "NMS",
"tk": "AAPL",
"dt": "2025-01-01"
},
"hedgeBetaRatio": 1.0, // float
"hedgeScope": "enumValue", // enum(HedgeScope) - None, Accnt, RiskGroup
"hedgeSession": "enumValue", // enum(MarketSession) - None, PreMkt, RegMkt, PostMkt, PreRegMkt, RegPostMkt, AllDay
"riskGroupId": 0, // long. Default=0
"numNotices": 1, // long
"numNoticeBlock": 1, // long
"numNoticeFlash": 1, // long
"numNoticeExchPI": 1, // long
"numNoticeExchEX": 1, // long
"numNotMktPenny": 1, // long
"numMktPenny1": 1, // long
"numMktPenny2": 1, // long
"numMktPenny3p": 1, // long
"numNotMktNickle": 1, // long
"numMktNickle1": 1, // long
"numMktNickle2": 1, // long
"numMktNickle3p": 1, // long
"respDisabledSkips": 1, // long
"stockDisabledSkips": 1, // long
"cpFlagSkips": 1, // long
"expiryRangeSkips": 1, // long
"yearsRangeSkips": 1, // long
"listedFlexSkips": 1, // long
"noticePriceSkips": 1, // long
"aggSizeLimitSkips": 1, // long
"riskGroupLimitSkips": 1, // long
"rootSkips": 1, // long
"xDeltaRangeSkips": 1, // long
"strikeRangeSkips": 1, // long
"minVegaRatioSkips": 1, // long
"probabilitySkips": 1, // long
"numResponses": 1, // long
"numRespondsBlock": 1, // long
"numRespondsFlash": 1, // long
"numResponsesExchPI": 1, // long
"numResponsesExchEX": 1, // long
"numFullSize": 1, // long
"numAllocSize": 1, // long
"numPriceMiss": 1, // long
"numTooLate": 1, // long
"numOtherMiss": 1, // long
"numDidNotTrade": 1, // long
"numTraded": 1, // int
"qtyTraded": 1, // int
"vegaTraded": 1.0, // double
"wtVegaTraded": 1.0, // double
"sumWidthTraded": 1.0, // double
"sumSurfEdgeTraded": 1.0, // double
"sumM1PnLTraded": 1.0, // double
"sumM10PnLTraded": 1.0, // double
"numTradedBlock": 1, // long
"numTradedFlash": 1, // long
"numTradedExchPI": 1, // long
"numTradedExchEX": 1, // long
"modifiedBy": "exampleString", // string
"modifiedIn": "enumValue", // enum(SysEnvironment) - None, Neptune, Pluto, V7_Stable, V7_Latest, Saturn, Venus, Mars, SysTest, V7_Current
"timestamp": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"CFirmInclFilter": [ // Repeating Field
{
"inititorCFirm": "exampleString" // string
}
],
"CFirmExclFilter": [ // Repeating Field
{
"inititorCFirm": "exampleString" // string
}
]
}
}

response = requests.post(MLINK_PROD_URL, params=params, json=payload)