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,36 +5,44 @@
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
- # Target percentage of a certain asset
16
- class TargetAsset
14
+ # The option security for the transaction. The field is `null` if the transaction is not related to an option security (like a deposit, withdrawal, fee, etc). SnapTrade does a best effort to map the brokerage's option symbol. In cases where the brokerage option symbol is not recognized, the field will be set to `null`.
15
+ class AccountUniversalActivityOptionSymbol
16
+ # Unique identifier for the option symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
17
17
  attr_accessor :id
18
18
 
19
- attr_accessor :symbol
19
+ # The [OCC symbol](https://en.wikipedia.org/wiki/Option_symbol) for the option.
20
+ attr_accessor :ticker
21
+
22
+ # The type of option. Either \"CALL\" or \"PUT\".
23
+ attr_accessor :option_type
20
24
 
21
- attr_accessor :percent
25
+ # The option strike price.
26
+ attr_accessor :strike_price
22
27
 
23
- attr_accessor :is_supported
28
+ # The option expiration date.
29
+ attr_accessor :expiration_date
24
30
 
25
- attr_accessor :is_excluded
31
+ # Whether the option is a mini option. Mini options have 10 underlying shares per contract instead of the standard 100.
32
+ attr_accessor :is_mini_option
26
33
 
27
- attr_accessor :meta
34
+ attr_accessor :underlying_symbol
28
35
 
29
36
  # Attribute mapping from ruby-style variable name to JSON key.
30
37
  def self.attribute_map
31
38
  {
32
39
  :'id' => :'id',
33
- :'symbol' => :'symbol',
34
- :'percent' => :'percent',
35
- :'is_supported' => :'is_supported',
36
- :'is_excluded' => :'is_excluded',
37
- :'meta' => :'meta'
40
+ :'ticker' => :'ticker',
41
+ :'option_type' => :'option_type',
42
+ :'strike_price' => :'strike_price',
43
+ :'expiration_date' => :'expiration_date',
44
+ :'is_mini_option' => :'is_mini_option',
45
+ :'underlying_symbol' => :'underlying_symbol'
38
46
  }
39
47
  end
40
48
 
@@ -47,32 +55,39 @@ module SnapTrade
47
55
  def self.openapi_types
48
56
  {
49
57
  :'id' => :'String',
50
- :'symbol' => :'UniversalSymbol',
51
- :'percent' => :'Float',
52
- :'is_supported' => :'Boolean',
53
- :'is_excluded' => :'Boolean',
54
- :'meta' => :'Hash<String, Object>'
58
+ :'ticker' => :'String',
59
+ :'option_type' => :'OptionType',
60
+ :'strike_price' => :'Float',
61
+ :'expiration_date' => :'Date',
62
+ :'is_mini_option' => :'Boolean',
63
+ :'underlying_symbol' => :'UnderlyingSymbol'
55
64
  }
56
65
  end
57
66
 
58
67
  # List of attributes with nullable: true
59
68
  def self.openapi_nullable
60
69
  Set.new([
61
- :'meta'
62
70
  ])
63
71
  end
64
72
 
73
+ # List of class defined in allOf (OpenAPI v3)
74
+ def self.openapi_all_of
75
+ [
76
+ :'OptionsSymbol'
77
+ ]
78
+ end
79
+
65
80
  # Initializes the object
66
81
  # @param [Hash] attributes Model attributes in the form of hash
67
82
  def initialize(attributes = {})
68
83
  if (!attributes.is_a?(Hash))
69
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::TargetAsset` initialize method"
84
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::AccountUniversalActivityOptionSymbol` initialize method"
70
85
  end
71
86
 
72
87
  # check to see if the attribute exists and convert string to symbol for hash key
73
88
  attributes = attributes.each_with_object({}) { |(k, v), h|
74
89
  if (!self.class.attribute_map.key?(k.to_sym))
75
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::TargetAsset`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::AccountUniversalActivityOptionSymbol`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
91
  end
77
92
  h[k.to_sym] = v
78
93
  }
@@ -81,26 +96,28 @@ module SnapTrade
81
96
  self.id = attributes[:'id']
82
97
  end
83
98
 
84
- if attributes.key?(:'symbol')
85
- self.symbol = attributes[:'symbol']
99
+ if attributes.key?(:'ticker')
100
+ self.ticker = attributes[:'ticker']
86
101
  end
87
102
 
88
- if attributes.key?(:'percent')
89
- self.percent = attributes[:'percent']
103
+ if attributes.key?(:'option_type')
104
+ self.option_type = attributes[:'option_type']
90
105
  end
91
106
 
92
- if attributes.key?(:'is_supported')
93
- self.is_supported = attributes[:'is_supported']
107
+ if attributes.key?(:'strike_price')
108
+ self.strike_price = attributes[:'strike_price']
94
109
  end
95
110
 
96
- if attributes.key?(:'is_excluded')
97
- self.is_excluded = attributes[:'is_excluded']
111
+ if attributes.key?(:'expiration_date')
112
+ self.expiration_date = attributes[:'expiration_date']
98
113
  end
99
114
 
100
- if attributes.key?(:'meta')
101
- if (value = attributes[:'meta']).is_a?(Hash)
102
- self.meta = value
103
- end
115
+ if attributes.key?(:'is_mini_option')
116
+ self.is_mini_option = attributes[:'is_mini_option']
117
+ end
118
+
119
+ if attributes.key?(:'underlying_symbol')
120
+ self.underlying_symbol = attributes[:'underlying_symbol']
104
121
  end
105
122
  end
106
123
 
@@ -108,12 +125,28 @@ module SnapTrade
108
125
  # @return Array for valid properties with the reasons
109
126
  def list_invalid_properties
110
127
  invalid_properties = Array.new
111
- if !@percent.nil? && @percent > 100
112
- invalid_properties.push('invalid value for "percent", must be smaller than or equal to 100.')
128
+ if @id.nil?
129
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
130
+ end
131
+
132
+ if @ticker.nil?
133
+ invalid_properties.push('invalid value for "ticker", ticker cannot be nil.')
134
+ end
135
+
136
+ if @option_type.nil?
137
+ invalid_properties.push('invalid value for "option_type", option_type cannot be nil.')
113
138
  end
114
139
 
115
- if !@percent.nil? && @percent < 0
116
- invalid_properties.push('invalid value for "percent", must be greater than or equal to 0.')
140
+ if @strike_price.nil?
141
+ invalid_properties.push('invalid value for "strike_price", strike_price cannot be nil.')
142
+ end
143
+
144
+ if @expiration_date.nil?
145
+ invalid_properties.push('invalid value for "expiration_date", expiration_date cannot be nil.')
146
+ end
147
+
148
+ if @underlying_symbol.nil?
149
+ invalid_properties.push('invalid value for "underlying_symbol", underlying_symbol cannot be nil.')
117
150
  end
118
151
 
119
152
  invalid_properties
@@ -122,36 +155,27 @@ module SnapTrade
122
155
  # Check to see if the all the properties in the model are valid
123
156
  # @return true if the model is valid
124
157
  def valid?
125
- return false if !@percent.nil? && @percent > 100
126
- return false if !@percent.nil? && @percent < 0
158
+ return false if @id.nil?
159
+ return false if @ticker.nil?
160
+ return false if @option_type.nil?
161
+ return false if @strike_price.nil?
162
+ return false if @expiration_date.nil?
163
+ return false if @underlying_symbol.nil?
127
164
  true
128
165
  end
129
166
 
130
- # Custom attribute writer method with validation
131
- # @param [Object] percent Value to be assigned
132
- def percent=(percent)
133
- if !percent.nil? && percent > 100
134
- fail ArgumentError, 'invalid value for "percent", must be smaller than or equal to 100.'
135
- end
136
-
137
- if !percent.nil? && percent < 0
138
- fail ArgumentError, 'invalid value for "percent", must be greater than or equal to 0.'
139
- end
140
-
141
- @percent = percent
142
- end
143
-
144
167
  # Checks equality by comparing each attribute.
145
168
  # @param [Object] Object to be compared
146
169
  def ==(o)
147
170
  return true if self.equal?(o)
148
171
  self.class == o.class &&
149
172
  id == o.id &&
150
- symbol == o.symbol &&
151
- percent == o.percent &&
152
- is_supported == o.is_supported &&
153
- is_excluded == o.is_excluded &&
154
- meta == o.meta
173
+ ticker == o.ticker &&
174
+ option_type == o.option_type &&
175
+ strike_price == o.strike_price &&
176
+ expiration_date == o.expiration_date &&
177
+ is_mini_option == o.is_mini_option &&
178
+ underlying_symbol == o.underlying_symbol
155
179
  end
156
180
 
157
181
  # @see the `==` method
@@ -163,7 +187,7 @@ module SnapTrade
163
187
  # Calculates hash code according to all attributes.
164
188
  # @return [Integer] Hash code
165
189
  def hash
166
- [id, symbol, percent, is_supported, is_excluded, meta].hash
190
+ [id, ticker, option_type, strike_price, expiration_date, is_mini_option, underlying_symbol].hash
167
191
  end
168
192
 
169
193
  # Builds the object from hash
@@ -5,21 +5,24 @@
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
- # Universal symbol
16
- class UniversalSymbolTicker
14
+ # The security for the transaction. The field is `null` if the transaction is not related to a security (like a deposit, withdrawal, fee, etc). SnapTrade does a best effort to map the brokerage's symbol. In cases where the brokerage symbol is not recognized, the field will be set to `null`.
15
+ class AccountUniversalActivitySymbol
16
+ # Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
17
17
  attr_accessor :id
18
18
 
19
+ # The security's trading ticker symbol. For example \"AAPL\" for Apple Inc. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on \"Yahoo Finance Market Coverage and Data Delays\"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix.
19
20
  attr_accessor :symbol
20
21
 
22
+ # The raw symbol is `symbol` with the exchange suffix removed. For example, if `symbol` is \"VAB.TO\", then `raw_symbol` is \"VAB\".
21
23
  attr_accessor :raw_symbol
22
24
 
25
+ # A human-readable description of the security. This is usually the company name or ETF name.
23
26
  attr_accessor :description
24
27
 
25
28
  attr_accessor :currency
@@ -28,7 +31,10 @@ module SnapTrade
28
31
 
29
32
  attr_accessor :type
30
33
 
31
- attr_accessor :currencies
34
+ # This identifier is unique per security per trading venue. See section 1.4.1 of the [FIGI Standard](https://www.openfigi.com/assets/local/figi-allocation-rules.pdf) for more information. This value should be the same as the `figi_code` in the `figi_instrument` child property.
35
+ attr_accessor :figi_code
36
+
37
+ attr_accessor :figi_instrument
32
38
 
33
39
  # Attribute mapping from ruby-style variable name to JSON key.
34
40
  def self.attribute_map
@@ -40,7 +46,8 @@ module SnapTrade
40
46
  :'currency' => :'currency',
41
47
  :'exchange' => :'exchange',
42
48
  :'type' => :'type',
43
- :'currencies' => :'currencies'
49
+ :'figi_code' => :'figi_code',
50
+ :'figi_instrument' => :'figi_instrument'
44
51
  }
45
52
  end
46
53
 
@@ -56,30 +63,41 @@ module SnapTrade
56
63
  :'symbol' => :'String',
57
64
  :'raw_symbol' => :'String',
58
65
  :'description' => :'String',
59
- :'currency' => :'Currency',
60
- :'exchange' => :'Exchange',
66
+ :'currency' => :'SymbolCurrency',
67
+ :'exchange' => :'SymbolExchange',
61
68
  :'type' => :'SecurityType',
62
- :'currencies' => :'Array<Currency>'
69
+ :'figi_code' => :'String',
70
+ :'figi_instrument' => :'SymbolFigiInstrument'
63
71
  }
64
72
  end
65
73
 
66
74
  # List of attributes with nullable: true
67
75
  def self.openapi_nullable
68
76
  Set.new([
77
+ :'description',
78
+ :'figi_code',
79
+ :'figi_instrument'
69
80
  ])
70
81
  end
71
82
 
83
+ # List of class defined in allOf (OpenAPI v3)
84
+ def self.openapi_all_of
85
+ [
86
+ :'Symbol'
87
+ ]
88
+ end
89
+
72
90
  # Initializes the object
73
91
  # @param [Hash] attributes Model attributes in the form of hash
74
92
  def initialize(attributes = {})
75
93
  if (!attributes.is_a?(Hash))
76
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::UniversalSymbolTicker` initialize method"
94
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::AccountUniversalActivitySymbol` initialize method"
77
95
  end
78
96
 
79
97
  # check to see if the attribute exists and convert string to symbol for hash key
80
98
  attributes = attributes.each_with_object({}) { |(k, v), h|
81
99
  if (!self.class.attribute_map.key?(k.to_sym))
82
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::UniversalSymbolTicker`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
100
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::AccountUniversalActivitySymbol`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
83
101
  end
84
102
  h[k.to_sym] = v
85
103
  }
@@ -112,10 +130,12 @@ module SnapTrade
112
130
  self.type = attributes[:'type']
113
131
  end
114
132
 
115
- if attributes.key?(:'currencies')
116
- if (value = attributes[:'currencies']).is_a?(Array)
117
- self.currencies = value
118
- end
133
+ if attributes.key?(:'figi_code')
134
+ self.figi_code = attributes[:'figi_code']
135
+ end
136
+
137
+ if attributes.key?(:'figi_instrument')
138
+ self.figi_instrument = attributes[:'figi_instrument']
119
139
  end
120
140
  end
121
141
 
@@ -144,7 +164,8 @@ module SnapTrade
144
164
  currency == o.currency &&
145
165
  exchange == o.exchange &&
146
166
  type == o.type &&
147
- currencies == o.currencies
167
+ figi_code == o.figi_code &&
168
+ figi_instrument == o.figi_instrument
148
169
  end
149
170
 
150
171
  # @see the `==` method
@@ -156,7 +177,7 @@ module SnapTrade
156
177
  # Calculates hash code according to all attributes.
157
178
  # @return [Integer] Hash code
158
179
  def hash
159
- [id, symbol, raw_symbol, description, currency, exchange, type, currencies].hash
180
+ [id, symbol, raw_symbol, description, currency, exchange, type, figi_code, figi_instrument].hash
160
181
  end
161
182
 
162
183
  # Builds the object from hash
@@ -5,14 +5,13 @@
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 TradeAction
14
+ class ActionStrict
16
15
  BUY = "BUY".freeze
17
16
  SELL = "SELL".freeze
18
17
 
@@ -31,8 +30,8 @@ module SnapTrade
31
30
  # @param [String] The enum value in the form of the string
32
31
  # @return [String] The enum value
33
32
  def build_from_hash(value)
34
- return value if TradeAction.all_vars.include?(value)
35
- raise "Invalid ENUM value #{value} for class #TradeAction"
33
+ return value if ActionStrict.all_vars.include?(value)
34
+ raise "Invalid ENUM value #{value} for class #ActionStrict"
36
35
  end
37
36
  end
38
37
  end
@@ -5,19 +5,22 @@
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 TradeExecutionStatusAction
14
+ class ActionStrictWithOptions
16
15
  BUY = "BUY".freeze
17
16
  SELL = "SELL".freeze
17
+ BUY_TO_OPEN = "BUY_TO_OPEN".freeze
18
+ BUY_TO_CLOSE = "BUY_TO_CLOSE".freeze
19
+ SELL_TO_OPEN = "SELL_TO_OPEN".freeze
20
+ SELL_TO_CLOSE = "SELL_TO_CLOSE".freeze
18
21
 
19
22
  def self.all_vars
20
- @all_vars ||= [BUY, SELL].freeze
23
+ @all_vars ||= [BUY, SELL, BUY_TO_OPEN, BUY_TO_CLOSE, SELL_TO_OPEN, SELL_TO_CLOSE].freeze
21
24
  end
22
25
 
23
26
  # Builds the enum from string
@@ -31,8 +34,8 @@ module SnapTrade
31
34
  # @param [String] The enum value in the form of the string
32
35
  # @return [String] The enum value
33
36
  def build_from_hash(value)
34
- return value if TradeExecutionStatusAction.all_vars.include?(value)
35
- raise "Invalid ENUM value #{value} for class #TradeExecutionStatusAction"
37
+ return value if ActionStrictWithOptions.all_vars.include?(value)
38
+ raise "Invalid ENUM value #{value} for class #ActionStrictWithOptions"
36
39
  end
37
40
  end
38
41
  end
@@ -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 'date'
@@ -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 'date'
@@ -5,24 +5,28 @@
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
- # Account Balance
14
+ # Holds balance information for a single currency in an account.
16
15
  class Balance
17
16
  attr_accessor :currency
18
17
 
18
+ # The amount of available cash in the account denominated in the currency of the `currency` field.
19
19
  attr_accessor :cash
20
20
 
21
+ # Buying power only applies to margin accounts. For non-margin accounts, buying power should be the same as cash. Please note that this field is not always available for all brokerages.
22
+ attr_accessor :buying_power
23
+
21
24
  # Attribute mapping from ruby-style variable name to JSON key.
22
25
  def self.attribute_map
23
26
  {
24
27
  :'currency' => :'currency',
25
- :'cash' => :'cash'
28
+ :'cash' => :'cash',
29
+ :'buying_power' => :'buying_power'
26
30
  }
27
31
  end
28
32
 
@@ -34,15 +38,17 @@ module SnapTrade
34
38
  # Attribute type mapping.
35
39
  def self.openapi_types
36
40
  {
37
- :'currency' => :'Currency',
38
- :'cash' => :'Float'
41
+ :'currency' => :'BalanceCurrency',
42
+ :'cash' => :'Float',
43
+ :'buying_power' => :'Float'
39
44
  }
40
45
  end
41
46
 
42
47
  # List of attributes with nullable: true
43
48
  def self.openapi_nullable
44
49
  Set.new([
45
- :'cash'
50
+ :'cash',
51
+ :'buying_power'
46
52
  ])
47
53
  end
48
54
 
@@ -68,6 +74,10 @@ module SnapTrade
68
74
  if attributes.key?(:'cash')
69
75
  self.cash = attributes[:'cash']
70
76
  end
77
+
78
+ if attributes.key?(:'buying_power')
79
+ self.buying_power = attributes[:'buying_power']
80
+ end
71
81
  end
72
82
 
73
83
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -89,7 +99,8 @@ module SnapTrade
89
99
  return true if self.equal?(o)
90
100
  self.class == o.class &&
91
101
  currency == o.currency &&
92
- cash == o.cash
102
+ cash == o.cash &&
103
+ buying_power == o.buying_power
93
104
  end
94
105
 
95
106
  # @see the `==` method
@@ -101,7 +112,7 @@ module SnapTrade
101
112
  # Calculates hash code according to all attributes.
102
113
  # @return [Integer] Hash code
103
114
  def hash
104
- [currency, cash].hash
115
+ [currency, cash, buying_power].hash
105
116
  end
106
117
 
107
118
  # Builds the object from hash
@@ -5,26 +5,29 @@
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 ModelPortfolio
14
+ # The currency of the balance. This applies to both `cash` and `buying_power`.
15
+ class BalanceCurrency
16
+ # Unique identifier for the currency. This is the UUID used to reference the currency in SnapTrade.
16
17
  attr_accessor :id
17
18
 
18
- attr_accessor :name
19
+ # The ISO-4217 currency code for the currency.
20
+ attr_accessor :code
19
21
 
20
- attr_accessor :model_type
22
+ # A human-friendly name of the currency.
23
+ attr_accessor :name
21
24
 
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
23
26
  def self.attribute_map
24
27
  {
25
28
  :'id' => :'id',
26
- :'name' => :'name',
27
- :'model_type' => :'model_type'
29
+ :'code' => :'code',
30
+ :'name' => :'name'
28
31
  }
29
32
  end
30
33
 
@@ -37,8 +40,8 @@ module SnapTrade
37
40
  def self.openapi_types
38
41
  {
39
42
  :'id' => :'String',
40
- :'name' => :'String',
41
- :'model_type' => :'ModelType'
43
+ :'code' => :'String',
44
+ :'name' => :'String'
42
45
  }
43
46
  end
44
47
 
@@ -48,17 +51,24 @@ module SnapTrade
48
51
  ])
49
52
  end
50
53
 
54
+ # List of class defined in allOf (OpenAPI v3)
55
+ def self.openapi_all_of
56
+ [
57
+ :'Currency'
58
+ ]
59
+ end
60
+
51
61
  # Initializes the object
52
62
  # @param [Hash] attributes Model attributes in the form of hash
53
63
  def initialize(attributes = {})
54
64
  if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::ModelPortfolio` initialize method"
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::BalanceCurrency` initialize method"
56
66
  end
57
67
 
58
68
  # check to see if the attribute exists and convert string to symbol for hash key
59
69
  attributes = attributes.each_with_object({}) { |(k, v), h|
60
70
  if (!self.class.attribute_map.key?(k.to_sym))
61
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::ModelPortfolio`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::BalanceCurrency`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
72
  end
63
73
  h[k.to_sym] = v
64
74
  }
@@ -67,14 +77,12 @@ module SnapTrade
67
77
  self.id = attributes[:'id']
68
78
  end
69
79
 
70
- if attributes.key?(:'name')
71
- self.name = attributes[:'name']
80
+ if attributes.key?(:'code')
81
+ self.code = attributes[:'code']
72
82
  end
73
83
 
74
- if attributes.key?(:'model_type')
75
- self.model_type = attributes[:'model_type']
76
- else
77
- self.model_type = ModelType::NMINUS_1
84
+ if attributes.key?(:'name')
85
+ self.name = attributes[:'name']
78
86
  end
79
87
  end
80
88
 
@@ -97,8 +105,8 @@ module SnapTrade
97
105
  return true if self.equal?(o)
98
106
  self.class == o.class &&
99
107
  id == o.id &&
100
- name == o.name &&
101
- model_type == o.model_type
108
+ code == o.code &&
109
+ name == o.name
102
110
  end
103
111
 
104
112
  # @see the `==` method
@@ -110,7 +118,7 @@ module SnapTrade
110
118
  # Calculates hash code according to all attributes.
111
119
  # @return [Integer] Hash code
112
120
  def hash
113
- [id, name, model_type].hash
121
+ [id, code, name].hash
114
122
  end
115
123
 
116
124
  # Builds the object from hash