Collateral Inquiry
Application Management
Beyond order routing, the T4 FIX API provides additional functionalities to query and manage positions, orders and accounts. The Collateral Inquiry message (MsgTyp=BB) is the cornerstone of (non-routing) application management. If the requests are successful, Collateral Inquiries result in responses from the T4 FIX API server with Execution Reports, Collateral Reports, or Security Definitions.
Driven by its Subscription Request Type (Tag 263), the Collateral Inquiry can provide the following functionalities:
- Subscribe to multiple accounts for the connected user
- UnSubscribe from multiple accounts for the connected user
- List User Accounts
- List History of a specific order
- List Orders of a specific account
- List User Information
Listing User Accounts
After FIX logon success, the CTS API system requires subscription to user accounts before any orders can be placed. This is a key requirement without which no order would be accepted during the FIX Session.
By default, all user accounts are automatically subscribed to upon a successful login. If only a subset of user accounts is required for trading, Automatic Account Subscription can optionally be turned off with the Logon message (Tag 372=BB). Subsequently, account subscriptions must be explicitly requested with the Collateral Inquiry message.
To retrieve a list of accounts:
- Set Tag 263 = 0
- Set Tag 896 = 0 (Customer-Accounts)
- Returned as multiple Collateral Reports with Tag 1 (Account Name) and Tag 448 (Account ID).
Account Subscriptions
To subscribe to accounts:
- Use Tag 263 = 1 (Snapshot Plus Updates)
- Use PartyID repeating group:
- Tag 452 = 24 (Customer-Account)
- Tag 448 = Account ID
- Set Tag 896 = 0 (Customer-Accounts)
Response includes:
- Account State (details, P/L, margins, balances)
- Account Portfolio (orders, fills, positions)
To suppress verbose responses:
- Set Tag 725 = 1 (Out-of-Band)
- Or use Logon message with Tag 372 = d
Note: Subscriptions are by Account ID (Tag 448), not Account Name.
To refresh data (e.g., to receive new Execution Reports), unsubscribe and re-subscribe.
Unsubscribing from Accounts
To unsubscribe:
- Set Tag 263 = 2
- Use PartyID group:
- Tag 452 = 24
- Tag 448 = Account ID
- Set Tag 896 = 0
Note: No response is returned.
Listing Order History
To list a specific order’s history:
- Tag 263 = 0
- PartyID group:
- Tag 452 = 3 (Order ID)
- Tag 448 = Order ID
- Set Tag 896 = 3 (Order-History)
Returns multiple Execution Reports for all order lifecycle events (risk approval, exchange submission, acceptance, etc.).
Listing Account Orders and Fills
To get an account’s portfolio snapshot:
- Tag 263 = 0
- PartyID group:
- Tag 452 = 24 (Customer Account)
- Tag 448 = Account ID
- Set Tag 896 = 4 (or other values)
Returns Execution Reports for all orders:
- Working, filled, rejected, suspended, etc.
- Fills include Tag 31 (LastPx) and Tag 32 (LastQty)
Differentiation:
- Execution Reports for Collateral Inquiry include Tag 97 = Y (PossResend)
- Include Tag 584 (MassStatusReqID) to match Tag 909 (CollInquiryID)
Listing User/Trader Information
To retrieve trader info:
- Set Tag 896 = 13
- Use Tag 448 = “Traders” or specific UserName (Tag 553)
Multiple Collateral Reports returned in multi-trader mode (Logon with RefMsgType = UCG). Master User info is returned even without multi-trader mode.
Reports (Tag 854 = 8) may include:
- User name, ID, type, firm, roles
- Assigned accounts (if Tag 452 = 24)
- Enabled exchanges (if Tag 452 = 22)
Message Dictionary
Tag | Field Name | Req'd | Comments |
---|---|---|---|
*Standard Header* | Y | MsgType = BB | |
909 | CollInquiryID | Y | Unique identifier for this inquiry |
263 | SubscriptionRequestType | Y | 0 = SnapShot 1 = Snapshot Plus Updates 2 = Disable Previous Snapshot Plus Updates |
725 | ResponseTransportType | N | 0 = In Band (default) 1 = Out of Band |
1 | Account | N | Customer Account |
581 | AccountType | N | Type of Customer Account |
Start Repeating Group: PartyID
Tag | Field Name | Req'd | Comments |
---|---|---|---|
453 | NoPartyIDs | N | Number of PartyID entries |
448 | PartyID | Y | Value depends on Party Role |
452 | PartyRole | N | 22 = User Exchanges 24 = Customer Account 3 = Order ID |
Start Repeating Group: CollInquiryQualifier
Tag | Field Name | Req'd | Comments |
---|---|---|---|
938 | NoCollInquiryQualifier | N | Number of qualifiers |
896 | CollInquiryQualifier | Y | 0 = Customer Accounts 1 = Customer Exchanges 3 = Order History 4 = Account Orders - All 5 = Account Orders - Working 6 = Account Orders - Canceled 7 = Account Orders - Filled 8 = Rejected 9 = Suspended 11 = Fills 12 = Overnights 13 = User/Trader Information |
58 | Text | N | Free-form text |
*Standard Trailer* | Y |