snaptrade 1.17.10 → 2.0.77

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 (462) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -28
  4. data/README.md +1995 -208
  5. data/lib/snaptrade/api/account_information_api.rb +535 -71
  6. data/lib/snaptrade/api/api_status_api.rb +6 -3
  7. data/lib/snaptrade/api/authentication_api.rb +180 -140
  8. data/lib/snaptrade/api/connections_api.rb +401 -41
  9. data/lib/snaptrade/api/options_api.rb +82 -39
  10. data/lib/snaptrade/api/reference_data_api.rb +181 -101
  11. data/lib/snaptrade/api/trading_api.rb +200 -228
  12. data/lib/snaptrade/api/transactions_and_reporting_api.rb +48 -33
  13. data/lib/snaptrade/api_client.rb +24 -14
  14. data/lib/snaptrade/api_error.rb +0 -1
  15. data/lib/snaptrade/configuration.rb +11 -29
  16. data/lib/snaptrade/models/account.rb +84 -29
  17. data/lib/snaptrade/models/account_balance.rb +1 -2
  18. data/lib/snaptrade/models/account_balance_total.rb +3 -9
  19. data/lib/snaptrade/models/account_holdings.rb +0 -1
  20. data/lib/snaptrade/models/account_holdings_account.rb +19 -4
  21. data/lib/snaptrade/models/account_order_record.rb +52 -33
  22. data/lib/snaptrade/models/{brokerage_symbol_option_symbol.rb → account_order_record_option_symbol.rb} +15 -27
  23. data/lib/snaptrade/models/account_order_record_status.rb +0 -1
  24. data/lib/snaptrade/models/{brokerage_symbol_symbol.rb → account_order_record_universal_symbol.rb} +33 -7
  25. data/lib/snaptrade/models/account_simple.rb +4 -2
  26. data/lib/snaptrade/models/account_sync_status.rb +14 -6
  27. data/lib/snaptrade/models/account_universal_activity.rb +371 -0
  28. data/lib/snaptrade/models/account_universal_activity_currency.rb +245 -0
  29. data/lib/snaptrade/models/{target_asset.rb → account_universal_activity_option_symbol.rb} +83 -59
  30. data/lib/snaptrade/models/{universal_symbol_ticker.rb → account_universal_activity_symbol.rb} +37 -16
  31. data/lib/snaptrade/models/{trade_action.rb → action_strict.rb} +3 -4
  32. data/lib/snaptrade/models/{trade_execution_status_action.rb → action_strict_with_options.rb} +8 -5
  33. data/lib/snaptrade/models/auth_type.rb +0 -1
  34. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +0 -1
  35. data/lib/snaptrade/models/balance.rb +19 -8
  36. data/lib/snaptrade/models/{model_portfolio.rb → balance_currency.rb} +27 -19
  37. data/lib/snaptrade/models/brokerage.rb +57 -50
  38. data/lib/snaptrade/models/brokerage_authorization.rb +24 -21
  39. data/lib/snaptrade/models/{model_asset_class.rb → brokerage_authorization_disabled_confirmation.rb} +12 -20
  40. data/lib/snaptrade/models/{jwt.rb → brokerage_authorization_refresh_confirmation.rb} +12 -12
  41. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +1 -2
  42. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +2 -3
  43. data/lib/snaptrade/models/brokerage_type.rb +1 -2
  44. data/lib/snaptrade/models/connection_portal_version.rb +3 -3
  45. data/lib/snaptrade/models/connection_type.rb +0 -1
  46. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +1 -2
  47. data/lib/snaptrade/models/currency.rb +4 -2
  48. data/lib/snaptrade/models/delete_user_response.rb +13 -5
  49. data/lib/snaptrade/models/dividend_at_date.rb +0 -1
  50. data/lib/snaptrade/models/encrypted_response.rb +0 -1
  51. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +0 -1
  52. data/lib/snaptrade/models/exchange.rb +9 -2
  53. data/lib/snaptrade/models/exchange_rate_pairs.rb +0 -1
  54. data/lib/snaptrade/models/figi_instrument.rb +230 -0
  55. data/lib/snaptrade/models/holdings_status.rb +229 -0
  56. data/lib/snaptrade/models/login_redirect_uri.rb +3 -3
  57. data/lib/snaptrade/models/manual_trade.rb +10 -6
  58. data/lib/snaptrade/models/manual_trade_and_impact.rb +2 -3
  59. data/lib/snaptrade/models/manual_trade_balance.rb +3 -4
  60. data/lib/snaptrade/models/manual_trade_form.rb +56 -28
  61. data/lib/snaptrade/models/{model_asset_class_target.rb → manual_trade_form_notional_value.rb} +12 -15
  62. data/lib/snaptrade/models/{trade.rb → manual_trade_form_with_options.rb} +126 -43
  63. data/lib/snaptrade/models/{snap_trade_api_disclaimer_accept_status.rb → manual_trade_form_with_options_stop_loss.rb} +24 -18
  64. data/lib/snaptrade/models/manual_trade_form_with_options_take_profit.rb +223 -0
  65. data/lib/snaptrade/models/{trade_impact.rb → manual_trade_impact.rb} +20 -17
  66. data/lib/snaptrade/models/manual_trade_symbol.rb +19 -15
  67. data/lib/snaptrade/models/model400_failed_request_response.rb +0 -1
  68. data/lib/snaptrade/models/model401_failed_request_response.rb +0 -1
  69. data/lib/snaptrade/models/model402_brokerage_auth_already_disabled_exception.rb +228 -0
  70. data/lib/snaptrade/models/{amount.rb → model402_brokerage_auth_disabled_response.rb} +19 -18
  71. data/lib/snaptrade/models/model403_failed_request_response.rb +0 -1
  72. data/lib/snaptrade/models/model403_feature_not_enabled_response.rb +228 -0
  73. data/lib/snaptrade/models/model404_failed_request_response.rb +0 -1
  74. data/lib/snaptrade/models/{calculated_trade.rb → model425_failed_request_response.rb} +19 -20
  75. data/lib/snaptrade/models/model500_unexpected_exception_response.rb +0 -1
  76. data/lib/snaptrade/models/monthly_dividends.rb +1 -2
  77. data/lib/snaptrade/models/net_contributions.rb +1 -2
  78. data/lib/snaptrade/models/net_dividend.rb +0 -1
  79. data/lib/snaptrade/models/notional_value.rb +103 -0
  80. data/lib/snaptrade/models/{options_holdings.rb → option_brokerage_symbol.rb} +19 -50
  81. data/lib/snaptrade/models/option_chain_inner.rb +0 -1
  82. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +0 -1
  83. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +0 -1
  84. data/lib/snaptrade/models/option_leg.rb +0 -1
  85. data/lib/snaptrade/models/option_leg_action.rb +0 -1
  86. data/lib/snaptrade/models/option_strategy.rb +0 -1
  87. data/lib/snaptrade/models/option_strategy_legs_inner.rb +0 -1
  88. data/lib/snaptrade/models/option_type.rb +0 -1
  89. data/lib/snaptrade/models/options_get_option_strategy_request.rb +0 -1
  90. data/lib/snaptrade/models/options_place_option_strategy_request.rb +4 -3
  91. data/lib/snaptrade/models/options_position.rb +20 -20
  92. data/lib/snaptrade/models/options_position_currency.rb +4 -1
  93. data/lib/snaptrade/models/options_symbol.rb +12 -25
  94. data/lib/snaptrade/models/{model_type.rb → order_class.rb} +6 -8
  95. data/lib/snaptrade/models/{order_type.rb → order_type_strict.rb} +5 -6
  96. data/lib/snaptrade/models/paginated_universal_activity.rb +228 -0
  97. data/lib/snaptrade/models/pagination_details.rb +228 -0
  98. data/lib/snaptrade/models/partner_data.rb +49 -50
  99. data/lib/snaptrade/models/past_value.rb +1 -2
  100. data/lib/snaptrade/models/performance_custom.rb +0 -1
  101. data/lib/snaptrade/models/position.rb +21 -20
  102. data/lib/snaptrade/models/position_symbol.rb +16 -12
  103. data/lib/snaptrade/models/{portfolio_group_position.rb → rate_of_return_object.rb} +26 -26
  104. data/lib/snaptrade/models/{brokerage_authorization_type.rb → rate_of_return_response.rb} +14 -11
  105. data/lib/snaptrade/models/{strategy_order_place.rb → recent_orders_response.rb} +7 -16
  106. data/lib/snaptrade/models/security_type.rb +5 -2
  107. data/lib/snaptrade/models/session_event.rb +1 -2
  108. data/lib/snaptrade/models/session_event_type.rb +11 -4
  109. data/lib/snaptrade/models/snap_trade_holdings_account.rb +0 -1
  110. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +3 -2
  111. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +10 -5
  112. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +1 -2
  113. data/lib/snaptrade/models/status.rb +0 -1
  114. data/lib/snaptrade/models/stop_loss.rb +227 -0
  115. data/lib/snaptrade/models/strategy_order_record.rb +5 -3
  116. data/lib/snaptrade/models/strategy_order_record_status.rb +0 -1
  117. data/lib/snaptrade/models/strategy_quotes.rb +0 -1
  118. data/lib/snaptrade/models/strategy_quotes_greek.rb +0 -1
  119. data/lib/snaptrade/models/strategy_type.rb +0 -1
  120. data/lib/snaptrade/models/sub_period_return_rate.rb +2 -3
  121. data/lib/snaptrade/models/symbol.rb +39 -14
  122. data/lib/snaptrade/models/{portfolio_group.rb → symbol_currency.rb} +24 -5
  123. data/lib/snaptrade/models/symbol_exchange.rb +296 -0
  124. data/lib/snaptrade/models/{model_portfolio_security.rb → symbol_figi_instrument.rb} +27 -41
  125. data/lib/snaptrade/models/symbol_query.rb +1 -2
  126. data/lib/snaptrade/models/symbols_quotes_inner.rb +15 -11
  127. data/lib/snaptrade/models/{excluded_asset.rb → take_profit.rb} +11 -12
  128. data/lib/snaptrade/models/{time_in_force.rb → time_in_force_strict.rb} +5 -6
  129. data/lib/snaptrade/models/{brokerage_authorization_type_type.rb → timeframe.rb} +9 -7
  130. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +1 -1
  131. data/lib/snaptrade/models/transactions_status.rb +19 -8
  132. data/lib/snaptrade/models/type.rb +3 -4
  133. data/lib/snaptrade/models/underlying_symbol.rb +40 -6
  134. data/lib/snaptrade/models/{snap_trade_holdings_account_account_id.rb → underlying_symbol_exchange.rb} +55 -54
  135. data/lib/snaptrade/models/{brokerage_symbol.rb → underlying_symbol_type.rb} +28 -39
  136. data/lib/snaptrade/models/universal_activity.rb +91 -82
  137. data/lib/snaptrade/models/universal_symbol.rb +30 -5
  138. data/lib/snaptrade/models/us_exchange.rb +0 -1
  139. data/lib/snaptrade/models/user_i_dand_secret.rb +2 -4
  140. data/lib/snaptrade/models/validated_trade_body.rb +218 -0
  141. data/lib/snaptrade/version.rb +1 -2
  142. data/lib/snaptrade.rb +90 -66
  143. data/snaptrade.gemspec +0 -1
  144. data/spec/api/account_information_api_spec.rb +66 -13
  145. data/spec/api/api_status_api_spec.rb +0 -1
  146. data/spec/api/authentication_api_spec.rb +20 -20
  147. data/spec/api/connections_api_spec.rb +54 -9
  148. data/spec/api/options_api_spec.rb +11 -7
  149. data/spec/api/reference_data_api_spec.rb +24 -16
  150. data/spec/api/trading_api_spec.rb +17 -25
  151. data/spec/api/transactions_and_reporting_api_spec.rb +7 -8
  152. data/spec/api_client_spec.rb +0 -1
  153. data/spec/configuration_spec.rb +0 -1
  154. data/spec/models/account_balance_spec.rb +0 -1
  155. data/spec/models/account_balance_total_spec.rb +0 -1
  156. data/spec/models/account_holdings_account_spec.rb +6 -1
  157. data/spec/models/account_holdings_spec.rb +0 -1
  158. data/spec/models/{strategy_impact_legs_inner_spec.rb → account_order_record_option_symbol_spec.rb} +13 -14
  159. data/spec/models/account_order_record_spec.rb +12 -7
  160. data/spec/models/account_order_record_status_spec.rb +0 -1
  161. data/spec/models/{brokerage_symbol_symbol_spec.rb → account_order_record_universal_symbol_spec.rb} +18 -7
  162. data/spec/models/account_simple_spec.rb +0 -1
  163. data/spec/models/account_spec.rb +14 -9
  164. data/spec/models/account_sync_status_spec.rb +6 -1
  165. data/spec/models/account_universal_activity_currency_spec.rb +41 -0
  166. data/spec/models/{brokerage_symbol_option_symbol_spec.rb → account_universal_activity_option_symbol_spec.rb} +6 -19
  167. data/spec/models/{portfolio_group_info_spec.rb → account_universal_activity_spec.rb} +47 -18
  168. data/spec/models/{universal_symbol_ticker_spec.rb → account_universal_activity_symbol_spec.rb} +13 -8
  169. data/spec/models/action_strict_spec.rb +23 -0
  170. data/spec/models/action_strict_with_options_spec.rb +23 -0
  171. data/spec/models/auth_type_spec.rb +0 -1
  172. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +0 -1
  173. data/spec/models/{model_portfolio_spec.rb → balance_currency_spec.rb} +8 -9
  174. data/spec/models/balance_spec.rb +6 -1
  175. data/spec/models/brokerage_authorization_disabled_confirmation_spec.rb +29 -0
  176. data/spec/models/{brokerage_authorization_type_spec.rb → brokerage_authorization_refresh_confirmation_spec.rb} +7 -8
  177. data/spec/models/brokerage_authorization_spec.rb +6 -7
  178. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +0 -1
  179. data/spec/models/brokerage_authorization_type_read_only_spec.rb +0 -1
  180. data/spec/models/brokerage_spec.rb +12 -19
  181. data/spec/models/brokerage_type_spec.rb +0 -1
  182. data/spec/models/connection_portal_version_spec.rb +0 -1
  183. data/spec/models/connection_type_spec.rb +0 -1
  184. data/spec/models/connections_session_events200_response_inner_spec.rb +0 -1
  185. data/spec/models/currency_spec.rb +0 -1
  186. data/spec/models/delete_user_response_spec.rb +6 -1
  187. data/spec/models/dividend_at_date_spec.rb +0 -1
  188. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +0 -1
  189. data/spec/models/encrypted_response_spec.rb +0 -1
  190. data/spec/models/exchange_rate_pairs_spec.rb +0 -1
  191. data/spec/models/exchange_spec.rb +0 -1
  192. data/spec/models/{portfolio_group_spec.rb → figi_instrument_spec.rb} +8 -9
  193. data/spec/models/{calculated_trade_spec.rb → holdings_status_spec.rb} +8 -9
  194. data/spec/models/login_redirect_uri_spec.rb +0 -1
  195. data/spec/models/manual_trade_and_impact_spec.rb +0 -1
  196. data/spec/models/manual_trade_balance_spec.rb +0 -1
  197. data/spec/models/manual_trade_form_notional_value_spec.rb +23 -0
  198. data/spec/models/manual_trade_form_spec.rb +6 -7
  199. data/spec/models/{strategy_impact_spec.rb → manual_trade_form_with_options_spec.rb} +29 -18
  200. data/spec/models/{snap_trade_api_disclaimer_accept_status_spec.rb → manual_trade_form_with_options_stop_loss_spec.rb} +8 -9
  201. data/spec/models/manual_trade_form_with_options_take_profit_spec.rb +29 -0
  202. data/spec/models/{trade_impact_spec.rb → manual_trade_impact_spec.rb} +7 -8
  203. data/spec/models/manual_trade_spec.rb +0 -1
  204. data/spec/models/manual_trade_symbol_spec.rb +6 -7
  205. data/spec/models/model400_failed_request_response_spec.rb +0 -1
  206. data/spec/models/model401_failed_request_response_spec.rb +0 -1
  207. data/spec/models/model402_brokerage_auth_already_disabled_exception_spec.rb +35 -0
  208. data/spec/models/model402_brokerage_auth_disabled_response_spec.rb +35 -0
  209. data/spec/models/model403_failed_request_response_spec.rb +0 -1
  210. data/spec/models/{model_asset_class_details_spec.rb → model403_feature_not_enabled_response_spec.rb} +8 -9
  211. data/spec/models/model404_failed_request_response_spec.rb +0 -1
  212. data/spec/models/model425_failed_request_response_spec.rb +35 -0
  213. data/spec/models/model500_unexpected_exception_response_spec.rb +0 -1
  214. data/spec/models/monthly_dividends_spec.rb +0 -1
  215. data/spec/models/net_contributions_spec.rb +0 -1
  216. data/spec/models/net_dividend_spec.rb +0 -1
  217. data/spec/models/notional_value_spec.rb +26 -0
  218. data/spec/models/{model_portfolio_details_spec.rb → option_brokerage_symbol_spec.rb} +9 -10
  219. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +0 -1
  220. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +0 -1
  221. data/spec/models/option_chain_inner_spec.rb +0 -1
  222. data/spec/models/option_leg_action_spec.rb +0 -1
  223. data/spec/models/option_leg_spec.rb +0 -1
  224. data/spec/models/option_strategy_legs_inner_spec.rb +0 -1
  225. data/spec/models/option_strategy_spec.rb +0 -1
  226. data/spec/models/option_type_spec.rb +0 -1
  227. data/spec/models/options_get_option_strategy_request_spec.rb +0 -1
  228. data/spec/models/options_place_option_strategy_request_spec.rb +0 -1
  229. data/spec/models/options_position_currency_spec.rb +0 -1
  230. data/spec/models/options_position_spec.rb +2 -3
  231. data/spec/models/options_symbol_spec.rb +0 -13
  232. data/spec/models/order_class_spec.rb +23 -0
  233. data/spec/models/order_type_strict_spec.rb +23 -0
  234. data/spec/models/{model_portfolio_asset_class_spec.rb → paginated_universal_activity_spec.rb} +8 -9
  235. data/spec/models/{model_asset_class_spec.rb → pagination_details_spec.rb} +8 -9
  236. data/spec/models/partner_data_spec.rb +12 -13
  237. data/spec/models/past_value_spec.rb +0 -1
  238. data/spec/models/performance_custom_spec.rb +0 -1
  239. data/spec/models/position_spec.rb +2 -3
  240. data/spec/models/position_symbol_spec.rb +3 -4
  241. data/spec/models/{portfolio_group_position_spec.rb → rate_of_return_object_spec.rb} +9 -10
  242. data/spec/models/rate_of_return_response_spec.rb +29 -0
  243. data/spec/models/recent_orders_response_spec.rb +29 -0
  244. data/spec/models/security_type_spec.rb +0 -1
  245. data/spec/models/session_event_spec.rb +0 -1
  246. data/spec/models/session_event_type_spec.rb +0 -1
  247. data/spec/models/snap_trade_holdings_account_spec.rb +0 -1
  248. data/spec/models/snap_trade_holdings_total_value_spec.rb +0 -1
  249. data/spec/models/snap_trade_login_user_request_body_spec.rb +0 -1
  250. data/spec/models/snap_trade_register_user_request_body_spec.rb +0 -1
  251. data/spec/models/status_spec.rb +0 -1
  252. data/spec/models/{amount_spec.rb → stop_loss_spec.rb} +8 -9
  253. data/spec/models/strategy_order_record_spec.rb +0 -1
  254. data/spec/models/strategy_order_record_status_spec.rb +0 -1
  255. data/spec/models/strategy_quotes_greek_spec.rb +0 -1
  256. data/spec/models/strategy_quotes_spec.rb +0 -1
  257. data/spec/models/strategy_type_spec.rb +0 -1
  258. data/spec/models/sub_period_return_rate_spec.rb +0 -1
  259. data/spec/models/symbol_currency_spec.rb +41 -0
  260. data/spec/models/{trade_spec.rb → symbol_exchange_spec.rb} +13 -14
  261. data/spec/models/symbol_figi_instrument_spec.rb +35 -0
  262. data/spec/models/symbol_query_spec.rb +0 -1
  263. data/spec/models/symbol_spec.rb +13 -2
  264. data/spec/models/symbols_quotes_inner_spec.rb +3 -4
  265. data/spec/models/{jwt_spec.rb → take_profit_spec.rb} +7 -8
  266. data/spec/models/time_in_force_strict_spec.rb +23 -0
  267. data/spec/models/timeframe_spec.rb +23 -0
  268. data/spec/models/trading_cancel_user_account_order_request_spec.rb +0 -1
  269. data/spec/models/transactions_status_spec.rb +6 -1
  270. data/spec/models/type_spec.rb +0 -1
  271. data/spec/models/{snap_trade_holdings_account_account_id_spec.rb → underlying_symbol_exchange_spec.rb} +13 -14
  272. data/spec/models/underlying_symbol_spec.rb +18 -1
  273. data/spec/models/{cash_restriction_spec.rb → underlying_symbol_type_spec.rb} +9 -16
  274. data/spec/models/universal_activity_spec.rb +15 -16
  275. data/spec/models/universal_symbol_spec.rb +12 -1
  276. data/spec/models/us_exchange_spec.rb +0 -1
  277. data/spec/models/user_i_dand_secret_spec.rb +0 -1
  278. data/spec/models/{excluded_asset_spec.rb → validated_trade_body_spec.rb} +7 -8
  279. data/spec/spec_helper.rb +0 -1
  280. metadata +203 -360
  281. data/docs/APIStatusApi.md +0 -57
  282. data/docs/Account.md +0 -38
  283. data/docs/AccountBalance.md +0 -18
  284. data/docs/AccountBalanceTotal.md +0 -20
  285. data/docs/AccountHoldings.md +0 -24
  286. data/docs/AccountHoldingsAccount.md +0 -26
  287. data/docs/AccountInformationApi.md +0 -544
  288. data/docs/AccountOrderRecord.md +0 -52
  289. data/docs/AccountOrderRecordStatus.md +0 -15
  290. data/docs/AccountSimple.md +0 -24
  291. data/docs/AccountSyncStatus.md +0 -18
  292. data/docs/Action.md +0 -15
  293. data/docs/Amount.md +0 -20
  294. data/docs/AuthType.md +0 -15
  295. data/docs/AuthenticationApi.md +0 -320
  296. data/docs/AuthenticationLoginSnapTradeUser200Response.md +0 -49
  297. data/docs/Balance.md +0 -20
  298. data/docs/Brokerage.md +0 -52
  299. data/docs/BrokerageAuthorization.md +0 -34
  300. data/docs/BrokerageAuthorizationType.md +0 -18
  301. data/docs/BrokerageAuthorizationTypeReadOnly.md +0 -24
  302. data/docs/BrokerageAuthorizationTypeReadOnlyBrokerage.md +0 -22
  303. data/docs/BrokerageAuthorizationTypeReadOnlyType.md +0 -15
  304. data/docs/BrokerageAuthorizationTypeType.md +0 -15
  305. data/docs/BrokerageSymbol.md +0 -28
  306. data/docs/BrokerageSymbolOptionSymbol.md +0 -34
  307. data/docs/BrokerageSymbolSymbol.md +0 -32
  308. data/docs/BrokerageType.md +0 -20
  309. data/docs/CalculatedTrade.md +0 -20
  310. data/docs/CashRestriction.md +0 -26
  311. data/docs/ConnectionPortalVersion.md +0 -15
  312. data/docs/ConnectionType.md +0 -15
  313. data/docs/ConnectionsApi.md +0 -265
  314. data/docs/ConnectionsSessionEvents200ResponseInner.md +0 -30
  315. data/docs/Currency.md +0 -22
  316. data/docs/DeleteUserResponse.md +0 -20
  317. data/docs/DividendAtDate.md +0 -22
  318. data/docs/EncryptedResponse.md +0 -20
  319. data/docs/EncryptedResponseEncryptedMessageData.md +0 -22
  320. data/docs/ErrorLogsApi.md +0 -68
  321. data/docs/Exchange.md +0 -32
  322. data/docs/ExchangeRatePairs.md +0 -22
  323. data/docs/ExcludedAsset.md +0 -18
  324. data/docs/JWT.md +0 -18
  325. data/docs/LoginRedirectURI.md +0 -20
  326. data/docs/ManualTrade.md +0 -32
  327. data/docs/ManualTradeAndImpact.md +0 -22
  328. data/docs/ManualTradeBalance.md +0 -22
  329. data/docs/ManualTradeForm.md +0 -34
  330. data/docs/ManualTradeSymbol.md +0 -28
  331. data/docs/Model400FailedRequestResponse.md +0 -20
  332. data/docs/Model401FailedRequestResponse.md +0 -20
  333. data/docs/Model403FailedRequestResponse.md +0 -20
  334. data/docs/Model404FailedRequestResponse.md +0 -20
  335. data/docs/Model500UnexpectedExceptionResponse.md +0 -22
  336. data/docs/ModelAssetClass.md +0 -20
  337. data/docs/ModelAssetClassDetails.md +0 -20
  338. data/docs/ModelAssetClassTarget.md +0 -18
  339. data/docs/ModelPortfolio.md +0 -22
  340. data/docs/ModelPortfolioAssetClass.md +0 -20
  341. data/docs/ModelPortfolioDetails.md +0 -22
  342. data/docs/ModelPortfolioSecurity.md +0 -20
  343. data/docs/ModelType.md +0 -15
  344. data/docs/MonthlyDividends.md +0 -20
  345. data/docs/NetContributions.md +0 -22
  346. data/docs/NetDividend.md +0 -22
  347. data/docs/OptionChainInner.md +0 -26
  348. data/docs/OptionChainInnerChainPerRootInner.md +0 -22
  349. data/docs/OptionChainInnerChainPerRootInnerChainPerStrikePriceInner.md +0 -22
  350. data/docs/OptionLeg.md +0 -22
  351. data/docs/OptionLegAction.md +0 -15
  352. data/docs/OptionStrategy.md +0 -26
  353. data/docs/OptionStrategyLegsInner.md +0 -24
  354. data/docs/OptionType.md +0 -15
  355. data/docs/OptionsApi.md +0 -390
  356. data/docs/OptionsGetOptionStrategyRequest.md +0 -22
  357. data/docs/OptionsHoldings.md +0 -28
  358. data/docs/OptionsPlaceOptionStrategyRequest.md +0 -22
  359. data/docs/OptionsPosition.md +0 -26
  360. data/docs/OptionsPositionCurrency.md +0 -22
  361. data/docs/OptionsSymbol.md +0 -34
  362. data/docs/OrderType.md +0 -15
  363. data/docs/PartnerData.md +0 -40
  364. data/docs/PastValue.md +0 -22
  365. data/docs/PerformanceCustom.md +0 -54
  366. data/docs/PortfolioGroup.md +0 -20
  367. data/docs/PortfolioGroupInfo.md +0 -38
  368. data/docs/PortfolioGroupPosition.md +0 -22
  369. data/docs/PortfolioGroupSettings.md +0 -26
  370. data/docs/Position.md +0 -28
  371. data/docs/PositionSymbol.md +0 -28
  372. data/docs/RedirectTokenandPin.md +0 -20
  373. data/docs/ReferenceDataApi.md +0 -597
  374. data/docs/SecurityType.md +0 -24
  375. data/docs/SessionEvent.md +0 -30
  376. data/docs/SessionEventType.md +0 -15
  377. data/docs/SnapTradeAPIDisclaimerAcceptStatus.md +0 -20
  378. data/docs/SnapTradeHoldingsAccount.md +0 -32
  379. data/docs/SnapTradeHoldingsAccountAccountId.md +0 -34
  380. data/docs/SnapTradeHoldingsTotalValue.md +0 -20
  381. data/docs/SnapTradeLoginUserRequestBody.md +0 -28
  382. data/docs/SnapTradeRegisterUserRequestBody.md +0 -18
  383. data/docs/State.md +0 -15
  384. data/docs/Status.md +0 -22
  385. data/docs/StrategyImpact.md +0 -38
  386. data/docs/StrategyImpactLegsInner.md +0 -30
  387. data/docs/StrategyOrderPlace.md +0 -20
  388. data/docs/StrategyOrderPlaceOrdersInner.md +0 -102
  389. data/docs/StrategyOrderPlaceOrdersInnerLegsInner.md +0 -30
  390. data/docs/StrategyOrderRecord.md +0 -38
  391. data/docs/StrategyOrderRecordStatus.md +0 -15
  392. data/docs/StrategyQuotes.md +0 -28
  393. data/docs/StrategyQuotesGreek.md +0 -26
  394. data/docs/StrategyType.md +0 -15
  395. data/docs/SubPeriodReturnRate.md +0 -22
  396. data/docs/Symbol.md +0 -30
  397. data/docs/SymbolQuery.md +0 -18
  398. data/docs/SymbolsQuotesInner.md +0 -28
  399. data/docs/TargetAsset.md +0 -28
  400. data/docs/TimeInForce.md +0 -15
  401. data/docs/Trade.md +0 -32
  402. data/docs/TradeAction.md +0 -15
  403. data/docs/TradeExecutionStatus.md +0 -34
  404. data/docs/TradeExecutionStatusAction.md +0 -15
  405. data/docs/TradeImpact.md +0 -26
  406. data/docs/TradingApi.md +0 -486
  407. data/docs/TradingCancelUserAccountOrderRequest.md +0 -18
  408. data/docs/TradingPlaceOCOOrderRequest.md +0 -20
  409. data/docs/TransactionsAndReportingApi.md +0 -183
  410. data/docs/TransactionsStatus.md +0 -20
  411. data/docs/Type.md +0 -15
  412. data/docs/USExchange.md +0 -34
  413. data/docs/UnderlyingSymbol.md +0 -30
  414. data/docs/UniversalActivity.md +0 -50
  415. data/docs/UniversalSymbol.md +0 -32
  416. data/docs/UniversalSymbolTicker.md +0 -32
  417. data/docs/UserErrorLog.md +0 -28
  418. data/docs/UserIDandSecret.md +0 -20
  419. data/docs/UserSettings.md +0 -36
  420. data/lib/snaptrade/api/error_logs_api.rb +0 -110
  421. data/lib/snaptrade/models/action.rb +0 -38
  422. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +0 -38
  423. data/lib/snaptrade/models/cash_restriction.rb +0 -254
  424. data/lib/snaptrade/models/model_asset_class_details.rb +0 -228
  425. data/lib/snaptrade/models/model_portfolio_asset_class.rb +0 -250
  426. data/lib/snaptrade/models/model_portfolio_details.rb +0 -239
  427. data/lib/snaptrade/models/portfolio_group_info.rb +0 -326
  428. data/lib/snaptrade/models/portfolio_group_settings.rb +0 -277
  429. data/lib/snaptrade/models/redirect_tokenand_pin.rb +0 -227
  430. data/lib/snaptrade/models/state.rb +0 -41
  431. data/lib/snaptrade/models/strategy_impact.rb +0 -310
  432. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +0 -271
  433. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +0 -597
  434. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +0 -271
  435. data/lib/snaptrade/models/trade_execution_status.rb +0 -296
  436. data/lib/snaptrade/models/trading_place_oco_order_request.rb +0 -230
  437. data/lib/snaptrade/models/user_error_log.rb +0 -263
  438. data/lib/snaptrade/models/user_settings.rb +0 -299
  439. data/spec/api/error_logs_api_spec.rb +0 -43
  440. data/spec/models/action_spec.rb +0 -24
  441. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +0 -24
  442. data/spec/models/brokerage_authorization_type_type_spec.rb +0 -24
  443. data/spec/models/brokerage_symbol_spec.rb +0 -60
  444. data/spec/models/model_asset_class_target_spec.rb +0 -30
  445. data/spec/models/model_portfolio_security_spec.rb +0 -36
  446. data/spec/models/model_type_spec.rb +0 -24
  447. data/spec/models/options_holdings_spec.rb +0 -60
  448. data/spec/models/order_type_spec.rb +0 -24
  449. data/spec/models/portfolio_group_settings_spec.rb +0 -54
  450. data/spec/models/redirect_tokenand_pin_spec.rb +0 -36
  451. data/spec/models/state_spec.rb +0 -24
  452. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +0 -66
  453. data/spec/models/strategy_order_place_orders_inner_spec.rb +0 -282
  454. data/spec/models/strategy_order_place_spec.rb +0 -36
  455. data/spec/models/target_asset_spec.rb +0 -60
  456. data/spec/models/time_in_force_spec.rb +0 -24
  457. data/spec/models/trade_action_spec.rb +0 -24
  458. data/spec/models/trade_execution_status_action_spec.rb +0 -24
  459. data/spec/models/trade_execution_status_spec.rb +0 -78
  460. data/spec/models/trading_place_oco_order_request_spec.rb +0 -36
  461. data/spec/models/user_error_log_spec.rb +0 -60
  462. data/spec/models/user_settings_spec.rb +0 -84
@@ -5,7 +5,6 @@
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: api@snaptrade.com
8
-
9
8
  =end
10
9
 
11
10
  require 'cgi'
@@ -18,12 +17,15 @@ module SnapTrade
18
17
  @api_client = api_client
19
18
  end
20
19
 
21
- # Cancel open order in account
20
+ # Cancel order
21
+ #
22
+ # Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected.
23
+ #
22
24
  # @param user_id [String]
23
25
  # @param user_secret [String]
24
- # @param account_id [String] The ID of the account to cancel the order in.
25
- # @param brokerage_order_id [String]
26
- # @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
26
+ # @param account_id [String]
27
+ # @param brokerage_order_id [String] Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
28
+ # @param body [TradingCancelUserAccountOrderRequest]
27
29
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
28
30
  def cancel_user_account_order(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
29
31
  _body = {}
@@ -33,12 +35,15 @@ module SnapTrade
33
35
  data
34
36
  end
35
37
 
36
- # Cancel open order in account
38
+ # Cancel order
39
+ #
40
+ # Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected.
41
+ #
37
42
  # @param user_id [String]
38
43
  # @param user_secret [String]
39
- # @param account_id [String] The ID of the account to cancel the order in.
40
- # @param brokerage_order_id [String]
41
- # @param body [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
44
+ # @param account_id [String]
45
+ # @param brokerage_order_id [String] Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
46
+ # @param body [TradingCancelUserAccountOrderRequest]
42
47
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
43
48
  def cancel_user_account_order_with_http_info(user_id:, user_secret:, account_id:, brokerage_order_id: SENTINEL, extra: {})
44
49
  _body = {}
@@ -47,26 +52,28 @@ module SnapTrade
47
52
  cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, extra)
48
53
  end
49
54
 
50
- # Cancel open order in account
55
+ # Cancel order
56
+ # Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected.
51
57
  # @param user_id [String]
52
58
  # @param user_secret [String]
53
- # @param account_id [String] The ID of the account to cancel the order in.
54
- # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
59
+ # @param account_id [String]
60
+ # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest]
55
61
  # @param [Hash] opts the optional parameters
56
62
  # @return [AccountOrderRecord]
57
- def cancel_user_account_order_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
63
+ private def cancel_user_account_order_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
58
64
  data, _status_code, _headers = cancel_user_account_order_with_http_info(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts)
59
65
  data
60
66
  end
61
67
 
62
- # Cancel open order in account
68
+ # Cancel order
69
+ # Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected.
63
70
  # @param user_id [String]
64
71
  # @param user_secret [String]
65
- # @param account_id [String] The ID of the account to cancel the order in.
66
- # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest] The Order ID to be canceled
72
+ # @param account_id [String]
73
+ # @param trading_cancel_user_account_order_request [TradingCancelUserAccountOrderRequest]
67
74
  # @param [Hash] opts the optional parameters
68
75
  # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
69
- def cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
76
+ private def cancel_user_account_order_with_http_info_impl(user_id, user_secret, account_id, trading_cancel_user_account_order_request, opts = {})
70
77
  if @api_client.config.debugging
71
78
  @api_client.config.logger.debug 'Calling API: TradingApi.cancel_user_account_order ...'
72
79
  end
@@ -134,83 +141,91 @@ module SnapTrade
134
141
  end
135
142
 
136
143
 
137
- # Check impact of trades on account.
144
+ # Check order impact
145
+ #
146
+ # Simulates an order and its impact on the account. This endpoint does not place the order with the brokerage. If successful, it returns a `Trade` object and the ID of the object can be used to place the order with the brokerage using the [place checked order endpoint](/reference/Trading/Trading_placeOrder). Please note that the `Trade` object returned expires after 5 minutes. Any order placed using an expired `Trade` will be rejected.
147
+ #
148
+ # @param account_id [String] Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
149
+ # @param action [ActionStrict] The action describes the intent or side of a trade. This is either `BUY` or `SELL`.
150
+ # @param universal_symbol_id [String] Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
151
+ # @param order_type [OrderTypeStrict] The type of order to place. - For `Limit` and `StopLimit` orders, the `price` field is required. - For `Stop` and `StopLimit` orders, the `stop` field is required.
152
+ # @param time_in_force [TimeInForceStrict] The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely.
138
153
  # @param user_id [String]
139
154
  # @param user_secret [String]
140
- # @param account_id [String]
141
- # @param action [Action]
142
- # @param order_type [OrderType]
143
- # @param price [Float] Trade Price if limit or stop limit order
144
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
145
- # @param time_in_force [TimeInForce]
146
- # @param units [Float] Trade Units. Cannot work with notional value.
147
- # @param universal_symbol_id [String]
148
- # @param notional_value [Float] Dollar amount to trade. Cannot work with units. Can only work for market order types and day for time in force.
155
+ # @param price [Float] The limit price for `Limit` and `StopLimit` orders.
156
+ # @param stop [Float] The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
157
+ # @param units [Float]
158
+ # @param notional_value [ManualTradeFormNotionalValue]
149
159
  # @param body [ManualTradeForm]
150
160
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
151
- 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, notional_value: SENTINEL, extra: {})
161
+ def get_order_impact(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {})
152
162
  _body = {}
153
163
  _body[:account_id] = account_id if account_id != SENTINEL
154
164
  _body[:action] = action if action != SENTINEL
165
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
155
166
  _body[:order_type] = order_type if order_type != SENTINEL
167
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
156
168
  _body[:price] = price if price != SENTINEL
157
169
  _body[:stop] = stop if stop != SENTINEL
158
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
159
170
  _body[:units] = units if units != SENTINEL
160
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
161
171
  _body[:notional_value] = notional_value if notional_value != SENTINEL
162
172
  manual_trade_form = _body
163
173
  data, _status_code, _headers = get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
164
174
  data
165
175
  end
166
176
 
167
- # Check impact of trades on account.
177
+ # Check order impact
178
+ #
179
+ # Simulates an order and its impact on the account. This endpoint does not place the order with the brokerage. If successful, it returns a `Trade` object and the ID of the object can be used to place the order with the brokerage using the [place checked order endpoint](/reference/Trading/Trading_placeOrder). Please note that the `Trade` object returned expires after 5 minutes. Any order placed using an expired `Trade` will be rejected.
180
+ #
181
+ # @param account_id [String] Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
182
+ # @param action [ActionStrict] The action describes the intent or side of a trade. This is either `BUY` or `SELL`.
183
+ # @param universal_symbol_id [String] Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
184
+ # @param order_type [OrderTypeStrict] The type of order to place. - For `Limit` and `StopLimit` orders, the `price` field is required. - For `Stop` and `StopLimit` orders, the `stop` field is required.
185
+ # @param time_in_force [TimeInForceStrict] The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely.
168
186
  # @param user_id [String]
169
187
  # @param user_secret [String]
170
- # @param account_id [String]
171
- # @param action [Action]
172
- # @param order_type [OrderType]
173
- # @param price [Float] Trade Price if limit or stop limit order
174
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
175
- # @param time_in_force [TimeInForce]
176
- # @param units [Float] Trade Units. Cannot work with notional value.
177
- # @param universal_symbol_id [String]
178
- # @param notional_value [Float] Dollar amount to trade. Cannot work with units. Can only work for market order types and day for time in force.
188
+ # @param price [Float] The limit price for `Limit` and `StopLimit` orders.
189
+ # @param stop [Float] The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
190
+ # @param units [Float]
191
+ # @param notional_value [ManualTradeFormNotionalValue]
179
192
  # @param body [ManualTradeForm]
180
193
  # @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, notional_value: SENTINEL, extra: {})
194
+ def get_order_impact_with_http_info(account_id:, action:, universal_symbol_id:, order_type:, time_in_force:, user_id:, user_secret:, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, extra: {})
182
195
  _body = {}
183
196
  _body[:account_id] = account_id if account_id != SENTINEL
184
197
  _body[:action] = action if action != SENTINEL
198
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
185
199
  _body[:order_type] = order_type if order_type != SENTINEL
200
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
186
201
  _body[:price] = price if price != SENTINEL
187
202
  _body[:stop] = stop if stop != SENTINEL
188
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
189
203
  _body[:units] = units if units != SENTINEL
190
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
191
204
  _body[:notional_value] = notional_value if notional_value != SENTINEL
192
205
  manual_trade_form = _body
193
206
  get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
194
207
  end
195
208
 
196
- # Check impact of trades on account.
209
+ # Check order impact
210
+ # Simulates an order and its impact on the account. This endpoint does not place the order with the brokerage. If successful, it returns a `Trade` object and the ID of the object can be used to place the order with the brokerage using the [place checked order endpoint](/reference/Trading/Trading_placeOrder). Please note that the `Trade` object returned expires after 5 minutes. Any order placed using an expired `Trade` will be rejected.
197
211
  # @param user_id [String]
198
212
  # @param user_secret [String]
199
213
  # @param manual_trade_form [ManualTradeForm]
200
214
  # @param [Hash] opts the optional parameters
201
215
  # @return [ManualTradeAndImpact]
202
- def get_order_impact_impl(user_id, user_secret, manual_trade_form, opts = {})
216
+ private def get_order_impact_impl(user_id, user_secret, manual_trade_form, opts = {})
203
217
  data, _status_code, _headers = get_order_impact_with_http_info(user_id, user_secret, manual_trade_form, opts)
204
218
  data
205
219
  end
206
220
 
207
- # Check impact of trades on account.
221
+ # Check order impact
222
+ # Simulates an order and its impact on the account. This endpoint does not place the order with the brokerage. If successful, it returns a &#x60;Trade&#x60; object and the ID of the object can be used to place the order with the brokerage using the [place checked order endpoint](/reference/Trading/Trading_placeOrder). Please note that the &#x60;Trade&#x60; object returned expires after 5 minutes. Any order placed using an expired &#x60;Trade&#x60; will be rejected.
208
223
  # @param user_id [String]
209
224
  # @param user_secret [String]
210
225
  # @param manual_trade_form [ManualTradeForm]
211
226
  # @param [Hash] opts the optional parameters
212
227
  # @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 = {})
228
+ private def get_order_impact_with_http_info_impl(user_id, user_secret, manual_trade_form, opts = {})
214
229
  if @api_client.config.debugging
215
230
  @api_client.config.logger.debug 'Calling API: TradingApi.get_order_impact ...'
216
231
  end
@@ -275,11 +290,14 @@ module SnapTrade
275
290
 
276
291
 
277
292
  # Get symbol quotes
293
+ #
294
+ # Returns quotes from the brokerage for the specified symbols and account. The quotes returned can be delayed depending on the brokerage the account belongs to. It is highly recommended that you use your own market data provider for real-time quotes instead of relying on this endpoint. This endpoint does not work for options quotes.
295
+ #
278
296
  # @param user_id [String]
279
297
  # @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.
298
+ # @param symbols [String] List of Universal Symbol IDs or tickers to get quotes for. When providing multiple values, use a comma as separator
299
+ # @param account_id [String]
300
+ # @param use_ticker [Boolean] Should be set to `True` if `symbols` are comprised of tickers. Defaults to `False` if not provided.
283
301
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
284
302
  def get_user_account_quotes(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
285
303
  extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
@@ -288,11 +306,14 @@ module SnapTrade
288
306
  end
289
307
 
290
308
  # Get symbol quotes
309
+ #
310
+ # Returns quotes from the brokerage for the specified symbols and account. The quotes returned can be delayed depending on the brokerage the account belongs to. It is highly recommended that you use your own market data provider for real-time quotes instead of relying on this endpoint. This endpoint does not work for options quotes.
311
+ #
291
312
  # @param user_id [String]
292
313
  # @param user_secret [String]
293
- # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
294
- # @param account_id [String] The ID of the account to get quotes.
295
- # @param use_ticker [Boolean] Should be set to True if providing tickers.
314
+ # @param symbols [String] List of Universal Symbol IDs or tickers to get quotes for. When providing multiple values, use a comma as separator
315
+ # @param account_id [String]
316
+ # @param use_ticker [Boolean] Should be set to `True` if `symbols` are comprised of tickers. Defaults to `False` if not provided.
296
317
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
297
318
  def get_user_account_quotes_with_http_info(user_id:, user_secret:, symbols:, account_id:, use_ticker: SENTINEL, extra: {})
298
319
  extra[:use_ticker] = use_ticker if use_ticker != SENTINEL
@@ -300,27 +321,29 @@ module SnapTrade
300
321
  end
301
322
 
302
323
  # Get symbol quotes
324
+ # Returns quotes from the brokerage for the specified symbols and account. The quotes returned can be delayed depending on the brokerage the account belongs to. It is highly recommended that you use your own market data provider for real-time quotes instead of relying on this endpoint. This endpoint does not work for options quotes.
303
325
  # @param user_id [String]
304
326
  # @param user_secret [String]
305
- # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
306
- # @param account_id [String] The ID of the account to get quotes.
327
+ # @param symbols [String] List of Universal Symbol IDs or tickers to get quotes for. When providing multiple values, use a comma as separator
328
+ # @param account_id [String]
307
329
  # @param [Hash] opts the optional parameters
308
- # @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
330
+ # @option opts [Boolean] :use_ticker Should be set to `True` if `symbols` are comprised of tickers. Defaults to `False` if not provided.
309
331
  # @return [Array<SymbolsQuotesInner>]
310
- def get_user_account_quotes_impl(user_id, user_secret, symbols, account_id, opts = {})
332
+ private def get_user_account_quotes_impl(user_id, user_secret, symbols, account_id, opts = {})
311
333
  data, _status_code, _headers = get_user_account_quotes_with_http_info(user_id, user_secret, symbols, account_id, opts)
312
334
  data
313
335
  end
314
336
 
315
337
  # Get symbol quotes
338
+ # Returns quotes from the brokerage for the specified symbols and account. The quotes returned can be delayed depending on the brokerage the account belongs to. It is highly recommended that you use your own market data provider for real-time quotes instead of relying on this endpoint. This endpoint does not work for options quotes.
316
339
  # @param user_id [String]
317
340
  # @param user_secret [String]
318
- # @param symbols [String] List of universal_symbol_id or tickers to get quotes for.
319
- # @param account_id [String] The ID of the account to get quotes.
341
+ # @param symbols [String] List of Universal Symbol IDs or tickers to get quotes for. When providing multiple values, use a comma as separator
342
+ # @param account_id [String]
320
343
  # @param [Hash] opts the optional parameters
321
- # @option opts [Boolean] :use_ticker Should be set to True if providing tickers.
344
+ # @option opts [Boolean] :use_ticker Should be set to `True` if `symbols` are comprised of tickers. Defaults to `False` if not provided.
322
345
  # @return [Array<(Array<SymbolsQuotesInner>, Integer, Hash)>] Array<SymbolsQuotesInner> data, response status code and response headers
323
- def get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, opts = {})
346
+ private def get_user_account_quotes_with_http_info_impl(user_id, user_secret, symbols, account_id, opts = {})
324
347
  if @api_client.config.debugging
325
348
  @api_client.config.logger.debug 'Calling API: TradingApi.get_user_account_quotes ...'
326
349
  end
@@ -385,83 +408,115 @@ module SnapTrade
385
408
  end
386
409
 
387
410
 
388
- # Place a trade with NO validation.
411
+ # Place order
412
+ #
413
+ # Places a brokerage order in the specified account. The order could be rejected by the brokerage if it is invalid or if the account does not have sufficient funds.
414
+ #
415
+ # This endpoint does not compute the impact to the account balance from the order and any potential commissions before submitting the order to the brokerage. If that is desired, you can use the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact).
416
+ #
417
+ # It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
418
+ #
419
+ # @param account_id [String] Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
420
+ # @param action [ActionStrictWithOptions] The action describes the intent or side of a trade. This is either `BUY` or `SELL` for Equity symbols or `BUY_TO_OPEN`, `BUY_TO_CLOSE`, `SELL_TO_OPEN` or `SELL_TO_CLOSE` for Options.
421
+ # @param order_type [OrderTypeStrict] The type of order to place. - For `Limit` and `StopLimit` orders, the `price` field is required. - For `Stop` and `StopLimit` orders, the `stop` field is required.
422
+ # @param time_in_force [TimeInForceStrict] The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely.
389
423
  # @param user_id [String]
390
424
  # @param user_secret [String]
391
- # @param account_id [String]
392
- # @param action [Action]
393
- # @param order_type [OrderType]
394
- # @param price [Float] Trade Price if limit or stop limit order
395
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
396
- # @param time_in_force [TimeInForce]
397
- # @param units [Float] Trade Units. Cannot work with notional value.
398
- # @param universal_symbol_id [String]
399
- # @param notional_value [Float] Dollar amount to trade. Cannot work with units. Can only work for market order types and day for time in force.
400
- # @param body [ManualTradeForm]
425
+ # @param universal_symbol_id [String] The universal symbol ID of the security to trade. Must be 'null' if `symbol` is provided, otherwise must be provided.
426
+ # @param symbol [String] The security's trading ticker symbol. This currently only support Options symbols in the 21 character OCC format. For example \"AAPL 131124C00240000\" represents a call option on AAPL expiring on 2024-11-13 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format). If 'symbol' is provided, then 'universal_symbol_id' must be 'null'.
427
+ # @param price [Float] The limit price for `Limit` and `StopLimit` orders.
428
+ # @param stop [Float] The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
429
+ # @param units [Float] For Equity orders, this represents the number of shares for the order. This can be a decimal for fractional orders. Must be `null` if `notional_value` is provided. If placing an Option order, this field represents the number of contracts to buy or sell. (e.g., 1 contract = 100 shares).
430
+ # @param notional_value [ManualTradeFormNotionalValue]
431
+ # @param order_class [OrderClass] The class of order intended to be placed. Defaults to SIMPLE for regular, one legged trades. Set to BRACKET if looking to place a bracket (One-triggers-a-one-cancels-the-other) order, then specify take profit and stop loss conditions. Bracket orders currently only supported on Alpaca, Tradier, and Tradestation, contact us for more details
432
+ # @param stop_loss [ManualTradeFormWithOptionsStopLoss]
433
+ # @param take_profit [ManualTradeFormWithOptionsTakeProfit]
434
+ # @param body [ManualTradeFormWithOptions]
401
435
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
402
- 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, notional_value: SENTINEL, extra: {})
436
+ def place_force_order(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, order_class: SENTINEL, stop_loss: SENTINEL, take_profit: SENTINEL, extra: {})
403
437
  _body = {}
404
438
  _body[:account_id] = account_id if account_id != SENTINEL
405
439
  _body[:action] = action if action != SENTINEL
440
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
441
+ _body[:symbol] = symbol if symbol != SENTINEL
406
442
  _body[:order_type] = order_type if order_type != SENTINEL
443
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
407
444
  _body[:price] = price if price != SENTINEL
408
445
  _body[:stop] = stop if stop != SENTINEL
409
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
410
446
  _body[:units] = units if units != SENTINEL
411
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
412
447
  _body[:notional_value] = notional_value if notional_value != SENTINEL
413
- manual_trade_form = _body
414
- data, _status_code, _headers = place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
448
+ _body[:order_class] = order_class if order_class != SENTINEL
449
+ _body[:stop_loss] = stop_loss if stop_loss != SENTINEL
450
+ _body[:take_profit] = take_profit if take_profit != SENTINEL
451
+ manual_trade_form_with_options = _body
452
+ data, _status_code, _headers = place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form_with_options, extra)
415
453
  data
416
454
  end
417
455
 
418
- # Place a trade with NO validation.
456
+ # Place order
457
+ #
458
+ # Places a brokerage order in the specified account. The order could be rejected by the brokerage if it is invalid or if the account does not have sufficient funds.
459
+ #
460
+ # This endpoint does not compute the impact to the account balance from the order and any potential commissions before submitting the order to the brokerage. If that is desired, you can use the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact).
461
+ #
462
+ # It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
463
+ #
464
+ # @param account_id [String] Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
465
+ # @param action [ActionStrictWithOptions] The action describes the intent or side of a trade. This is either `BUY` or `SELL` for Equity symbols or `BUY_TO_OPEN`, `BUY_TO_CLOSE`, `SELL_TO_OPEN` or `SELL_TO_CLOSE` for Options.
466
+ # @param order_type [OrderTypeStrict] The type of order to place. - For `Limit` and `StopLimit` orders, the `price` field is required. - For `Stop` and `StopLimit` orders, the `stop` field is required.
467
+ # @param time_in_force [TimeInForceStrict] The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely.
419
468
  # @param user_id [String]
420
469
  # @param user_secret [String]
421
- # @param account_id [String]
422
- # @param action [Action]
423
- # @param order_type [OrderType]
424
- # @param price [Float] Trade Price if limit or stop limit order
425
- # @param stop [Float] Stop Price. If stop loss or stop limit order, the price to trigger the stop
426
- # @param time_in_force [TimeInForce]
427
- # @param units [Float] Trade Units. Cannot work with notional value.
428
- # @param universal_symbol_id [String]
429
- # @param notional_value [Float] Dollar amount to trade. Cannot work with units. Can only work for market order types and day for time in force.
430
- # @param body [ManualTradeForm]
470
+ # @param universal_symbol_id [String] The universal symbol ID of the security to trade. Must be 'null' if `symbol` is provided, otherwise must be provided.
471
+ # @param symbol [String] The security's trading ticker symbol. This currently only support Options symbols in the 21 character OCC format. For example \"AAPL 131124C00240000\" represents a call option on AAPL expiring on 2024-11-13 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format). If 'symbol' is provided, then 'universal_symbol_id' must be 'null'.
472
+ # @param price [Float] The limit price for `Limit` and `StopLimit` orders.
473
+ # @param stop [Float] The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
474
+ # @param units [Float] For Equity orders, this represents the number of shares for the order. This can be a decimal for fractional orders. Must be `null` if `notional_value` is provided. If placing an Option order, this field represents the number of contracts to buy or sell. (e.g., 1 contract = 100 shares).
475
+ # @param notional_value [ManualTradeFormNotionalValue]
476
+ # @param order_class [OrderClass] The class of order intended to be placed. Defaults to SIMPLE for regular, one legged trades. Set to BRACKET if looking to place a bracket (One-triggers-a-one-cancels-the-other) order, then specify take profit and stop loss conditions. Bracket orders currently only supported on Alpaca, Tradier, and Tradestation, contact us for more details
477
+ # @param stop_loss [ManualTradeFormWithOptionsStopLoss]
478
+ # @param take_profit [ManualTradeFormWithOptionsTakeProfit]
479
+ # @param body [ManualTradeFormWithOptions]
431
480
  # @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, notional_value: SENTINEL, extra: {})
481
+ def place_force_order_with_http_info(account_id:, action:, order_type:, time_in_force:, user_id:, user_secret:, universal_symbol_id: SENTINEL, symbol: SENTINEL, price: SENTINEL, stop: SENTINEL, units: SENTINEL, notional_value: SENTINEL, order_class: SENTINEL, stop_loss: SENTINEL, take_profit: SENTINEL, extra: {})
433
482
  _body = {}
434
483
  _body[:account_id] = account_id if account_id != SENTINEL
435
484
  _body[:action] = action if action != SENTINEL
485
+ _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
486
+ _body[:symbol] = symbol if symbol != SENTINEL
436
487
  _body[:order_type] = order_type if order_type != SENTINEL
488
+ _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
437
489
  _body[:price] = price if price != SENTINEL
438
490
  _body[:stop] = stop if stop != SENTINEL
439
- _body[:time_in_force] = time_in_force if time_in_force != SENTINEL
440
491
  _body[:units] = units if units != SENTINEL
441
- _body[:universal_symbol_id] = universal_symbol_id if universal_symbol_id != SENTINEL
442
492
  _body[:notional_value] = notional_value if notional_value != SENTINEL
443
- manual_trade_form = _body
444
- place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form, extra)
493
+ _body[:order_class] = order_class if order_class != SENTINEL
494
+ _body[:stop_loss] = stop_loss if stop_loss != SENTINEL
495
+ _body[:take_profit] = take_profit if take_profit != SENTINEL
496
+ manual_trade_form_with_options = _body
497
+ place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form_with_options, extra)
445
498
  end
446
499
 
447
- # Place a trade with NO validation.
500
+ # Place order
501
+ # Places a brokerage order in the specified account. The order could be rejected by the brokerage if it is invalid or if the account does not have sufficient funds. This endpoint does not compute the impact to the account balance from the order and any potential commissions before submitting the order to the brokerage. If that is desired, you can use the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
448
502
  # @param user_id [String]
449
503
  # @param user_secret [String]
450
- # @param manual_trade_form [ManualTradeForm]
504
+ # @param manual_trade_form_with_options [ManualTradeFormWithOptions]
451
505
  # @param [Hash] opts the optional parameters
452
506
  # @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)
507
+ private def place_force_order_impl(user_id, user_secret, manual_trade_form_with_options, opts = {})
508
+ data, _status_code, _headers = place_force_order_with_http_info(user_id, user_secret, manual_trade_form_with_options, opts)
455
509
  data
456
510
  end
457
511
 
458
- # Place a trade with NO validation.
512
+ # Place order
513
+ # Places a brokerage order in the specified account. The order could be rejected by the brokerage if it is invalid or if the account does not have sufficient funds. This endpoint does not compute the impact to the account balance from the order and any potential commissions before submitting the order to the brokerage. If that is desired, you can use the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). It&#39;s recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
459
514
  # @param user_id [String]
460
515
  # @param user_secret [String]
461
- # @param manual_trade_form [ManualTradeForm]
516
+ # @param manual_trade_form_with_options [ManualTradeFormWithOptions]
462
517
  # @param [Hash] opts the optional parameters
463
518
  # @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 = {})
519
+ private def place_force_order_with_http_info_impl(user_id, user_secret, manual_trade_form_with_options, opts = {})
465
520
  if @api_client.config.debugging
466
521
  @api_client.config.logger.debug 'Calling API: TradingApi.place_force_order ...'
467
522
  end
@@ -473,9 +528,9 @@ module SnapTrade
473
528
  if @api_client.config.client_side_validation && user_secret.nil?
474
529
  fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_force_order"
475
530
  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"
531
+ # verify the required parameter 'manual_trade_form_with_options' is set
532
+ if @api_client.config.client_side_validation && manual_trade_form_with_options.nil?
533
+ fail ArgumentError, "Missing the required parameter 'manual_trade_form_with_options' when calling TradingApi.place_force_order"
479
534
  end
480
535
  # resource path
481
536
  local_var_path = '/trade/place'
@@ -499,7 +554,7 @@ module SnapTrade
499
554
  form_params = opts[:form_params] || {}
500
555
 
501
556
  # http body (model)
502
- post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form)
557
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(manual_trade_form_with_options)
503
558
 
504
559
  # return_type
505
560
  return_type = opts[:debug_return_type] || 'AccountOrderRecord'
@@ -525,155 +580,67 @@ module SnapTrade
525
580
  end
526
581
 
527
582
 
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
- data, _status_code, _headers = place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
541
- data
542
- end
543
-
544
- # Place a OCO (One Cancels Other) order
583
+ # Place checked order
584
+ #
585
+ # Places the previously checked order with the brokerage. The `tradeId` is obtained from the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). If you prefer to place the order without checking for impact first, you can use the [place order endpoint](/reference/Trading/Trading_placeForceOrder).
586
+ #
587
+ # It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
588
+ #
589
+ # @param trade_id [String] Obtained from calling the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact)
545
590
  # @param user_id [String]
546
591
  # @param user_secret [String]
547
- # @param first_trade_id [Object] The ID of first trade object obtained from trade/impact endpoint
548
- # @param second_trade_id [Object] The ID of second trade object obtained from trade/impact endpoint
549
- # @param body [TradingPlaceOCOOrderRequest]
592
+ # @param wait_to_confirm [Boolean] Optional, defaults to true. Determines if a wait is performed to check on order status. If false, latency will be reduced but orders returned will be more likely to be of status `PENDING` as we will not wait to check on the status before responding to the request.
593
+ # @param body [ValidatedTradeBody]
550
594
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
551
- def place_oco_order_with_http_info(user_id:, user_secret:, first_trade_id: SENTINEL, second_trade_id: SENTINEL, extra: {})
595
+ def place_order(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {})
552
596
  _body = {}
553
- _body[:first_trade_id] = first_trade_id if first_trade_id != SENTINEL
554
- _body[:second_trade_id] = second_trade_id if second_trade_id != SENTINEL
555
- trading_place_oco_order_request = _body
556
- place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, extra)
557
- end
558
-
559
- # Place a OCO (One Cancels Other) order
560
- # @param user_id [String]
561
- # @param user_secret [String]
562
- # @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
563
- # @param [Hash] opts the optional parameters
564
- # @return [AccountOrderRecord]
565
- def place_oco_order_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
566
- data, _status_code, _headers = place_oco_order_with_http_info(user_id, user_secret, trading_place_oco_order_request, opts)
567
- data
568
- end
569
-
570
- # Place a OCO (One Cancels Other) order
571
- # @param user_id [String]
572
- # @param user_secret [String]
573
- # @param trading_place_oco_order_request [TradingPlaceOCOOrderRequest]
574
- # @param [Hash] opts the optional parameters
575
- # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
576
- def place_oco_order_with_http_info_impl(user_id, user_secret, trading_place_oco_order_request, opts = {})
577
- if @api_client.config.debugging
578
- @api_client.config.logger.debug 'Calling API: TradingApi.place_oco_order ...'
579
- end
580
- # verify the required parameter 'user_id' is set
581
- if @api_client.config.client_side_validation && user_id.nil?
582
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TradingApi.place_oco_order"
583
- end
584
- # verify the required parameter 'user_secret' is set
585
- if @api_client.config.client_side_validation && user_secret.nil?
586
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TradingApi.place_oco_order"
587
- end
588
- # verify the required parameter 'trading_place_oco_order_request' is set
589
- if @api_client.config.client_side_validation && trading_place_oco_order_request.nil?
590
- fail ArgumentError, "Missing the required parameter 'trading_place_oco_order_request' when calling TradingApi.place_oco_order"
591
- end
592
- # resource path
593
- local_var_path = '/trade/oco'
594
-
595
- # query parameters
596
- query_params = opts[:query_params] || {}
597
- query_params[:'userId'] = user_id
598
- query_params[:'userSecret'] = user_secret
599
-
600
- # header parameters
601
- header_params = opts[:header_params] || {}
602
- # HTTP header 'Accept' (if needed)
603
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
604
- # HTTP header 'Content-Type'
605
- content_type = @api_client.select_header_content_type(['application/json'])
606
- if !content_type.nil?
607
- header_params['Content-Type'] = content_type
608
- end
609
-
610
- # form parameters
611
- form_params = opts[:form_params] || {}
612
-
613
- # http body (model)
614
- post_body = opts[:debug_body] || @api_client.object_to_http_body(trading_place_oco_order_request)
615
-
616
- # return_type
617
- return_type = opts[:debug_return_type] || 'AccountOrderRecord'
618
-
619
- # auth_names
620
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
621
-
622
- new_options = opts.merge(
623
- :operation => :"TradingApi.place_oco_order",
624
- :header_params => header_params,
625
- :query_params => query_params,
626
- :form_params => form_params,
627
- :body => post_body,
628
- :auth_names => auth_names,
629
- :return_type => return_type
630
- )
631
-
632
- data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
633
- if @api_client.config.debugging
634
- @api_client.config.logger.debug "API called: TradingApi#place_oco_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
635
- end
636
- return data, status_code, headers, response
637
- end
638
-
639
-
640
- # Place order
641
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
642
- # @param user_id [String]
643
- # @param user_secret [String]
644
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
645
- def place_order(trade_id:, user_id:, user_secret:, extra: {})
597
+ _body[:wait_to_confirm] = wait_to_confirm if wait_to_confirm != SENTINEL
598
+ extra[:validated_trade_body] = _body if !_body.empty?
646
599
  data, _status_code, _headers = place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
647
600
  data
648
601
  end
649
602
 
650
- # Place order
651
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
603
+ # Place checked order
604
+ #
605
+ # Places the previously checked order with the brokerage. The `tradeId` is obtained from the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). If you prefer to place the order without checking for impact first, you can use the [place order endpoint](/reference/Trading/Trading_placeForceOrder).
606
+ #
607
+ # It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
608
+ #
609
+ # @param trade_id [String] Obtained from calling the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact)
652
610
  # @param user_id [String]
653
611
  # @param user_secret [String]
612
+ # @param wait_to_confirm [Boolean] Optional, defaults to true. Determines if a wait is performed to check on order status. If false, latency will be reduced but orders returned will be more likely to be of status `PENDING` as we will not wait to check on the status before responding to the request.
613
+ # @param body [ValidatedTradeBody]
654
614
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
655
- def place_order_with_http_info(trade_id:, user_id:, user_secret:, extra: {})
615
+ def place_order_with_http_info(trade_id:, user_id:, user_secret:, wait_to_confirm: SENTINEL, extra: {})
616
+ _body = {}
617
+ _body[:wait_to_confirm] = wait_to_confirm if wait_to_confirm != SENTINEL
618
+ extra[:validated_trade_body] = _body if !_body.empty?
656
619
  place_order_with_http_info_impl(trade_id, user_id, user_secret, extra)
657
620
  end
658
621
 
659
- # Place order
660
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
622
+ # Place checked order
623
+ # Places the previously checked order with the brokerage. The `tradeId` is obtained from the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). If you prefer to place the order without checking for impact first, you can use the [place order endpoint](/reference/Trading/Trading_placeForceOrder). It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
624
+ # @param trade_id [String] Obtained from calling the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact)
661
625
  # @param user_id [String]
662
626
  # @param user_secret [String]
663
627
  # @param [Hash] opts the optional parameters
628
+ # @option opts [ValidatedTradeBody] :validated_trade_body
664
629
  # @return [AccountOrderRecord]
665
- def place_order_impl(trade_id, user_id, user_secret, opts = {})
630
+ private def place_order_impl(trade_id, user_id, user_secret, opts = {})
666
631
  data, _status_code, _headers = place_order_with_http_info(trade_id, user_id, user_secret, opts)
667
632
  data
668
633
  end
669
634
 
670
- # Place order
671
- # @param trade_id [String] The ID of trade object obtained from trade/impact endpoint
635
+ # Place checked order
636
+ # Places the previously checked order with the brokerage. The &#x60;tradeId&#x60; is obtained from the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). If you prefer to place the order without checking for impact first, you can use the [place order endpoint](/reference/Trading/Trading_placeForceOrder). It&#39;s recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
637
+ # @param trade_id [String] Obtained from calling the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact)
672
638
  # @param user_id [String]
673
639
  # @param user_secret [String]
674
640
  # @param [Hash] opts the optional parameters
641
+ # @option opts [ValidatedTradeBody] :validated_trade_body
675
642
  # @return [Array<(AccountOrderRecord, Integer, Hash)>] AccountOrderRecord data, response status code and response headers
676
- def place_order_with_http_info_impl(trade_id, user_id, user_secret, opts = {})
643
+ private def place_order_with_http_info_impl(trade_id, user_id, user_secret, opts = {})
677
644
  if @api_client.config.debugging
678
645
  @api_client.config.logger.debug 'Calling API: TradingApi.place_order ...'
679
646
  end
@@ -701,12 +668,17 @@ module SnapTrade
701
668
  header_params = opts[:header_params] || {}
702
669
  # HTTP header 'Accept' (if needed)
703
670
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
671
+ # HTTP header 'Content-Type'
672
+ content_type = @api_client.select_header_content_type(['application/json'])
673
+ if !content_type.nil?
674
+ header_params['Content-Type'] = content_type
675
+ end
704
676
 
705
677
  # form parameters
706
678
  form_params = opts[:form_params] || {}
707
679
 
708
680
  # http body (model)
709
- post_body = opts[:debug_body]
681
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'validated_trade_body'])
710
682
 
711
683
  # return_type
712
684
  return_type = opts[:debug_return_type] || 'AccountOrderRecord'