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,17 +5,16 @@
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 'date'
12
11
  require 'time'
13
12
 
14
13
  module SnapTrade
15
- # Manual Trade and Impact object
16
14
  class ManualTradeAndImpact
17
15
  attr_accessor :trade
18
16
 
17
+ # List of impacts of the trade on the account. The list always contains one value at the moment.
19
18
  attr_accessor :trade_impacts
20
19
 
21
20
  attr_accessor :combined_remaining_balance
@@ -38,7 +37,7 @@ module SnapTrade
38
37
  def self.openapi_types
39
38
  {
40
39
  :'trade' => :'ManualTrade',
41
- :'trade_impacts' => :'Array<ManualTrade>',
40
+ :'trade_impacts' => :'Array<ManualTradeImpact>',
42
41
  :'combined_remaining_balance' => :'ManualTradeBalance'
43
42
  }
44
43
  end
@@ -5,20 +5,19 @@
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 'date'
12
11
  require 'time'
13
12
 
14
13
  module SnapTrade
15
- # Balance
14
+ # Estimated remaining balance of the account after the trade is executed.
16
15
  class ManualTradeBalance
17
16
  attr_accessor :account
18
17
 
19
18
  attr_accessor :currency
20
19
 
21
- # Cash
20
+ # Estimated amount of cash remaining in the account after the trade. At the moment this is the same as `remaining_cash` under `trade_impacts`.
22
21
  attr_accessor :cash
23
22
 
24
23
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -38,7 +37,7 @@ module SnapTrade
38
37
  # Attribute type mapping.
39
38
  def self.openapi_types
40
39
  {
41
- :'account' => :'Account',
40
+ :'account' => :'AccountSimple',
42
41
  :'currency' => :'Currency',
43
42
  :'cash' => :'Float'
44
43
  }
@@ -5,35 +5,37 @@
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 'date'
12
11
  require 'time'
13
12
 
14
13
  module SnapTrade
15
- # Manual Trade Form
14
+ # Inputs for placing an order with the brokerage.
16
15
  class ManualTradeForm
16
+ # Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
17
17
  attr_accessor :account_id
18
18
 
19
+ # The action describes the intent or side of a trade. This is either `BUY` or `SELL`.
19
20
  attr_accessor :action
20
21
 
22
+ # Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
23
+ attr_accessor :universal_symbol_id
24
+
25
+ # 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.
21
26
  attr_accessor :order_type
22
27
 
23
- # Trade Price if limit or stop limit order
28
+ # 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.
29
+ attr_accessor :time_in_force
30
+
31
+ # The limit price for `Limit` and `StopLimit` orders.
24
32
  attr_accessor :price
25
33
 
26
- # Stop Price. If stop loss or stop limit order, the price to trigger the stop
34
+ # The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
27
35
  attr_accessor :stop
28
36
 
29
- attr_accessor :time_in_force
30
-
31
- # Trade Units. Cannot work with notional value.
32
37
  attr_accessor :units
33
38
 
34
- attr_accessor :universal_symbol_id
35
-
36
- # Dollar amount to trade. Cannot work with units. Can only work for market order types and day for time in force.
37
39
  attr_accessor :notional_value
38
40
 
39
41
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -41,12 +43,12 @@ module SnapTrade
41
43
  {
42
44
  :'account_id' => :'account_id',
43
45
  :'action' => :'action',
46
+ :'universal_symbol_id' => :'universal_symbol_id',
44
47
  :'order_type' => :'order_type',
48
+ :'time_in_force' => :'time_in_force',
45
49
  :'price' => :'price',
46
50
  :'stop' => :'stop',
47
- :'time_in_force' => :'time_in_force',
48
51
  :'units' => :'units',
49
- :'universal_symbol_id' => :'universal_symbol_id',
50
52
  :'notional_value' => :'notional_value'
51
53
  }
52
54
  end
@@ -60,14 +62,14 @@ module SnapTrade
60
62
  def self.openapi_types
61
63
  {
62
64
  :'account_id' => :'String',
63
- :'action' => :'Action',
64
- :'order_type' => :'OrderType',
65
+ :'action' => :'ActionStrict',
66
+ :'universal_symbol_id' => :'String',
67
+ :'order_type' => :'OrderTypeStrict',
68
+ :'time_in_force' => :'TimeInForceStrict',
65
69
  :'price' => :'Float',
66
70
  :'stop' => :'Float',
67
- :'time_in_force' => :'TimeInForce',
68
71
  :'units' => :'Float',
69
- :'universal_symbol_id' => :'String',
70
- :'notional_value' => :'Float'
72
+ :'notional_value' => :'ManualTradeFormNotionalValue'
71
73
  }
72
74
  end
73
75
 
@@ -76,6 +78,7 @@ module SnapTrade
76
78
  Set.new([
77
79
  :'price',
78
80
  :'stop',
81
+ :'units',
79
82
  :'notional_value'
80
83
  ])
81
84
  end
@@ -103,10 +106,18 @@ module SnapTrade
103
106
  self.action = attributes[:'action']
104
107
  end
105
108
 
109
+ if attributes.key?(:'universal_symbol_id')
110
+ self.universal_symbol_id = attributes[:'universal_symbol_id']
111
+ end
112
+
106
113
  if attributes.key?(:'order_type')
107
114
  self.order_type = attributes[:'order_type']
108
115
  end
109
116
 
117
+ if attributes.key?(:'time_in_force')
118
+ self.time_in_force = attributes[:'time_in_force']
119
+ end
120
+
110
121
  if attributes.key?(:'price')
111
122
  self.price = attributes[:'price']
112
123
  end
@@ -115,18 +126,10 @@ module SnapTrade
115
126
  self.stop = attributes[:'stop']
116
127
  end
117
128
 
118
- if attributes.key?(:'time_in_force')
119
- self.time_in_force = attributes[:'time_in_force']
120
- end
121
-
122
129
  if attributes.key?(:'units')
123
130
  self.units = attributes[:'units']
124
131
  end
125
132
 
126
- if attributes.key?(:'universal_symbol_id')
127
- self.universal_symbol_id = attributes[:'universal_symbol_id']
128
- end
129
-
130
133
  if attributes.key?(:'notional_value')
131
134
  self.notional_value = attributes[:'notional_value']
132
135
  end
@@ -136,12 +139,37 @@ module SnapTrade
136
139
  # @return Array for valid properties with the reasons
137
140
  def list_invalid_properties
138
141
  invalid_properties = Array.new
142
+ if @account_id.nil?
143
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
144
+ end
145
+
146
+ if @action.nil?
147
+ invalid_properties.push('invalid value for "action", action cannot be nil.')
148
+ end
149
+
150
+ if @universal_symbol_id.nil?
151
+ invalid_properties.push('invalid value for "universal_symbol_id", universal_symbol_id cannot be nil.')
152
+ end
153
+
154
+ if @order_type.nil?
155
+ invalid_properties.push('invalid value for "order_type", order_type cannot be nil.')
156
+ end
157
+
158
+ if @time_in_force.nil?
159
+ invalid_properties.push('invalid value for "time_in_force", time_in_force cannot be nil.')
160
+ end
161
+
139
162
  invalid_properties
140
163
  end
141
164
 
142
165
  # Check to see if the all the properties in the model are valid
143
166
  # @return true if the model is valid
144
167
  def valid?
168
+ return false if @account_id.nil?
169
+ return false if @action.nil?
170
+ return false if @universal_symbol_id.nil?
171
+ return false if @order_type.nil?
172
+ return false if @time_in_force.nil?
145
173
  true
146
174
  end
147
175
 
@@ -152,12 +180,12 @@ module SnapTrade
152
180
  self.class == o.class &&
153
181
  account_id == o.account_id &&
154
182
  action == o.action &&
183
+ universal_symbol_id == o.universal_symbol_id &&
155
184
  order_type == o.order_type &&
185
+ time_in_force == o.time_in_force &&
156
186
  price == o.price &&
157
187
  stop == o.stop &&
158
- time_in_force == o.time_in_force &&
159
188
  units == o.units &&
160
- universal_symbol_id == o.universal_symbol_id &&
161
189
  notional_value == o.notional_value
162
190
  end
163
191
 
@@ -170,7 +198,7 @@ module SnapTrade
170
198
  # Calculates hash code according to all attributes.
171
199
  # @return [Integer] Hash code
172
200
  def hash
173
- [account_id, action, order_type, price, stop, time_in_force, units, universal_symbol_id, notional_value].hash
201
+ [account_id, action, universal_symbol_id, order_type, time_in_force, price, stop, units, notional_value].hash
174
202
  end
175
203
 
176
204
  # Builds the object from hash
@@ -5,20 +5,16 @@
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 'date'
12
11
  require 'time'
13
12
 
14
13
  module SnapTrade
15
- class ModelAssetClassTarget
16
- attr_accessor :symbol
17
-
14
+ class ManualTradeFormNotionalValue
18
15
  # Attribute mapping from ruby-style variable name to JSON key.
19
16
  def self.attribute_map
20
17
  {
21
- :'symbol' => :'symbol'
22
18
  }
23
19
  end
24
20
 
@@ -30,7 +26,6 @@ module SnapTrade
30
26
  # Attribute type mapping.
31
27
  def self.openapi_types
32
28
  {
33
- :'symbol' => :'UniversalSymbol'
34
29
  }
35
30
  end
36
31
 
@@ -40,24 +35,27 @@ module SnapTrade
40
35
  ])
41
36
  end
42
37
 
38
+ # List of class defined in allOf (OpenAPI v3)
39
+ def self.openapi_all_of
40
+ [
41
+ :'NotionalValue'
42
+ ]
43
+ end
44
+
43
45
  # Initializes the object
44
46
  # @param [Hash] attributes Model attributes in the form of hash
45
47
  def initialize(attributes = {})
46
48
  if (!attributes.is_a?(Hash))
47
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::ModelAssetClassTarget` initialize method"
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::ManualTradeFormNotionalValue` initialize method"
48
50
  end
49
51
 
50
52
  # check to see if the attribute exists and convert string to symbol for hash key
51
53
  attributes = attributes.each_with_object({}) { |(k, v), h|
52
54
  if (!self.class.attribute_map.key?(k.to_sym))
53
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::ModelAssetClassTarget`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::ManualTradeFormNotionalValue`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
54
56
  end
55
57
  h[k.to_sym] = v
56
58
  }
57
-
58
- if attributes.key?(:'symbol')
59
- self.symbol = attributes[:'symbol']
60
- end
61
59
  end
62
60
 
63
61
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -77,8 +75,7 @@ module SnapTrade
77
75
  # @param [Object] Object to be compared
78
76
  def ==(o)
79
77
  return true if self.equal?(o)
80
- self.class == o.class &&
81
- symbol == o.symbol
78
+ self.class == o.class
82
79
  end
83
80
 
84
81
  # @see the `==` method
@@ -90,7 +87,7 @@ module SnapTrade
90
87
  # Calculates hash code according to all attributes.
91
88
  # @return [Integer] Hash code
92
89
  def hash
93
- [symbol].hash
90
+ [].hash
94
91
  end
95
92
 
96
93
  # Builds the object from hash
@@ -5,42 +5,66 @@
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 'date'
12
11
  require 'time'
13
12
 
14
13
  module SnapTrade
15
- # A trade object
16
- class Trade
17
- attr_accessor :id
14
+ # Inputs for placing an order with the brokerage.
15
+ class ManualTradeFormWithOptions
16
+ # Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
17
+ attr_accessor :account_id
18
+
19
+ # 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.
20
+ attr_accessor :action
18
21
 
19
- attr_accessor :account
22
+ # The universal symbol ID of the security to trade. Must be 'null' if `symbol` is provided, otherwise must be provided.
23
+ attr_accessor :universal_symbol_id
20
24
 
25
+ # 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'.
21
26
  attr_accessor :symbol
22
27
 
23
- attr_accessor :universal_symbol
28
+ # 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.
29
+ attr_accessor :order_type
24
30
 
25
- attr_accessor :action
31
+ # 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.
32
+ attr_accessor :time_in_force
33
+
34
+ # The limit price for `Limit` and `StopLimit` orders.
35
+ attr_accessor :price
26
36
 
37
+ # The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
38
+ attr_accessor :stop
39
+
40
+ # 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).
27
41
  attr_accessor :units
28
42
 
29
- attr_accessor :price
43
+ attr_accessor :notional_value
44
+
45
+ # 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
46
+ attr_accessor :order_class
30
47
 
31
- attr_accessor :sequence
48
+ attr_accessor :stop_loss
49
+
50
+ attr_accessor :take_profit
32
51
 
33
52
  # Attribute mapping from ruby-style variable name to JSON key.
34
53
  def self.attribute_map
35
54
  {
36
- :'id' => :'id',
37
- :'account' => :'account',
38
- :'symbol' => :'symbol',
39
- :'universal_symbol' => :'universal_symbol',
55
+ :'account_id' => :'account_id',
40
56
  :'action' => :'action',
41
- :'units' => :'units',
57
+ :'universal_symbol_id' => :'universal_symbol_id',
58
+ :'symbol' => :'symbol',
59
+ :'order_type' => :'order_type',
60
+ :'time_in_force' => :'time_in_force',
42
61
  :'price' => :'price',
43
- :'sequence' => :'sequence'
62
+ :'stop' => :'stop',
63
+ :'units' => :'units',
64
+ :'notional_value' => :'notional_value',
65
+ :'order_class' => :'order_class',
66
+ :'stop_loss' => :'stop_loss',
67
+ :'take_profit' => :'take_profit'
44
68
  }
45
69
  end
46
70
 
@@ -52,20 +76,34 @@ module SnapTrade
52
76
  # Attribute type mapping.
53
77
  def self.openapi_types
54
78
  {
55
- :'id' => :'String',
56
- :'account' => :'Account',
57
- :'symbol' => :'BrokerageSymbol',
58
- :'universal_symbol' => :'UniversalSymbol',
59
- :'action' => :'TradeAction',
60
- :'units' => :'Integer',
79
+ :'account_id' => :'String',
80
+ :'action' => :'ActionStrictWithOptions',
81
+ :'universal_symbol_id' => :'String',
82
+ :'symbol' => :'String',
83
+ :'order_type' => :'OrderTypeStrict',
84
+ :'time_in_force' => :'TimeInForceStrict',
61
85
  :'price' => :'Float',
62
- :'sequence' => :'Integer'
86
+ :'stop' => :'Float',
87
+ :'units' => :'Float',
88
+ :'notional_value' => :'ManualTradeFormNotionalValue',
89
+ :'order_class' => :'OrderClass',
90
+ :'stop_loss' => :'ManualTradeFormWithOptionsStopLoss',
91
+ :'take_profit' => :'ManualTradeFormWithOptionsTakeProfit'
63
92
  }
64
93
  end
65
94
 
66
95
  # List of attributes with nullable: true
67
96
  def self.openapi_nullable
68
97
  Set.new([
98
+ :'universal_symbol_id',
99
+ :'symbol',
100
+ :'price',
101
+ :'stop',
102
+ :'units',
103
+ :'notional_value',
104
+ :'order_class',
105
+ :'stop_loss',
106
+ :'take_profit'
69
107
  ])
70
108
  end
71
109
 
@@ -73,47 +111,67 @@ module SnapTrade
73
111
  # @param [Hash] attributes Model attributes in the form of hash
74
112
  def initialize(attributes = {})
75
113
  if (!attributes.is_a?(Hash))
76
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::Trade` initialize method"
114
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::ManualTradeFormWithOptions` initialize method"
77
115
  end
78
116
 
79
117
  # check to see if the attribute exists and convert string to symbol for hash key
80
118
  attributes = attributes.each_with_object({}) { |(k, v), h|
81
119
  if (!self.class.attribute_map.key?(k.to_sym))
82
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::Trade`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
120
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::ManualTradeFormWithOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
83
121
  end
84
122
  h[k.to_sym] = v
85
123
  }
86
124
 
87
- if attributes.key?(:'id')
88
- self.id = attributes[:'id']
125
+ if attributes.key?(:'account_id')
126
+ self.account_id = attributes[:'account_id']
89
127
  end
90
128
 
91
- if attributes.key?(:'account')
92
- self.account = attributes[:'account']
129
+ if attributes.key?(:'action')
130
+ self.action = attributes[:'action']
131
+ end
132
+
133
+ if attributes.key?(:'universal_symbol_id')
134
+ self.universal_symbol_id = attributes[:'universal_symbol_id']
93
135
  end
94
136
 
95
137
  if attributes.key?(:'symbol')
96
138
  self.symbol = attributes[:'symbol']
97
139
  end
98
140
 
99
- if attributes.key?(:'universal_symbol')
100
- self.universal_symbol = attributes[:'universal_symbol']
141
+ if attributes.key?(:'order_type')
142
+ self.order_type = attributes[:'order_type']
101
143
  end
102
144
 
103
- if attributes.key?(:'action')
104
- self.action = attributes[:'action']
145
+ if attributes.key?(:'time_in_force')
146
+ self.time_in_force = attributes[:'time_in_force']
147
+ end
148
+
149
+ if attributes.key?(:'price')
150
+ self.price = attributes[:'price']
151
+ end
152
+
153
+ if attributes.key?(:'stop')
154
+ self.stop = attributes[:'stop']
105
155
  end
106
156
 
107
157
  if attributes.key?(:'units')
108
158
  self.units = attributes[:'units']
109
159
  end
110
160
 
111
- if attributes.key?(:'price')
112
- self.price = attributes[:'price']
161
+ if attributes.key?(:'notional_value')
162
+ self.notional_value = attributes[:'notional_value']
113
163
  end
114
164
 
115
- if attributes.key?(:'sequence')
116
- self.sequence = attributes[:'sequence']
165
+ if attributes.key?(:'order_class')
166
+ self.order_class = attributes[:'order_class']
167
+ end
168
+
169
+ if attributes.key?(:'stop_loss')
170
+ self.stop_loss = attributes[:'stop_loss']
171
+ end
172
+
173
+ if attributes.key?(:'take_profit')
174
+ self.take_profit = attributes[:'take_profit']
117
175
  end
118
176
  end
119
177
 
@@ -121,12 +179,32 @@ module SnapTrade
121
179
  # @return Array for valid properties with the reasons
122
180
  def list_invalid_properties
123
181
  invalid_properties = Array.new
182
+ if @account_id.nil?
183
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
184
+ end
185
+
186
+ if @action.nil?
187
+ invalid_properties.push('invalid value for "action", action cannot be nil.')
188
+ end
189
+
190
+ if @order_type.nil?
191
+ invalid_properties.push('invalid value for "order_type", order_type cannot be nil.')
192
+ end
193
+
194
+ if @time_in_force.nil?
195
+ invalid_properties.push('invalid value for "time_in_force", time_in_force cannot be nil.')
196
+ end
197
+
124
198
  invalid_properties
125
199
  end
126
200
 
127
201
  # Check to see if the all the properties in the model are valid
128
202
  # @return true if the model is valid
129
203
  def valid?
204
+ return false if @account_id.nil?
205
+ return false if @action.nil?
206
+ return false if @order_type.nil?
207
+ return false if @time_in_force.nil?
130
208
  true
131
209
  end
132
210
 
@@ -135,14 +213,19 @@ module SnapTrade
135
213
  def ==(o)
136
214
  return true if self.equal?(o)
137
215
  self.class == o.class &&
138
- id == o.id &&
139
- account == o.account &&
140
- symbol == o.symbol &&
141
- universal_symbol == o.universal_symbol &&
216
+ account_id == o.account_id &&
142
217
  action == o.action &&
143
- units == o.units &&
218
+ universal_symbol_id == o.universal_symbol_id &&
219
+ symbol == o.symbol &&
220
+ order_type == o.order_type &&
221
+ time_in_force == o.time_in_force &&
144
222
  price == o.price &&
145
- sequence == o.sequence
223
+ stop == o.stop &&
224
+ units == o.units &&
225
+ notional_value == o.notional_value &&
226
+ order_class == o.order_class &&
227
+ stop_loss == o.stop_loss &&
228
+ take_profit == o.take_profit
146
229
  end
147
230
 
148
231
  # @see the `==` method
@@ -154,7 +237,7 @@ module SnapTrade
154
237
  # Calculates hash code according to all attributes.
155
238
  # @return [Integer] Hash code
156
239
  def hash
157
- [id, account, symbol, universal_symbol, action, units, price, sequence].hash
240
+ [account_id, action, universal_symbol_id, symbol, order_type, time_in_force, price, stop, units, notional_value, order_class, stop_loss, take_profit].hash
158
241
  end
159
242
 
160
243
  # Builds the object from hash