developers:fixapi.collateralinquiry

This is an old revision of the document!


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
  • 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. By default, all user accounts are automatically subscribed upon successful login. If only a subset of accounts is required, Automatic Account Subscription can be turned off with the Logon message (`Tag 372=BB`). Account subscriptions must then be explicitly requested with the Collateral Inquiry message.

The List User Accounts request (`Tag 263=0`) retrieves the accounts the connected user is authorized for. The response is multiple Collateral Reports with:

  • Account Name (`Tag 1`)
  • Account ID (`Tag 448`)

To request the account list, set Collateral Inquiry Qualifier to Customer-Accounts (`Tag 896=0`).


Account Subscriptions

To subscribe to accounts:

  • Use `Subscription Request Type` = SnapShot-Plus-Updates (`Tag 263=1`)
  • Provide multiple accounts via the PartyID repeating group with:
    1. `PartyRole` = Customer-Account (`Tag 452=24`)
    2. `PartyID` = User Account IDs (`Tag 448`)
  • Set Collateral Inquiry Qualifier = Customer-Accounts (`Tag 896=0`)

A successful subscription loads the accounts and returns:

  • Account State (static details, P/L, margins, balances)
  • Account Portfolio Composition (orders, fills, positions)

To suppress verbose reports:

  • Set `ResponseTransportType` (`Tag 725=1`) for Out-Of-Band responses.
  • Or in Logon, set `RefMsgType` (`Tag 372=d`) to avoid echoing portfolio data.

Redundant subscriptions generate no response. Portfolio data can be refreshed by unsubscribing and re-subscribing.


UnSubscribing From Accounts

To unsubscribe from accounts:

  • Set `Subscription Request Type` = Disable-Previous-Snapshot-Plus-Update (`Tag 263=2`)
  • Specify accounts via PartyID repeating group:
    1. `PartyRole` = Customer-Account (`Tag 452=24`)
    2. `PartyID` = Account IDs (`Tag 448`)
  • Set `Collateral Inquiry Qualifier` = Customer-Accounts (`Tag 896=0`)

No messages are returned for unsubscriptions.


Listing Order History

To get the chronology of a specific order:

  • Set `Subscription Request Type` = SnapShot (`Tag 263=0`)
  • Provide `OrderID` in `PartyID` (`Tag 448`) with:
    1. `PartyRole` = Order-Id (`Tag 452=3`)
  • Set `Collateral Inquiry Qualifier` = Order-History (`Tag 896=3`)

Returns multiple Pending Execution Reports for all order chain states, including:

  • Risk Approval
  • Order Submittal to exchange
  • Order Acceptance by exchange

Listing Account Orders and Fills

To get an account’s portfolio snapshot:

  • Set `Subscription Request Type` = SnapShot (`Tag 263=0`)
  • Provide Account IDs in `PartyID` (`Tag 448`) with:
    1. `PartyRole` = Customer-Account (`Tag 452=24`)
  • Set `Collateral Inquiry Qualifier` = Account-Orders (`Tag 896=4`) or other order-related qualifier.

Returns Execution Reports for all orders and fills (working, filled, rejected, suspended, etc.). Key indicators:

  • `PossResend` (`Tag 97=Y`) marks these as inquiry results, not live updates.
  • `MassStatusReqID` (`Tag 584`) matches the `CollInquiryID` (`Tag 909`).
  • Fills include `LastPx` (`Tag 31`) and `LastShares`/`LastQty` (`Tag 32`).

Listing User/Trader Information

For User/Trader Information inquiries:

  • Set `Collateral Inquiry Qualifier` = User/Trader Information (`Tag 896=13`)
  • May return multiple Collateral Reports if in Multi-Trader mode (Logon with `RefMsgType=UCG`).

User/Trader Collateral Reports (`Tag 854=8`) include:

  • User’s name, unique ID, type
  • Firm name, parent firm name, roles
  • Optionally: assigned accounts (`PartyRole=24`) and enabled exchanges (`PartyRole=22`)

You can request:

  • All logged-in traders (`PartyID` = “Traders”)
  • Specific trader (`PartyID` = UserName from Trader Logon)

Message Dictionary

Tag Field Name Req'd Comments
Standard Header Y MsgType = BB
909 CollInquiryID Y Unique identifier for this inquiry.
263 SubscriptionRequestType Y Type of inquiry: `0`=SnapShot, `1`=Snapshot Plus Updates (Subscribe), `2`=Disable Previous Snapshot Plus Updates (UnSubscribe)
725 ResponseTransportType N `0`=In Band (Default), `1`=Out of Band (silent).
1 Account N Customer Account
581 AccountType N Type of Customer Account
Start Repeating Group PartyIDs
453 NoPartyIDs N Number of PartyIDs fields requested.
448 PartyID Y Value depends on PartyRole.
452 PartyRole N `22`=User Exchanges, `24`=Customer Account, `3`=Order Id
End Repeating Group
Start Repeating Group Collateral Inquiry Qualifiers
938 NoCollInquiryQualifier N Number of qualifiers
896 CollInquiryQualifier Y `0`=Customer Accounts, `1`=Customer Exchanges, `3`=Order History, `4`=Account Orders - All, `5`=Working, `6`=Canceled, `7`=Filled, `8`=Rejected, `9`=Suspended, `11`=Fills, `12`=Overnights, `13`=User/Trader Information
End Repeating Group
58 Text N Free-form text
Standard Trailer Y
  • developers/fixapi.collateralinquiry.1755262097.txt.gz
  • Last modified: 2025/08/15 12:48
  • by rob