The BidRequest(35=K) message can be used in one of two ways depending on market conventions being followed.
In the "Non disclosed" convention (e.g. US/European model) the BidRequest(35=k) message may be used to request a bid based on the sector, country, index and liquidity information contained within the message itself. In the "Non disclosed" convention the BidDescReqGrp repeating group is used to define liquidity of the program.
In the "Disclosed" convention (e.g. Japanese model) the BidRequest(35=k) message may be used to request bids based on the NewOrderList(35=E) messages sent in advance of BidRequest(35=k) message. In the "Disclosed" convention the BidCompReqGrp repeating group is used to define which NewOrderList(35=E) messages a bid is being sought for and the directions of the required bids.
Additional detail from the official source
The pair of fields SideValue1(396) and SideValue2(397) are used to show the monetary total value in either direction (buy or sell) of the transaction without revealing whether it is the order submitter's intention to buy or sell.
The two repeating groups, BidDescrReqGrp (with NoBidDescriptors(398)) and BidCompReqGrp (with NoBidComponents(420)) are mutually exclusive and a function of which bidding model is being used. If the "Non-Disclosure" method is being used the portfolio of stocks being traded is described by a number of "bid descriptors" entries. If the "Disclosure" method is being used the portfolio is fully disclosed, except for side, by a number of "list" entries enumerating the lists (with ListID(66)) that list the stocks to be traded.
A BidRequest(35=k) message with BidRequestTransType(374)=C (Cancel) may be used to indicate to the receiving party that they no longer need to store details of the bid request as they have either lost the bid or the list has been canceled.
Message structure 86 distinct fields
Source order, including nested components and groups. Group counts precede the repeated entries. “Required here” is relative to the enclosing component or group, not unconditional in the message. A dash means not marked required; conditional requirements remain in the source notes. This is a reference, not a counterparty-specific validator.
Includes nested components and groups. Escape clears the filter.
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Always required for retransmitted messages, whether prompted by the sending system or as the result of a resend request. (Can be embedded within encrypted data section.)
Required for message resent as a result of a ResendRequest. If data is not available set to same value as SendingTime (Can be embedded within encrypted data section.)
The last MsgSeqNum value received by the FIX engine and processed by downstream application, such as trading system or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.
HopGrpRepeating groupCount tag 627—
Number of repeating groups of historical "hop" information. Only applicable if OnBehalfOfCompID is used, however, its use is optional. Note that some market regulations or counterparties may require tracking of message hops.
When used in request for a "Disclosed" bid indicates that bid is required on assumption that SideValue1 is Buy or Sell. SideValue2 can be derived by inference.