{"id":90252,"date":"2021-06-03T09:42:00","date_gmt":"2021-06-03T13:42:00","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=90252"},"modified":"2025-02-12T16:40:14","modified_gmt":"2025-02-12T21:40:14","slug":"how-to-code-a-bracket-order-in-the-web-api","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/","title":{"rendered":"How to Code a Bracket Order in the Web API"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"900\" height=\"550\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg\" alt=\"Quant\" class=\"wp-image-64401 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg 900w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers-700x428.jpg 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers-300x183.jpg 300w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers-768x469.jpg 768w\" data-sizes=\"(max-width: 900px) 100vw, 900px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 900px; aspect-ratio: 900\/550;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To help limit loss and lock in a profit you can bracket an order with additional opposite-side orders.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A BUY order is bracketed by a high-side sell limit and a low-side sell stop order. A SELL order is bracketed by a high-side buy stop order and a low side buy limit order. &nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The endpoint <strong>\/iserver\/account\/{accounted}\/orders<\/strong> can be used to pass order request info in an Array to include the parent and child order(s).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A single customer order Id (cOID) is sent with the parent and the same value is specified in parentId for the child order(s).<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#a8efb3; font-size:14px\"><em>Please be sure to authenticate first in order to resolve the below URLs.<\/em><br><em>For authentication details, visit&nbsp;<a href=\"https:\/\/interactivebrokers.github.io\/cpwebapi\/index.html#login\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/interactivebrokers.github.io\/cpwebapi\/index.html#login<\/a><\/em><\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#e4eee5\"><strong>POST<br> https:\/\/localhost:5000\/v1\/api\/iserver\/account\/{accountId}\/orders<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Request Body:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Array () [<\/p>\n\n\n\n<ul style=\"font-size:11px\"><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>acctId<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>The specified Account order is placed for. This should be one of the accounts returned by \/iserver\/accounts.<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>conid<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>contract identifier of the security you want to trade. You can find the conid with \/iserver\/secdef\/search.<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>secType<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>asset class formatted as conid:type, for example 265598:STK<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>cOID<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Customer Order Id. An arbitrary string that can be used to identify the order, e.g &#8220;my-fb-order&#8221;. The value must be unique for a 24h span.<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>parentId<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>When placing brack orders, specify with the child order. Must be equal to the cOID of the parent.<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>orderType<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>The type of order, example MKT (Market), LMT (Limit). Use the endpoint \/info-and-rules to determine available orderType(s).<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>listingExchange<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Optional. By default we use &#8220;SMART&#8221; routing. Use the endpoint: \/portal\/iserver\/contract\/{conid}\/info, to determine <strong>valid_exchange<\/strong>.<\/li><li><strong>boolean<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>outsideRTH<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Set to true if the order can be executed outside regular trading hours.<\/li><li><strong>number<\/strong> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>price<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>For LMT this is the limit price. For STP this is the stop price<\/li><li><strong>number<\/strong> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>auxPrice<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>For STOP_LIMIT orders this is the Stop Price.<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>side<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>SELL or BUY<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>ticker<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Contract Symbol<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>tif<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>The time-in-force of an order, example DAY. Use the endpoint \/info-and-rules to determine <strong>tifTypes<\/strong>.<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>referrer<\/i> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Order reference<\/li><li><strong>number<\/strong> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>quantity<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>the amount or shares of the order. Usually integer, for some special cases can be float numbers.<\/li><li><strong>number<\/strong> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>fxQty<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>double number, this is the cash quantity field used for FX conversion order.<\/li><li><strong>boolean<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>useAdaptive<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>If true, the system will use the Adaptive Algo to submit the order, ref:&nbsp;<a href=\"https:\/\/www.interactivebrokers.com\/en\/index.php?f=19091\">https:\/\/www.interactivebrokers.com\/en\/index.php?f=19091<\/a><\/li><li><strong>boolean<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>isCurrencyConversion<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Set to true for a FX conversion order.<\/li><li><strong>string<\/strong>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>allocationMethod<\/i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Set the allocation method when placing an order using an FA account for a group.<\/li><li><strong>boolean<\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <i>isClose<\/i> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Set to true if order is closing an existing position.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Response:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Array (){<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>string\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/strong><em>id\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><br>order_id = system generated order Id(s) for each order. local_order_id = cOID. parent_order_id = order_Id of the parent order.<\/li>\n\n\n\n<li><strong>Array of strings<\/strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <em>message\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><br>if the message is a question, you must use the endpoint \/iserver\/reply\/{replyid} to confirm the message and submit the order.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-background\" style=\"background-color:#a8efb3; font-size:14px\"><em>Please be sure to authenticate first in order to resolve the below URLs.<\/em><br><em>For authentication details, visit&nbsp;<a href=\"https:\/\/interactivebrokers.github.io\/cpwebapi\/index.html#login\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/interactivebrokers.github.io\/cpwebapi\/index.html#login<\/a><\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-example\"><strong>Example:<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Request:<\/strong><\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#e4eee5\"><strong>POST<br> https:\/\/localhost:5000\/v1\/api\/iserver\/account\/DU***14\/orders<\/strong><\/p>\n\n\n\n<p style=\"background-color:#fcfcdb;font-size:12px\" class=\"has-background\">\nRequest Body:<br>\n{<br>\n&nbsp;&nbsp;&#8220;orders&#8221;: [<br>\n&nbsp;&nbsp;{<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;acctId&#8221;: &#8220;DU***14&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;conid&#8221;: &#8220;265598&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;cOID&#8221;: &#8220;66807300&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;orderType&#8221;: &#8220;LMT&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;listingExchange&#8221;: &#8220;SMART&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;outsideRTH&#8221;: true,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;price&#8221;: 115.5,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;side&#8221;: &#8220;BUY&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;ticker&#8221;: &#8220;AAPL&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;tif&#8221;: &#8220;DAY&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;referrer&#8221;: &#8220;ParentOrder&#8221;,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;  &#8220;quantity&#8221;: 50,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;  &#8220;useAdaptive&#8221;: false,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;  &#8220;isClose&#8221;: false<br>\n    &nbsp;&nbsp;},<br>\n    &nbsp;&nbsp;{<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;acctId&#8221;: &#8220;DU***14&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;conid&#8221;: &#8220;265598&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;orderType&#8221;: &#8220;LMT&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;listingExchange&#8221;: &#8220;SMART&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;outsideRTH&#8221;: true,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;  &#8220;price&#8221;: 125.5,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;  &#8220;side&#8221;: &#8220;SELL&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;ticker&#8221;: &#8220;AAPL&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;tif&#8221;: &#8220;DAY&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;referrer&#8221;: &#8220;ProfitTakerOrder&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;quantity&#8221;: 50,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;useAdaptive&#8221;: false,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;isClose&#8221;: false,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;parentId&#8221;: &#8220;66807300&#8221;,<br>\n    &nbsp;&nbsp;},<br>\n    &nbsp;&nbsp;{<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;acctId&#8221;: &#8220;DU***14&#8221;,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;  &#8220;conid&#8221;: &#8220;265598&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;orderType&#8221;: &#8220;STP&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;listingExchange&#8221;: &#8220;SMART&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;outsideRTH&#8221;: false,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;price&#8221;: 110.5,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;side&#8221;: &#8220;SELL&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;ticker&#8221;: &#8220;AAPL&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;tif&#8221;: &#8220;DAY&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;referrer&#8221;: &#8220;StopLossOrder&#8221;,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;quantity&#8221;: 50,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;useAdaptive&#8221;: false,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;isClose&#8221;: false,<br>\n     &nbsp;&nbsp;&nbsp;&nbsp; &#8220;parentId&#8221;: &#8220;66807300&#8221;,<br>\n    &nbsp;&nbsp;}<br>\n  &nbsp;]<br>\n}<br><br>\n\nResponse:<br>\n[<br>\n  &nbsp;&nbsp;{<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;&#8220;order_id&#8221;: &#8220;1763237133&#8221;,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;&#8220;order_status&#8221;: &#8220;Submitted&#8221;,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;&#8220;local_order_id&#8221;: &#8220;66807300&#8221;<br>\n  &nbsp;&nbsp;},<br>\n  &nbsp;&nbsp;{<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;&#8220;order_id&#8221;: &#8220;1763237135&#8221;,<br>\n   &nbsp;&nbsp;&nbsp;&nbsp; &#8220;order_status&#8221;: &#8220;PreSubmitted&#8221;,<br>\n    &nbsp;&nbsp;&nbsp;&nbsp;&#8220;parent_order_id&#8221;: &#8220;1763237133&#8221;<br>\n  &nbsp;&nbsp;}<br>\n]\n<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have any further questions or issues creating a bracket order, please reach out to the API Group, ref:&nbsp;<a href=\"https:\/\/www.interactivebrokers.com\/en\/index.php?f=47047\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>https:\/\/www.interactivebrokers.com\/en\/index.php?f=47047<\/strong><\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Visit the IBKR API Center for Downloads, Resources, and Technical Details:<br><a href=\"https:\/\/www.interactivebrokers.com\/en\/trading\/ib-api.php\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>https:\/\/www.interactivebrokers.com\/en\/trading\/ib-api.php<\/strong><\/a>.<\/p>\n\n\n\n<p class=\"has-background wp-block-paragraph\" style=\"background-color:#d9dddf\">See the previous installments in this series:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/campus\/ibkr-quant-news\/tutorial-web-api-connect-to-brokerage-session\/\">Tutorial: Web API \u2013 Connect to Brokerage Session<\/a><\/li>\n\n\n\n<li><a href=\"\/campus\/ibkr-quant-news\/how-to-code-an-ib-algo-order-in-the-web-api\/\">How to Code an IB Algo Order in the Web API<\/a><\/li>\n\n\n\n<li><a href=\"\/campus\/ibkr-quant-news\/how-to-query-contract-details-for-derivatives-in-the-web-api\/\">How to Query Contract Details for Derivatives in the Web API<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial demonstrates the syntax to code a bracket order in the IBKR Web API.<\/p>\n","protected":false},"author":614,"featured_media":64401,"comment_status":"closed","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[340,343,338,341,352,344,9763],"tags":[851,7734,865,9821,9552],"contributors-categories":[13576],"class_list":["post-90252","post","type-post","status-publish","format-standard","has-post-thumbnail","category-api-development","category-programing-languages","category-ibkr-quant-news","category-quant-development","category-quant-north-america","category-quant-regions","category-rest-development","tag-algo-trading","tag-bracket-order","tag-github","tag-rest-development","tag-web-api","contributors-categories-interactive-brokers"],"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Code a Bracket Order in the Web API | IBKR Quant<\/title>\n<meta name=\"description\" content=\"This tutorial demonstrates the syntax to code a bracket order in the IBKR Web API.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/90252\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Code a Bracket Order in the Web API | IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"This tutorial demonstrates the syntax to code a bracket order in the IBKR Web API.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-03T13:42:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-12T21:40:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"550\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"IBKR API\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"IBKR API\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"IBKR API\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/a70292c923c6262ec34ebe59e937f0cc\"\n\t            },\n\t            \"headline\": \"How to Code a Bracket Order in the Web API\",\n\t            \"datePublished\": \"2021-06-03T13:42:00+00:00\",\n\t            \"dateModified\": \"2025-02-12T21:40:14+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/\"\n\t            },\n\t            \"wordCount\": 2034,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/10\\\/star-numbers.jpg\",\n\t            \"keywords\": [\n\t                \"Algo Trading\",\n\t                \"Bracket Order\",\n\t                \"GitHub\",\n\t                \"REST Development\",\n\t                \"Web API\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"IBKR API Development\",\n\t                \"Programming Languages\",\n\t                \"Quant\",\n\t                \"Quant Development\",\n\t                \"Quant North America\",\n\t                \"Quant Regions\",\n\t                \"REST Development\"\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/\",\n\t            \"name\": \"How to Code a Bracket Order in the Web API | IBKR Quant Blog\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/10\\\/star-numbers.jpg\",\n\t            \"datePublished\": \"2021-06-03T13:42:00+00:00\",\n\t            \"dateModified\": \"2025-02-12T21:40:14+00:00\",\n\t            \"description\": \"This tutorial demonstrates the syntax to code a bracket order in the IBKR Web API.\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-the-web-api\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/10\\\/star-numbers.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/10\\\/star-numbers.jpg\",\n\t            \"width\": 900,\n\t            \"height\": 550,\n\t            \"caption\": \"Quant\"\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/a70292c923c6262ec34ebe59e937f0cc\",\n\t            \"name\": \"IBKR API\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/ibkrapi\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Code a Bracket Order in the Web API | IBKR Quant","description":"This tutorial demonstrates the syntax to code a bracket order in the IBKR Web API.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/90252\/","og_locale":"en_US","og_type":"article","og_title":"How to Code a Bracket Order in the Web API | IBKR Quant Blog","og_description":"This tutorial demonstrates the syntax to code a bracket order in the IBKR Web API.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/","og_site_name":"IBKR Campus US","article_published_time":"2021-06-03T13:42:00+00:00","article_modified_time":"2025-02-12T21:40:14+00:00","og_image":[{"width":900,"height":550,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg","type":"image\/jpeg"}],"author":"IBKR API","twitter_card":"summary_large_image","twitter_misc":{"Written by":"IBKR API","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/#article","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/"},"author":{"name":"IBKR API","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/a70292c923c6262ec34ebe59e937f0cc"},"headline":"How to Code a Bracket Order in the Web API","datePublished":"2021-06-03T13:42:00+00:00","dateModified":"2025-02-12T21:40:14+00:00","mainEntityOfPage":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/"},"wordCount":2034,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg","keywords":["Algo Trading","Bracket Order","GitHub","REST Development","Web API"],"articleSection":["IBKR API Development","Programming Languages","Quant","Quant Development","Quant North America","Quant Regions","REST Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/","url":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/","name":"How to Code a Bracket Order in the Web API | IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/#primaryimage"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg","datePublished":"2021-06-03T13:42:00+00:00","dateModified":"2025-02-12T21:40:14+00:00","description":"This tutorial demonstrates the syntax to code a bracket order in the IBKR Web API.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-the-web-api\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg","width":900,"height":550,"caption":"Quant"},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/a70292c923c6262ec34ebe59e937f0cc","name":"IBKR API","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/ibkrapi\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/10\/star-numbers.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/90252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/614"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=90252"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/90252\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/64401"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=90252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=90252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=90252"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=90252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}