snaptrade 1.16.2 → 1.16.3

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 (309) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/Gemfile.lock +16 -8
  4. data/README.md +222 -221
  5. data/docs/APIStatusApi.md +57 -57
  6. data/docs/AccountInformationApi.md +535 -535
  7. data/docs/AuthenticationApi.md +314 -314
  8. data/docs/BrokerageSymbolOptionSymbol.md +7 -5
  9. data/docs/ConnectionsApi.md +265 -265
  10. data/docs/ErrorLogsApi.md +68 -68
  11. data/docs/MonthlyDividends.md +1 -1
  12. data/docs/NetContributions.md +1 -1
  13. data/docs/OptionType.md +15 -0
  14. data/docs/OptionsApi.md +378 -378
  15. data/docs/OptionsSymbol.md +7 -5
  16. data/docs/PastValue.md +1 -1
  17. data/docs/ReferenceDataApi.md +595 -595
  18. data/docs/SubPeriodReturnRate.md +2 -2
  19. data/docs/TradingApi.md +478 -478
  20. data/docs/TransactionsAndReportingApi.md +183 -183
  21. data/docs/TransactionsStatus.md +1 -1
  22. data/lib/snaptrade/api/account_information_api.rb +801 -801
  23. data/lib/snaptrade/api/api_status_api.rb +98 -98
  24. data/lib/snaptrade/api/authentication_api.rb +481 -481
  25. data/lib/snaptrade/api/connections_api.rb +398 -398
  26. data/lib/snaptrade/api/error_logs_api.rb +112 -112
  27. data/lib/snaptrade/api/options_api.rb +591 -591
  28. data/lib/snaptrade/api/reference_data_api.rb +894 -894
  29. data/lib/snaptrade/api/trading_api.rb +741 -741
  30. data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -283
  31. data/lib/snaptrade/api_client.rb +427 -427
  32. data/lib/snaptrade/api_client_custom.rb +32 -32
  33. data/lib/snaptrade/api_error.rb +6 -6
  34. data/lib/snaptrade/configuration.rb +341 -341
  35. data/lib/snaptrade/models/account.rb +6 -6
  36. data/lib/snaptrade/models/account_holdings.rb +6 -6
  37. data/lib/snaptrade/models/account_holdings_account.rb +6 -6
  38. data/lib/snaptrade/models/account_order_record.rb +6 -6
  39. data/lib/snaptrade/models/account_order_record_status.rb +6 -6
  40. data/lib/snaptrade/models/account_simple.rb +6 -6
  41. data/lib/snaptrade/models/account_sync_status.rb +6 -6
  42. data/lib/snaptrade/models/action.rb +6 -6
  43. data/lib/snaptrade/models/auth_type.rb +6 -6
  44. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +6 -6
  45. data/lib/snaptrade/models/balance.rb +6 -6
  46. data/lib/snaptrade/models/brokerage.rb +6 -6
  47. data/lib/snaptrade/models/brokerage_authorization.rb +6 -6
  48. data/lib/snaptrade/models/brokerage_authorization_type.rb +6 -6
  49. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +6 -6
  50. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +6 -6
  51. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +6 -6
  52. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +6 -6
  53. data/lib/snaptrade/models/brokerage_symbol.rb +6 -6
  54. data/lib/snaptrade/models/brokerage_symbol_option_symbol.rb +46 -7
  55. data/lib/snaptrade/models/brokerage_symbol_symbol.rb +6 -6
  56. data/lib/snaptrade/models/brokerage_type.rb +6 -6
  57. data/lib/snaptrade/models/calculated_trade.rb +6 -6
  58. data/lib/snaptrade/models/cash_restriction.rb +6 -6
  59. data/lib/snaptrade/models/connection_type.rb +6 -6
  60. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +6 -6
  61. data/lib/snaptrade/models/currency.rb +6 -6
  62. data/lib/snaptrade/models/delete_user_response.rb +6 -6
  63. data/lib/snaptrade/models/dividend_at_date.rb +6 -6
  64. data/lib/snaptrade/models/encrypted_response.rb +6 -6
  65. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +6 -6
  66. data/lib/snaptrade/models/exchange.rb +6 -6
  67. data/lib/snaptrade/models/exchange_rate_pairs.rb +6 -6
  68. data/lib/snaptrade/models/excluded_asset.rb +6 -6
  69. data/lib/snaptrade/models/jwt.rb +6 -6
  70. data/lib/snaptrade/models/login_redirect_uri.rb +6 -6
  71. data/lib/snaptrade/models/manual_trade.rb +6 -6
  72. data/lib/snaptrade/models/manual_trade_and_impact.rb +6 -6
  73. data/lib/snaptrade/models/manual_trade_balance.rb +6 -6
  74. data/lib/snaptrade/models/manual_trade_form.rb +6 -6
  75. data/lib/snaptrade/models/manual_trade_symbol.rb +6 -6
  76. data/lib/snaptrade/models/model400_failed_request_response.rb +6 -6
  77. data/lib/snaptrade/models/model401_failed_request_response.rb +6 -6
  78. data/lib/snaptrade/models/model403_failed_request_response.rb +6 -6
  79. data/lib/snaptrade/models/model404_failed_request_response.rb +6 -6
  80. data/lib/snaptrade/models/model_asset_class.rb +6 -6
  81. data/lib/snaptrade/models/model_asset_class_details.rb +6 -6
  82. data/lib/snaptrade/models/model_asset_class_target.rb +6 -6
  83. data/lib/snaptrade/models/model_portfolio.rb +6 -6
  84. data/lib/snaptrade/models/model_portfolio_asset_class.rb +6 -6
  85. data/lib/snaptrade/models/model_portfolio_details.rb +6 -6
  86. data/lib/snaptrade/models/model_portfolio_security.rb +6 -6
  87. data/lib/snaptrade/models/model_type.rb +6 -6
  88. data/lib/snaptrade/models/monthly_dividends.rb +6 -6
  89. data/lib/snaptrade/models/net_contributions.rb +6 -6
  90. data/lib/snaptrade/models/net_dividend.rb +6 -6
  91. data/lib/snaptrade/models/option_chain_inner.rb +6 -6
  92. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +6 -6
  93. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +6 -6
  94. data/lib/snaptrade/models/option_leg.rb +6 -6
  95. data/lib/snaptrade/models/option_leg_action.rb +6 -6
  96. data/lib/snaptrade/models/option_strategy.rb +6 -6
  97. data/lib/snaptrade/models/option_strategy_legs_inner.rb +6 -6
  98. data/lib/snaptrade/models/option_type.rb +38 -0
  99. data/lib/snaptrade/models/options_get_option_strategy_request.rb +6 -6
  100. data/lib/snaptrade/models/options_holdings.rb +6 -6
  101. data/lib/snaptrade/models/options_place_option_strategy_request.rb +6 -6
  102. data/lib/snaptrade/models/options_position.rb +6 -6
  103. data/lib/snaptrade/models/options_position_currency.rb +6 -6
  104. data/lib/snaptrade/models/options_symbol.rb +46 -7
  105. data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +6 -6
  106. data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +6 -6
  107. data/lib/snaptrade/models/order_type.rb +6 -6
  108. data/lib/snaptrade/models/partner_data.rb +6 -6
  109. data/lib/snaptrade/models/past_value.rb +6 -6
  110. data/lib/snaptrade/models/performance_custom.rb +6 -6
  111. data/lib/snaptrade/models/portfolio_group.rb +6 -6
  112. data/lib/snaptrade/models/portfolio_group_info.rb +6 -6
  113. data/lib/snaptrade/models/portfolio_group_position.rb +6 -6
  114. data/lib/snaptrade/models/portfolio_group_settings.rb +6 -6
  115. data/lib/snaptrade/models/position.rb +6 -6
  116. data/lib/snaptrade/models/position_symbol.rb +6 -6
  117. data/lib/snaptrade/models/redirect_tokenand_pin.rb +6 -6
  118. data/lib/snaptrade/models/security_type.rb +6 -6
  119. data/lib/snaptrade/models/session_event.rb +6 -6
  120. data/lib/snaptrade/models/session_event_type.rb +6 -6
  121. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +6 -6
  122. data/lib/snaptrade/models/snap_trade_holdings_account.rb +6 -6
  123. data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +6 -6
  124. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +6 -6
  125. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +6 -6
  126. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +6 -6
  127. data/lib/snaptrade/models/state.rb +6 -6
  128. data/lib/snaptrade/models/status.rb +6 -6
  129. data/lib/snaptrade/models/strategy_impact.rb +6 -6
  130. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +6 -6
  131. data/lib/snaptrade/models/strategy_order_place.rb +6 -6
  132. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +6 -6
  133. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +6 -6
  134. data/lib/snaptrade/models/strategy_order_record.rb +6 -6
  135. data/lib/snaptrade/models/strategy_order_record_order_type.rb +6 -6
  136. data/lib/snaptrade/models/strategy_order_record_status.rb +6 -6
  137. data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +6 -6
  138. data/lib/snaptrade/models/strategy_quotes.rb +6 -6
  139. data/lib/snaptrade/models/strategy_quotes_greek.rb +6 -6
  140. data/lib/snaptrade/models/strategy_type.rb +6 -6
  141. data/lib/snaptrade/models/sub_period_return_rate.rb +6 -6
  142. data/lib/snaptrade/models/symbol.rb +6 -6
  143. data/lib/snaptrade/models/symbol_query.rb +6 -6
  144. data/lib/snaptrade/models/symbols_quotes_inner.rb +6 -6
  145. data/lib/snaptrade/models/target_asset.rb +6 -6
  146. data/lib/snaptrade/models/time_in_force.rb +6 -6
  147. data/lib/snaptrade/models/trade.rb +6 -6
  148. data/lib/snaptrade/models/trade_action.rb +6 -6
  149. data/lib/snaptrade/models/trade_execution_status.rb +6 -6
  150. data/lib/snaptrade/models/trade_execution_status_action.rb +6 -6
  151. data/lib/snaptrade/models/trade_impact.rb +6 -6
  152. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +6 -6
  153. data/lib/snaptrade/models/trading_place_oco_order_request.rb +6 -6
  154. data/lib/snaptrade/models/transactions_status.rb +6 -6
  155. data/lib/snaptrade/models/type.rb +6 -6
  156. data/lib/snaptrade/models/underlying_symbol.rb +6 -6
  157. data/lib/snaptrade/models/universal_activity.rb +6 -6
  158. data/lib/snaptrade/models/universal_symbol.rb +6 -6
  159. data/lib/snaptrade/models/universal_symbol_ticker.rb +6 -6
  160. data/lib/snaptrade/models/us_exchange.rb +6 -6
  161. data/lib/snaptrade/models/user_error_log.rb +6 -6
  162. data/lib/snaptrade/models/user_i_dand_secret.rb +6 -6
  163. data/lib/snaptrade/models/user_settings.rb +6 -6
  164. data/lib/snaptrade/version.rb +7 -7
  165. data/lib/snaptrade.rb +215 -214
  166. data/snaptrade.gemspec +41 -41
  167. data/spec/api/account_information_api_spec.rb +135 -135
  168. data/spec/api/api_status_api_spec.rb +42 -42
  169. data/spec/api/authentication_api_spec.rb +88 -88
  170. data/spec/api/connections_api_spec.rb +82 -82
  171. data/spec/api/error_logs_api_spec.rb +43 -43
  172. data/spec/api/options_api_spec.rb +101 -101
  173. data/spec/api/reference_data_api_spec.rb +150 -150
  174. data/spec/api/trading_api_spec.rb +112 -112
  175. data/spec/api/transactions_and_reporting_api_spec.rb +67 -67
  176. data/spec/api_client_spec.rb +193 -193
  177. data/spec/configuration_spec.rb +6 -6
  178. data/spec/getting_started_spec.rb +114 -114
  179. data/spec/models/account_holdings_account_spec.rb +54 -54
  180. data/spec/models/account_holdings_spec.rb +48 -48
  181. data/spec/models/account_order_record_spec.rb +132 -132
  182. data/spec/models/account_order_record_status_spec.rb +24 -24
  183. data/spec/models/account_simple_spec.rb +48 -48
  184. data/spec/models/account_spec.rb +84 -84
  185. data/spec/models/account_sync_status_spec.rb +30 -30
  186. data/spec/models/action_spec.rb +24 -24
  187. data/spec/models/auth_type_spec.rb +24 -24
  188. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -27
  189. data/spec/models/balance_spec.rb +36 -36
  190. data/spec/models/brokerage_authorization_spec.rb +78 -78
  191. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -42
  192. data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -48
  193. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -24
  194. data/spec/models/brokerage_authorization_type_spec.rb +30 -30
  195. data/spec/models/brokerage_authorization_type_type_spec.rb +24 -24
  196. data/spec/models/brokerage_spec.rb +132 -132
  197. data/spec/models/brokerage_symbol_option_symbol_spec.rb +78 -72
  198. data/spec/models/brokerage_symbol_spec.rb +60 -60
  199. data/spec/models/brokerage_symbol_symbol_spec.rb +72 -72
  200. data/spec/models/brokerage_type_spec.rb +36 -36
  201. data/spec/models/calculated_trade_spec.rb +36 -36
  202. data/spec/models/cash_restriction_spec.rb +54 -54
  203. data/spec/models/connection_type_spec.rb +24 -24
  204. data/spec/models/connections_session_events200_response_inner_spec.rb +66 -66
  205. data/spec/models/currency_spec.rb +42 -42
  206. data/spec/models/delete_user_response_spec.rb +36 -36
  207. data/spec/models/dividend_at_date_spec.rb +42 -42
  208. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -42
  209. data/spec/models/encrypted_response_spec.rb +36 -36
  210. data/spec/models/exchange_rate_pairs_spec.rb +42 -42
  211. data/spec/models/exchange_spec.rb +72 -72
  212. data/spec/models/excluded_asset_spec.rb +30 -30
  213. data/spec/models/jwt_spec.rb +30 -30
  214. data/spec/models/login_redirect_uri_spec.rb +36 -36
  215. data/spec/models/manual_trade_and_impact_spec.rb +42 -42
  216. data/spec/models/manual_trade_balance_spec.rb +42 -42
  217. data/spec/models/manual_trade_form_spec.rb +72 -72
  218. data/spec/models/manual_trade_spec.rb +72 -72
  219. data/spec/models/manual_trade_symbol_spec.rb +60 -60
  220. data/spec/models/model400_failed_request_response_spec.rb +36 -36
  221. data/spec/models/model401_failed_request_response_spec.rb +36 -36
  222. data/spec/models/model403_failed_request_response_spec.rb +36 -36
  223. data/spec/models/model404_failed_request_response_spec.rb +36 -36
  224. data/spec/models/model_asset_class_details_spec.rb +36 -36
  225. data/spec/models/model_asset_class_spec.rb +36 -36
  226. data/spec/models/model_asset_class_target_spec.rb +30 -30
  227. data/spec/models/model_portfolio_asset_class_spec.rb +36 -36
  228. data/spec/models/model_portfolio_details_spec.rb +42 -42
  229. data/spec/models/model_portfolio_security_spec.rb +36 -36
  230. data/spec/models/model_portfolio_spec.rb +42 -42
  231. data/spec/models/model_type_spec.rb +24 -24
  232. data/spec/models/monthly_dividends_spec.rb +36 -36
  233. data/spec/models/net_contributions_spec.rb +42 -42
  234. data/spec/models/net_dividend_spec.rb +42 -42
  235. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -42
  236. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -42
  237. data/spec/models/option_chain_inner_spec.rb +54 -54
  238. data/spec/models/option_leg_action_spec.rb +24 -24
  239. data/spec/models/option_leg_spec.rb +42 -42
  240. data/spec/models/option_strategy_legs_inner_spec.rb +48 -48
  241. data/spec/models/option_strategy_spec.rb +54 -54
  242. data/spec/models/option_type_spec.rb +24 -0
  243. data/spec/models/options_get_option_strategy_request_spec.rb +42 -42
  244. data/spec/models/options_holdings_spec.rb +60 -60
  245. data/spec/models/options_place_option_strategy_request_spec.rb +42 -42
  246. data/spec/models/options_position_currency_spec.rb +42 -42
  247. data/spec/models/options_position_spec.rb +66 -66
  248. data/spec/models/options_symbol_spec.rb +78 -72
  249. data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -24
  250. data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -24
  251. data/spec/models/order_type_spec.rb +24 -24
  252. data/spec/models/partner_data_spec.rb +96 -96
  253. data/spec/models/past_value_spec.rb +42 -42
  254. data/spec/models/performance_custom_spec.rb +138 -138
  255. data/spec/models/portfolio_group_info_spec.rb +90 -90
  256. data/spec/models/portfolio_group_position_spec.rb +42 -42
  257. data/spec/models/portfolio_group_settings_spec.rb +54 -54
  258. data/spec/models/portfolio_group_spec.rb +36 -36
  259. data/spec/models/position_spec.rb +60 -60
  260. data/spec/models/position_symbol_spec.rb +60 -60
  261. data/spec/models/redirect_tokenand_pin_spec.rb +36 -36
  262. data/spec/models/security_type_spec.rb +48 -48
  263. data/spec/models/session_event_spec.rb +66 -66
  264. data/spec/models/session_event_type_spec.rb +24 -24
  265. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -36
  266. data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -78
  267. data/spec/models/snap_trade_holdings_account_spec.rb +72 -72
  268. data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -36
  269. data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -54
  270. data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -36
  271. data/spec/models/state_spec.rb +24 -24
  272. data/spec/models/status_spec.rb +42 -42
  273. data/spec/models/strategy_impact_legs_inner_spec.rb +66 -66
  274. data/spec/models/strategy_impact_spec.rb +90 -90
  275. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -66
  276. data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -282
  277. data/spec/models/strategy_order_place_spec.rb +36 -36
  278. data/spec/models/strategy_order_record_order_type_spec.rb +24 -24
  279. data/spec/models/strategy_order_record_spec.rb +90 -90
  280. data/spec/models/strategy_order_record_status_spec.rb +24 -24
  281. data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -24
  282. data/spec/models/strategy_quotes_greek_spec.rb +54 -54
  283. data/spec/models/strategy_quotes_spec.rb +60 -60
  284. data/spec/models/strategy_type_spec.rb +24 -24
  285. data/spec/models/sub_period_return_rate_spec.rb +42 -42
  286. data/spec/models/symbol_query_spec.rb +30 -30
  287. data/spec/models/symbol_spec.rb +66 -66
  288. data/spec/models/symbols_quotes_inner_spec.rb +60 -60
  289. data/spec/models/target_asset_spec.rb +60 -60
  290. data/spec/models/time_in_force_spec.rb +24 -24
  291. data/spec/models/trade_action_spec.rb +24 -24
  292. data/spec/models/trade_execution_status_action_spec.rb +24 -24
  293. data/spec/models/trade_execution_status_spec.rb +78 -78
  294. data/spec/models/trade_impact_spec.rb +54 -54
  295. data/spec/models/trade_spec.rb +72 -72
  296. data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -30
  297. data/spec/models/trading_place_oco_order_request_spec.rb +36 -36
  298. data/spec/models/transactions_status_spec.rb +36 -36
  299. data/spec/models/type_spec.rb +24 -24
  300. data/spec/models/underlying_symbol_spec.rb +66 -66
  301. data/spec/models/universal_activity_spec.rb +126 -126
  302. data/spec/models/universal_symbol_spec.rb +72 -72
  303. data/spec/models/universal_symbol_ticker_spec.rb +72 -72
  304. data/spec/models/us_exchange_spec.rb +78 -78
  305. data/spec/models/user_error_log_spec.rb +60 -60
  306. data/spec/models/user_i_dand_secret_spec.rb +36 -36
  307. data/spec/models/user_settings_spec.rb +84 -84
  308. data/spec/spec_helper.rb +6 -6
  309. metadata +119 -115
@@ -1,741 +1,741 @@
1
- =begin
2
- #SnapTrade
3
-
4
- #Connect brokerage accounts to your app for live positions and trading
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: api@snaptrade.com
8
-
9
- =end
10
-
11
- require 'cgi'
12
-
13
- module SnapTrade
14
- class TradingApi
15
- attr_accessor :api_client
16
-
17
- def initialize(api_client = ApiClient.default)
18
- @api_client = api_client
19
- end
20
-
21
- # Cancel open order in account
22
- # @param user_id [String]
23
- # @param user_secret [String]
24
- # @param account_id [String] The ID of the account get positions.
25
- # @param brokerage_order_id [String]
26
- # @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
27
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
28
- def cancel_user_account_order(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
29
- _body = {}
30
- _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL
31
- trading_cancel_user_account_order_request = _body
32
-
33
- data, _status_code, _headers = cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, extra)
34
- data
35
- end
36
-
37
- # Cancel open order in account
38
- # @param user_id [String]
39
- # @param user_secret [String]
40
- # @param account_id [String] The ID of the account get positions.
41
- # @param brokerage_order_id [String]
42
- # @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
43
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
44
- def cancel_user_account_order_with_http_info(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
45
- _body = {}
46
- _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL
47
- trading_cancel_user_account_order_request = _body
48
-
49
- cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, extra)
50
- end
51
-
52
- # Cancel open order in account
53
- # @param user_id [String]
54
- # @param user_secret [String]
55
- # @param account_id [String] The ID of the account get positions.
56
- # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
57
- # @param [Hash] opts the optional parameters
58
- # @return [AccountOrderRecord]
59
- def cancel_user_account_order_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
60
- data, _status_code, _headers = cancel_user_account_order_with_http_info(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts)
61
- data
62
- end
63
-
64
- # Cancel open order in account
65
- # @param user_id [String]
66
- # @param user_secret [String]
67
- # @param account_id [String] The ID of the account get positions.
68
- # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
69
- # @param [Hash] opts the optional parameters
70
- # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
71
- def cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
72
- if @api_client.config.debugging
73
- @api_client.config.logger.debug 'Calling API: TradingApi.cancel_user_account_order ...'
74
- end
75
- # verify the required parameter 'user_id' is set
76
- if @api_client.config.client_side_validation && user_id.nil?
77
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.cancel_user_account_order"
78
- end
79
- # verify the required parameter 'user_secret' is set
80
- if @api_client.config.client_side_validation && user_secret.nil?
81
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.cancel_user_account_order"
82
- end
83
- # verify the required parameter 'account_id' is set
84
- if @api_client.config.client_side_validation && account_id.nil?
85
- fail ArgumentError, "Missing the required parameter 'account_id' when calling TradingApi.cancel_user_account_order"
86
- end
87
- # verify the required parameter 'trading_cancel_user_account_order_request' is set
88
- if @api_client.config.client_side_validation && trading_cancel_user_account_order_request.nil?
89
- fail ArgumentError, "Missing the required parameter 'trading_cancel_user_account_order_request' when calling TradingApi.cancel_user_account_order"
90
- end
91
- # resource path
92
- local_var_path = '/accounts/{accountId}/orders/cancel'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
93
-
94
- # query parameters
95
- query_params = opts[:query_params] || {}
96
- query_params[:'userId'] = user_id
97
- query_params[:'userSecret'] = user_secret
98
-
99
- # header parameters
100
- header_params = opts[:header_params] || {}
101
- # HTTP header 'Accept' (if needed)
102
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
103
- # HTTP header 'Content-Type'
104
- content_type = @api_client.select_header_content_type(['application/json'])
105
- if !content_type.nil?
106
- header_params['Content-Type'] = content_type
107
- end
108
-
109
- # form parameters
110
- form_params = opts[:form_params] || {}
111
-
112
- # http body (model)
113
- post_body = opts[:debug_body] || @api_client.object_to_http_body(trading_cancel_user_account_order_request)
114
-
115
- # return_type
116
- return_type = opts[:debug_return_type] || 'AccountOrderRecord'
117
-
118
- # auth_names
119
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
120
-
121
- new_options = opts.merge(
122
- :operation => :"TradingApi.cancel_user_account_order",
123
- :header_params => header_params,
124
- :query_params => query_params,
125
- :form_params => form_params,
126
- :body => post_body,
127
- :auth_names => auth_names,
128
- :return_type => return_type
129
- )
130
-
131
- data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
132
- if @api_client.config.debugging
133
- @api_client.config.logger.debug "API called: TradingApi#cancel_user_account_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
134
- end
135
- return data, status_code, headers, response
136
- end
137
-
138
-
139
- # Check impact of trades on account.
140
- # @param user_id [String]
141
- # @param user_secret [String]
142
- # @param account_id [String]
143
- # @param action [Action]
144
- # @param order_type [OrderType]
145
- # @param price [Float] Trade Price if limit or stop limit order
146
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
147
- # @param time_in_force [TimeInForce]
148
- # @param units [Float] Trade Units
149
- # @param universal_symbol_id [String]
150
- # @param body [ManualTradeForm]
151
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
152
- def get_order_impact(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
153
- _body = {}
154
- _body[:account_id] = account_id if account_id != SENTINEL
155
- _body[:action] = action if action != SENTINEL
156
- _body[:order_type] = order_type if order_type != SENTINEL
157
- _body[:price] = price if price != SENTINEL
158
- _body[:stop] = stop if stop != SENTINEL
159
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
160
- _body[:units] = units if units != SENTINEL
161
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
162
- manual_trade_form = _body
163
-
164
- data, _status_code, _headers = get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
165
- data
166
- end
167
-
168
- # Check impact of trades on account.
169
- # @param user_id [String]
170
- # @param user_secret [String]
171
- # @param account_id [String]
172
- # @param action [Action]
173
- # @param order_type [OrderType]
174
- # @param price [Float] Trade Price if limit or stop limit order
175
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
176
- # @param time_in_force [TimeInForce]
177
- # @param units [Float] Trade Units
178
- # @param universal_symbol_id [String]
179
- # @param body [ManualTradeForm]
180
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
181
- def get_order_impact_with_http_info(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
182
- _body = {}
183
- _body[:account_id] = account_id if account_id != SENTINEL
184
- _body[:action] = action if action != SENTINEL
185
- _body[:order_type] = order_type if order_type != SENTINEL
186
- _body[:price] = price if price != SENTINEL
187
- _body[:stop] = stop if stop != SENTINEL
188
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
189
- _body[:units] = units if units != SENTINEL
190
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
191
- manual_trade_form = _body
192
-
193
- get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
194
- end
195
-
196
- # Check impact of trades on account.
197
- # @param user_id [String]
198
- # @param user_secret [String]
199
- # @param manual_trade_form [ManualTradeForm]
200
- # @param [Hash] opts the optional parameters
201
- # @return [ManualTradeAndImpact]
202
- def get_order_impact_impl(user_id, user_secret, manual_trade_form, opts = {})
203
- data, _status_code, _headers = get_order_impact_with_http_info(user_id, user_secret, manual_trade_form, opts)
204
- data
205
- end
206
-
207
- # Check impact of trades on account.
208
- # @param user_id [String]
209
- # @param user_secret [String]
210
- # @param manual_trade_form [ManualTradeForm]
211
- # @param [Hash] opts the optional parameters
212
- # @return [Array<(ManualTradeAndImpact, Integer, Hash)>] ManualTradeAndImpact data, response status code and response headers
213
- def get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, opts = {})
214
- if @api_client.config.debugging
215
- @api_client.config.logger.debug 'Calling API: TradingApi.get_order_impact ...'
216
- end
217
- # verify the required parameter 'user_id' is set
218
- if @api_client.config.client_side_validation && user_id.nil?
219
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.get_order_impact"
220
- end
221
- # verify the required parameter 'user_secret' is set
222
- if @api_client.config.client_side_validation && user_secret.nil?
223
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.get_order_impact"
224
- end
225
- # verify the required parameter 'manual_trade_form' is set
226
- if @api_client.config.client_side_validation && manual_trade_form.nil?
227
- fail ArgumentError, "Missing the required parameter 'manual_trade_form' when calling TradingApi.get_order_impact"
228
- end
229
- # resource path
230
- local_var_path = '/trade/impact'
231
-
232
- # query parameters
233
- query_params = opts[:query_params] || {}
234
- query_params[:'userId'] = user_id
235
- query_params[:'userSecret'] = user_secret
236
-
237
- # header parameters
238
- header_params = opts[:header_params] || {}
239
- # HTTP header 'Accept' (if needed)
240
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
241
- # HTTP header 'Content-Type'
242
- content_type = @api_client.select_header_content_type(['application/json'])
243
- if !content_type.nil?
244
- header_params['Content-Type'] = content_type
245
- end
246
-
247
- # form parameters
248
- form_params = opts[:form_params] || {}
249
-
250
- # http body (model)
251
- post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form)
252
-
253
- # return_type
254
- return_type = opts[:debug_return_type] || 'ManualTradeAndImpact'
255
-
256
- # auth_names
257
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
258
-
259
- new_options = opts.merge(
260
- :operation => :"TradingApi.get_order_impact",
261
- :header_params => header_params,
262
- :query_params => query_params,
263
- :form_params => form_params,
264
- :body => post_body,
265
- :auth_names => auth_names,
266
- :return_type => return_type
267
- )
268
-
269
- data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
270
- if @api_client.config.debugging
271
- @api_client.config.logger.debug "API called: TradingApi#get_order_impact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
272
- end
273
- return data, status_code, headers, response
274
- end
275
-
276
-
277
- # Get symbol quotes
278
- # @param user_id [String]
279
- # @param user_secret [String]
280
- # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
281
- # @param account_id [String] The ID of the account to get quotes.
282
- # @param use_ticker [Boolean] Should be set to True if providing tickers.
283
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
284
- def get_user_account_quotes(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
285
- extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
286
-
287
- data, _status_code, _headers = get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra)
288
- data
289
- end
290
-
291
- # Get symbol quotes
292
- # @param user_id [String]
293
- # @param user_secret [String]
294
- # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
295
- # @param account_id [String] The ID of the account to get quotes.
296
- # @param use_ticker [Boolean] Should be set to True if providing tickers.
297
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
298
- def get_user_account_quotes_with_http_info(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
299
- extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
300
-
301
- get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra)
302
- end
303
-
304
- # Get symbol quotes
305
- # @param user_id [String]
306
- # @param user_secret [String]
307
- # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
308
- # @param account_id [String] The ID of the account to get quotes.
309
- # @param [Hash] opts the optional parameters
310
- # @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
311
- # @return [Array<SymbolsQuotesInner>]
312
- def get_user_account_quotes_impl(user_id, user_secret, symbols, account_id, opts = {})
313
- data, _status_code, _headers = get_user_account_quotes_with_http_info(user_id, user_secret, symbols, account_id, opts)
314
- data
315
- end
316
-
317
- # Get symbol quotes
318
- # @param user_id [String]
319
- # @param user_secret [String]
320
- # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
321
- # @param account_id [String] The ID of the account to get quotes.
322
- # @param [Hash] opts the optional parameters
323
- # @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
324
- # @return [Array<(Array<SymbolsQuotesInner>, Integer, Hash)>] Array<SymbolsQuotesInner> data, response status code and response headers
325
- def get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, opts = {})
326
- if @api_client.config.debugging
327
- @api_client.config.logger.debug 'Calling API: TradingApi.get_user_account_quotes ...'
328
- end
329
- # verify the required parameter 'user_id' is set
330
- if @api_client.config.client_side_validation && user_id.nil?
331
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.get_user_account_quotes"
332
- end
333
- # verify the required parameter 'user_secret' is set
334
- if @api_client.config.client_side_validation && user_secret.nil?
335
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.get_user_account_quotes"
336
- end
337
- # verify the required parameter 'symbols' is set
338
- if @api_client.config.client_side_validation && symbols.nil?
339
- fail ArgumentError, "Missing the required parameter 'symbols' when calling TradingApi.get_user_account_quotes"
340
- end
341
- # verify the required parameter 'account_id' is set
342
- if @api_client.config.client_side_validation && account_id.nil?
343
- fail ArgumentError, "Missing the required parameter 'account_id' when calling TradingApi.get_user_account_quotes"
344
- end
345
- # resource path
346
- local_var_path = '/accounts/{accountId}/quotes'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
347
-
348
- # query parameters
349
- query_params = opts[:query_params] || {}
350
- query_params[:'userId'] = user_id
351
- query_params[:'userSecret'] = user_secret
352
- query_params[:'symbols'] = symbols
353
- query_params[:'use_ticker'] = opts[:'use_ticker'] if !opts[:'use_ticker'].nil?
354
-
355
- # header parameters
356
- header_params = opts[:header_params] || {}
357
- # HTTP header 'Accept' (if needed)
358
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
359
-
360
- # form parameters
361
- form_params = opts[:form_params] || {}
362
-
363
- # http body (model)
364
- post_body = opts[:debug_body]
365
-
366
- # return_type
367
- return_type = opts[:debug_return_type] || 'Array<SymbolsQuotesInner>'
368
-
369
- # auth_names
370
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
371
-
372
- new_options = opts.merge(
373
- :operation => :"TradingApi.get_user_account_quotes",
374
- :header_params => header_params,
375
- :query_params => query_params,
376
- :form_params => form_params,
377
- :body => post_body,
378
- :auth_names => auth_names,
379
- :return_type => return_type
380
- )
381
-
382
- data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
383
- if @api_client.config.debugging
384
- @api_client.config.logger.debug "API called: TradingApi#get_user_account_quotes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
385
- end
386
- return data, status_code, headers, response
387
- end
388
-
389
-
390
- # Place a trade with NO validation.
391
- # @param user_id [String]
392
- # @param user_secret [String]
393
- # @param account_id [String]
394
- # @param action [Action]
395
- # @param order_type [OrderType]
396
- # @param price [Float] Trade Price if limit or stop limit order
397
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
398
- # @param time_in_force [TimeInForce]
399
- # @param units [Float] Trade Units
400
- # @param universal_symbol_id [String]
401
- # @param body [ManualTradeForm]
402
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
403
- def place_force_order(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
404
- _body = {}
405
- _body[:account_id] = account_id if account_id != SENTINEL
406
- _body[:action] = action if action != SENTINEL
407
- _body[:order_type] = order_type if order_type != SENTINEL
408
- _body[:price] = price if price != SENTINEL
409
- _body[:stop] = stop if stop != SENTINEL
410
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
411
- _body[:units] = units if units != SENTINEL
412
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
413
- manual_trade_form = _body
414
-
415
- data, _status_code, _headers = place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
416
- data
417
- end
418
-
419
- # Place a trade with NO validation.
420
- # @param user_id [String]
421
- # @param user_secret [String]
422
- # @param account_id [String]
423
- # @param action [Action]
424
- # @param order_type [OrderType]
425
- # @param price [Float] Trade Price if limit or stop limit order
426
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
427
- # @param time_in_force [TimeInForce]
428
- # @param units [Float] Trade Units
429
- # @param universal_symbol_id [String]
430
- # @param body [ManualTradeForm]
431
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
432
- def place_force_order_with_http_info(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
433
- _body = {}
434
- _body[:account_id] = account_id if account_id != SENTINEL
435
- _body[:action] = action if action != SENTINEL
436
- _body[:order_type] = order_type if order_type != SENTINEL
437
- _body[:price] = price if price != SENTINEL
438
- _body[:stop] = stop if stop != SENTINEL
439
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
440
- _body[:units] = units if units != SENTINEL
441
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
442
- manual_trade_form = _body
443
-
444
- place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
445
- end
446
-
447
- # Place a trade with NO validation.
448
- # @param user_id [String]
449
- # @param user_secret [String]
450
- # @param manual_trade_form [ManualTradeForm]
451
- # @param [Hash] opts the optional parameters
452
- # @return [AccountOrderRecord]
453
- def place_force_order_impl(user_id, user_secret, manual_trade_form, opts = {})
454
- data, _status_code, _headers = place_force_order_with_http_info(user_id, user_secret, manual_trade_form, opts)
455
- data
456
- end
457
-
458
- # Place a trade with NO validation.
459
- # @param user_id [String]
460
- # @param user_secret [String]
461
- # @param manual_trade_form [ManualTradeForm]
462
- # @param [Hash] opts the optional parameters
463
- # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
464
- def place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, opts = {})
465
- if @api_client.config.debugging
466
- @api_client.config.logger.debug 'Calling API: TradingApi.place_force_order ...'
467
- end
468
- # verify the required parameter 'user_id' is set
469
- if @api_client.config.client_side_validation && user_id.nil?
470
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_force_order"
471
- end
472
- # verify the required parameter 'user_secret' is set
473
- if @api_client.config.client_side_validation && user_secret.nil?
474
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_force_order"
475
- end
476
- # verify the required parameter 'manual_trade_form' is set
477
- if @api_client.config.client_side_validation && manual_trade_form.nil?
478
- fail ArgumentError, "Missing the required parameter 'manual_trade_form' when calling TradingApi.place_force_order"
479
- end
480
- # resource path
481
- local_var_path = '/trade/place'
482
-
483
- # query parameters
484
- query_params = opts[:query_params] || {}
485
- query_params[:'userId'] = user_id
486
- query_params[:'userSecret'] = user_secret
487
-
488
- # header parameters
489
- header_params = opts[:header_params] || {}
490
- # HTTP header 'Accept' (if needed)
491
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
492
- # HTTP header 'Content-Type'
493
- content_type = @api_client.select_header_content_type(['application/json'])
494
- if !content_type.nil?
495
- header_params['Content-Type'] = content_type
496
- end
497
-
498
- # form parameters
499
- form_params = opts[:form_params] || {}
500
-
501
- # http body (model)
502
- post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form)
503
-
504
- # return_type
505
- return_type = opts[:debug_return_type] || 'AccountOrderRecord'
506
-
507
- # auth_names
508
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
509
-
510
- new_options = opts.merge(
511
- :operation => :"TradingApi.place_force_order",
512
- :header_params => header_params,
513
- :query_params => query_params,
514
- :form_params => form_params,
515
- :body => post_body,
516
- :auth_names => auth_names,
517
- :return_type => return_type
518
- )
519
-
520
- data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
521
- if @api_client.config.debugging
522
- @api_client.config.logger.debug "API called: TradingApi#place_force_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
523
- end
524
- return data, status_code, headers, response
525
- end
526
-
527
-
528
- # Place a OCO (One Cancels Other) order
529
- # @param user_id [String]
530
- # @param user_secret [String]
531
- # @param first_trade_id [Object] The ID of first trade object obtained from trade/impact endpoint
532
- # @param second_trade_id [Object] The ID of second trade object obtained from trade/impact endpoint
533
- # @param body [TradingPlaceOCOOrderRequest]
534
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
535
- def place_oco_order(user_id:, user_secret:, first_trade_id: SENTINEL, second_trade_id: SENTINEL, extra: {})
536
- _body = {}
537
- _body[:first_trade_id] = first_trade_id if first_trade_id != SENTINEL
538
- _body[:second_trade_id] = second_trade_id if second_trade_id != SENTINEL
539
- trading_place_oco_order_request = _body
540
-
541
- data, _status_code, _headers = place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
542
- data
543
- end
544
-
545
- # Place a OCO (One Cancels Other) order
546
- # @param user_id [String]
547
- # @param user_secret [String]
548
- # @param first_trade_id [Object] The ID of first trade object obtained from trade/impact endpoint
549
- # @param second_trade_id [Object] The ID of second trade object obtained from trade/impact endpoint
550
- # @param body [TradingPlaceOCOOrderRequest]
551
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
552
- def place_oco_order_with_http_info(user_id:, user_secret:, first_trade_id: SENTINEL, second_trade_id: SENTINEL, extra: {})
553
- _body = {}
554
- _body[:first_trade_id] = first_trade_id if first_trade_id != SENTINEL
555
- _body[:second_trade_id] = second_trade_id if second_trade_id != SENTINEL
556
- trading_place_oco_order_request = _body
557
-
558
- place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
559
- end
560
-
561
- # Place a OCO (One Cancels Other) order
562
- # @param user_id [String]
563
- # @param user_secret [String]
564
- # @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
565
- # @param [Hash] opts the optional parameters
566
- # @return [AccountOrderRecord]
567
- def place_oco_order_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
568
- data, _status_code, _headers = place_oco_order_with_http_info(user_id, user_secret, trading_place_oco_order_request, opts)
569
- data
570
- end
571
-
572
- # Place a OCO (One Cancels Other) order
573
- # @param user_id [String]
574
- # @param user_secret [String]
575
- # @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
576
- # @param [Hash] opts the optional parameters
577
- # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
578
- def place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
579
- if @api_client.config.debugging
580
- @api_client.config.logger.debug 'Calling API: TradingApi.place_oco_order ...'
581
- end
582
- # verify the required parameter 'user_id' is set
583
- if @api_client.config.client_side_validation && user_id.nil?
584
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_oco_order"
585
- end
586
- # verify the required parameter 'user_secret' is set
587
- if @api_client.config.client_side_validation && user_secret.nil?
588
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_oco_order"
589
- end
590
- # verify the required parameter 'trading_place_oco_order_request' is set
591
- if @api_client.config.client_side_validation && trading_place_oco_order_request.nil?
592
- fail ArgumentError, "Missing the required parameter 'trading_place_oco_order_request' when calling TradingApi.place_oco_order"
593
- end
594
- # resource path
595
- local_var_path = '/trade/oco'
596
-
597
- # query parameters
598
- query_params = opts[:query_params] || {}
599
- query_params[:'userId'] = user_id
600
- query_params[:'userSecret'] = user_secret
601
-
602
- # header parameters
603
- header_params = opts[:header_params] || {}
604
- # HTTP header 'Accept' (if needed)
605
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
606
- # HTTP header 'Content-Type'
607
- content_type = @api_client.select_header_content_type(['application/json'])
608
- if !content_type.nil?
609
- header_params['Content-Type'] = content_type
610
- end
611
-
612
- # form parameters
613
- form_params = opts[:form_params] || {}
614
-
615
- # http body (model)
616
- post_body = opts[:debug_body] || @api_client.object_to_http_body(trading_place_oco_order_request)
617
-
618
- # return_type
619
- return_type = opts[:debug_return_type] || 'AccountOrderRecord'
620
-
621
- # auth_names
622
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
623
-
624
- new_options = opts.merge(
625
- :operation => :"TradingApi.place_oco_order",
626
- :header_params => header_params,
627
- :query_params => query_params,
628
- :form_params => form_params,
629
- :body => post_body,
630
- :auth_names => auth_names,
631
- :return_type => return_type
632
- )
633
-
634
- data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
635
- if @api_client.config.debugging
636
- @api_client.config.logger.debug "API called: TradingApi#place_oco_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
637
- end
638
- return data, status_code, headers, response
639
- end
640
-
641
-
642
- # Place order
643
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
644
- # @param user_id [String]
645
- # @param user_secret [String]
646
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
647
- def place_order(trade_id:, user_id:, user_secret:, extra: {})
648
-
649
- data, _status_code, _headers = place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
650
- data
651
- end
652
-
653
- # Place order
654
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
655
- # @param user_id [String]
656
- # @param user_secret [String]
657
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
658
- def place_order_with_http_info(trade_id:, user_id:, user_secret:, extra: {})
659
-
660
- place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
661
- end
662
-
663
- # Place order
664
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
665
- # @param user_id [String]
666
- # @param user_secret [String]
667
- # @param [Hash] opts the optional parameters
668
- # @return [AccountOrderRecord]
669
- def place_order_impl(trade_id, user_id, user_secret, opts = {})
670
- data, _status_code, _headers = place_order_with_http_info(trade_id, user_id, user_secret, opts)
671
- data
672
- end
673
-
674
- # Place order
675
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
676
- # @param user_id [String]
677
- # @param user_secret [String]
678
- # @param [Hash] opts the optional parameters
679
- # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
680
- def place_order_with_http_info_impl(trade_id, user_id, user_secret, opts = {})
681
- if @api_client.config.debugging
682
- @api_client.config.logger.debug 'Calling API: TradingApi.place_order ...'
683
- end
684
- # verify the required parameter 'trade_id' is set
685
- if @api_client.config.client_side_validation && trade_id.nil?
686
- fail ArgumentError, "Missing the required parameter 'trade_id' when calling TradingApi.place_order"
687
- end
688
- # verify the required parameter 'user_id' is set
689
- if @api_client.config.client_side_validation && user_id.nil?
690
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_order"
691
- end
692
- # verify the required parameter 'user_secret' is set
693
- if @api_client.config.client_side_validation && user_secret.nil?
694
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_order"
695
- end
696
- # resource path
697
- local_var_path = '/trade/{tradeId}'.sub('{' + 'tradeId' + '}', CGI.escape(trade_id.to_s))
698
-
699
- # query parameters
700
- query_params = opts[:query_params] || {}
701
- query_params[:'userId'] = user_id
702
- query_params[:'userSecret'] = user_secret
703
-
704
- # header parameters
705
- header_params = opts[:header_params] || {}
706
- # HTTP header 'Accept' (if needed)
707
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
708
-
709
- # form parameters
710
- form_params = opts[:form_params] || {}
711
-
712
- # http body (model)
713
- post_body = opts[:debug_body]
714
-
715
- # return_type
716
- return_type = opts[:debug_return_type] || 'AccountOrderRecord'
717
-
718
- # auth_names
719
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
720
-
721
- new_options = opts.merge(
722
- :operation => :"TradingApi.place_order",
723
- :header_params => header_params,
724
- :query_params => query_params,
725
- :form_params => form_params,
726
- :body => post_body,
727
- :auth_names => auth_names,
728
- :return_type => return_type
729
- )
730
-
731
- data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
732
- if @api_client.config.debugging
733
- @api_client.config.logger.debug "API called: TradingApi#place_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
734
- end
735
- return data, status_code, headers, response
736
- end
737
- end
738
-
739
- # top-level client access to avoid having the user to insantiate their own API instances
740
- Trading = TradingApi::new
741
- end
1
+ =begin
2
+ #SnapTrade
3
+
4
+ #Connect brokerage accounts to your app for live positions and trading
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: api@snaptrade.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module SnapTrade
14
+ class TradingApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+
21
+ # Cancel open order in account
22
+ # @param user_id [String]
23
+ # @param user_secret [String]
24
+ # @param account_id [String] The ID of the account get positions.
25
+ # @param brokerage_order_id [String]
26
+ # @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
27
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
28
+ def cancel_user_account_order(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
29
+ _body = {}
30
+ _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL
31
+ trading_cancel_user_account_order_request = _body
32
+
33
+ data, _status_code, _headers = cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, extra)
34
+ data
35
+ end
36
+
37
+ # Cancel open order in account
38
+ # @param user_id [String]
39
+ # @param user_secret [String]
40
+ # @param account_id [String] The ID of the account get positions.
41
+ # @param brokerage_order_id [String]
42
+ # @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
43
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
44
+ def cancel_user_account_order_with_http_info(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
45
+ _body = {}
46
+ _body[:brokerage_order_id] = brokerage_order_id if brokerage_order_id != SENTINEL
47
+ trading_cancel_user_account_order_request = _body
48
+
49
+ cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, extra)
50
+ end
51
+
52
+ # Cancel open order in account
53
+ # @param user_id [String]
54
+ # @param user_secret [String]
55
+ # @param account_id [String] The ID of the account get positions.
56
+ # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
57
+ # @param [Hash] opts the optional parameters
58
+ # @return [AccountOrderRecord]
59
+ def cancel_user_account_order_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
60
+ data, _status_code, _headers = cancel_user_account_order_with_http_info(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts)
61
+ data
62
+ end
63
+
64
+ # Cancel open order in account
65
+ # @param user_id [String]
66
+ # @param user_secret [String]
67
+ # @param account_id [String] The ID of the account get positions.
68
+ # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
69
+ # @param [Hash] opts the optional parameters
70
+ # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
71
+ def cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
72
+ if @api_client.config.debugging
73
+ @api_client.config.logger.debug 'Calling API: TradingApi.cancel_user_account_order ...'
74
+ end
75
+ # verify the required parameter 'user_id' is set
76
+ if @api_client.config.client_side_validation && user_id.nil?
77
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.cancel_user_account_order"
78
+ end
79
+ # verify the required parameter 'user_secret' is set
80
+ if @api_client.config.client_side_validation && user_secret.nil?
81
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.cancel_user_account_order"
82
+ end
83
+ # verify the required parameter 'account_id' is set
84
+ if @api_client.config.client_side_validation && account_id.nil?
85
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling TradingApi.cancel_user_account_order"
86
+ end
87
+ # verify the required parameter 'trading_cancel_user_account_order_request' is set
88
+ if @api_client.config.client_side_validation && trading_cancel_user_account_order_request.nil?
89
+ fail ArgumentError, "Missing the required parameter 'trading_cancel_user_account_order_request' when calling TradingApi.cancel_user_account_order"
90
+ end
91
+ # resource path
92
+ local_var_path = '/accounts/{accountId}/orders/cancel'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
93
+
94
+ # query parameters
95
+ query_params = opts[:query_params] || {}
96
+ query_params[:'userId'] = user_id
97
+ query_params[:'userSecret'] = user_secret
98
+
99
+ # header parameters
100
+ header_params = opts[:header_params] || {}
101
+ # HTTP header 'Accept' (if needed)
102
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
103
+ # HTTP header 'Content-Type'
104
+ content_type = @api_client.select_header_content_type(['application/json'])
105
+ if !content_type.nil?
106
+ header_params['Content-Type'] = content_type
107
+ end
108
+
109
+ # form parameters
110
+ form_params = opts[:form_params] || {}
111
+
112
+ # http body (model)
113
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(trading_cancel_user_account_order_request)
114
+
115
+ # return_type
116
+ return_type = opts[:debug_return_type] || 'AccountOrderRecord'
117
+
118
+ # auth_names
119
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
120
+
121
+ new_options = opts.merge(
122
+ :operation => :"TradingApi.cancel_user_account_order",
123
+ :header_params => header_params,
124
+ :query_params => query_params,
125
+ :form_params => form_params,
126
+ :body => post_body,
127
+ :auth_names => auth_names,
128
+ :return_type => return_type
129
+ )
130
+
131
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
132
+ if @api_client.config.debugging
133
+ @api_client.config.logger.debug "API called: TradingApi#cancel_user_account_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
134
+ end
135
+ return data, status_code, headers, response
136
+ end
137
+
138
+
139
+ # Check impact of trades on account.
140
+ # @param user_id [String]
141
+ # @param user_secret [String]
142
+ # @param account_id [String]
143
+ # @param action [Action]
144
+ # @param order_type [OrderType]
145
+ # @param price [Float] Trade Price if limit or stop limit order
146
+ # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
147
+ # @param time_in_force [TimeInForce]
148
+ # @param units [Float] Trade Units
149
+ # @param universal_symbol_id [String]
150
+ # @param body [ManualTradeForm]
151
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
152
+ def get_order_impact(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
153
+ _body = {}
154
+ _body[:account_id] = account_id if account_id != SENTINEL
155
+ _body[:action] = action if action != SENTINEL
156
+ _body[:order_type] = order_type if order_type != SENTINEL
157
+ _body[:price] = price if price != SENTINEL
158
+ _body[:stop] = stop if stop != SENTINEL
159
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
160
+ _body[:units] = units if units != SENTINEL
161
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
162
+ manual_trade_form = _body
163
+
164
+ data, _status_code, _headers = get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
165
+ data
166
+ end
167
+
168
+ # Check impact of trades on account.
169
+ # @param user_id [String]
170
+ # @param user_secret [String]
171
+ # @param account_id [String]
172
+ # @param action [Action]
173
+ # @param order_type [OrderType]
174
+ # @param price [Float] Trade Price if limit or stop limit order
175
+ # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
176
+ # @param time_in_force [TimeInForce]
177
+ # @param units [Float] Trade Units
178
+ # @param universal_symbol_id [String]
179
+ # @param body [ManualTradeForm]
180
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
181
+ def get_order_impact_with_http_info(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
182
+ _body = {}
183
+ _body[:account_id] = account_id if account_id != SENTINEL
184
+ _body[:action] = action if action != SENTINEL
185
+ _body[:order_type] = order_type if order_type != SENTINEL
186
+ _body[:price] = price if price != SENTINEL
187
+ _body[:stop] = stop if stop != SENTINEL
188
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
189
+ _body[:units] = units if units != SENTINEL
190
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
191
+ manual_trade_form = _body
192
+
193
+ get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
194
+ end
195
+
196
+ # Check impact of trades on account.
197
+ # @param user_id [String]
198
+ # @param user_secret [String]
199
+ # @param manual_trade_form [ManualTradeForm]
200
+ # @param [Hash] opts the optional parameters
201
+ # @return [ManualTradeAndImpact]
202
+ def get_order_impact_impl(user_id, user_secret, manual_trade_form, opts = {})
203
+ data, _status_code, _headers = get_order_impact_with_http_info(user_id, user_secret, manual_trade_form, opts)
204
+ data
205
+ end
206
+
207
+ # Check impact of trades on account.
208
+ # @param user_id [String]
209
+ # @param user_secret [String]
210
+ # @param manual_trade_form [ManualTradeForm]
211
+ # @param [Hash] opts the optional parameters
212
+ # @return [Array<(ManualTradeAndImpact, Integer, Hash)>] ManualTradeAndImpact data, response status code and response headers
213
+ def get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, opts = {})
214
+ if @api_client.config.debugging
215
+ @api_client.config.logger.debug 'Calling API: TradingApi.get_order_impact ...'
216
+ end
217
+ # verify the required parameter 'user_id' is set
218
+ if @api_client.config.client_side_validation && user_id.nil?
219
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.get_order_impact"
220
+ end
221
+ # verify the required parameter 'user_secret' is set
222
+ if @api_client.config.client_side_validation && user_secret.nil?
223
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.get_order_impact"
224
+ end
225
+ # verify the required parameter 'manual_trade_form' is set
226
+ if @api_client.config.client_side_validation && manual_trade_form.nil?
227
+ fail ArgumentError, "Missing the required parameter 'manual_trade_form' when calling TradingApi.get_order_impact"
228
+ end
229
+ # resource path
230
+ local_var_path = '/trade/impact'
231
+
232
+ # query parameters
233
+ query_params = opts[:query_params] || {}
234
+ query_params[:'userId'] = user_id
235
+ query_params[:'userSecret'] = user_secret
236
+
237
+ # header parameters
238
+ header_params = opts[:header_params] || {}
239
+ # HTTP header 'Accept' (if needed)
240
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
241
+ # HTTP header 'Content-Type'
242
+ content_type = @api_client.select_header_content_type(['application/json'])
243
+ if !content_type.nil?
244
+ header_params['Content-Type'] = content_type
245
+ end
246
+
247
+ # form parameters
248
+ form_params = opts[:form_params] || {}
249
+
250
+ # http body (model)
251
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form)
252
+
253
+ # return_type
254
+ return_type = opts[:debug_return_type] || 'ManualTradeAndImpact'
255
+
256
+ # auth_names
257
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
258
+
259
+ new_options = opts.merge(
260
+ :operation => :"TradingApi.get_order_impact",
261
+ :header_params => header_params,
262
+ :query_params => query_params,
263
+ :form_params => form_params,
264
+ :body => post_body,
265
+ :auth_names => auth_names,
266
+ :return_type => return_type
267
+ )
268
+
269
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
270
+ if @api_client.config.debugging
271
+ @api_client.config.logger.debug "API called: TradingApi#get_order_impact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
272
+ end
273
+ return data, status_code, headers, response
274
+ end
275
+
276
+
277
+ # Get symbol quotes
278
+ # @param user_id [String]
279
+ # @param user_secret [String]
280
+ # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
281
+ # @param account_id [String] The ID of the account to get quotes.
282
+ # @param use_ticker [Boolean] Should be set to True if providing tickers.
283
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
284
+ def get_user_account_quotes(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
285
+ extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
286
+
287
+ data, _status_code, _headers = get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra)
288
+ data
289
+ end
290
+
291
+ # Get symbol quotes
292
+ # @param user_id [String]
293
+ # @param user_secret [String]
294
+ # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
295
+ # @param account_id [String] The ID of the account to get quotes.
296
+ # @param use_ticker [Boolean] Should be set to True if providing tickers.
297
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
298
+ def get_user_account_quotes_with_http_info(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
299
+ extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
300
+
301
+ get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, extra)
302
+ end
303
+
304
+ # Get symbol quotes
305
+ # @param user_id [String]
306
+ # @param user_secret [String]
307
+ # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
308
+ # @param account_id [String] The ID of the account to get quotes.
309
+ # @param [Hash] opts the optional parameters
310
+ # @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
311
+ # @return [Array<SymbolsQuotesInner>]
312
+ def get_user_account_quotes_impl(user_id, user_secret, symbols, account_id, opts = {})
313
+ data, _status_code, _headers = get_user_account_quotes_with_http_info(user_id, user_secret, symbols, account_id, opts)
314
+ data
315
+ end
316
+
317
+ # Get symbol quotes
318
+ # @param user_id [String]
319
+ # @param user_secret [String]
320
+ # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
321
+ # @param account_id [String] The ID of the account to get quotes.
322
+ # @param [Hash] opts the optional parameters
323
+ # @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
324
+ # @return [Array<(Array<SymbolsQuotesInner>, Integer, Hash)>] Array<SymbolsQuotesInner> data, response status code and response headers
325
+ def get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, opts = {})
326
+ if @api_client.config.debugging
327
+ @api_client.config.logger.debug 'Calling API: TradingApi.get_user_account_quotes ...'
328
+ end
329
+ # verify the required parameter 'user_id' is set
330
+ if @api_client.config.client_side_validation && user_id.nil?
331
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.get_user_account_quotes"
332
+ end
333
+ # verify the required parameter 'user_secret' is set
334
+ if @api_client.config.client_side_validation && user_secret.nil?
335
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.get_user_account_quotes"
336
+ end
337
+ # verify the required parameter 'symbols' is set
338
+ if @api_client.config.client_side_validation && symbols.nil?
339
+ fail ArgumentError, "Missing the required parameter 'symbols' when calling TradingApi.get_user_account_quotes"
340
+ end
341
+ # verify the required parameter 'account_id' is set
342
+ if @api_client.config.client_side_validation && account_id.nil?
343
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling TradingApi.get_user_account_quotes"
344
+ end
345
+ # resource path
346
+ local_var_path = '/accounts/{accountId}/quotes'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
347
+
348
+ # query parameters
349
+ query_params = opts[:query_params] || {}
350
+ query_params[:'userId'] = user_id
351
+ query_params[:'userSecret'] = user_secret
352
+ query_params[:'symbols'] = symbols
353
+ query_params[:'use_ticker'] = opts[:'use_ticker'] if !opts[:'use_ticker'].nil?
354
+
355
+ # header parameters
356
+ header_params = opts[:header_params] || {}
357
+ # HTTP header 'Accept' (if needed)
358
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
359
+
360
+ # form parameters
361
+ form_params = opts[:form_params] || {}
362
+
363
+ # http body (model)
364
+ post_body = opts[:debug_body]
365
+
366
+ # return_type
367
+ return_type = opts[:debug_return_type] || 'Array<SymbolsQuotesInner>'
368
+
369
+ # auth_names
370
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
371
+
372
+ new_options = opts.merge(
373
+ :operation => :"TradingApi.get_user_account_quotes",
374
+ :header_params => header_params,
375
+ :query_params => query_params,
376
+ :form_params => form_params,
377
+ :body => post_body,
378
+ :auth_names => auth_names,
379
+ :return_type => return_type
380
+ )
381
+
382
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
383
+ if @api_client.config.debugging
384
+ @api_client.config.logger.debug "API called: TradingApi#get_user_account_quotes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
385
+ end
386
+ return data, status_code, headers, response
387
+ end
388
+
389
+
390
+ # Place a trade with NO validation.
391
+ # @param user_id [String]
392
+ # @param user_secret [String]
393
+ # @param account_id [String]
394
+ # @param action [Action]
395
+ # @param order_type [OrderType]
396
+ # @param price [Float] Trade Price if limit or stop limit order
397
+ # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
398
+ # @param time_in_force [TimeInForce]
399
+ # @param units [Float] Trade Units
400
+ # @param universal_symbol_id [String]
401
+ # @param body [ManualTradeForm]
402
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
403
+ def place_force_order(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
404
+ _body = {}
405
+ _body[:account_id] = account_id if account_id != SENTINEL
406
+ _body[:action] = action if action != SENTINEL
407
+ _body[:order_type] = order_type if order_type != SENTINEL
408
+ _body[:price] = price if price != SENTINEL
409
+ _body[:stop] = stop if stop != SENTINEL
410
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
411
+ _body[:units] = units if units != SENTINEL
412
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
413
+ manual_trade_form = _body
414
+
415
+ data, _status_code, _headers = place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
416
+ data
417
+ end
418
+
419
+ # Place a trade with NO validation.
420
+ # @param user_id [String]
421
+ # @param user_secret [String]
422
+ # @param account_id [String]
423
+ # @param action [Action]
424
+ # @param order_type [OrderType]
425
+ # @param price [Float] Trade Price if limit or stop limit order
426
+ # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
427
+ # @param time_in_force [TimeInForce]
428
+ # @param units [Float] Trade Units
429
+ # @param universal_symbol_id [String]
430
+ # @param body [ManualTradeForm]
431
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
432
+ def place_force_order_with_http_info(user_id:, user_secret:, account_id: SENTINEL, action: SENTINEL, order_type: SENTINEL, price: SENTINEL, stop: SENTINEL, time_in_force: SENTINEL, units: SENTINEL, universal_symbol_id: SENTINEL, extra: {})
433
+ _body = {}
434
+ _body[:account_id] = account_id if account_id != SENTINEL
435
+ _body[:action] = action if action != SENTINEL
436
+ _body[:order_type] = order_type if order_type != SENTINEL
437
+ _body[:price] = price if price != SENTINEL
438
+ _body[:stop] = stop if stop != SENTINEL
439
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
440
+ _body[:units] = units if units != SENTINEL
441
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
442
+ manual_trade_form = _body
443
+
444
+ place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
445
+ end
446
+
447
+ # Place a trade with NO validation.
448
+ # @param user_id [String]
449
+ # @param user_secret [String]
450
+ # @param manual_trade_form [ManualTradeForm]
451
+ # @param [Hash] opts the optional parameters
452
+ # @return [AccountOrderRecord]
453
+ def place_force_order_impl(user_id, user_secret, manual_trade_form, opts = {})
454
+ data, _status_code, _headers = place_force_order_with_http_info(user_id, user_secret, manual_trade_form, opts)
455
+ data
456
+ end
457
+
458
+ # Place a trade with NO validation.
459
+ # @param user_id [String]
460
+ # @param user_secret [String]
461
+ # @param manual_trade_form [ManualTradeForm]
462
+ # @param [Hash] opts the optional parameters
463
+ # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
464
+ def place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, opts = {})
465
+ if @api_client.config.debugging
466
+ @api_client.config.logger.debug 'Calling API: TradingApi.place_force_order ...'
467
+ end
468
+ # verify the required parameter 'user_id' is set
469
+ if @api_client.config.client_side_validation && user_id.nil?
470
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_force_order"
471
+ end
472
+ # verify the required parameter 'user_secret' is set
473
+ if @api_client.config.client_side_validation && user_secret.nil?
474
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_force_order"
475
+ end
476
+ # verify the required parameter 'manual_trade_form' is set
477
+ if @api_client.config.client_side_validation && manual_trade_form.nil?
478
+ fail ArgumentError, "Missing the required parameter 'manual_trade_form' when calling TradingApi.place_force_order"
479
+ end
480
+ # resource path
481
+ local_var_path = '/trade/place'
482
+
483
+ # query parameters
484
+ query_params = opts[:query_params] || {}
485
+ query_params[:'userId'] = user_id
486
+ query_params[:'userSecret'] = user_secret
487
+
488
+ # header parameters
489
+ header_params = opts[:header_params] || {}
490
+ # HTTP header 'Accept' (if needed)
491
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
492
+ # HTTP header 'Content-Type'
493
+ content_type = @api_client.select_header_content_type(['application/json'])
494
+ if !content_type.nil?
495
+ header_params['Content-Type'] = content_type
496
+ end
497
+
498
+ # form parameters
499
+ form_params = opts[:form_params] || {}
500
+
501
+ # http body (model)
502
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form)
503
+
504
+ # return_type
505
+ return_type = opts[:debug_return_type] || 'AccountOrderRecord'
506
+
507
+ # auth_names
508
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
509
+
510
+ new_options = opts.merge(
511
+ :operation => :"TradingApi.place_force_order",
512
+ :header_params => header_params,
513
+ :query_params => query_params,
514
+ :form_params => form_params,
515
+ :body => post_body,
516
+ :auth_names => auth_names,
517
+ :return_type => return_type
518
+ )
519
+
520
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
521
+ if @api_client.config.debugging
522
+ @api_client.config.logger.debug "API called: TradingApi#place_force_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
523
+ end
524
+ return data, status_code, headers, response
525
+ end
526
+
527
+
528
+ # Place a OCO (One Cancels Other) order
529
+ # @param user_id [String]
530
+ # @param user_secret [String]
531
+ # @param first_trade_id [Object] The ID of first trade object obtained from trade/impact endpoint
532
+ # @param second_trade_id [Object] The ID of second trade object obtained from trade/impact endpoint
533
+ # @param body [TradingPlaceOCOOrderRequest]
534
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
535
+ def place_oco_order(user_id:, user_secret:, first_trade_id: SENTINEL, second_trade_id: SENTINEL, extra: {})
536
+ _body = {}
537
+ _body[:first_trade_id] = first_trade_id if first_trade_id != SENTINEL
538
+ _body[:second_trade_id] = second_trade_id if second_trade_id != SENTINEL
539
+ trading_place_oco_order_request = _body
540
+
541
+ data, _status_code, _headers = place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
542
+ data
543
+ end
544
+
545
+ # Place a OCO (One Cancels Other) order
546
+ # @param user_id [String]
547
+ # @param user_secret [String]
548
+ # @param first_trade_id [Object] The ID of first trade object obtained from trade/impact endpoint
549
+ # @param second_trade_id [Object] The ID of second trade object obtained from trade/impact endpoint
550
+ # @param body [TradingPlaceOCOOrderRequest]
551
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
552
+ def place_oco_order_with_http_info(user_id:, user_secret:, first_trade_id: SENTINEL, second_trade_id: SENTINEL, extra: {})
553
+ _body = {}
554
+ _body[:first_trade_id] = first_trade_id if first_trade_id != SENTINEL
555
+ _body[:second_trade_id] = second_trade_id if second_trade_id != SENTINEL
556
+ trading_place_oco_order_request = _body
557
+
558
+ place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
559
+ end
560
+
561
+ # Place a OCO (One Cancels Other) order
562
+ # @param user_id [String]
563
+ # @param user_secret [String]
564
+ # @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
565
+ # @param [Hash] opts the optional parameters
566
+ # @return [AccountOrderRecord]
567
+ def place_oco_order_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
568
+ data, _status_code, _headers = place_oco_order_with_http_info(user_id, user_secret, trading_place_oco_order_request, opts)
569
+ data
570
+ end
571
+
572
+ # Place a OCO (One Cancels Other) order
573
+ # @param user_id [String]
574
+ # @param user_secret [String]
575
+ # @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
576
+ # @param [Hash] opts the optional parameters
577
+ # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
578
+ def place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
579
+ if @api_client.config.debugging
580
+ @api_client.config.logger.debug 'Calling API: TradingApi.place_oco_order ...'
581
+ end
582
+ # verify the required parameter 'user_id' is set
583
+ if @api_client.config.client_side_validation && user_id.nil?
584
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_oco_order"
585
+ end
586
+ # verify the required parameter 'user_secret' is set
587
+ if @api_client.config.client_side_validation && user_secret.nil?
588
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_oco_order"
589
+ end
590
+ # verify the required parameter 'trading_place_oco_order_request' is set
591
+ if @api_client.config.client_side_validation && trading_place_oco_order_request.nil?
592
+ fail ArgumentError, "Missing the required parameter 'trading_place_oco_order_request' when calling TradingApi.place_oco_order"
593
+ end
594
+ # resource path
595
+ local_var_path = '/trade/oco'
596
+
597
+ # query parameters
598
+ query_params = opts[:query_params] || {}
599
+ query_params[:'userId'] = user_id
600
+ query_params[:'userSecret'] = user_secret
601
+
602
+ # header parameters
603
+ header_params = opts[:header_params] || {}
604
+ # HTTP header 'Accept' (if needed)
605
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
606
+ # HTTP header 'Content-Type'
607
+ content_type = @api_client.select_header_content_type(['application/json'])
608
+ if !content_type.nil?
609
+ header_params['Content-Type'] = content_type
610
+ end
611
+
612
+ # form parameters
613
+ form_params = opts[:form_params] || {}
614
+
615
+ # http body (model)
616
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(trading_place_oco_order_request)
617
+
618
+ # return_type
619
+ return_type = opts[:debug_return_type] || 'AccountOrderRecord'
620
+
621
+ # auth_names
622
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
623
+
624
+ new_options = opts.merge(
625
+ :operation => :"TradingApi.place_oco_order",
626
+ :header_params => header_params,
627
+ :query_params => query_params,
628
+ :form_params => form_params,
629
+ :body => post_body,
630
+ :auth_names => auth_names,
631
+ :return_type => return_type
632
+ )
633
+
634
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
635
+ if @api_client.config.debugging
636
+ @api_client.config.logger.debug "API called: TradingApi#place_oco_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
637
+ end
638
+ return data, status_code, headers, response
639
+ end
640
+
641
+
642
+ # Place order
643
+ # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
644
+ # @param user_id [String]
645
+ # @param user_secret [String]
646
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
647
+ def place_order(trade_id:, user_id:, user_secret:, extra: {})
648
+
649
+ data, _status_code, _headers = place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
650
+ data
651
+ end
652
+
653
+ # Place order
654
+ # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
655
+ # @param user_id [String]
656
+ # @param user_secret [String]
657
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
658
+ def place_order_with_http_info(trade_id:, user_id:, user_secret:, extra: {})
659
+
660
+ place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
661
+ end
662
+
663
+ # Place order
664
+ # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
665
+ # @param user_id [String]
666
+ # @param user_secret [String]
667
+ # @param [Hash] opts the optional parameters
668
+ # @return [AccountOrderRecord]
669
+ def place_order_impl(trade_id, user_id, user_secret, opts = {})
670
+ data, _status_code, _headers = place_order_with_http_info(trade_id, user_id, user_secret, opts)
671
+ data
672
+ end
673
+
674
+ # Place order
675
+ # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
676
+ # @param user_id [String]
677
+ # @param user_secret [String]
678
+ # @param [Hash] opts the optional parameters
679
+ # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
680
+ def place_order_with_http_info_impl(trade_id, user_id, user_secret, opts = {})
681
+ if @api_client.config.debugging
682
+ @api_client.config.logger.debug 'Calling API: TradingApi.place_order ...'
683
+ end
684
+ # verify the required parameter 'trade_id' is set
685
+ if @api_client.config.client_side_validation && trade_id.nil?
686
+ fail ArgumentError, "Missing the required parameter 'trade_id' when calling TradingApi.place_order"
687
+ end
688
+ # verify the required parameter 'user_id' is set
689
+ if @api_client.config.client_side_validation && user_id.nil?
690
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_order"
691
+ end
692
+ # verify the required parameter 'user_secret' is set
693
+ if @api_client.config.client_side_validation && user_secret.nil?
694
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_order"
695
+ end
696
+ # resource path
697
+ local_var_path = '/trade/{tradeId}'.sub('{' + 'tradeId' + '}', CGI.escape(trade_id.to_s))
698
+
699
+ # query parameters
700
+ query_params = opts[:query_params] || {}
701
+ query_params[:'userId'] = user_id
702
+ query_params[:'userSecret'] = user_secret
703
+
704
+ # header parameters
705
+ header_params = opts[:header_params] || {}
706
+ # HTTP header 'Accept' (if needed)
707
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
708
+
709
+ # form parameters
710
+ form_params = opts[:form_params] || {}
711
+
712
+ # http body (model)
713
+ post_body = opts[:debug_body]
714
+
715
+ # return_type
716
+ return_type = opts[:debug_return_type] || 'AccountOrderRecord'
717
+
718
+ # auth_names
719
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
720
+
721
+ new_options = opts.merge(
722
+ :operation => :"TradingApi.place_order",
723
+ :header_params => header_params,
724
+ :query_params => query_params,
725
+ :form_params => form_params,
726
+ :body => post_body,
727
+ :auth_names => auth_names,
728
+ :return_type => return_type
729
+ )
730
+
731
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
732
+ if @api_client.config.debugging
733
+ @api_client.config.logger.debug "API called: TradingApi#place_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
734
+ end
735
+ return data, status_code, headers, response
736
+ end
737
+ end
738
+
739
+ # top-level client access to avoid having the user to insantiate their own API instances
740
+ Trading = TradingApi::new
741
+ end