Change Summary
Mandatory Change
Background
360T has upgraded their API Spec to a new version dated March 2025 to improve performance and a few improvisations listed below.
Affected Venues
Changes
Change overview from 360T
- OrderID, ExecID, MDEntryID on the new gateway is numeric (positive 63-bit Integer); old version sent alphanumeric text.
- PartyID repeating group no longer contains PartyRole 36 (Entering Trader), only PartyRole 17 and PartyRole 20 for ExecType=F (Trade).
- Added support for Floating Peg with Discretion, Mid-match, and EDF reference price. This requires a separate session from non-peg orders. Peg session does not support Order Modify currently.
- Removed support for Stop, Trailing Stop, OCO, ExpireDate, TWAP Algo, AutoTP/SL, Order Status, Order Mass Status.
- Removed support for Survive-After-Disconnect. All orders are Kill-On-Disconnect.
- Removed support for Local-Only (18=h) on per-order basis. We do support Local-Only orders (i.e firm or no-last-look) but you need a dedicated session for those.
- Removed support for SecondaryClOrdID(526), SenderSubID(50), OBOCompID(115), OBOSubID(116) – previously these would be echoed back; now they’re just ignored.
- Removed support for Account(1). If you need multiple accounts you need to subscribe on separate sessions.
- Removed Scope(546)=1/2/3 in each MDEntry. If you need to distinguish firm from last-look liquidity, we can give you a dedicated MD session for that.
- Security List (35=y) initially has all the instruments, but at value date change you will get separate single-entry updates instead of a single many-entry update.
Timeline
The changes are available currently in UAT and Production.
Whisperer Client Impact
Whisperer clients will see the below listed changes as a part of the API spec upgrade.
Change Details
Support for AllOrNone orders. Please refer to Order Management for details.
Below are the changes in individual Messages.
| MessageType | Field | Change Details | Comments |
|---|---|---|---|
| MarketDataRequest | NoBodyPassthruFields.BodyPassthruKey |
| |
| MarketDataIncrementalRefresh | NoEntryPassthruFields.EntryPassthruKey | ||
| MarketDataIncrementalRefresh | NoEntryPassthruFields.EntryPassthruKey |
| |
| MarketDataIncrementalRefresh | NoEntryPassthruFields.EntryPassthruKey |
| |
| MarketDataIncrementalRefresh | NoEntryPassthruFields.EntryPassthruKey | ||
| MarketDataIncrementalRefresh | NoBodyPassthruFields.BodyPassthruKey | "SettlDate" supported. | |
| NewOrderMultileg | OrdType |
| |
| NewOrderMultileg | TimeInForce | ||
| NewOrderMultileg | HasExtendedOrderFields.EffectiveTime | ||
| NewOrderMultileg | NoStrategyParameters.StrategyParameterName | PegUpdateInterval (StrategyParameterType = Int) supported. | millis, If present, customizes how frequently the effective limit price will be adjusted. Values will be silently adjusted to a nonzero multiple of the EDF update interval, and capped at 60 seconds. |
| NewOrderMultileg | NoStrategyParameters.StrategyParameterName | ||
| NewOrderMultileg | NoStrategyParameters.StrategyParameterName | ||
| NewOrderMultileg | NoStrategyParameters.StrategyParameterName | ||
| NewOrderMultileg | NoStrategyParameters.StrategyParameterName | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| NewOrderMultileg | NoBodyPassthruFields.BodyPassthruKey | ||
| MultilegOrderCancelReplaceRequest | OrdType |
| |
| MultilegOrderCancelReplaceRequest | TimeInForce | ||
| MultilegOrderCancelReplaceRequest | HasExtendedOrderFields.EffectiveTime | ||
| MultilegOrderCancelReplaceRequest | HasExtendedOrderFields.DiscretionOffsetValue | Must match that specified in referenced order. | |
| MultilegOrderCancelReplaceRequest | NoBodyPassthruFields.BodyPassthruValue | ||
| MultilegOrderCancelReplaceRequest | NoBodyPassthruFields.BodyPassthruValue | ||
| MultilegOrderCancelReplaceRequest | NoBodyPassthruFields.BodyPassthruValue | ||
| MultilegOrderCancelReplaceRequest | NoBodyPassthruFields.BodyPassthruValue | ||
| MultilegOrderCancelReplaceRequest | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | ExecRefID | ||
| ExecutionReport | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | NoBodyPassthruFields.BodyPassthruValue | ||
| ExecutionReport | EffectiveTime | ||
| ExecutionReport | ExpireTime | ||
| ExecutionReport | StopPx |