snaptrade 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/Gemfile.lock +14 -12
  4. data/README.md +218 -254
  5. data/docs/APIStatusApi.md +57 -57
  6. data/docs/AccountInformationApi.md +535 -535
  7. data/docs/AuthenticationApi.md +314 -314
  8. data/docs/ConnectionsApi.md +265 -265
  9. data/docs/ErrorLogsApi.md +68 -68
  10. data/docs/OptionsApi.md +378 -378
  11. data/docs/ReferenceDataApi.md +595 -595
  12. data/docs/TradingApi.md +478 -799
  13. data/docs/TransactionsAndReportingApi.md +183 -183
  14. data/lib/snaptrade/api/account_information_api.rb +801 -801
  15. data/lib/snaptrade/api/api_status_api.rb +98 -98
  16. data/lib/snaptrade/api/authentication_api.rb +481 -481
  17. data/lib/snaptrade/api/connections_api.rb +398 -398
  18. data/lib/snaptrade/api/error_logs_api.rb +112 -112
  19. data/lib/snaptrade/api/options_api.rb +591 -591
  20. data/lib/snaptrade/api/reference_data_api.rb +894 -894
  21. data/lib/snaptrade/api/trading_api.rb +741 -1150
  22. data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -283
  23. data/lib/snaptrade/api_client.rb +427 -427
  24. data/lib/snaptrade/api_client_custom.rb +32 -32
  25. data/lib/snaptrade/api_error.rb +6 -6
  26. data/lib/snaptrade/configuration.rb +334 -334
  27. data/lib/snaptrade/models/account.rb +6 -6
  28. data/lib/snaptrade/models/account_holdings.rb +251 -249
  29. data/lib/snaptrade/models/account_holdings_account.rb +263 -260
  30. data/lib/snaptrade/models/account_order_record.rb +6 -6
  31. data/lib/snaptrade/models/account_order_record_status.rb +6 -6
  32. data/lib/snaptrade/models/account_simple.rb +6 -6
  33. data/lib/snaptrade/models/account_sync_status.rb +6 -6
  34. data/lib/snaptrade/models/action.rb +6 -6
  35. data/lib/snaptrade/models/auth_type.rb +6 -6
  36. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +6 -6
  37. data/lib/snaptrade/models/balance.rb +6 -6
  38. data/lib/snaptrade/models/brokerage.rb +6 -6
  39. data/lib/snaptrade/models/brokerage_authorization.rb +6 -6
  40. data/lib/snaptrade/models/brokerage_authorization_type.rb +6 -6
  41. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +6 -6
  42. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +6 -6
  43. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +6 -6
  44. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +6 -6
  45. data/lib/snaptrade/models/brokerage_symbol.rb +6 -6
  46. data/lib/snaptrade/models/brokerage_type.rb +6 -6
  47. data/lib/snaptrade/models/calculated_trade.rb +6 -6
  48. data/lib/snaptrade/models/cash_restriction.rb +6 -6
  49. data/lib/snaptrade/models/connection_type.rb +6 -6
  50. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +6 -6
  51. data/lib/snaptrade/models/currency.rb +6 -6
  52. data/lib/snaptrade/models/delete_user_response.rb +6 -6
  53. data/lib/snaptrade/models/dividend_at_date.rb +6 -6
  54. data/lib/snaptrade/models/encrypted_response.rb +6 -6
  55. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +6 -6
  56. data/lib/snaptrade/models/exchange.rb +6 -6
  57. data/lib/snaptrade/models/exchange_rate_pairs.rb +6 -6
  58. data/lib/snaptrade/models/excluded_asset.rb +6 -6
  59. data/lib/snaptrade/models/jwt.rb +6 -6
  60. data/lib/snaptrade/models/login_redirect_uri.rb +6 -6
  61. data/lib/snaptrade/models/manual_trade.rb +6 -6
  62. data/lib/snaptrade/models/manual_trade_and_impact.rb +6 -6
  63. data/lib/snaptrade/models/manual_trade_balance.rb +6 -6
  64. data/lib/snaptrade/models/manual_trade_form.rb +6 -6
  65. data/lib/snaptrade/models/manual_trade_symbol.rb +6 -6
  66. data/lib/snaptrade/models/model400_failed_request_response.rb +6 -6
  67. data/lib/snaptrade/models/model401_failed_request_response.rb +6 -6
  68. data/lib/snaptrade/models/model403_failed_request_response.rb +6 -6
  69. data/lib/snaptrade/models/model404_failed_request_response.rb +6 -6
  70. data/lib/snaptrade/models/model_asset_class.rb +6 -6
  71. data/lib/snaptrade/models/model_asset_class_details.rb +6 -6
  72. data/lib/snaptrade/models/model_asset_class_target.rb +6 -6
  73. data/lib/snaptrade/models/model_portfolio.rb +6 -6
  74. data/lib/snaptrade/models/model_portfolio_asset_class.rb +6 -6
  75. data/lib/snaptrade/models/model_portfolio_details.rb +6 -6
  76. data/lib/snaptrade/models/model_portfolio_security.rb +6 -6
  77. data/lib/snaptrade/models/model_type.rb +6 -6
  78. data/lib/snaptrade/models/monthly_dividends.rb +6 -6
  79. data/lib/snaptrade/models/net_contributions.rb +6 -6
  80. data/lib/snaptrade/models/net_dividend.rb +6 -6
  81. data/lib/snaptrade/models/option_chain_inner.rb +6 -6
  82. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +6 -6
  83. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +6 -6
  84. data/lib/snaptrade/models/option_leg.rb +6 -6
  85. data/lib/snaptrade/models/option_leg_action.rb +6 -6
  86. data/lib/snaptrade/models/option_strategy.rb +6 -6
  87. data/lib/snaptrade/models/option_strategy_legs_inner.rb +6 -6
  88. data/lib/snaptrade/models/options_get_option_strategy_request.rb +6 -6
  89. data/lib/snaptrade/models/options_holdings.rb +6 -6
  90. data/lib/snaptrade/models/options_place_option_strategy_request.rb +6 -6
  91. data/lib/snaptrade/models/options_position.rb +6 -6
  92. data/lib/snaptrade/models/options_symbol.rb +6 -6
  93. data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +6 -6
  94. data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +6 -6
  95. data/lib/snaptrade/models/order_type.rb +6 -6
  96. data/lib/snaptrade/models/partner_data.rb +6 -6
  97. data/lib/snaptrade/models/past_value.rb +6 -6
  98. data/lib/snaptrade/models/performance_custom.rb +6 -6
  99. data/lib/snaptrade/models/portfolio_group.rb +6 -6
  100. data/lib/snaptrade/models/portfolio_group_info.rb +6 -6
  101. data/lib/snaptrade/models/portfolio_group_position.rb +6 -6
  102. data/lib/snaptrade/models/portfolio_group_settings.rb +6 -6
  103. data/lib/snaptrade/models/position.rb +6 -6
  104. data/lib/snaptrade/models/position_symbol.rb +6 -6
  105. data/lib/snaptrade/models/redirect_tokenand_pin.rb +6 -6
  106. data/lib/snaptrade/models/security_type.rb +6 -6
  107. data/lib/snaptrade/models/session_event.rb +6 -6
  108. data/lib/snaptrade/models/session_event_type.rb +6 -6
  109. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +6 -6
  110. data/lib/snaptrade/models/snap_trade_holdings_account.rb +6 -6
  111. data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +6 -6
  112. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +6 -6
  113. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +6 -6
  114. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +6 -6
  115. data/lib/snaptrade/models/state.rb +6 -6
  116. data/lib/snaptrade/models/status.rb +6 -6
  117. data/lib/snaptrade/models/strategy_impact.rb +6 -6
  118. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +6 -6
  119. data/lib/snaptrade/models/strategy_order_place.rb +6 -6
  120. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +6 -6
  121. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +6 -6
  122. data/lib/snaptrade/models/strategy_order_record.rb +6 -6
  123. data/lib/snaptrade/models/strategy_order_record_order_type.rb +6 -6
  124. data/lib/snaptrade/models/strategy_order_record_status.rb +6 -6
  125. data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +6 -6
  126. data/lib/snaptrade/models/strategy_quotes.rb +6 -6
  127. data/lib/snaptrade/models/strategy_quotes_greek.rb +6 -6
  128. data/lib/snaptrade/models/strategy_type.rb +6 -6
  129. data/lib/snaptrade/models/sub_period_return_rate.rb +6 -6
  130. data/lib/snaptrade/models/symbol.rb +6 -6
  131. data/lib/snaptrade/models/symbol_query.rb +6 -6
  132. data/lib/snaptrade/models/symbols_quotes_inner.rb +6 -6
  133. data/lib/snaptrade/models/target_asset.rb +6 -6
  134. data/lib/snaptrade/models/time_in_force.rb +6 -6
  135. data/lib/snaptrade/models/trade.rb +6 -6
  136. data/lib/snaptrade/models/trade_action.rb +6 -6
  137. data/lib/snaptrade/models/trade_execution_status.rb +6 -6
  138. data/lib/snaptrade/models/trade_execution_status_action.rb +6 -6
  139. data/lib/snaptrade/models/trade_impact.rb +6 -6
  140. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +6 -6
  141. data/lib/snaptrade/models/trading_place_oco_order_request.rb +6 -6
  142. data/lib/snaptrade/models/transactions_status.rb +6 -6
  143. data/lib/snaptrade/models/type.rb +6 -6
  144. data/lib/snaptrade/models/underlying_symbol.rb +6 -6
  145. data/lib/snaptrade/models/universal_activity.rb +6 -6
  146. data/lib/snaptrade/models/universal_symbol.rb +6 -6
  147. data/lib/snaptrade/models/universal_symbol_ticker.rb +6 -6
  148. data/lib/snaptrade/models/us_exchange.rb +6 -6
  149. data/lib/snaptrade/models/user_error_log.rb +6 -6
  150. data/lib/snaptrade/models/user_i_dand_secret.rb +6 -6
  151. data/lib/snaptrade/models/user_settings.rb +6 -6
  152. data/lib/snaptrade/version.rb +13 -13
  153. data/lib/snaptrade.rb +211 -214
  154. data/snaptrade.gemspec +41 -41
  155. data/spec/api/account_information_api_spec.rb +135 -135
  156. data/spec/api/api_status_api_spec.rb +42 -42
  157. data/spec/api/authentication_api_spec.rb +88 -88
  158. data/spec/api/connections_api_spec.rb +82 -82
  159. data/spec/api/error_logs_api_spec.rb +43 -43
  160. data/spec/api/options_api_spec.rb +101 -101
  161. data/spec/api/reference_data_api_spec.rb +150 -150
  162. data/spec/api/trading_api_spec.rb +112 -163
  163. data/spec/api/transactions_and_reporting_api_spec.rb +67 -67
  164. data/spec/api_client_spec.rb +193 -193
  165. data/spec/configuration_spec.rb +6 -6
  166. data/spec/getting_started_spec.rb +108 -144
  167. data/spec/models/account_holdings_account_spec.rb +54 -54
  168. data/spec/models/account_holdings_spec.rb +48 -48
  169. data/spec/models/account_order_record_spec.rb +132 -132
  170. data/spec/models/account_order_record_status_spec.rb +24 -24
  171. data/spec/models/account_simple_spec.rb +48 -48
  172. data/spec/models/account_spec.rb +84 -84
  173. data/spec/models/account_sync_status_spec.rb +30 -30
  174. data/spec/models/action_spec.rb +24 -24
  175. data/spec/models/auth_type_spec.rb +24 -24
  176. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -27
  177. data/spec/models/balance_spec.rb +36 -36
  178. data/spec/models/brokerage_authorization_spec.rb +78 -78
  179. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -42
  180. data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -48
  181. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -24
  182. data/spec/models/brokerage_authorization_type_spec.rb +30 -30
  183. data/spec/models/brokerage_authorization_type_type_spec.rb +24 -24
  184. data/spec/models/brokerage_spec.rb +132 -132
  185. data/spec/models/brokerage_symbol_spec.rb +54 -54
  186. data/spec/models/brokerage_type_spec.rb +36 -36
  187. data/spec/models/calculated_trade_spec.rb +36 -36
  188. data/spec/models/cash_restriction_spec.rb +54 -54
  189. data/spec/models/connection_type_spec.rb +24 -24
  190. data/spec/models/connections_session_events200_response_inner_spec.rb +66 -66
  191. data/spec/models/currency_spec.rb +42 -42
  192. data/spec/models/delete_user_response_spec.rb +36 -36
  193. data/spec/models/dividend_at_date_spec.rb +42 -42
  194. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -42
  195. data/spec/models/encrypted_response_spec.rb +36 -36
  196. data/spec/models/exchange_rate_pairs_spec.rb +42 -42
  197. data/spec/models/exchange_spec.rb +72 -72
  198. data/spec/models/excluded_asset_spec.rb +30 -30
  199. data/spec/models/jwt_spec.rb +30 -30
  200. data/spec/models/login_redirect_uri_spec.rb +36 -36
  201. data/spec/models/manual_trade_and_impact_spec.rb +42 -42
  202. data/spec/models/manual_trade_balance_spec.rb +42 -42
  203. data/spec/models/manual_trade_form_spec.rb +72 -72
  204. data/spec/models/manual_trade_spec.rb +72 -72
  205. data/spec/models/manual_trade_symbol_spec.rb +60 -60
  206. data/spec/models/model400_failed_request_response_spec.rb +36 -36
  207. data/spec/models/model401_failed_request_response_spec.rb +36 -36
  208. data/spec/models/model403_failed_request_response_spec.rb +36 -36
  209. data/spec/models/model404_failed_request_response_spec.rb +36 -36
  210. data/spec/models/model_asset_class_details_spec.rb +36 -36
  211. data/spec/models/model_asset_class_spec.rb +36 -36
  212. data/spec/models/model_asset_class_target_spec.rb +30 -30
  213. data/spec/models/model_portfolio_asset_class_spec.rb +36 -36
  214. data/spec/models/model_portfolio_details_spec.rb +42 -42
  215. data/spec/models/model_portfolio_security_spec.rb +36 -36
  216. data/spec/models/model_portfolio_spec.rb +42 -42
  217. data/spec/models/model_type_spec.rb +24 -24
  218. data/spec/models/monthly_dividends_spec.rb +36 -36
  219. data/spec/models/net_contributions_spec.rb +42 -42
  220. data/spec/models/net_dividend_spec.rb +42 -42
  221. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -42
  222. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -42
  223. data/spec/models/option_chain_inner_spec.rb +54 -54
  224. data/spec/models/option_leg_action_spec.rb +24 -24
  225. data/spec/models/option_leg_spec.rb +42 -42
  226. data/spec/models/option_strategy_legs_inner_spec.rb +48 -48
  227. data/spec/models/option_strategy_spec.rb +54 -54
  228. data/spec/models/options_get_option_strategy_request_spec.rb +42 -42
  229. data/spec/models/options_holdings_spec.rb +60 -60
  230. data/spec/models/options_place_option_strategy_request_spec.rb +42 -42
  231. data/spec/models/options_position_spec.rb +66 -66
  232. data/spec/models/options_symbol_spec.rb +90 -90
  233. data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -24
  234. data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -24
  235. data/spec/models/order_type_spec.rb +24 -24
  236. data/spec/models/partner_data_spec.rb +96 -96
  237. data/spec/models/past_value_spec.rb +42 -42
  238. data/spec/models/performance_custom_spec.rb +138 -138
  239. data/spec/models/portfolio_group_info_spec.rb +90 -90
  240. data/spec/models/portfolio_group_position_spec.rb +42 -42
  241. data/spec/models/portfolio_group_settings_spec.rb +54 -54
  242. data/spec/models/portfolio_group_spec.rb +36 -36
  243. data/spec/models/position_spec.rb +60 -60
  244. data/spec/models/position_symbol_spec.rb +60 -60
  245. data/spec/models/redirect_tokenand_pin_spec.rb +36 -36
  246. data/spec/models/security_type_spec.rb +48 -48
  247. data/spec/models/session_event_spec.rb +66 -66
  248. data/spec/models/session_event_type_spec.rb +24 -24
  249. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -36
  250. data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -78
  251. data/spec/models/snap_trade_holdings_account_spec.rb +72 -72
  252. data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -36
  253. data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -54
  254. data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -36
  255. data/spec/models/state_spec.rb +24 -24
  256. data/spec/models/status_spec.rb +42 -42
  257. data/spec/models/strategy_impact_legs_inner_spec.rb +66 -66
  258. data/spec/models/strategy_impact_spec.rb +90 -90
  259. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -66
  260. data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -282
  261. data/spec/models/strategy_order_place_spec.rb +36 -36
  262. data/spec/models/strategy_order_record_order_type_spec.rb +24 -24
  263. data/spec/models/strategy_order_record_spec.rb +90 -90
  264. data/spec/models/strategy_order_record_status_spec.rb +24 -24
  265. data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -24
  266. data/spec/models/strategy_quotes_greek_spec.rb +54 -54
  267. data/spec/models/strategy_quotes_spec.rb +60 -60
  268. data/spec/models/strategy_type_spec.rb +24 -24
  269. data/spec/models/sub_period_return_rate_spec.rb +42 -42
  270. data/spec/models/symbol_query_spec.rb +30 -30
  271. data/spec/models/symbol_spec.rb +66 -66
  272. data/spec/models/symbols_quotes_inner_spec.rb +60 -60
  273. data/spec/models/target_asset_spec.rb +60 -60
  274. data/spec/models/time_in_force_spec.rb +24 -24
  275. data/spec/models/trade_action_spec.rb +24 -24
  276. data/spec/models/trade_execution_status_action_spec.rb +24 -24
  277. data/spec/models/trade_execution_status_spec.rb +78 -78
  278. data/spec/models/trade_impact_spec.rb +54 -54
  279. data/spec/models/trade_spec.rb +72 -72
  280. data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -30
  281. data/spec/models/trading_place_oco_order_request_spec.rb +36 -36
  282. data/spec/models/transactions_status_spec.rb +36 -36
  283. data/spec/models/type_spec.rb +24 -24
  284. data/spec/models/underlying_symbol_spec.rb +66 -66
  285. data/spec/models/universal_activity_spec.rb +120 -120
  286. data/spec/models/universal_symbol_spec.rb +72 -72
  287. data/spec/models/universal_symbol_ticker_spec.rb +72 -72
  288. data/spec/models/us_exchange_spec.rb +78 -78
  289. data/spec/models/user_error_log_spec.rb +60 -60
  290. data/spec/models/user_i_dand_secret_spec.rb +36 -36
  291. data/spec/models/user_settings_spec.rb +84 -84
  292. data/spec/spec_helper.rb +6 -6
  293. metadata +113 -117
  294. data/docs/PortfolioManagementApi.md +0 -2064
  295. data/lib/snaptrade/api/portfolio_management_api.rb +0 -2867
  296. data/spec/api/portfolio_management_api_spec.rb +0 -403
data/docs/TradingApi.md CHANGED
@@ -1,799 +1,478 @@
1
- # SnapTrade::TradingApi
2
-
3
- All URIs are relative to *https://api.snaptrade.com/api/v1*
4
-
5
- | Method | HTTP request | Description |
6
- | ------ | ------------ | ----------- |
7
- | [**cancel_user_account_order**](TradingApi.md#cancel_user_account_order) | **POST** /accounts/{accountId}/orders/cancel | Cancel open order in account |
8
- | [**get_calculated_trade_impact_by_id**](TradingApi.md#get_calculated_trade_impact_by_id) | **GET** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/modify/{tradeId} | Return details of a specific trade before it's placed |
9
- | [**get_calculated_trades_impact**](TradingApi.md#get_calculated_trades_impact) | **GET** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/impact | Return the impact of placing a series of trades on the portfolio |
10
- | [**get_order_impact**](TradingApi.md#get_order_impact) | **POST** /trade/impact | Check impact of trades on account. |
11
- | [**get_user_account_quotes**](TradingApi.md#get_user_account_quotes) | **GET** /accounts/{accountId}/quotes | Get symbol quotes |
12
- | [**modify_calculated_trade_by_id**](TradingApi.md#modify_calculated_trade_by_id) | **PATCH** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/modify/{tradeId} | Modify units of a trade before it is placed |
13
- | [**place_calculated_trades**](TradingApi.md#place_calculated_trades) | **POST** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/placeOrders | Place orders for the CalculatedTrades in series |
14
- | [**place_force_order**](TradingApi.md#place_force_order) | **POST** /trade/place | Place a trade with NO validation. |
15
- | [**place_oco_order**](TradingApi.md#place_oco_order) | **POST** /trade/oco | Place a OCO (One Cancels Other) order |
16
- | [**place_order**](TradingApi.md#place_order) | **POST** /trade/{tradeId} | Place order |
17
-
18
- ## cancel_user_account_order
19
-
20
- Cancel open order in account
21
-
22
- ### Example
23
-
24
- ```ruby
25
- require 'snaptrade'
26
-
27
- SnapTrade.client_id = "YOUR_CLIENT_ID"
28
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
29
-
30
- user_id = "John.doe@snaptrade.com"
31
- user_secret = "USERSECRET123"
32
- account_id = "accountId_example"
33
- brokerage_order_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
34
-
35
- begin
36
- # Cancel open order in account
37
- result = SnapTrade::Trading.cancel_user_account_order(
38
- user_id: user_id,
39
- user_secret: user_secret,
40
- account_id: account_id,
41
- brokerage_order_id: brokerage_order_id,
42
- )
43
- p result
44
- rescue SnapTrade::ApiError => e
45
- puts "Exception when calling SnapTrade::Trading.cancel_user_account_order: #{e}"
46
- end
47
- ```
48
-
49
- #### Using the cancel_user_account_order_with_http_info variant
50
-
51
- This returns an Array which contains the response data, status code and headers.
52
-
53
- ```ruby
54
- user_id = "John.doe@snaptrade.com"
55
- user_secret = "USERSECRET123"
56
- account_id = "accountId_example"
57
- brokerage_order_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
58
-
59
- begin
60
- # Cancel open order in account
61
- data, status_code, headers, response = SnapTrade::Trading.cancel_user_account_order_with_http_info(
62
- user_id: user_id,
63
- user_secret: user_secret,
64
- account_id: account_id,
65
- brokerage_order_id: brokerage_order_id,
66
- )
67
- p status_code # => 2xx
68
- p headers # => { ... }
69
- p data # => AccountOrderRecord
70
- rescue SnapTrade::ApiError => e
71
- puts "Exception when calling SnapTrade::Trading.cancel_user_account_order: #{e}"
72
- end
73
- ```
74
-
75
- ### Parameters
76
-
77
- | Name | Type | Description | Notes |
78
- | ---- | ---- | ----------- | ----- |
79
- | **user_id** | **String** | | |
80
- | **user_secret** | **String** | | |
81
- | **account_id** | **String** | The ID of the account get positions. | |
82
- | **trading_cancel_user_account_order_request** | [**TradingCancelUserAccountOrderRequest**](TradingCancelUserAccountOrderRequest.md) | The Order ID to be canceled | |
83
-
84
- ### Return type
85
-
86
- [**AccountOrderRecord**](AccountOrderRecord.md)
87
-
88
- ## get_calculated_trade_impact_by_id
89
-
90
- Return details of a specific trade before it's placed
91
-
92
- ### Example
93
-
94
- ```ruby
95
- require 'snaptrade'
96
-
97
- SnapTrade.client_id = "YOUR_CLIENT_ID"
98
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
99
-
100
- portfolio_group_id = "portfolioGroupId_example"
101
- calculated_trade_id = "calculatedTradeId_example"
102
- trade_id = "tradeId_example"
103
-
104
- begin
105
- # Return details of a specific trade before it's placed
106
- result = SnapTrade::Trading.get_calculated_trade_impact_by_id(
107
- portfolio_group_id: portfolio_group_id,
108
- calculated_trade_id: calculated_trade_id,
109
- trade_id: trade_id,
110
- )
111
- p result
112
- rescue SnapTrade::ApiError => e
113
- puts "Exception when calling SnapTrade::Trading.get_calculated_trade_impact_by_id: #{e}"
114
- end
115
- ```
116
-
117
- #### Using the get_calculated_trade_impact_by_id_with_http_info variant
118
-
119
- This returns an Array which contains the response data, status code and headers.
120
-
121
- ```ruby
122
- portfolio_group_id = "portfolioGroupId_example"
123
- calculated_trade_id = "calculatedTradeId_example"
124
- trade_id = "tradeId_example"
125
-
126
- begin
127
- # Return details of a specific trade before it's placed
128
- data, status_code, headers, response = SnapTrade::Trading.get_calculated_trade_impact_by_id_with_http_info(
129
- portfolio_group_id: portfolio_group_id,
130
- calculated_trade_id: calculated_trade_id,
131
- trade_id: trade_id,
132
- )
133
- p status_code # => 2xx
134
- p headers # => { ... }
135
- p data # => Trade
136
- rescue SnapTrade::ApiError => e
137
- puts "Exception when calling SnapTrade::Trading.get_calculated_trade_impact_by_id: #{e}"
138
- end
139
- ```
140
-
141
- ### Parameters
142
-
143
- | Name | Type | Description | Notes |
144
- | ---- | ---- | ----------- | ----- |
145
- | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
146
- | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
147
- | **trade_id** | **String** | The ID of trade object | |
148
-
149
- ### Return type
150
-
151
- [**Trade**](Trade.md)
152
-
153
- ## get_calculated_trades_impact
154
-
155
- Return the impact of placing a series of trades on the portfolio
156
-
157
- ### Example
158
-
159
- ```ruby
160
- require 'snaptrade'
161
-
162
- SnapTrade.client_id = "YOUR_CLIENT_ID"
163
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
164
-
165
- portfolio_group_id = "portfolioGroupId_example"
166
- calculated_trade_id = "calculatedTradeId_example"
167
-
168
- begin
169
- # Return the impact of placing a series of trades on the portfolio
170
- result = SnapTrade::Trading.get_calculated_trades_impact(
171
- portfolio_group_id: portfolio_group_id,
172
- calculated_trade_id: calculated_trade_id,
173
- )
174
- p result
175
- rescue SnapTrade::ApiError => e
176
- puts "Exception when calling SnapTrade::Trading.get_calculated_trades_impact: #{e}"
177
- end
178
- ```
179
-
180
- #### Using the get_calculated_trades_impact_with_http_info variant
181
-
182
- This returns an Array which contains the response data, status code and headers.
183
-
184
- ```ruby
185
- portfolio_group_id = "portfolioGroupId_example"
186
- calculated_trade_id = "calculatedTradeId_example"
187
-
188
- begin
189
- # Return the impact of placing a series of trades on the portfolio
190
- data, status_code, headers, response = SnapTrade::Trading.get_calculated_trades_impact_with_http_info(
191
- portfolio_group_id: portfolio_group_id,
192
- calculated_trade_id: calculated_trade_id,
193
- )
194
- p status_code # => 2xx
195
- p headers # => { ... }
196
- p data # => Array<TradeImpact>
197
- rescue SnapTrade::ApiError => e
198
- puts "Exception when calling SnapTrade::Trading.get_calculated_trades_impact: #{e}"
199
- end
200
- ```
201
-
202
- ### Parameters
203
-
204
- | Name | Type | Description | Notes |
205
- | ---- | ---- | ----------- | ----- |
206
- | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
207
- | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
208
-
209
- ### Return type
210
-
211
- [**Array&lt;TradeImpact&gt;**](TradeImpact.md)
212
-
213
- ## get_order_impact
214
-
215
- Check impact of trades on account.
216
-
217
- ### Example
218
-
219
- ```ruby
220
- require 'snaptrade'
221
-
222
- SnapTrade.client_id = "YOUR_CLIENT_ID"
223
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
224
-
225
- user_id = "John.doe@snaptrade.com"
226
- user_secret = "USERSECRET123"
227
- account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
228
- action = "BUY"
229
- order_type = "Limit"
230
- price = 31.33
231
- stop = 31.33
232
- time_in_force = "Day"
233
- units = 3.14
234
- universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
235
-
236
- begin
237
- # Check impact of trades on account.
238
- result = SnapTrade::Trading.get_order_impact(
239
- user_id: user_id,
240
- user_secret: user_secret,
241
- account_id: account_id,
242
- action: action,
243
- order_type: order_type,
244
- price: price,
245
- stop: stop,
246
- time_in_force: time_in_force,
247
- units: units,
248
- universal_symbol_id: universal_symbol_id,
249
- )
250
- p result
251
- rescue SnapTrade::ApiError => e
252
- puts "Exception when calling SnapTrade::Trading.get_order_impact: #{e}"
253
- end
254
- ```
255
-
256
- #### Using the get_order_impact_with_http_info variant
257
-
258
- This returns an Array which contains the response data, status code and headers.
259
-
260
- ```ruby
261
- user_id = "John.doe@snaptrade.com"
262
- user_secret = "USERSECRET123"
263
- account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
264
- action = "BUY"
265
- order_type = "Limit"
266
- price = 31.33
267
- stop = 31.33
268
- time_in_force = "Day"
269
- units = 3.14
270
- universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
271
-
272
- begin
273
- # Check impact of trades on account.
274
- data, status_code, headers, response = SnapTrade::Trading.get_order_impact_with_http_info(
275
- user_id: user_id,
276
- user_secret: user_secret,
277
- account_id: account_id,
278
- action: action,
279
- order_type: order_type,
280
- price: price,
281
- stop: stop,
282
- time_in_force: time_in_force,
283
- units: units,
284
- universal_symbol_id: universal_symbol_id,
285
- )
286
- p status_code # => 2xx
287
- p headers # => { ... }
288
- p data # => ManualTradeAndImpact
289
- rescue SnapTrade::ApiError => e
290
- puts "Exception when calling SnapTrade::Trading.get_order_impact: #{e}"
291
- end
292
- ```
293
-
294
- ### Parameters
295
-
296
- | Name | Type | Description | Notes |
297
- | ---- | ---- | ----------- | ----- |
298
- | **user_id** | **String** | | |
299
- | **user_secret** | **String** | | |
300
- | **manual_trade_form** | [**ManualTradeForm**](ManualTradeForm.md) | | |
301
-
302
- ### Return type
303
-
304
- [**ManualTradeAndImpact**](ManualTradeAndImpact.md)
305
-
306
- ## get_user_account_quotes
307
-
308
- Get symbol quotes
309
-
310
- ### Example
311
-
312
- ```ruby
313
- require 'snaptrade'
314
-
315
- SnapTrade.client_id = "YOUR_CLIENT_ID"
316
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
317
-
318
- user_id = "John.doe@snaptrade.com"
319
- user_secret = "USERSECRET123"
320
- symbols = "symbols_example"
321
- account_id = "accountId_example"
322
- use_ticker = True
323
-
324
- begin
325
- # Get symbol quotes
326
- result = SnapTrade::Trading.get_user_account_quotes(
327
- user_id: user_id,
328
- user_secret: user_secret,
329
- symbols: symbols,
330
- account_id: account_id,
331
- use_ticker: use_ticker,
332
- )
333
- p result
334
- rescue SnapTrade::ApiError => e
335
- puts "Exception when calling SnapTrade::Trading.get_user_account_quotes: #{e}"
336
- end
337
- ```
338
-
339
- #### Using the get_user_account_quotes_with_http_info variant
340
-
341
- This returns an Array which contains the response data, status code and headers.
342
-
343
- ```ruby
344
- user_id = "John.doe@snaptrade.com"
345
- user_secret = "USERSECRET123"
346
- symbols = "symbols_example"
347
- account_id = "accountId_example"
348
- use_ticker = True
349
-
350
- begin
351
- # Get symbol quotes
352
- data, status_code, headers, response = SnapTrade::Trading.get_user_account_quotes_with_http_info(
353
- user_id: user_id,
354
- user_secret: user_secret,
355
- symbols: symbols,
356
- account_id: account_id,
357
- use_ticker: use_ticker,
358
- )
359
- p status_code # => 2xx
360
- p headers # => { ... }
361
- p data # => Array<SymbolsQuotesInner>
362
- rescue SnapTrade::ApiError => e
363
- puts "Exception when calling SnapTrade::Trading.get_user_account_quotes: #{e}"
364
- end
365
- ```
366
-
367
- ### Parameters
368
-
369
- | Name | Type | Description | Notes |
370
- | ---- | ---- | ----------- | ----- |
371
- | **user_id** | **String** | | |
372
- | **user_secret** | **String** | | |
373
- | **symbols** | **String** | List of universal_symbol_id or tickers to get quotes for. | |
374
- | **account_id** | **String** | The ID of the account to get quotes. | |
375
- | **use_ticker** | **Boolean** | Should be set to True if providing tickers. | [optional] |
376
-
377
- ### Return type
378
-
379
- [**Array&lt;SymbolsQuotesInner&gt;**](SymbolsQuotesInner.md)
380
-
381
- ## modify_calculated_trade_by_id
382
-
383
- Modify units of a trade before it is placed
384
-
385
- ### Example
386
-
387
- ```ruby
388
- require 'snaptrade'
389
-
390
- SnapTrade.client_id = "YOUR_CLIENT_ID"
391
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
392
-
393
- portfolio_group_id = "portfolioGroupId_example"
394
- calculated_trade_id = "calculatedTradeId_example"
395
- trade_id = "tradeId_example"
396
- id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
397
- account = {
398
- "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
399
- "brokerage_authorization" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
400
- "portfolio_group" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
401
- "name" => "Registered Retirement Savings Account",
402
- "number" => "Q6542138443",
403
- "institution_name" => "Alpaca",
404
- "created_date" => "2021-06-04T16:26:46.523Z",
405
- }
406
- symbol = {
407
- "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
408
- "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
409
- "allows_fractional_units" => True,
410
- }
411
- universal_symbol = {
412
- "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
413
- "symbol" => "VAB.TO",
414
- "raw_symbol" => "VAB",
415
- "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
416
- }
417
- action = "BUY"
418
- units = 6
419
- price = 24.81
420
- sequence = 1
421
-
422
- begin
423
- # Modify units of a trade before it is placed
424
- result = SnapTrade::Trading.modify_calculated_trade_by_id(
425
- portfolio_group_id: portfolio_group_id,
426
- calculated_trade_id: calculated_trade_id,
427
- trade_id: trade_id,
428
- id: id,
429
- account: account,
430
- symbol: symbol,
431
- universal_symbol: universal_symbol,
432
- action: action,
433
- units: units,
434
- price: price,
435
- sequence: sequence,
436
- )
437
- p result
438
- rescue SnapTrade::ApiError => e
439
- puts "Exception when calling SnapTrade::Trading.modify_calculated_trade_by_id: #{e}"
440
- end
441
- ```
442
-
443
- #### Using the modify_calculated_trade_by_id_with_http_info variant
444
-
445
- This returns an Array which contains the response data, status code and headers.
446
-
447
- ```ruby
448
- portfolio_group_id = "portfolioGroupId_example"
449
- calculated_trade_id = "calculatedTradeId_example"
450
- trade_id = "tradeId_example"
451
- id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
452
- account = {
453
- "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
454
- "brokerage_authorization" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
455
- "portfolio_group" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
456
- "name" => "Registered Retirement Savings Account",
457
- "number" => "Q6542138443",
458
- "institution_name" => "Alpaca",
459
- "created_date" => "2021-06-04T16:26:46.523Z",
460
- }
461
- symbol = {
462
- "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
463
- "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
464
- "allows_fractional_units" => True,
465
- }
466
- universal_symbol = {
467
- "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
468
- "symbol" => "VAB.TO",
469
- "raw_symbol" => "VAB",
470
- "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
471
- }
472
- action = "BUY"
473
- units = 6
474
- price = 24.81
475
- sequence = 1
476
-
477
- begin
478
- # Modify units of a trade before it is placed
479
- data, status_code, headers, response = SnapTrade::Trading.modify_calculated_trade_by_id_with_http_info(
480
- portfolio_group_id: portfolio_group_id,
481
- calculated_trade_id: calculated_trade_id,
482
- trade_id: trade_id,
483
- id: id,
484
- account: account,
485
- symbol: symbol,
486
- universal_symbol: universal_symbol,
487
- action: action,
488
- units: units,
489
- price: price,
490
- sequence: sequence,
491
- )
492
- p status_code # => 2xx
493
- p headers # => { ... }
494
- p data # => Trade
495
- rescue SnapTrade::ApiError => e
496
- puts "Exception when calling SnapTrade::Trading.modify_calculated_trade_by_id: #{e}"
497
- end
498
- ```
499
-
500
- ### Parameters
501
-
502
- | Name | Type | Description | Notes |
503
- | ---- | ---- | ----------- | ----- |
504
- | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
505
- | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
506
- | **trade_id** | **String** | The ID of trade object | |
507
- | **trade** | [**Trade**](Trade.md) | | [optional] |
508
-
509
- ### Return type
510
-
511
- [**Trade**](Trade.md)
512
-
513
- ## place_calculated_trades
514
-
515
- Place orders for the CalculatedTrades in series
516
-
517
- ### Example
518
-
519
- ```ruby
520
- require 'snaptrade'
521
-
522
- SnapTrade.client_id = "YOUR_CLIENT_ID"
523
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
524
-
525
- portfolio_group_id = "portfolioGroupId_example"
526
- calculated_trade_id = "calculatedTradeId_example"
527
-
528
- begin
529
- # Place orders for the CalculatedTrades in series
530
- result = SnapTrade::Trading.place_calculated_trades(
531
- portfolio_group_id: portfolio_group_id,
532
- calculated_trade_id: calculated_trade_id,
533
- )
534
- p result
535
- rescue SnapTrade::ApiError => e
536
- puts "Exception when calling SnapTrade::Trading.place_calculated_trades: #{e}"
537
- end
538
- ```
539
-
540
- #### Using the place_calculated_trades_with_http_info variant
541
-
542
- This returns an Array which contains the response data, status code and headers.
543
-
544
- ```ruby
545
- portfolio_group_id = "portfolioGroupId_example"
546
- calculated_trade_id = "calculatedTradeId_example"
547
-
548
- begin
549
- # Place orders for the CalculatedTrades in series
550
- data, status_code, headers, response = SnapTrade::Trading.place_calculated_trades_with_http_info(
551
- portfolio_group_id: portfolio_group_id,
552
- calculated_trade_id: calculated_trade_id,
553
- )
554
- p status_code # => 2xx
555
- p headers # => { ... }
556
- p data # => Array<TradeExecutionStatus>
557
- rescue SnapTrade::ApiError => e
558
- puts "Exception when calling SnapTrade::Trading.place_calculated_trades: #{e}"
559
- end
560
- ```
561
-
562
- ### Parameters
563
-
564
- | Name | Type | Description | Notes |
565
- | ---- | ---- | ----------- | ----- |
566
- | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
567
- | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
568
-
569
- ### Return type
570
-
571
- [**Array&lt;TradeExecutionStatus&gt;**](TradeExecutionStatus.md)
572
-
573
- ## place_force_order
574
-
575
- Place a trade with NO validation.
576
-
577
- ### Example
578
-
579
- ```ruby
580
- require 'snaptrade'
581
-
582
- SnapTrade.client_id = "YOUR_CLIENT_ID"
583
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
584
-
585
- user_id = "John.doe@snaptrade.com"
586
- user_secret = "USERSECRET123"
587
- account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
588
- action = "BUY"
589
- order_type = "Limit"
590
- price = 31.33
591
- stop = 31.33
592
- time_in_force = "Day"
593
- units = 3.14
594
- universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
595
-
596
- begin
597
- # Place a trade with NO validation.
598
- result = SnapTrade::Trading.place_force_order(
599
- user_id: user_id,
600
- user_secret: user_secret,
601
- account_id: account_id,
602
- action: action,
603
- order_type: order_type,
604
- price: price,
605
- stop: stop,
606
- time_in_force: time_in_force,
607
- units: units,
608
- universal_symbol_id: universal_symbol_id,
609
- )
610
- p result
611
- rescue SnapTrade::ApiError => e
612
- puts "Exception when calling SnapTrade::Trading.place_force_order: #{e}"
613
- end
614
- ```
615
-
616
- #### Using the place_force_order_with_http_info variant
617
-
618
- This returns an Array which contains the response data, status code and headers.
619
-
620
- ```ruby
621
- user_id = "John.doe@snaptrade.com"
622
- user_secret = "USERSECRET123"
623
- account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
624
- action = "BUY"
625
- order_type = "Limit"
626
- price = 31.33
627
- stop = 31.33
628
- time_in_force = "Day"
629
- units = 3.14
630
- universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
631
-
632
- begin
633
- # Place a trade with NO validation.
634
- data, status_code, headers, response = SnapTrade::Trading.place_force_order_with_http_info(
635
- user_id: user_id,
636
- user_secret: user_secret,
637
- account_id: account_id,
638
- action: action,
639
- order_type: order_type,
640
- price: price,
641
- stop: stop,
642
- time_in_force: time_in_force,
643
- units: units,
644
- universal_symbol_id: universal_symbol_id,
645
- )
646
- p status_code # => 2xx
647
- p headers # => { ... }
648
- p data # => AccountOrderRecord
649
- rescue SnapTrade::ApiError => e
650
- puts "Exception when calling SnapTrade::Trading.place_force_order: #{e}"
651
- end
652
- ```
653
-
654
- ### Parameters
655
-
656
- | Name | Type | Description | Notes |
657
- | ---- | ---- | ----------- | ----- |
658
- | **user_id** | **String** | | |
659
- | **user_secret** | **String** | | |
660
- | **manual_trade_form** | [**ManualTradeForm**](ManualTradeForm.md) | | |
661
-
662
- ### Return type
663
-
664
- [**AccountOrderRecord**](AccountOrderRecord.md)
665
-
666
- ## place_oco_order
667
-
668
- Place a OCO (One Cancels Other) order
669
-
670
- ### Example
671
-
672
- ```ruby
673
- require 'snaptrade'
674
-
675
- SnapTrade.client_id = "YOUR_CLIENT_ID"
676
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
677
-
678
- user_id = "John.doe@snaptrade.com"
679
- user_secret = "USERSECRET123"
680
- first_trade_id = None
681
- second_trade_id = None
682
-
683
- begin
684
- # Place a OCO (One Cancels Other) order
685
- result = SnapTrade::Trading.place_oco_order(
686
- user_id: user_id,
687
- user_secret: user_secret,
688
- first_trade_id: first_trade_id,
689
- second_trade_id: second_trade_id,
690
- )
691
- p result
692
- rescue SnapTrade::ApiError => e
693
- puts "Exception when calling SnapTrade::Trading.place_oco_order: #{e}"
694
- end
695
- ```
696
-
697
- #### Using the place_oco_order_with_http_info variant
698
-
699
- This returns an Array which contains the response data, status code and headers.
700
-
701
- ```ruby
702
- user_id = "John.doe@snaptrade.com"
703
- user_secret = "USERSECRET123"
704
- first_trade_id = None
705
- second_trade_id = None
706
-
707
- begin
708
- # Place a OCO (One Cancels Other) order
709
- data, status_code, headers, response = SnapTrade::Trading.place_oco_order_with_http_info(
710
- user_id: user_id,
711
- user_secret: user_secret,
712
- first_trade_id: first_trade_id,
713
- second_trade_id: second_trade_id,
714
- )
715
- p status_code # => 2xx
716
- p headers # => { ... }
717
- p data # => AccountOrderRecord
718
- rescue SnapTrade::ApiError => e
719
- puts "Exception when calling SnapTrade::Trading.place_oco_order: #{e}"
720
- end
721
- ```
722
-
723
- ### Parameters
724
-
725
- | Name | Type | Description | Notes |
726
- | ---- | ---- | ----------- | ----- |
727
- | **user_id** | **String** | | |
728
- | **user_secret** | **String** | | |
729
- | **trading_place_oco_order_request** | [**TradingPlaceOCOOrderRequest**](TradingPlaceOCOOrderRequest.md) | | |
730
-
731
- ### Return type
732
-
733
- [**AccountOrderRecord**](AccountOrderRecord.md)
734
-
735
- ## place_order
736
-
737
- Place order
738
-
739
- ### Example
740
-
741
- ```ruby
742
- require 'snaptrade'
743
-
744
- SnapTrade.client_id = "YOUR_CLIENT_ID"
745
- SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
746
-
747
- trade_id = "tradeId_example"
748
- user_id = "John.doe@snaptrade.com"
749
- user_secret = "USERSECRET123"
750
-
751
- begin
752
- # Place order
753
- result = SnapTrade::Trading.place_order(
754
- trade_id: trade_id,
755
- user_id: user_id,
756
- user_secret: user_secret,
757
- )
758
- p result
759
- rescue SnapTrade::ApiError => e
760
- puts "Exception when calling SnapTrade::Trading.place_order: #{e}"
761
- end
762
- ```
763
-
764
- #### Using the place_order_with_http_info variant
765
-
766
- This returns an Array which contains the response data, status code and headers.
767
-
768
- ```ruby
769
- trade_id = "tradeId_example"
770
- user_id = "John.doe@snaptrade.com"
771
- user_secret = "USERSECRET123"
772
-
773
- begin
774
- # Place order
775
- data, status_code, headers, response = SnapTrade::Trading.place_order_with_http_info(
776
- trade_id: trade_id,
777
- user_id: user_id,
778
- user_secret: user_secret,
779
- )
780
- p status_code # => 2xx
781
- p headers # => { ... }
782
- p data # => AccountOrderRecord
783
- rescue SnapTrade::ApiError => e
784
- puts "Exception when calling SnapTrade::Trading.place_order: #{e}"
785
- end
786
- ```
787
-
788
- ### Parameters
789
-
790
- | Name | Type | Description | Notes |
791
- | ---- | ---- | ----------- | ----- |
792
- | **trade_id** | **String** | The ID of trade object obtained from trade/impact endpoint | |
793
- | **user_id** | **String** | | |
794
- | **user_secret** | **String** | | |
795
-
796
- ### Return type
797
-
798
- [**AccountOrderRecord**](AccountOrderRecord.md)
799
-
1
+ # SnapTrade::TradingApi
2
+
3
+ All URIs are relative to *https://api.snaptrade.com/api/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**cancel_user_account_order**](TradingApi.md#cancel_user_account_order) | **POST** /accounts/{accountId}/orders/cancel | Cancel open order in account |
8
+ | [**get_order_impact**](TradingApi.md#get_order_impact) | **POST** /trade/impact | Check impact of trades on account. |
9
+ | [**get_user_account_quotes**](TradingApi.md#get_user_account_quotes) | **GET** /accounts/{accountId}/quotes | Get symbol quotes |
10
+ | [**place_force_order**](TradingApi.md#place_force_order) | **POST** /trade/place | Place a trade with NO validation. |
11
+ | [**place_oco_order**](TradingApi.md#place_oco_order) | **POST** /trade/oco | Place a OCO (One Cancels Other) order |
12
+ | [**place_order**](TradingApi.md#place_order) | **POST** /trade/{tradeId} | Place order |
13
+
14
+ ## cancel_user_account_order
15
+
16
+ Cancel open order in account
17
+
18
+ ### Example
19
+
20
+ ```ruby
21
+ require 'snaptrade'
22
+
23
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
24
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
25
+
26
+ user_id = "John.doe@snaptrade.com"
27
+ user_secret = "USERSECRET123"
28
+ account_id = "accountId_example"
29
+ brokerage_order_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
30
+
31
+ begin
32
+ # Cancel open order in account
33
+ result = SnapTrade::Trading.cancel_user_account_order(
34
+ user_id: user_id,
35
+ user_secret: user_secret,
36
+ account_id: account_id,
37
+ brokerage_order_id: brokerage_order_id,
38
+ )
39
+ p result
40
+ rescue SnapTrade::ApiError => e
41
+ puts "Exception when calling SnapTrade::Trading.cancel_user_account_order: #{e}"
42
+ end
43
+ ```
44
+
45
+ #### Using the cancel_user_account_order_with_http_info variant
46
+
47
+ This returns an Array which contains the response data, status code and headers.
48
+
49
+ ```ruby
50
+ user_id = "John.doe@snaptrade.com"
51
+ user_secret = "USERSECRET123"
52
+ account_id = "accountId_example"
53
+ brokerage_order_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
54
+
55
+ begin
56
+ # Cancel open order in account
57
+ data, status_code, headers, response = SnapTrade::Trading.cancel_user_account_order_with_http_info(
58
+ user_id: user_id,
59
+ user_secret: user_secret,
60
+ account_id: account_id,
61
+ brokerage_order_id: brokerage_order_id,
62
+ )
63
+ p status_code # => 2xx
64
+ p headers # => { ... }
65
+ p data # => AccountOrderRecord
66
+ rescue SnapTrade::ApiError => e
67
+ puts "Exception when calling SnapTrade::Trading.cancel_user_account_order: #{e}"
68
+ end
69
+ ```
70
+
71
+ ### Parameters
72
+
73
+ | Name | Type | Description | Notes |
74
+ | ---- | ---- | ----------- | ----- |
75
+ | **user_id** | **String** | | |
76
+ | **user_secret** | **String** | | |
77
+ | **account_id** | **String** | The ID of the account get positions. | |
78
+ | **trading_cancel_user_account_order_request** | [**TradingCancelUserAccountOrderRequest**](TradingCancelUserAccountOrderRequest.md) | The Order ID to be canceled | |
79
+
80
+ ### Return type
81
+
82
+ [**AccountOrderRecord**](AccountOrderRecord.md)
83
+
84
+ ## get_order_impact
85
+
86
+ Check impact of trades on account.
87
+
88
+ ### Example
89
+
90
+ ```ruby
91
+ require 'snaptrade'
92
+
93
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
94
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
95
+
96
+ user_id = "John.doe@snaptrade.com"
97
+ user_secret = "USERSECRET123"
98
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
99
+ action = "BUY"
100
+ order_type = "Limit"
101
+ price = 31.33
102
+ stop = 31.33
103
+ time_in_force = "Day"
104
+ units = 3.14
105
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
106
+
107
+ begin
108
+ # Check impact of trades on account.
109
+ result = SnapTrade::Trading.get_order_impact(
110
+ user_id: user_id,
111
+ user_secret: user_secret,
112
+ account_id: account_id,
113
+ action: action,
114
+ order_type: order_type,
115
+ price: price,
116
+ stop: stop,
117
+ time_in_force: time_in_force,
118
+ units: units,
119
+ universal_symbol_id: universal_symbol_id,
120
+ )
121
+ p result
122
+ rescue SnapTrade::ApiError => e
123
+ puts "Exception when calling SnapTrade::Trading.get_order_impact: #{e}"
124
+ end
125
+ ```
126
+
127
+ #### Using the get_order_impact_with_http_info variant
128
+
129
+ This returns an Array which contains the response data, status code and headers.
130
+
131
+ ```ruby
132
+ user_id = "John.doe@snaptrade.com"
133
+ user_secret = "USERSECRET123"
134
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
135
+ action = "BUY"
136
+ order_type = "Limit"
137
+ price = 31.33
138
+ stop = 31.33
139
+ time_in_force = "Day"
140
+ units = 3.14
141
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
142
+
143
+ begin
144
+ # Check impact of trades on account.
145
+ data, status_code, headers, response = SnapTrade::Trading.get_order_impact_with_http_info(
146
+ user_id: user_id,
147
+ user_secret: user_secret,
148
+ account_id: account_id,
149
+ action: action,
150
+ order_type: order_type,
151
+ price: price,
152
+ stop: stop,
153
+ time_in_force: time_in_force,
154
+ units: units,
155
+ universal_symbol_id: universal_symbol_id,
156
+ )
157
+ p status_code # => 2xx
158
+ p headers # => { ... }
159
+ p data # => ManualTradeAndImpact
160
+ rescue SnapTrade::ApiError => e
161
+ puts "Exception when calling SnapTrade::Trading.get_order_impact: #{e}"
162
+ end
163
+ ```
164
+
165
+ ### Parameters
166
+
167
+ | Name | Type | Description | Notes |
168
+ | ---- | ---- | ----------- | ----- |
169
+ | **user_id** | **String** | | |
170
+ | **user_secret** | **String** | | |
171
+ | **manual_trade_form** | [**ManualTradeForm**](ManualTradeForm.md) | | |
172
+
173
+ ### Return type
174
+
175
+ [**ManualTradeAndImpact**](ManualTradeAndImpact.md)
176
+
177
+ ## get_user_account_quotes
178
+
179
+ Get symbol quotes
180
+
181
+ ### Example
182
+
183
+ ```ruby
184
+ require 'snaptrade'
185
+
186
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
187
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
188
+
189
+ user_id = "John.doe@snaptrade.com"
190
+ user_secret = "USERSECRET123"
191
+ symbols = "symbols_example"
192
+ account_id = "accountId_example"
193
+ use_ticker = True
194
+
195
+ begin
196
+ # Get symbol quotes
197
+ result = SnapTrade::Trading.get_user_account_quotes(
198
+ user_id: user_id,
199
+ user_secret: user_secret,
200
+ symbols: symbols,
201
+ account_id: account_id,
202
+ use_ticker: use_ticker,
203
+ )
204
+ p result
205
+ rescue SnapTrade::ApiError => e
206
+ puts "Exception when calling SnapTrade::Trading.get_user_account_quotes: #{e}"
207
+ end
208
+ ```
209
+
210
+ #### Using the get_user_account_quotes_with_http_info variant
211
+
212
+ This returns an Array which contains the response data, status code and headers.
213
+
214
+ ```ruby
215
+ user_id = "John.doe@snaptrade.com"
216
+ user_secret = "USERSECRET123"
217
+ symbols = "symbols_example"
218
+ account_id = "accountId_example"
219
+ use_ticker = True
220
+
221
+ begin
222
+ # Get symbol quotes
223
+ data, status_code, headers, response = SnapTrade::Trading.get_user_account_quotes_with_http_info(
224
+ user_id: user_id,
225
+ user_secret: user_secret,
226
+ symbols: symbols,
227
+ account_id: account_id,
228
+ use_ticker: use_ticker,
229
+ )
230
+ p status_code # => 2xx
231
+ p headers # => { ... }
232
+ p data # => Array<SymbolsQuotesInner>
233
+ rescue SnapTrade::ApiError => e
234
+ puts "Exception when calling SnapTrade::Trading.get_user_account_quotes: #{e}"
235
+ end
236
+ ```
237
+
238
+ ### Parameters
239
+
240
+ | Name | Type | Description | Notes |
241
+ | ---- | ---- | ----------- | ----- |
242
+ | **user_id** | **String** | | |
243
+ | **user_secret** | **String** | | |
244
+ | **symbols** | **String** | List of universal_symbol_id or tickers to get quotes for. | |
245
+ | **account_id** | **String** | The ID of the account to get quotes. | |
246
+ | **use_ticker** | **Boolean** | Should be set to True if providing tickers. | [optional] |
247
+
248
+ ### Return type
249
+
250
+ [**Array&lt;SymbolsQuotesInner&gt;**](SymbolsQuotesInner.md)
251
+
252
+ ## place_force_order
253
+
254
+ Place a trade with NO validation.
255
+
256
+ ### Example
257
+
258
+ ```ruby
259
+ require 'snaptrade'
260
+
261
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
262
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
263
+
264
+ user_id = "John.doe@snaptrade.com"
265
+ user_secret = "USERSECRET123"
266
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
267
+ action = "BUY"
268
+ order_type = "Limit"
269
+ price = 31.33
270
+ stop = 31.33
271
+ time_in_force = "Day"
272
+ units = 3.14
273
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
274
+
275
+ begin
276
+ # Place a trade with NO validation.
277
+ result = SnapTrade::Trading.place_force_order(
278
+ user_id: user_id,
279
+ user_secret: user_secret,
280
+ account_id: account_id,
281
+ action: action,
282
+ order_type: order_type,
283
+ price: price,
284
+ stop: stop,
285
+ time_in_force: time_in_force,
286
+ units: units,
287
+ universal_symbol_id: universal_symbol_id,
288
+ )
289
+ p result
290
+ rescue SnapTrade::ApiError => e
291
+ puts "Exception when calling SnapTrade::Trading.place_force_order: #{e}"
292
+ end
293
+ ```
294
+
295
+ #### Using the place_force_order_with_http_info variant
296
+
297
+ This returns an Array which contains the response data, status code and headers.
298
+
299
+ ```ruby
300
+ user_id = "John.doe@snaptrade.com"
301
+ user_secret = "USERSECRET123"
302
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
303
+ action = "BUY"
304
+ order_type = "Limit"
305
+ price = 31.33
306
+ stop = 31.33
307
+ time_in_force = "Day"
308
+ units = 3.14
309
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
310
+
311
+ begin
312
+ # Place a trade with NO validation.
313
+ data, status_code, headers, response = SnapTrade::Trading.place_force_order_with_http_info(
314
+ user_id: user_id,
315
+ user_secret: user_secret,
316
+ account_id: account_id,
317
+ action: action,
318
+ order_type: order_type,
319
+ price: price,
320
+ stop: stop,
321
+ time_in_force: time_in_force,
322
+ units: units,
323
+ universal_symbol_id: universal_symbol_id,
324
+ )
325
+ p status_code # => 2xx
326
+ p headers # => { ... }
327
+ p data # => AccountOrderRecord
328
+ rescue SnapTrade::ApiError => e
329
+ puts "Exception when calling SnapTrade::Trading.place_force_order: #{e}"
330
+ end
331
+ ```
332
+
333
+ ### Parameters
334
+
335
+ | Name | Type | Description | Notes |
336
+ | ---- | ---- | ----------- | ----- |
337
+ | **user_id** | **String** | | |
338
+ | **user_secret** | **String** | | |
339
+ | **manual_trade_form** | [**ManualTradeForm**](ManualTradeForm.md) | | |
340
+
341
+ ### Return type
342
+
343
+ [**AccountOrderRecord**](AccountOrderRecord.md)
344
+
345
+ ## place_oco_order
346
+
347
+ Place a OCO (One Cancels Other) order
348
+
349
+ ### Example
350
+
351
+ ```ruby
352
+ require 'snaptrade'
353
+
354
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
355
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
356
+
357
+ user_id = "John.doe@snaptrade.com"
358
+ user_secret = "USERSECRET123"
359
+ first_trade_id = None
360
+ second_trade_id = None
361
+
362
+ begin
363
+ # Place a OCO (One Cancels Other) order
364
+ result = SnapTrade::Trading.place_oco_order(
365
+ user_id: user_id,
366
+ user_secret: user_secret,
367
+ first_trade_id: first_trade_id,
368
+ second_trade_id: second_trade_id,
369
+ )
370
+ p result
371
+ rescue SnapTrade::ApiError => e
372
+ puts "Exception when calling SnapTrade::Trading.place_oco_order: #{e}"
373
+ end
374
+ ```
375
+
376
+ #### Using the place_oco_order_with_http_info variant
377
+
378
+ This returns an Array which contains the response data, status code and headers.
379
+
380
+ ```ruby
381
+ user_id = "John.doe@snaptrade.com"
382
+ user_secret = "USERSECRET123"
383
+ first_trade_id = None
384
+ second_trade_id = None
385
+
386
+ begin
387
+ # Place a OCO (One Cancels Other) order
388
+ data, status_code, headers, response = SnapTrade::Trading.place_oco_order_with_http_info(
389
+ user_id: user_id,
390
+ user_secret: user_secret,
391
+ first_trade_id: first_trade_id,
392
+ second_trade_id: second_trade_id,
393
+ )
394
+ p status_code # => 2xx
395
+ p headers # => { ... }
396
+ p data # => AccountOrderRecord
397
+ rescue SnapTrade::ApiError => e
398
+ puts "Exception when calling SnapTrade::Trading.place_oco_order: #{e}"
399
+ end
400
+ ```
401
+
402
+ ### Parameters
403
+
404
+ | Name | Type | Description | Notes |
405
+ | ---- | ---- | ----------- | ----- |
406
+ | **user_id** | **String** | | |
407
+ | **user_secret** | **String** | | |
408
+ | **trading_place_oco_order_request** | [**TradingPlaceOCOOrderRequest**](TradingPlaceOCOOrderRequest.md) | | |
409
+
410
+ ### Return type
411
+
412
+ [**AccountOrderRecord**](AccountOrderRecord.md)
413
+
414
+ ## place_order
415
+
416
+ Place order
417
+
418
+ ### Example
419
+
420
+ ```ruby
421
+ require 'snaptrade'
422
+
423
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
424
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
425
+
426
+ trade_id = "tradeId_example"
427
+ user_id = "John.doe@snaptrade.com"
428
+ user_secret = "USERSECRET123"
429
+
430
+ begin
431
+ # Place order
432
+ result = SnapTrade::Trading.place_order(
433
+ trade_id: trade_id,
434
+ user_id: user_id,
435
+ user_secret: user_secret,
436
+ )
437
+ p result
438
+ rescue SnapTrade::ApiError => e
439
+ puts "Exception when calling SnapTrade::Trading.place_order: #{e}"
440
+ end
441
+ ```
442
+
443
+ #### Using the place_order_with_http_info variant
444
+
445
+ This returns an Array which contains the response data, status code and headers.
446
+
447
+ ```ruby
448
+ trade_id = "tradeId_example"
449
+ user_id = "John.doe@snaptrade.com"
450
+ user_secret = "USERSECRET123"
451
+
452
+ begin
453
+ # Place order
454
+ data, status_code, headers, response = SnapTrade::Trading.place_order_with_http_info(
455
+ trade_id: trade_id,
456
+ user_id: user_id,
457
+ user_secret: user_secret,
458
+ )
459
+ p status_code # => 2xx
460
+ p headers # => { ... }
461
+ p data # => AccountOrderRecord
462
+ rescue SnapTrade::ApiError => e
463
+ puts "Exception when calling SnapTrade::Trading.place_order: #{e}"
464
+ end
465
+ ```
466
+
467
+ ### Parameters
468
+
469
+ | Name | Type | Description | Notes |
470
+ | ---- | ---- | ----------- | ----- |
471
+ | **trade_id** | **String** | The ID of trade object obtained from trade/impact endpoint | |
472
+ | **user_id** | **String** | | |
473
+ | **user_secret** | **String** | | |
474
+
475
+ ### Return type
476
+
477
+ [**AccountOrderRecord**](AccountOrderRecord.md)
478
+