snaptrade 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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
+