snaptrade 1.17.10 → 2.0.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -28
  4. data/README.md +1995 -208
  5. data/lib/snaptrade/api/account_information_api.rb +535 -71
  6. data/lib/snaptrade/api/api_status_api.rb +6 -3
  7. data/lib/snaptrade/api/authentication_api.rb +180 -140
  8. data/lib/snaptrade/api/connections_api.rb +401 -41
  9. data/lib/snaptrade/api/options_api.rb +82 -39
  10. data/lib/snaptrade/api/reference_data_api.rb +181 -101
  11. data/lib/snaptrade/api/trading_api.rb +200 -228
  12. data/lib/snaptrade/api/transactions_and_reporting_api.rb +48 -33
  13. data/lib/snaptrade/api_client.rb +24 -14
  14. data/lib/snaptrade/api_error.rb +0 -1
  15. data/lib/snaptrade/configuration.rb +11 -29
  16. data/lib/snaptrade/models/account.rb +84 -29
  17. data/lib/snaptrade/models/account_balance.rb +1 -2
  18. data/lib/snaptrade/models/account_balance_total.rb +3 -9
  19. data/lib/snaptrade/models/account_holdings.rb +0 -1
  20. data/lib/snaptrade/models/account_holdings_account.rb +19 -4
  21. data/lib/snaptrade/models/account_order_record.rb +52 -33
  22. data/lib/snaptrade/models/{brokerage_symbol_option_symbol.rb → account_order_record_option_symbol.rb} +15 -27
  23. data/lib/snaptrade/models/account_order_record_status.rb +0 -1
  24. data/lib/snaptrade/models/{brokerage_symbol_symbol.rb → account_order_record_universal_symbol.rb} +33 -7
  25. data/lib/snaptrade/models/account_simple.rb +4 -2
  26. data/lib/snaptrade/models/account_sync_status.rb +14 -6
  27. data/lib/snaptrade/models/account_universal_activity.rb +371 -0
  28. data/lib/snaptrade/models/account_universal_activity_currency.rb +245 -0
  29. data/lib/snaptrade/models/{target_asset.rb → account_universal_activity_option_symbol.rb} +83 -59
  30. data/lib/snaptrade/models/{universal_symbol_ticker.rb → account_universal_activity_symbol.rb} +37 -16
  31. data/lib/snaptrade/models/{trade_action.rb → action_strict.rb} +3 -4
  32. data/lib/snaptrade/models/{trade_execution_status_action.rb → action_strict_with_options.rb} +8 -5
  33. data/lib/snaptrade/models/auth_type.rb +0 -1
  34. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +0 -1
  35. data/lib/snaptrade/models/balance.rb +19 -8
  36. data/lib/snaptrade/models/{model_portfolio.rb → balance_currency.rb} +27 -19
  37. data/lib/snaptrade/models/brokerage.rb +57 -50
  38. data/lib/snaptrade/models/brokerage_authorization.rb +24 -21
  39. data/lib/snaptrade/models/{model_asset_class.rb → brokerage_authorization_disabled_confirmation.rb} +12 -20
  40. data/lib/snaptrade/models/{jwt.rb → brokerage_authorization_refresh_confirmation.rb} +12 -12
  41. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +1 -2
  42. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +2 -3
  43. data/lib/snaptrade/models/brokerage_type.rb +1 -2
  44. data/lib/snaptrade/models/connection_portal_version.rb +3 -3
  45. data/lib/snaptrade/models/connection_type.rb +0 -1
  46. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +1 -2
  47. data/lib/snaptrade/models/currency.rb +4 -2
  48. data/lib/snaptrade/models/delete_user_response.rb +13 -5
  49. data/lib/snaptrade/models/dividend_at_date.rb +0 -1
  50. data/lib/snaptrade/models/encrypted_response.rb +0 -1
  51. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +0 -1
  52. data/lib/snaptrade/models/exchange.rb +9 -2
  53. data/lib/snaptrade/models/exchange_rate_pairs.rb +0 -1
  54. data/lib/snaptrade/models/figi_instrument.rb +230 -0
  55. data/lib/snaptrade/models/holdings_status.rb +229 -0
  56. data/lib/snaptrade/models/login_redirect_uri.rb +3 -3
  57. data/lib/snaptrade/models/manual_trade.rb +10 -6
  58. data/lib/snaptrade/models/manual_trade_and_impact.rb +2 -3
  59. data/lib/snaptrade/models/manual_trade_balance.rb +3 -4
  60. data/lib/snaptrade/models/manual_trade_form.rb +56 -28
  61. data/lib/snaptrade/models/{model_asset_class_target.rb → manual_trade_form_notional_value.rb} +12 -15
  62. data/lib/snaptrade/models/{trade.rb → manual_trade_form_with_options.rb} +126 -43
  63. data/lib/snaptrade/models/{snap_trade_api_disclaimer_accept_status.rb → manual_trade_form_with_options_stop_loss.rb} +24 -18
  64. data/lib/snaptrade/models/manual_trade_form_with_options_take_profit.rb +223 -0
  65. data/lib/snaptrade/models/{trade_impact.rb → manual_trade_impact.rb} +20 -17
  66. data/lib/snaptrade/models/manual_trade_symbol.rb +19 -15
  67. data/lib/snaptrade/models/model400_failed_request_response.rb +0 -1
  68. data/lib/snaptrade/models/model401_failed_request_response.rb +0 -1
  69. data/lib/snaptrade/models/model402_brokerage_auth_already_disabled_exception.rb +228 -0
  70. data/lib/snaptrade/models/{amount.rb → model402_brokerage_auth_disabled_response.rb} +19 -18
  71. data/lib/snaptrade/models/model403_failed_request_response.rb +0 -1
  72. data/lib/snaptrade/models/model403_feature_not_enabled_response.rb +228 -0
  73. data/lib/snaptrade/models/model404_failed_request_response.rb +0 -1
  74. data/lib/snaptrade/models/{calculated_trade.rb → model425_failed_request_response.rb} +19 -20
  75. data/lib/snaptrade/models/model500_unexpected_exception_response.rb +0 -1
  76. data/lib/snaptrade/models/monthly_dividends.rb +1 -2
  77. data/lib/snaptrade/models/net_contributions.rb +1 -2
  78. data/lib/snaptrade/models/net_dividend.rb +0 -1
  79. data/lib/snaptrade/models/notional_value.rb +103 -0
  80. data/lib/snaptrade/models/{options_holdings.rb → option_brokerage_symbol.rb} +19 -50
  81. data/lib/snaptrade/models/option_chain_inner.rb +0 -1
  82. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +0 -1
  83. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +0 -1
  84. data/lib/snaptrade/models/option_leg.rb +0 -1
  85. data/lib/snaptrade/models/option_leg_action.rb +0 -1
  86. data/lib/snaptrade/models/option_strategy.rb +0 -1
  87. data/lib/snaptrade/models/option_strategy_legs_inner.rb +0 -1
  88. data/lib/snaptrade/models/option_type.rb +0 -1
  89. data/lib/snaptrade/models/options_get_option_strategy_request.rb +0 -1
  90. data/lib/snaptrade/models/options_place_option_strategy_request.rb +4 -3
  91. data/lib/snaptrade/models/options_position.rb +20 -20
  92. data/lib/snaptrade/models/options_position_currency.rb +4 -1
  93. data/lib/snaptrade/models/options_symbol.rb +12 -25
  94. data/lib/snaptrade/models/{model_type.rb → order_class.rb} +6 -8
  95. data/lib/snaptrade/models/{order_type.rb → order_type_strict.rb} +5 -6
  96. data/lib/snaptrade/models/paginated_universal_activity.rb +228 -0
  97. data/lib/snaptrade/models/pagination_details.rb +228 -0
  98. data/lib/snaptrade/models/partner_data.rb +49 -50
  99. data/lib/snaptrade/models/past_value.rb +1 -2
  100. data/lib/snaptrade/models/performance_custom.rb +0 -1
  101. data/lib/snaptrade/models/position.rb +21 -20
  102. data/lib/snaptrade/models/position_symbol.rb +16 -12
  103. data/lib/snaptrade/models/{portfolio_group_position.rb → rate_of_return_object.rb} +26 -26
  104. data/lib/snaptrade/models/{brokerage_authorization_type.rb → rate_of_return_response.rb} +14 -11
  105. data/lib/snaptrade/models/{strategy_order_place.rb → recent_orders_response.rb} +7 -16
  106. data/lib/snaptrade/models/security_type.rb +5 -2
  107. data/lib/snaptrade/models/session_event.rb +1 -2
  108. data/lib/snaptrade/models/session_event_type.rb +11 -4
  109. data/lib/snaptrade/models/snap_trade_holdings_account.rb +0 -1
  110. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +3 -2
  111. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +10 -5
  112. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +1 -2
  113. data/lib/snaptrade/models/status.rb +0 -1
  114. data/lib/snaptrade/models/stop_loss.rb +227 -0
  115. data/lib/snaptrade/models/strategy_order_record.rb +5 -3
  116. data/lib/snaptrade/models/strategy_order_record_status.rb +0 -1
  117. data/lib/snaptrade/models/strategy_quotes.rb +0 -1
  118. data/lib/snaptrade/models/strategy_quotes_greek.rb +0 -1
  119. data/lib/snaptrade/models/strategy_type.rb +0 -1
  120. data/lib/snaptrade/models/sub_period_return_rate.rb +2 -3
  121. data/lib/snaptrade/models/symbol.rb +39 -14
  122. data/lib/snaptrade/models/{portfolio_group.rb → symbol_currency.rb} +24 -5
  123. data/lib/snaptrade/models/symbol_exchange.rb +296 -0
  124. data/lib/snaptrade/models/{model_portfolio_security.rb → symbol_figi_instrument.rb} +27 -41
  125. data/lib/snaptrade/models/symbol_query.rb +1 -2
  126. data/lib/snaptrade/models/symbols_quotes_inner.rb +15 -11
  127. data/lib/snaptrade/models/{excluded_asset.rb → take_profit.rb} +11 -12
  128. data/lib/snaptrade/models/{time_in_force.rb → time_in_force_strict.rb} +5 -6
  129. data/lib/snaptrade/models/{brokerage_authorization_type_type.rb → timeframe.rb} +9 -7
  130. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +1 -1
  131. data/lib/snaptrade/models/transactions_status.rb +19 -8
  132. data/lib/snaptrade/models/type.rb +3 -4
  133. data/lib/snaptrade/models/underlying_symbol.rb +40 -6
  134. data/lib/snaptrade/models/{snap_trade_holdings_account_account_id.rb → underlying_symbol_exchange.rb} +55 -54
  135. data/lib/snaptrade/models/{brokerage_symbol.rb → underlying_symbol_type.rb} +28 -39
  136. data/lib/snaptrade/models/universal_activity.rb +91 -82
  137. data/lib/snaptrade/models/universal_symbol.rb +30 -5
  138. data/lib/snaptrade/models/us_exchange.rb +0 -1
  139. data/lib/snaptrade/models/user_i_dand_secret.rb +2 -4
  140. data/lib/snaptrade/models/validated_trade_body.rb +218 -0
  141. data/lib/snaptrade/version.rb +1 -2
  142. data/lib/snaptrade.rb +90 -66
  143. data/snaptrade.gemspec +0 -1
  144. data/spec/api/account_information_api_spec.rb +66 -13
  145. data/spec/api/api_status_api_spec.rb +0 -1
  146. data/spec/api/authentication_api_spec.rb +20 -20
  147. data/spec/api/connections_api_spec.rb +54 -9
  148. data/spec/api/options_api_spec.rb +11 -7
  149. data/spec/api/reference_data_api_spec.rb +24 -16
  150. data/spec/api/trading_api_spec.rb +17 -25
  151. data/spec/api/transactions_and_reporting_api_spec.rb +7 -8
  152. data/spec/api_client_spec.rb +0 -1
  153. data/spec/configuration_spec.rb +0 -1
  154. data/spec/models/account_balance_spec.rb +0 -1
  155. data/spec/models/account_balance_total_spec.rb +0 -1
  156. data/spec/models/account_holdings_account_spec.rb +6 -1
  157. data/spec/models/account_holdings_spec.rb +0 -1
  158. data/spec/models/{strategy_impact_legs_inner_spec.rb → account_order_record_option_symbol_spec.rb} +13 -14
  159. data/spec/models/account_order_record_spec.rb +12 -7
  160. data/spec/models/account_order_record_status_spec.rb +0 -1
  161. data/spec/models/{brokerage_symbol_symbol_spec.rb → account_order_record_universal_symbol_spec.rb} +18 -7
  162. data/spec/models/account_simple_spec.rb +0 -1
  163. data/spec/models/account_spec.rb +14 -9
  164. data/spec/models/account_sync_status_spec.rb +6 -1
  165. data/spec/models/account_universal_activity_currency_spec.rb +41 -0
  166. data/spec/models/{brokerage_symbol_option_symbol_spec.rb → account_universal_activity_option_symbol_spec.rb} +6 -19
  167. data/spec/models/{portfolio_group_info_spec.rb → account_universal_activity_spec.rb} +47 -18
  168. data/spec/models/{universal_symbol_ticker_spec.rb → account_universal_activity_symbol_spec.rb} +13 -8
  169. data/spec/models/action_strict_spec.rb +23 -0
  170. data/spec/models/action_strict_with_options_spec.rb +23 -0
  171. data/spec/models/auth_type_spec.rb +0 -1
  172. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +0 -1
  173. data/spec/models/{model_portfolio_spec.rb → balance_currency_spec.rb} +8 -9
  174. data/spec/models/balance_spec.rb +6 -1
  175. data/spec/models/brokerage_authorization_disabled_confirmation_spec.rb +29 -0
  176. data/spec/models/{brokerage_authorization_type_spec.rb → brokerage_authorization_refresh_confirmation_spec.rb} +7 -8
  177. data/spec/models/brokerage_authorization_spec.rb +6 -7
  178. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +0 -1
  179. data/spec/models/brokerage_authorization_type_read_only_spec.rb +0 -1
  180. data/spec/models/brokerage_spec.rb +12 -19
  181. data/spec/models/brokerage_type_spec.rb +0 -1
  182. data/spec/models/connection_portal_version_spec.rb +0 -1
  183. data/spec/models/connection_type_spec.rb +0 -1
  184. data/spec/models/connections_session_events200_response_inner_spec.rb +0 -1
  185. data/spec/models/currency_spec.rb +0 -1
  186. data/spec/models/delete_user_response_spec.rb +6 -1
  187. data/spec/models/dividend_at_date_spec.rb +0 -1
  188. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +0 -1
  189. data/spec/models/encrypted_response_spec.rb +0 -1
  190. data/spec/models/exchange_rate_pairs_spec.rb +0 -1
  191. data/spec/models/exchange_spec.rb +0 -1
  192. data/spec/models/{portfolio_group_spec.rb → figi_instrument_spec.rb} +8 -9
  193. data/spec/models/{calculated_trade_spec.rb → holdings_status_spec.rb} +8 -9
  194. data/spec/models/login_redirect_uri_spec.rb +0 -1
  195. data/spec/models/manual_trade_and_impact_spec.rb +0 -1
  196. data/spec/models/manual_trade_balance_spec.rb +0 -1
  197. data/spec/models/manual_trade_form_notional_value_spec.rb +23 -0
  198. data/spec/models/manual_trade_form_spec.rb +6 -7
  199. data/spec/models/{strategy_impact_spec.rb → manual_trade_form_with_options_spec.rb} +29 -18
  200. data/spec/models/{snap_trade_api_disclaimer_accept_status_spec.rb → manual_trade_form_with_options_stop_loss_spec.rb} +8 -9
  201. data/spec/models/manual_trade_form_with_options_take_profit_spec.rb +29 -0
  202. data/spec/models/{trade_impact_spec.rb → manual_trade_impact_spec.rb} +7 -8
  203. data/spec/models/manual_trade_spec.rb +0 -1
  204. data/spec/models/manual_trade_symbol_spec.rb +6 -7
  205. data/spec/models/model400_failed_request_response_spec.rb +0 -1
  206. data/spec/models/model401_failed_request_response_spec.rb +0 -1
  207. data/spec/models/model402_brokerage_auth_already_disabled_exception_spec.rb +35 -0
  208. data/spec/models/model402_brokerage_auth_disabled_response_spec.rb +35 -0
  209. data/spec/models/model403_failed_request_response_spec.rb +0 -1
  210. data/spec/models/{model_asset_class_details_spec.rb → model403_feature_not_enabled_response_spec.rb} +8 -9
  211. data/spec/models/model404_failed_request_response_spec.rb +0 -1
  212. data/spec/models/model425_failed_request_response_spec.rb +35 -0
  213. data/spec/models/model500_unexpected_exception_response_spec.rb +0 -1
  214. data/spec/models/monthly_dividends_spec.rb +0 -1
  215. data/spec/models/net_contributions_spec.rb +0 -1
  216. data/spec/models/net_dividend_spec.rb +0 -1
  217. data/spec/models/notional_value_spec.rb +26 -0
  218. data/spec/models/{model_portfolio_details_spec.rb → option_brokerage_symbol_spec.rb} +9 -10
  219. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +0 -1
  220. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +0 -1
  221. data/spec/models/option_chain_inner_spec.rb +0 -1
  222. data/spec/models/option_leg_action_spec.rb +0 -1
  223. data/spec/models/option_leg_spec.rb +0 -1
  224. data/spec/models/option_strategy_legs_inner_spec.rb +0 -1
  225. data/spec/models/option_strategy_spec.rb +0 -1
  226. data/spec/models/option_type_spec.rb +0 -1
  227. data/spec/models/options_get_option_strategy_request_spec.rb +0 -1
  228. data/spec/models/options_place_option_strategy_request_spec.rb +0 -1
  229. data/spec/models/options_position_currency_spec.rb +0 -1
  230. data/spec/models/options_position_spec.rb +2 -3
  231. data/spec/models/options_symbol_spec.rb +0 -13
  232. data/spec/models/order_class_spec.rb +23 -0
  233. data/spec/models/order_type_strict_spec.rb +23 -0
  234. data/spec/models/{model_portfolio_asset_class_spec.rb → paginated_universal_activity_spec.rb} +8 -9
  235. data/spec/models/{model_asset_class_spec.rb → pagination_details_spec.rb} +8 -9
  236. data/spec/models/partner_data_spec.rb +12 -13
  237. data/spec/models/past_value_spec.rb +0 -1
  238. data/spec/models/performance_custom_spec.rb +0 -1
  239. data/spec/models/position_spec.rb +2 -3
  240. data/spec/models/position_symbol_spec.rb +3 -4
  241. data/spec/models/{portfolio_group_position_spec.rb → rate_of_return_object_spec.rb} +9 -10
  242. data/spec/models/rate_of_return_response_spec.rb +29 -0
  243. data/spec/models/recent_orders_response_spec.rb +29 -0
  244. data/spec/models/security_type_spec.rb +0 -1
  245. data/spec/models/session_event_spec.rb +0 -1
  246. data/spec/models/session_event_type_spec.rb +0 -1
  247. data/spec/models/snap_trade_holdings_account_spec.rb +0 -1
  248. data/spec/models/snap_trade_holdings_total_value_spec.rb +0 -1
  249. data/spec/models/snap_trade_login_user_request_body_spec.rb +0 -1
  250. data/spec/models/snap_trade_register_user_request_body_spec.rb +0 -1
  251. data/spec/models/status_spec.rb +0 -1
  252. data/spec/models/{amount_spec.rb → stop_loss_spec.rb} +8 -9
  253. data/spec/models/strategy_order_record_spec.rb +0 -1
  254. data/spec/models/strategy_order_record_status_spec.rb +0 -1
  255. data/spec/models/strategy_quotes_greek_spec.rb +0 -1
  256. data/spec/models/strategy_quotes_spec.rb +0 -1
  257. data/spec/models/strategy_type_spec.rb +0 -1
  258. data/spec/models/sub_period_return_rate_spec.rb +0 -1
  259. data/spec/models/symbol_currency_spec.rb +41 -0
  260. data/spec/models/{trade_spec.rb → symbol_exchange_spec.rb} +13 -14
  261. data/spec/models/symbol_figi_instrument_spec.rb +35 -0
  262. data/spec/models/symbol_query_spec.rb +0 -1
  263. data/spec/models/symbol_spec.rb +13 -2
  264. data/spec/models/symbols_quotes_inner_spec.rb +3 -4
  265. data/spec/models/{jwt_spec.rb → take_profit_spec.rb} +7 -8
  266. data/spec/models/time_in_force_strict_spec.rb +23 -0
  267. data/spec/models/timeframe_spec.rb +23 -0
  268. data/spec/models/trading_cancel_user_account_order_request_spec.rb +0 -1
  269. data/spec/models/transactions_status_spec.rb +6 -1
  270. data/spec/models/type_spec.rb +0 -1
  271. data/spec/models/{snap_trade_holdings_account_account_id_spec.rb → underlying_symbol_exchange_spec.rb} +13 -14
  272. data/spec/models/underlying_symbol_spec.rb +18 -1
  273. data/spec/models/{cash_restriction_spec.rb → underlying_symbol_type_spec.rb} +9 -16
  274. data/spec/models/universal_activity_spec.rb +15 -16
  275. data/spec/models/universal_symbol_spec.rb +12 -1
  276. data/spec/models/us_exchange_spec.rb +0 -1
  277. data/spec/models/user_i_dand_secret_spec.rb +0 -1
  278. data/spec/models/{excluded_asset_spec.rb → validated_trade_body_spec.rb} +7 -8
  279. data/spec/spec_helper.rb +0 -1
  280. metadata +203 -360
  281. data/docs/APIStatusApi.md +0 -57
  282. data/docs/Account.md +0 -38
  283. data/docs/AccountBalance.md +0 -18
  284. data/docs/AccountBalanceTotal.md +0 -20
  285. data/docs/AccountHoldings.md +0 -24
  286. data/docs/AccountHoldingsAccount.md +0 -26
  287. data/docs/AccountInformationApi.md +0 -544
  288. data/docs/AccountOrderRecord.md +0 -52
  289. data/docs/AccountOrderRecordStatus.md +0 -15
  290. data/docs/AccountSimple.md +0 -24
  291. data/docs/AccountSyncStatus.md +0 -18
  292. data/docs/Action.md +0 -15
  293. data/docs/Amount.md +0 -20
  294. data/docs/AuthType.md +0 -15
  295. data/docs/AuthenticationApi.md +0 -320
  296. data/docs/AuthenticationLoginSnapTradeUser200Response.md +0 -49
  297. data/docs/Balance.md +0 -20
  298. data/docs/Brokerage.md +0 -52
  299. data/docs/BrokerageAuthorization.md +0 -34
  300. data/docs/BrokerageAuthorizationType.md +0 -18
  301. data/docs/BrokerageAuthorizationTypeReadOnly.md +0 -24
  302. data/docs/BrokerageAuthorizationTypeReadOnlyBrokerage.md +0 -22
  303. data/docs/BrokerageAuthorizationTypeReadOnlyType.md +0 -15
  304. data/docs/BrokerageAuthorizationTypeType.md +0 -15
  305. data/docs/BrokerageSymbol.md +0 -28
  306. data/docs/BrokerageSymbolOptionSymbol.md +0 -34
  307. data/docs/BrokerageSymbolSymbol.md +0 -32
  308. data/docs/BrokerageType.md +0 -20
  309. data/docs/CalculatedTrade.md +0 -20
  310. data/docs/CashRestriction.md +0 -26
  311. data/docs/ConnectionPortalVersion.md +0 -15
  312. data/docs/ConnectionType.md +0 -15
  313. data/docs/ConnectionsApi.md +0 -265
  314. data/docs/ConnectionsSessionEvents200ResponseInner.md +0 -30
  315. data/docs/Currency.md +0 -22
  316. data/docs/DeleteUserResponse.md +0 -20
  317. data/docs/DividendAtDate.md +0 -22
  318. data/docs/EncryptedResponse.md +0 -20
  319. data/docs/EncryptedResponseEncryptedMessageData.md +0 -22
  320. data/docs/ErrorLogsApi.md +0 -68
  321. data/docs/Exchange.md +0 -32
  322. data/docs/ExchangeRatePairs.md +0 -22
  323. data/docs/ExcludedAsset.md +0 -18
  324. data/docs/JWT.md +0 -18
  325. data/docs/LoginRedirectURI.md +0 -20
  326. data/docs/ManualTrade.md +0 -32
  327. data/docs/ManualTradeAndImpact.md +0 -22
  328. data/docs/ManualTradeBalance.md +0 -22
  329. data/docs/ManualTradeForm.md +0 -34
  330. data/docs/ManualTradeSymbol.md +0 -28
  331. data/docs/Model400FailedRequestResponse.md +0 -20
  332. data/docs/Model401FailedRequestResponse.md +0 -20
  333. data/docs/Model403FailedRequestResponse.md +0 -20
  334. data/docs/Model404FailedRequestResponse.md +0 -20
  335. data/docs/Model500UnexpectedExceptionResponse.md +0 -22
  336. data/docs/ModelAssetClass.md +0 -20
  337. data/docs/ModelAssetClassDetails.md +0 -20
  338. data/docs/ModelAssetClassTarget.md +0 -18
  339. data/docs/ModelPortfolio.md +0 -22
  340. data/docs/ModelPortfolioAssetClass.md +0 -20
  341. data/docs/ModelPortfolioDetails.md +0 -22
  342. data/docs/ModelPortfolioSecurity.md +0 -20
  343. data/docs/ModelType.md +0 -15
  344. data/docs/MonthlyDividends.md +0 -20
  345. data/docs/NetContributions.md +0 -22
  346. data/docs/NetDividend.md +0 -22
  347. data/docs/OptionChainInner.md +0 -26
  348. data/docs/OptionChainInnerChainPerRootInner.md +0 -22
  349. data/docs/OptionChainInnerChainPerRootInnerChainPerStrikePriceInner.md +0 -22
  350. data/docs/OptionLeg.md +0 -22
  351. data/docs/OptionLegAction.md +0 -15
  352. data/docs/OptionStrategy.md +0 -26
  353. data/docs/OptionStrategyLegsInner.md +0 -24
  354. data/docs/OptionType.md +0 -15
  355. data/docs/OptionsApi.md +0 -390
  356. data/docs/OptionsGetOptionStrategyRequest.md +0 -22
  357. data/docs/OptionsHoldings.md +0 -28
  358. data/docs/OptionsPlaceOptionStrategyRequest.md +0 -22
  359. data/docs/OptionsPosition.md +0 -26
  360. data/docs/OptionsPositionCurrency.md +0 -22
  361. data/docs/OptionsSymbol.md +0 -34
  362. data/docs/OrderType.md +0 -15
  363. data/docs/PartnerData.md +0 -40
  364. data/docs/PastValue.md +0 -22
  365. data/docs/PerformanceCustom.md +0 -54
  366. data/docs/PortfolioGroup.md +0 -20
  367. data/docs/PortfolioGroupInfo.md +0 -38
  368. data/docs/PortfolioGroupPosition.md +0 -22
  369. data/docs/PortfolioGroupSettings.md +0 -26
  370. data/docs/Position.md +0 -28
  371. data/docs/PositionSymbol.md +0 -28
  372. data/docs/RedirectTokenandPin.md +0 -20
  373. data/docs/ReferenceDataApi.md +0 -597
  374. data/docs/SecurityType.md +0 -24
  375. data/docs/SessionEvent.md +0 -30
  376. data/docs/SessionEventType.md +0 -15
  377. data/docs/SnapTradeAPIDisclaimerAcceptStatus.md +0 -20
  378. data/docs/SnapTradeHoldingsAccount.md +0 -32
  379. data/docs/SnapTradeHoldingsAccountAccountId.md +0 -34
  380. data/docs/SnapTradeHoldingsTotalValue.md +0 -20
  381. data/docs/SnapTradeLoginUserRequestBody.md +0 -28
  382. data/docs/SnapTradeRegisterUserRequestBody.md +0 -18
  383. data/docs/State.md +0 -15
  384. data/docs/Status.md +0 -22
  385. data/docs/StrategyImpact.md +0 -38
  386. data/docs/StrategyImpactLegsInner.md +0 -30
  387. data/docs/StrategyOrderPlace.md +0 -20
  388. data/docs/StrategyOrderPlaceOrdersInner.md +0 -102
  389. data/docs/StrategyOrderPlaceOrdersInnerLegsInner.md +0 -30
  390. data/docs/StrategyOrderRecord.md +0 -38
  391. data/docs/StrategyOrderRecordStatus.md +0 -15
  392. data/docs/StrategyQuotes.md +0 -28
  393. data/docs/StrategyQuotesGreek.md +0 -26
  394. data/docs/StrategyType.md +0 -15
  395. data/docs/SubPeriodReturnRate.md +0 -22
  396. data/docs/Symbol.md +0 -30
  397. data/docs/SymbolQuery.md +0 -18
  398. data/docs/SymbolsQuotesInner.md +0 -28
  399. data/docs/TargetAsset.md +0 -28
  400. data/docs/TimeInForce.md +0 -15
  401. data/docs/Trade.md +0 -32
  402. data/docs/TradeAction.md +0 -15
  403. data/docs/TradeExecutionStatus.md +0 -34
  404. data/docs/TradeExecutionStatusAction.md +0 -15
  405. data/docs/TradeImpact.md +0 -26
  406. data/docs/TradingApi.md +0 -486
  407. data/docs/TradingCancelUserAccountOrderRequest.md +0 -18
  408. data/docs/TradingPlaceOCOOrderRequest.md +0 -20
  409. data/docs/TransactionsAndReportingApi.md +0 -183
  410. data/docs/TransactionsStatus.md +0 -20
  411. data/docs/Type.md +0 -15
  412. data/docs/USExchange.md +0 -34
  413. data/docs/UnderlyingSymbol.md +0 -30
  414. data/docs/UniversalActivity.md +0 -50
  415. data/docs/UniversalSymbol.md +0 -32
  416. data/docs/UniversalSymbolTicker.md +0 -32
  417. data/docs/UserErrorLog.md +0 -28
  418. data/docs/UserIDandSecret.md +0 -20
  419. data/docs/UserSettings.md +0 -36
  420. data/lib/snaptrade/api/error_logs_api.rb +0 -110
  421. data/lib/snaptrade/models/action.rb +0 -38
  422. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +0 -38
  423. data/lib/snaptrade/models/cash_restriction.rb +0 -254
  424. data/lib/snaptrade/models/model_asset_class_details.rb +0 -228
  425. data/lib/snaptrade/models/model_portfolio_asset_class.rb +0 -250
  426. data/lib/snaptrade/models/model_portfolio_details.rb +0 -239
  427. data/lib/snaptrade/models/portfolio_group_info.rb +0 -326
  428. data/lib/snaptrade/models/portfolio_group_settings.rb +0 -277
  429. data/lib/snaptrade/models/redirect_tokenand_pin.rb +0 -227
  430. data/lib/snaptrade/models/state.rb +0 -41
  431. data/lib/snaptrade/models/strategy_impact.rb +0 -310
  432. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +0 -271
  433. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +0 -597
  434. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +0 -271
  435. data/lib/snaptrade/models/trade_execution_status.rb +0 -296
  436. data/lib/snaptrade/models/trading_place_oco_order_request.rb +0 -230
  437. data/lib/snaptrade/models/user_error_log.rb +0 -263
  438. data/lib/snaptrade/models/user_settings.rb +0 -299
  439. data/spec/api/error_logs_api_spec.rb +0 -43
  440. data/spec/models/action_spec.rb +0 -24
  441. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +0 -24
  442. data/spec/models/brokerage_authorization_type_type_spec.rb +0 -24
  443. data/spec/models/brokerage_symbol_spec.rb +0 -60
  444. data/spec/models/model_asset_class_target_spec.rb +0 -30
  445. data/spec/models/model_portfolio_security_spec.rb +0 -36
  446. data/spec/models/model_type_spec.rb +0 -24
  447. data/spec/models/options_holdings_spec.rb +0 -60
  448. data/spec/models/order_type_spec.rb +0 -24
  449. data/spec/models/portfolio_group_settings_spec.rb +0 -54
  450. data/spec/models/redirect_tokenand_pin_spec.rb +0 -36
  451. data/spec/models/state_spec.rb +0 -24
  452. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +0 -66
  453. data/spec/models/strategy_order_place_orders_inner_spec.rb +0 -282
  454. data/spec/models/strategy_order_place_spec.rb +0 -36
  455. data/spec/models/target_asset_spec.rb +0 -60
  456. data/spec/models/time_in_force_spec.rb +0 -24
  457. data/spec/models/trade_action_spec.rb +0 -24
  458. data/spec/models/trade_execution_status_action_spec.rb +0 -24
  459. data/spec/models/trade_execution_status_spec.rb +0 -78
  460. data/spec/models/trading_place_oco_order_request_spec.rb +0 -36
  461. data/spec/models/user_error_log_spec.rb +0 -60
  462. data/spec/models/user_settings_spec.rb +0 -84
@@ -5,7 +5,6 @@
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: api@snaptrade.com
8
-
9
8
  =end
10
9
 
11
10
  require 'date'
@@ -13,6 +12,7 @@ require 'time'
13
12
 
14
13
  module SnapTrade
15
14
  class TradingCancelUserAccountOrderRequest
15
+ # Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
16
16
  attr_accessor :brokerage_order_id
17
17
 
18
18
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -5,25 +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
- # Status of account transaction sync
14
+ # Status of account transaction sync. SnapTrade syncs transactions from the brokerage under the following conditions: 1. Initial connection - SnapTrade syncs all transactions from the brokerage account as far back as the brokerage allows. Check [our integrations doc](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=6fab8012ade6441fa0c6d9af9c55ce3a) for details on how far back we sync for each brokerage. 2. Daily sync - Once a day SnapTrade syncs new transactions from the brokerage. 3. Manual sync - You can retrigger an incremental sync of transactions with the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
16
15
  class TransactionsStatus
16
+ # Indicates if the initial sync of transactions has been completed. For accounts with a large number of transactions, the initial sync may take a while to complete.
17
17
  attr_accessor :initial_sync_completed
18
18
 
19
- # Date in YYYY-MM-DD format or null
19
+ # All transactions up to this date have been successfully synced. Please note that this is not the date of the last transaction, nor the last time SnapTrade attempted to sync transactions.
20
20
  attr_accessor :last_successful_sync
21
21
 
22
+ # The date of the first transaction in the account known to SnapTrade. It's possible that the account has transactions before this date, but they are not known to SnapTrade.
23
+ attr_accessor :first_transaction_date
24
+
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
23
26
  def self.attribute_map
24
27
  {
25
28
  :'initial_sync_completed' => :'initial_sync_completed',
26
- :'last_successful_sync' => :'last_successful_sync'
29
+ :'last_successful_sync' => :'last_successful_sync',
30
+ :'first_transaction_date' => :'first_transaction_date'
27
31
  }
28
32
  end
29
33
 
@@ -36,14 +40,16 @@ module SnapTrade
36
40
  def self.openapi_types
37
41
  {
38
42
  :'initial_sync_completed' => :'Boolean',
39
- :'last_successful_sync' => :'Date'
43
+ :'last_successful_sync' => :'Date',
44
+ :'first_transaction_date' => :'Date'
40
45
  }
41
46
  end
42
47
 
43
48
  # List of attributes with nullable: true
44
49
  def self.openapi_nullable
45
50
  Set.new([
46
- :'last_successful_sync'
51
+ :'last_successful_sync',
52
+ :'first_transaction_date'
47
53
  ])
48
54
  end
49
55
 
@@ -69,6 +75,10 @@ module SnapTrade
69
75
  if attributes.key?(:'last_successful_sync')
70
76
  self.last_successful_sync = attributes[:'last_successful_sync']
71
77
  end
78
+
79
+ if attributes.key?(:'first_transaction_date')
80
+ self.first_transaction_date = attributes[:'first_transaction_date']
81
+ end
72
82
  end
73
83
 
74
84
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -90,7 +100,8 @@ module SnapTrade
90
100
  return true if self.equal?(o)
91
101
  self.class == o.class &&
92
102
  initial_sync_completed == o.initial_sync_completed &&
93
- last_successful_sync == o.last_successful_sync
103
+ last_successful_sync == o.last_successful_sync &&
104
+ first_transaction_date == o.first_transaction_date
94
105
  end
95
106
 
96
107
  # @see the `==` method
@@ -102,7 +113,7 @@ module SnapTrade
102
113
  # Calculates hash code according to all attributes.
103
114
  # @return [Integer] Hash code
104
115
  def hash
105
- [initial_sync_completed, last_successful_sync].hash
116
+ [initial_sync_completed, last_successful_sync, first_transaction_date].hash
106
117
  end
107
118
 
108
119
  # Builds the object from hash
@@ -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'
@@ -13,11 +12,11 @@ require 'time'
13
12
 
14
13
  module SnapTrade
15
14
  class Type
16
- ALLOCATE_MAX = "ALLOCATE_MAX".freeze
17
- RETAIN_MIN = "RETAIN_MIN".freeze
15
+ READ = "read".freeze
16
+ TRADE = "trade".freeze
18
17
 
19
18
  def self.all_vars
20
- @all_vars ||= [ALLOCATE_MAX, RETAIN_MIN].freeze
19
+ @all_vars ||= [READ, TRADE].freeze
21
20
  end
22
21
 
23
22
  # Builds the enum from string
@@ -5,19 +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
- # Underlying Symbol
14
+ # Symbol object for the underlying security of an option.
16
15
  class UnderlyingSymbol
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\".
23
+ attr_accessor :raw_symbol
24
+
25
+ # A human-readable description of the security. This is usually the company name or ETF name.
21
26
  attr_accessor :description
22
27
 
23
28
  attr_accessor :currency
@@ -26,6 +31,12 @@ module SnapTrade
26
31
 
27
32
  attr_accessor :type
28
33
 
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
38
+
39
+ # This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
29
40
  attr_accessor :currencies
30
41
 
31
42
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -33,10 +44,13 @@ module SnapTrade
33
44
  {
34
45
  :'id' => :'id',
35
46
  :'symbol' => :'symbol',
47
+ :'raw_symbol' => :'raw_symbol',
36
48
  :'description' => :'description',
37
49
  :'currency' => :'currency',
38
50
  :'exchange' => :'exchange',
39
51
  :'type' => :'type',
52
+ :'figi_code' => :'figi_code',
53
+ :'figi_instrument' => :'figi_instrument',
40
54
  :'currencies' => :'currencies'
41
55
  }
42
56
  end
@@ -51,10 +65,13 @@ module SnapTrade
51
65
  {
52
66
  :'id' => :'String',
53
67
  :'symbol' => :'String',
68
+ :'raw_symbol' => :'String',
54
69
  :'description' => :'String',
55
- :'currency' => :'Currency',
56
- :'exchange' => :'USExchange',
57
- :'type' => :'SecurityType',
70
+ :'currency' => :'SymbolCurrency',
71
+ :'exchange' => :'UnderlyingSymbolExchange',
72
+ :'type' => :'UnderlyingSymbolType',
73
+ :'figi_code' => :'String',
74
+ :'figi_instrument' => :'SymbolFigiInstrument',
58
75
  :'currencies' => :'Array<Currency>'
59
76
  }
60
77
  end
@@ -63,6 +80,8 @@ module SnapTrade
63
80
  def self.openapi_nullable
64
81
  Set.new([
65
82
  :'description',
83
+ :'figi_code',
84
+ :'figi_instrument',
66
85
  ])
67
86
  end
68
87
 
@@ -89,6 +108,10 @@ module SnapTrade
89
108
  self.symbol = attributes[:'symbol']
90
109
  end
91
110
 
111
+ if attributes.key?(:'raw_symbol')
112
+ self.raw_symbol = attributes[:'raw_symbol']
113
+ end
114
+
92
115
  if attributes.key?(:'description')
93
116
  self.description = attributes[:'description']
94
117
  end
@@ -105,6 +128,14 @@ module SnapTrade
105
128
  self.type = attributes[:'type']
106
129
  end
107
130
 
131
+ if attributes.key?(:'figi_code')
132
+ self.figi_code = attributes[:'figi_code']
133
+ end
134
+
135
+ if attributes.key?(:'figi_instrument')
136
+ self.figi_instrument = attributes[:'figi_instrument']
137
+ end
138
+
108
139
  if attributes.key?(:'currencies')
109
140
  if (value = attributes[:'currencies']).is_a?(Array)
110
141
  self.currencies = value
@@ -132,10 +163,13 @@ module SnapTrade
132
163
  self.class == o.class &&
133
164
  id == o.id &&
134
165
  symbol == o.symbol &&
166
+ raw_symbol == o.raw_symbol &&
135
167
  description == o.description &&
136
168
  currency == o.currency &&
137
169
  exchange == o.exchange &&
138
170
  type == o.type &&
171
+ figi_code == o.figi_code &&
172
+ figi_instrument == o.figi_instrument &&
139
173
  currencies == o.currencies
140
174
  end
141
175
 
@@ -148,7 +182,7 @@ module SnapTrade
148
182
  # Calculates hash code according to all attributes.
149
183
  # @return [Integer] Hash code
150
184
  def hash
151
- [id, symbol, description, currency, exchange, type, currencies].hash
185
+ [id, symbol, raw_symbol, description, currency, exchange, type, figi_code, figi_instrument, currencies].hash
152
186
  end
153
187
 
154
188
  # Builds the object from hash
@@ -5,46 +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
- # Holdings with account ID
16
- class SnapTradeHoldingsAccountAccountId
14
+ # The exchange on which the security is listed and traded.
15
+ class UnderlyingSymbolExchange
17
16
  attr_accessor :id
18
17
 
19
- attr_accessor :brokerage_authorization
18
+ attr_accessor :code
20
19
 
21
- attr_accessor :portfolio_group
20
+ attr_accessor :mic_code
22
21
 
23
22
  attr_accessor :name
24
23
 
25
- attr_accessor :number
24
+ attr_accessor :timezone
26
25
 
27
- attr_accessor :institution_name
26
+ attr_accessor :start_time
28
27
 
29
- attr_accessor :meta
28
+ attr_accessor :close_time
30
29
 
31
- attr_accessor :cash_restrictions
30
+ attr_accessor :suffix
32
31
 
33
- # Time
34
- attr_accessor :created_date
32
+ attr_accessor :allows_cryptocurrency_symbols
35
33
 
36
34
  # Attribute mapping from ruby-style variable name to JSON key.
37
35
  def self.attribute_map
38
36
  {
39
37
  :'id' => :'id',
40
- :'brokerage_authorization' => :'brokerage_authorization',
41
- :'portfolio_group' => :'portfolio_group',
38
+ :'code' => :'code',
39
+ :'mic_code' => :'mic_code',
42
40
  :'name' => :'name',
43
- :'number' => :'number',
44
- :'institution_name' => :'institution_name',
45
- :'meta' => :'meta',
46
- :'cash_restrictions' => :'cash_restrictions',
47
- :'created_date' => :'created_date'
41
+ :'timezone' => :'timezone',
42
+ :'start_time' => :'start_time',
43
+ :'close_time' => :'close_time',
44
+ :'suffix' => :'suffix',
45
+ :'allows_cryptocurrency_symbols' => :'allows_cryptocurrency_symbols'
48
46
  }
49
47
  end
50
48
 
@@ -57,35 +55,42 @@ module SnapTrade
57
55
  def self.openapi_types
58
56
  {
59
57
  :'id' => :'String',
60
- :'brokerage_authorization' => :'String',
61
- :'portfolio_group' => :'String',
58
+ :'code' => :'String',
59
+ :'mic_code' => :'String',
62
60
  :'name' => :'String',
63
- :'number' => :'String',
64
- :'institution_name' => :'String',
65
- :'meta' => :'Hash<String, Object>',
66
- :'cash_restrictions' => :'Array<CashRestriction>',
67
- :'created_date' => :'String'
61
+ :'timezone' => :'String',
62
+ :'start_time' => :'String',
63
+ :'close_time' => :'String',
64
+ :'suffix' => :'String',
65
+ :'allows_cryptocurrency_symbols' => :'Boolean'
68
66
  }
69
67
  end
70
68
 
71
69
  # List of attributes with nullable: true
72
70
  def self.openapi_nullable
73
71
  Set.new([
74
- :'name',
72
+ :'suffix',
75
73
  ])
76
74
  end
77
75
 
76
+ # List of class defined in allOf (OpenAPI v3)
77
+ def self.openapi_all_of
78
+ [
79
+ :'USExchange'
80
+ ]
81
+ end
82
+
78
83
  # Initializes the object
79
84
  # @param [Hash] attributes Model attributes in the form of hash
80
85
  def initialize(attributes = {})
81
86
  if (!attributes.is_a?(Hash))
82
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::SnapTradeHoldingsAccountAccountId` initialize method"
87
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::UnderlyingSymbolExchange` initialize method"
83
88
  end
84
89
 
85
90
  # check to see if the attribute exists and convert string to symbol for hash key
86
91
  attributes = attributes.each_with_object({}) { |(k, v), h|
87
92
  if (!self.class.attribute_map.key?(k.to_sym))
88
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::SnapTradeHoldingsAccountAccountId`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
93
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::UnderlyingSymbolExchange`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
94
  end
90
95
  h[k.to_sym] = v
91
96
  }
@@ -94,40 +99,36 @@ module SnapTrade
94
99
  self.id = attributes[:'id']
95
100
  end
96
101
 
97
- if attributes.key?(:'brokerage_authorization')
98
- self.brokerage_authorization = attributes[:'brokerage_authorization']
102
+ if attributes.key?(:'code')
103
+ self.code = attributes[:'code']
99
104
  end
100
105
 
101
- if attributes.key?(:'portfolio_group')
102
- self.portfolio_group = attributes[:'portfolio_group']
106
+ if attributes.key?(:'mic_code')
107
+ self.mic_code = attributes[:'mic_code']
103
108
  end
104
109
 
105
110
  if attributes.key?(:'name')
106
111
  self.name = attributes[:'name']
107
112
  end
108
113
 
109
- if attributes.key?(:'number')
110
- self.number = attributes[:'number']
114
+ if attributes.key?(:'timezone')
115
+ self.timezone = attributes[:'timezone']
111
116
  end
112
117
 
113
- if attributes.key?(:'institution_name')
114
- self.institution_name = attributes[:'institution_name']
118
+ if attributes.key?(:'start_time')
119
+ self.start_time = attributes[:'start_time']
115
120
  end
116
121
 
117
- if attributes.key?(:'meta')
118
- if (value = attributes[:'meta']).is_a?(Hash)
119
- self.meta = value
120
- end
122
+ if attributes.key?(:'close_time')
123
+ self.close_time = attributes[:'close_time']
121
124
  end
122
125
 
123
- if attributes.key?(:'cash_restrictions')
124
- if (value = attributes[:'cash_restrictions']).is_a?(Array)
125
- self.cash_restrictions = value
126
- end
126
+ if attributes.key?(:'suffix')
127
+ self.suffix = attributes[:'suffix']
127
128
  end
128
129
 
129
- if attributes.key?(:'created_date')
130
- self.created_date = attributes[:'created_date']
130
+ if attributes.key?(:'allows_cryptocurrency_symbols')
131
+ self.allows_cryptocurrency_symbols = attributes[:'allows_cryptocurrency_symbols']
131
132
  end
132
133
  end
133
134
 
@@ -150,14 +151,14 @@ module SnapTrade
150
151
  return true if self.equal?(o)
151
152
  self.class == o.class &&
152
153
  id == o.id &&
153
- brokerage_authorization == o.brokerage_authorization &&
154
- portfolio_group == o.portfolio_group &&
154
+ code == o.code &&
155
+ mic_code == o.mic_code &&
155
156
  name == o.name &&
156
- number == o.number &&
157
- institution_name == o.institution_name &&
158
- meta == o.meta &&
159
- cash_restrictions == o.cash_restrictions &&
160
- created_date == o.created_date
157
+ timezone == o.timezone &&
158
+ start_time == o.start_time &&
159
+ close_time == o.close_time &&
160
+ suffix == o.suffix &&
161
+ allows_cryptocurrency_symbols == o.allows_cryptocurrency_symbols
161
162
  end
162
163
 
163
164
  # @see the `==` method
@@ -169,7 +170,7 @@ module SnapTrade
169
170
  # Calculates hash code according to all attributes.
170
171
  # @return [Integer] Hash code
171
172
  def hash
172
- [id, brokerage_authorization, portfolio_group, name, number, institution_name, meta, cash_restrictions, created_date].hash
173
+ [id, code, mic_code, name, timezone, start_time, close_time, suffix, allows_cryptocurrency_symbols].hash
173
174
  end
174
175
 
175
176
  # Builds the object from hash
@@ -5,36 +5,33 @@
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
- # Brokerage symbol
16
- class BrokerageSymbol
14
+ # The type of security. For example, \"Common Stock\" or \"ETF\".
15
+ class UnderlyingSymbolType
16
+ # Unique identifier for the security type within SnapTrade. This is the ID used to reference the security type in SnapTrade API calls.
17
17
  attr_accessor :id
18
18
 
19
- attr_accessor :symbol
20
-
21
- attr_accessor :brokerage_authorization
19
+ # A short code representing the security type. For example, \"cs\" for Common Stock. Here are some common values: - `ad` - ADR - `bnd` - Bond - `cs` - Common Stock - `cef` - Closed End Fund - `crypto` - Cryptocurrency - `et` - ETF - `oef` - Open Ended Fund - `ps` - Preferred Stock - `rt` - Right - `struct` - Structured Product - `ut` - Unit - `wi` - When Issued - `wt` - Warrant
20
+ attr_accessor :code
22
21
 
22
+ # A human-readable description of the security type. For example, \"Common Stock\" or \"ETF\".
23
23
  attr_accessor :description
24
24
 
25
- attr_accessor :allows_fractional_units
26
-
27
- attr_accessor :option_symbol
25
+ # This field is deprecated and should not be used. Please reach out to SnapTrade support if you have a valid usecase for this.
26
+ attr_accessor :is_supported
28
27
 
29
28
  # Attribute mapping from ruby-style variable name to JSON key.
30
29
  def self.attribute_map
31
30
  {
32
31
  :'id' => :'id',
33
- :'symbol' => :'symbol',
34
- :'brokerage_authorization' => :'brokerage_authorization',
32
+ :'code' => :'code',
35
33
  :'description' => :'description',
36
- :'allows_fractional_units' => :'allows_fractional_units',
37
- :'option_symbol' => :'option_symbol'
34
+ :'is_supported' => :'is_supported'
38
35
  }
39
36
  end
40
37
 
@@ -47,34 +44,36 @@ module SnapTrade
47
44
  def self.openapi_types
48
45
  {
49
46
  :'id' => :'String',
50
- :'symbol' => :'BrokerageSymbolSymbol',
51
- :'brokerage_authorization' => :'BrokerageAuthorization',
47
+ :'code' => :'String',
52
48
  :'description' => :'String',
53
- :'allows_fractional_units' => :'Boolean',
54
- :'option_symbol' => :'BrokerageSymbolOptionSymbol'
49
+ :'is_supported' => :'Boolean'
55
50
  }
56
51
  end
57
52
 
58
53
  # List of attributes with nullable: true
59
54
  def self.openapi_nullable
60
55
  Set.new([
61
- :'symbol',
62
- :'allows_fractional_units',
63
- :'option_symbol'
64
56
  ])
65
57
  end
66
58
 
59
+ # List of class defined in allOf (OpenAPI v3)
60
+ def self.openapi_all_of
61
+ [
62
+ :'SecurityType'
63
+ ]
64
+ end
65
+
67
66
  # Initializes the object
68
67
  # @param [Hash] attributes Model attributes in the form of hash
69
68
  def initialize(attributes = {})
70
69
  if (!attributes.is_a?(Hash))
71
- fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::BrokerageSymbol` initialize method"
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::UnderlyingSymbolType` initialize method"
72
71
  end
73
72
 
74
73
  # check to see if the attribute exists and convert string to symbol for hash key
75
74
  attributes = attributes.each_with_object({}) { |(k, v), h|
76
75
  if (!self.class.attribute_map.key?(k.to_sym))
77
- fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::BrokerageSymbol`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::UnderlyingSymbolType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
78
77
  end
79
78
  h[k.to_sym] = v
80
79
  }
@@ -83,24 +82,16 @@ module SnapTrade
83
82
  self.id = attributes[:'id']
84
83
  end
85
84
 
86
- if attributes.key?(:'symbol')
87
- self.symbol = attributes[:'symbol']
88
- end
89
-
90
- if attributes.key?(:'brokerage_authorization')
91
- self.brokerage_authorization = attributes[:'brokerage_authorization']
85
+ if attributes.key?(:'code')
86
+ self.code = attributes[:'code']
92
87
  end
93
88
 
94
89
  if attributes.key?(:'description')
95
90
  self.description = attributes[:'description']
96
91
  end
97
92
 
98
- if attributes.key?(:'allows_fractional_units')
99
- self.allows_fractional_units = attributes[:'allows_fractional_units']
100
- end
101
-
102
- if attributes.key?(:'option_symbol')
103
- self.option_symbol = attributes[:'option_symbol']
93
+ if attributes.key?(:'is_supported')
94
+ self.is_supported = attributes[:'is_supported']
104
95
  end
105
96
  end
106
97
 
@@ -123,11 +114,9 @@ module SnapTrade
123
114
  return true if self.equal?(o)
124
115
  self.class == o.class &&
125
116
  id == o.id &&
126
- symbol == o.symbol &&
127
- brokerage_authorization == o.brokerage_authorization &&
117
+ code == o.code &&
128
118
  description == o.description &&
129
- allows_fractional_units == o.allows_fractional_units &&
130
- option_symbol == o.option_symbol
119
+ is_supported == o.is_supported
131
120
  end
132
121
 
133
122
  # @see the `==` method
@@ -139,7 +128,7 @@ module SnapTrade
139
128
  # Calculates hash code according to all attributes.
140
129
  # @return [Integer] Hash code
141
130
  def hash
142
- [id, symbol, brokerage_authorization, description, allows_fractional_units, option_symbol].hash
131
+ [id, code, description, is_supported].hash
143
132
  end
144
133
 
145
134
  # Builds the object from hash