Summon Requesters
This page walks a requester through Summon from first message to certification. For the request types and timings, see Getting Started with Summon.
1. Summon or Summon with a Limit
QuoteType (537) is required, and it decides how your request is handled:
- Summon,
537=0: responders' quotes show on the order book, and you trade by hitting them on TR. - Summon with a limit,
537=1and a price (44): OpenYield places a limit order at your price on the book 5 seconds after your request.
A request with 537=1 and no price places nothing at 5 seconds, and its responders are not told of updates or cancels. Use 537=0 for a Summon.
2. Sessions
You need RQ to send requests and receive acknowledgements, and TR, because fills arrive on TR (and DC), never on RQ. To see responses, you also need OB or MD, unless you only use a Summon with a limit or Legacy RFQ.
3. Send a Request
Send a QuoteRequest (35=R) on RQ with:
| Tag | Field | Value |
|---|---|---|
| 131 | QuoteReqID | Your ID for the request. Reuse it to update or cancel. |
| 146 | NoRelatedSym | 1. Use one security per request. |
| 55, 48, 22 | Symbol, SecurityID, SecurityIDSource | The security, in both 48 and 55; ISIN by default (22=4) |
| 54 | Side | What you want to do: 2 (Sell) for bids back, 1 (Buy) for offers back |
| 38 | OrderQty | Required, in your connection's quantity unit (bonds by default) |
| 537 | QuoteType | Required: 0 for a Summon, 1 for a Summon with a limit |
| 44 | Price | Your limit, with 537=1: it goes on the book at 5 seconds. With 537=0 it places nothing; it is used only in the order-value check. |
| 453, 448, 452 | Parties | Your Client ID in PartyRole 3. See Party Blocks. |
If 537, 54, 22 or 38 is missing, OpenYield replies with a BusinessMessageReject (35=j). For example, a Summon with a limit to sell 100 bonds at 101.255:
See Initiate a New Request for Order for the full field table and the acknowledgements.
4. Acknowledgement
OpenYield acknowledges every request with an ExecutionReport on RQ: ExecType New (150=0), OrdStatus Pending New (39=A), a staged OrderID (37, with SD in it), and your price in Price (44), or 0 if you sent none.
5. Responses
Responses are quotes on the live order book, so they show on OB or MD. Hit or lift them with an order on TR, as for any other order.
6. Summon with a Limit
On a Summon with a limit, your limit goes on the book 5 seconds after the request. You receive New (39=0) on RQ, on a new, live OrderID (OD). Fills arrive on TR and DC. See Summon with a Limit is Executed.
7. Update
Resend the request with the same QuoteReqID (131). You can change quantity (38) and price (44) only. Any other change is rejected (OrdRejReason 103=5), and the request is then canceled.
- Summon: Replaced (
150=5,39=5). Responders receive the request again with the new size. - Summon with a limit, within 5 seconds: no acknowledgement; the new values are used at 5 seconds.
- Summon with a limit, after 5 seconds: your live limit is replaced, and you receive Replaced on the
ODOrderID.
See Update an Existing Request for Order.
8. Cancel
Resend the request with the same QuoteReqID (131) and OrderQty 38=0.
- Summon: Canceled (
150=4,39=4). Responders receive the request again with38=0. - Summon with a limit, within 5 seconds: Canceled on the
SDOrderID, and nothing is placed. - Summon with a limit, after 5 seconds: one Canceled, on the
ODOrderID.
A cancel for an unknown QuoteReqID gets no reply. See Cancel an Existing Request for Order.
9. At 30 Seconds
If your connection is set up for it, OpenYield cancels what's left of your limit 30 seconds after the request. You receive Canceled (150=4, 39=4) with ClOrdID (11) set to your QuoteReqID plus -CANCEL, and OrigClOrdID (41) set to your QuoteReqID. Otherwise the limit stays on the book until you cancel it. See Automated Request Cancel.
10. Rejects
Rejects are ExecutionReports on RQ: ExecType Rejected (150=8), OrdStatus Rejected (39=8), an OrdRejReason (103) and, except for security rejects, a Text (58):
| OrdRejReason (103) | Meaning |
|---|---|
| 1 | Unknown security |
| 2 | Market closed or not open |
| 3 | Exceeds exposure limit |
| 5 | Unknown order, or an update that changes more than quantity and price |
| 6 | Duplicate order |
| 8 | Price check failed |
| 9 | Party inactive |
| 10 | Counterparty or contract not set up |
| 11 | Order not supported |
| 13 | Quantity check failed |
| 99 | Other |
11. Legacy RFQ
If your system doesn't read the order book, OpenYield can set up your connection to forward the responses to your requests with 537=1 to you as quotes on RQ, 5 seconds after your request. You accept one with a QuoteResponse (35=AJ). The accept becomes a new limit order on the book for the size and price you send. See Legacy RFQ.
12. Certification
Run the Ping for Liquidity Issuer and Request for Quote Issuer scenarios yourself in the Test environment, then book your certification call. See Certification Checklist.