snaptrade 1.17.10 → 2.0.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +31 -28
  4. data/README.md +1995 -208
  5. data/lib/snaptrade/api/account_information_api.rb +535 -71
  6. data/lib/snaptrade/api/api_status_api.rb +6 -3
  7. data/lib/snaptrade/api/authentication_api.rb +180 -140
  8. data/lib/snaptrade/api/connections_api.rb +401 -41
  9. data/lib/snaptrade/api/options_api.rb +82 -39
  10. data/lib/snaptrade/api/reference_data_api.rb +181 -101
  11. data/lib/snaptrade/api/trading_api.rb +200 -228
  12. data/lib/snaptrade/api/transactions_and_reporting_api.rb +48 -33
  13. data/lib/snaptrade/api_client.rb +24 -14
  14. data/lib/snaptrade/api_error.rb +0 -1
  15. data/lib/snaptrade/configuration.rb +11 -29
  16. data/lib/snaptrade/models/account.rb +84 -29
  17. data/lib/snaptrade/models/account_balance.rb +1 -2
  18. data/lib/snaptrade/models/account_balance_total.rb +3 -9
  19. data/lib/snaptrade/models/account_holdings.rb +0 -1
  20. data/lib/snaptrade/models/account_holdings_account.rb +19 -4
  21. data/lib/snaptrade/models/account_order_record.rb +52 -33
  22. data/lib/snaptrade/models/{brokerage_symbol_option_symbol.rb → account_order_record_option_symbol.rb} +15 -27
  23. data/lib/snaptrade/models/account_order_record_status.rb +0 -1
  24. data/lib/snaptrade/models/{brokerage_symbol_symbol.rb → account_order_record_universal_symbol.rb} +33 -7
  25. data/lib/snaptrade/models/account_simple.rb +4 -2
  26. data/lib/snaptrade/models/account_sync_status.rb +14 -6
  27. data/lib/snaptrade/models/account_universal_activity.rb +371 -0
  28. data/lib/snaptrade/models/account_universal_activity_currency.rb +245 -0
  29. data/lib/snaptrade/models/{target_asset.rb → account_universal_activity_option_symbol.rb} +83 -59
  30. data/lib/snaptrade/models/{universal_symbol_ticker.rb → account_universal_activity_symbol.rb} +37 -16
  31. data/lib/snaptrade/models/{trade_action.rb → action_strict.rb} +3 -4
  32. data/lib/snaptrade/models/{trade_execution_status_action.rb → action_strict_with_options.rb} +8 -5
  33. data/lib/snaptrade/models/auth_type.rb +0 -1
  34. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +0 -1
  35. data/lib/snaptrade/models/balance.rb +19 -8
  36. data/lib/snaptrade/models/{model_portfolio.rb → balance_currency.rb} +27 -19
  37. data/lib/snaptrade/models/brokerage.rb +57 -50
  38. data/lib/snaptrade/models/brokerage_authorization.rb +24 -21
  39. data/lib/snaptrade/models/{model_asset_class.rb → brokerage_authorization_disabled_confirmation.rb} +12 -20
  40. data/lib/snaptrade/models/{jwt.rb → brokerage_authorization_refresh_confirmation.rb} +12 -12
  41. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +1 -2
  42. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +2 -3
  43. data/lib/snaptrade/models/brokerage_type.rb +1 -2
  44. data/lib/snaptrade/models/connection_portal_version.rb +3 -3
  45. data/lib/snaptrade/models/connection_type.rb +0 -1
  46. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +1 -2
  47. data/lib/snaptrade/models/currency.rb +4 -2
  48. data/lib/snaptrade/models/delete_user_response.rb +13 -5
  49. data/lib/snaptrade/models/dividend_at_date.rb +0 -1
  50. data/lib/snaptrade/models/encrypted_response.rb +0 -1
  51. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +0 -1
  52. data/lib/snaptrade/models/exchange.rb +9 -2
  53. data/lib/snaptrade/models/exchange_rate_pairs.rb +0 -1
  54. data/lib/snaptrade/models/figi_instrument.rb +230 -0
  55. data/lib/snaptrade/models/holdings_status.rb +229 -0
  56. data/lib/snaptrade/models/login_redirect_uri.rb +3 -3
  57. data/lib/snaptrade/models/manual_trade.rb +10 -6
  58. data/lib/snaptrade/models/manual_trade_and_impact.rb +2 -3
  59. data/lib/snaptrade/models/manual_trade_balance.rb +3 -4
  60. data/lib/snaptrade/models/manual_trade_form.rb +56 -28
  61. data/lib/snaptrade/models/{model_asset_class_target.rb → manual_trade_form_notional_value.rb} +12 -15
  62. data/lib/snaptrade/models/{trade.rb → manual_trade_form_with_options.rb} +126 -43
  63. data/lib/snaptrade/models/{snap_trade_api_disclaimer_accept_status.rb → manual_trade_form_with_options_stop_loss.rb} +24 -18
  64. data/lib/snaptrade/models/manual_trade_form_with_options_take_profit.rb +223 -0
  65. data/lib/snaptrade/models/{trade_impact.rb → manual_trade_impact.rb} +20 -17
  66. data/lib/snaptrade/models/manual_trade_symbol.rb +19 -15
  67. data/lib/snaptrade/models/model400_failed_request_response.rb +0 -1
  68. data/lib/snaptrade/models/model401_failed_request_response.rb +0 -1
  69. data/lib/snaptrade/models/model402_brokerage_auth_already_disabled_exception.rb +228 -0
  70. data/lib/snaptrade/models/{amount.rb → model402_brokerage_auth_disabled_response.rb} +19 -18
  71. data/lib/snaptrade/models/model403_failed_request_response.rb +0 -1
  72. data/lib/snaptrade/models/model403_feature_not_enabled_response.rb +228 -0
  73. data/lib/snaptrade/models/model404_failed_request_response.rb +0 -1
  74. data/lib/snaptrade/models/{calculated_trade.rb → model425_failed_request_response.rb} +19 -20
  75. data/lib/snaptrade/models/model500_unexpected_exception_response.rb +0 -1
  76. data/lib/snaptrade/models/monthly_dividends.rb +1 -2
  77. data/lib/snaptrade/models/net_contributions.rb +1 -2
  78. data/lib/snaptrade/models/net_dividend.rb +0 -1
  79. data/lib/snaptrade/models/notional_value.rb +103 -0
  80. data/lib/snaptrade/models/{options_holdings.rb → option_brokerage_symbol.rb} +19 -50
  81. data/lib/snaptrade/models/option_chain_inner.rb +0 -1
  82. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +0 -1
  83. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +0 -1
  84. data/lib/snaptrade/models/option_leg.rb +0 -1
  85. data/lib/snaptrade/models/option_leg_action.rb +0 -1
  86. data/lib/snaptrade/models/option_strategy.rb +0 -1
  87. data/lib/snaptrade/models/option_strategy_legs_inner.rb +0 -1
  88. data/lib/snaptrade/models/option_type.rb +0 -1
  89. data/lib/snaptrade/models/options_get_option_strategy_request.rb +0 -1
  90. data/lib/snaptrade/models/options_place_option_strategy_request.rb +4 -3
  91. data/lib/snaptrade/models/options_position.rb +20 -20
  92. data/lib/snaptrade/models/options_position_currency.rb +4 -1
  93. data/lib/snaptrade/models/options_symbol.rb +12 -25
  94. data/lib/snaptrade/models/{model_type.rb → order_class.rb} +6 -8
  95. data/lib/snaptrade/models/{order_type.rb → order_type_strict.rb} +5 -6
  96. data/lib/snaptrade/models/paginated_universal_activity.rb +228 -0
  97. data/lib/snaptrade/models/pagination_details.rb +228 -0
  98. data/lib/snaptrade/models/partner_data.rb +49 -50
  99. data/lib/snaptrade/models/past_value.rb +1 -2
  100. data/lib/snaptrade/models/performance_custom.rb +0 -1
  101. data/lib/snaptrade/models/position.rb +21 -20
  102. data/lib/snaptrade/models/position_symbol.rb +16 -12
  103. data/lib/snaptrade/models/{portfolio_group_position.rb → rate_of_return_object.rb} +26 -26
  104. data/lib/snaptrade/models/{brokerage_authorization_type.rb → rate_of_return_response.rb} +14 -11
  105. data/lib/snaptrade/models/{strategy_order_place.rb → recent_orders_response.rb} +7 -16
  106. data/lib/snaptrade/models/security_type.rb +5 -2
  107. data/lib/snaptrade/models/session_event.rb +1 -2
  108. data/lib/snaptrade/models/session_event_type.rb +11 -4
  109. data/lib/snaptrade/models/snap_trade_holdings_account.rb +0 -1
  110. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +3 -2
  111. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +10 -5
  112. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +1 -2
  113. data/lib/snaptrade/models/status.rb +0 -1
  114. data/lib/snaptrade/models/stop_loss.rb +227 -0
  115. data/lib/snaptrade/models/strategy_order_record.rb +5 -3
  116. data/lib/snaptrade/models/strategy_order_record_status.rb +0 -1
  117. data/lib/snaptrade/models/strategy_quotes.rb +0 -1
  118. data/lib/snaptrade/models/strategy_quotes_greek.rb +0 -1
  119. data/lib/snaptrade/models/strategy_type.rb +0 -1
  120. data/lib/snaptrade/models/sub_period_return_rate.rb +2 -3
  121. data/lib/snaptrade/models/symbol.rb +39 -14
  122. data/lib/snaptrade/models/{portfolio_group.rb → symbol_currency.rb} +24 -5
  123. data/lib/snaptrade/models/symbol_exchange.rb +296 -0
  124. data/lib/snaptrade/models/{model_portfolio_security.rb → symbol_figi_instrument.rb} +27 -41
  125. data/lib/snaptrade/models/symbol_query.rb +1 -2
  126. data/lib/snaptrade/models/symbols_quotes_inner.rb +15 -11
  127. data/lib/snaptrade/models/{excluded_asset.rb → take_profit.rb} +11 -12
  128. data/lib/snaptrade/models/{time_in_force.rb → time_in_force_strict.rb} +5 -6
  129. data/lib/snaptrade/models/{brokerage_authorization_type_type.rb → timeframe.rb} +9 -7
  130. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +1 -1
  131. data/lib/snaptrade/models/transactions_status.rb +19 -8
  132. data/lib/snaptrade/models/type.rb +3 -4
  133. data/lib/snaptrade/models/underlying_symbol.rb +40 -6
  134. data/lib/snaptrade/models/{snap_trade_holdings_account_account_id.rb → underlying_symbol_exchange.rb} +55 -54
  135. data/lib/snaptrade/models/{brokerage_symbol.rb → underlying_symbol_type.rb} +28 -39
  136. data/lib/snaptrade/models/universal_activity.rb +91 -82
  137. data/lib/snaptrade/models/universal_symbol.rb +30 -5
  138. data/lib/snaptrade/models/us_exchange.rb +0 -1
  139. data/lib/snaptrade/models/user_i_dand_secret.rb +2 -4
  140. data/lib/snaptrade/models/validated_trade_body.rb +218 -0
  141. data/lib/snaptrade/version.rb +1 -2
  142. data/lib/snaptrade.rb +90 -66
  143. data/snaptrade.gemspec +0 -1
  144. data/spec/api/account_information_api_spec.rb +66 -13
  145. data/spec/api/api_status_api_spec.rb +0 -1
  146. data/spec/api/authentication_api_spec.rb +20 -20
  147. data/spec/api/connections_api_spec.rb +54 -9
  148. data/spec/api/options_api_spec.rb +11 -7
  149. data/spec/api/reference_data_api_spec.rb +24 -16
  150. data/spec/api/trading_api_spec.rb +17 -25
  151. data/spec/api/transactions_and_reporting_api_spec.rb +7 -8
  152. data/spec/api_client_spec.rb +0 -1
  153. data/spec/configuration_spec.rb +0 -1
  154. data/spec/models/account_balance_spec.rb +0 -1
  155. data/spec/models/account_balance_total_spec.rb +0 -1
  156. data/spec/models/account_holdings_account_spec.rb +6 -1
  157. data/spec/models/account_holdings_spec.rb +0 -1
  158. data/spec/models/{strategy_impact_legs_inner_spec.rb → account_order_record_option_symbol_spec.rb} +13 -14
  159. data/spec/models/account_order_record_spec.rb +12 -7
  160. data/spec/models/account_order_record_status_spec.rb +0 -1
  161. data/spec/models/{brokerage_symbol_symbol_spec.rb → account_order_record_universal_symbol_spec.rb} +18 -7
  162. data/spec/models/account_simple_spec.rb +0 -1
  163. data/spec/models/account_spec.rb +14 -9
  164. data/spec/models/account_sync_status_spec.rb +6 -1
  165. data/spec/models/account_universal_activity_currency_spec.rb +41 -0
  166. data/spec/models/{brokerage_symbol_option_symbol_spec.rb → account_universal_activity_option_symbol_spec.rb} +6 -19
  167. data/spec/models/{portfolio_group_info_spec.rb → account_universal_activity_spec.rb} +47 -18
  168. data/spec/models/{universal_symbol_ticker_spec.rb → account_universal_activity_symbol_spec.rb} +13 -8
  169. data/spec/models/action_strict_spec.rb +23 -0
  170. data/spec/models/action_strict_with_options_spec.rb +23 -0
  171. data/spec/models/auth_type_spec.rb +0 -1
  172. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +0 -1
  173. data/spec/models/{model_portfolio_spec.rb → balance_currency_spec.rb} +8 -9
  174. data/spec/models/balance_spec.rb +6 -1
  175. data/spec/models/brokerage_authorization_disabled_confirmation_spec.rb +29 -0
  176. data/spec/models/{brokerage_authorization_type_spec.rb → brokerage_authorization_refresh_confirmation_spec.rb} +7 -8
  177. data/spec/models/brokerage_authorization_spec.rb +6 -7
  178. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +0 -1
  179. data/spec/models/brokerage_authorization_type_read_only_spec.rb +0 -1
  180. data/spec/models/brokerage_spec.rb +12 -19
  181. data/spec/models/brokerage_type_spec.rb +0 -1
  182. data/spec/models/connection_portal_version_spec.rb +0 -1
  183. data/spec/models/connection_type_spec.rb +0 -1
  184. data/spec/models/connections_session_events200_response_inner_spec.rb +0 -1
  185. data/spec/models/currency_spec.rb +0 -1
  186. data/spec/models/delete_user_response_spec.rb +6 -1
  187. data/spec/models/dividend_at_date_spec.rb +0 -1
  188. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +0 -1
  189. data/spec/models/encrypted_response_spec.rb +0 -1
  190. data/spec/models/exchange_rate_pairs_spec.rb +0 -1
  191. data/spec/models/exchange_spec.rb +0 -1
  192. data/spec/models/{portfolio_group_spec.rb → figi_instrument_spec.rb} +8 -9
  193. data/spec/models/{calculated_trade_spec.rb → holdings_status_spec.rb} +8 -9
  194. data/spec/models/login_redirect_uri_spec.rb +0 -1
  195. data/spec/models/manual_trade_and_impact_spec.rb +0 -1
  196. data/spec/models/manual_trade_balance_spec.rb +0 -1
  197. data/spec/models/manual_trade_form_notional_value_spec.rb +23 -0
  198. data/spec/models/manual_trade_form_spec.rb +6 -7
  199. data/spec/models/{strategy_impact_spec.rb → manual_trade_form_with_options_spec.rb} +29 -18
  200. data/spec/models/{snap_trade_api_disclaimer_accept_status_spec.rb → manual_trade_form_with_options_stop_loss_spec.rb} +8 -9
  201. data/spec/models/manual_trade_form_with_options_take_profit_spec.rb +29 -0
  202. data/spec/models/{trade_impact_spec.rb → manual_trade_impact_spec.rb} +7 -8
  203. data/spec/models/manual_trade_spec.rb +0 -1
  204. data/spec/models/manual_trade_symbol_spec.rb +6 -7
  205. data/spec/models/model400_failed_request_response_spec.rb +0 -1
  206. data/spec/models/model401_failed_request_response_spec.rb +0 -1
  207. data/spec/models/model402_brokerage_auth_already_disabled_exception_spec.rb +35 -0
  208. data/spec/models/model402_brokerage_auth_disabled_response_spec.rb +35 -0
  209. data/spec/models/model403_failed_request_response_spec.rb +0 -1
  210. data/spec/models/{model_asset_class_details_spec.rb → model403_feature_not_enabled_response_spec.rb} +8 -9
  211. data/spec/models/model404_failed_request_response_spec.rb +0 -1
  212. data/spec/models/model425_failed_request_response_spec.rb +35 -0
  213. data/spec/models/model500_unexpected_exception_response_spec.rb +0 -1
  214. data/spec/models/monthly_dividends_spec.rb +0 -1
  215. data/spec/models/net_contributions_spec.rb +0 -1
  216. data/spec/models/net_dividend_spec.rb +0 -1
  217. data/spec/models/notional_value_spec.rb +26 -0
  218. data/spec/models/{model_portfolio_details_spec.rb → option_brokerage_symbol_spec.rb} +9 -10
  219. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +0 -1
  220. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +0 -1
  221. data/spec/models/option_chain_inner_spec.rb +0 -1
  222. data/spec/models/option_leg_action_spec.rb +0 -1
  223. data/spec/models/option_leg_spec.rb +0 -1
  224. data/spec/models/option_strategy_legs_inner_spec.rb +0 -1
  225. data/spec/models/option_strategy_spec.rb +0 -1
  226. data/spec/models/option_type_spec.rb +0 -1
  227. data/spec/models/options_get_option_strategy_request_spec.rb +0 -1
  228. data/spec/models/options_place_option_strategy_request_spec.rb +0 -1
  229. data/spec/models/options_position_currency_spec.rb +0 -1
  230. data/spec/models/options_position_spec.rb +2 -3
  231. data/spec/models/options_symbol_spec.rb +0 -13
  232. data/spec/models/order_class_spec.rb +23 -0
  233. data/spec/models/order_type_strict_spec.rb +23 -0
  234. data/spec/models/{model_portfolio_asset_class_spec.rb → paginated_universal_activity_spec.rb} +8 -9
  235. data/spec/models/{model_asset_class_spec.rb → pagination_details_spec.rb} +8 -9
  236. data/spec/models/partner_data_spec.rb +12 -13
  237. data/spec/models/past_value_spec.rb +0 -1
  238. data/spec/models/performance_custom_spec.rb +0 -1
  239. data/spec/models/position_spec.rb +2 -3
  240. data/spec/models/position_symbol_spec.rb +3 -4
  241. data/spec/models/{portfolio_group_position_spec.rb → rate_of_return_object_spec.rb} +9 -10
  242. data/spec/models/rate_of_return_response_spec.rb +29 -0
  243. data/spec/models/recent_orders_response_spec.rb +29 -0
  244. data/spec/models/security_type_spec.rb +0 -1
  245. data/spec/models/session_event_spec.rb +0 -1
  246. data/spec/models/session_event_type_spec.rb +0 -1
  247. data/spec/models/snap_trade_holdings_account_spec.rb +0 -1
  248. data/spec/models/snap_trade_holdings_total_value_spec.rb +0 -1
  249. data/spec/models/snap_trade_login_user_request_body_spec.rb +0 -1
  250. data/spec/models/snap_trade_register_user_request_body_spec.rb +0 -1
  251. data/spec/models/status_spec.rb +0 -1
  252. data/spec/models/{amount_spec.rb → stop_loss_spec.rb} +8 -9
  253. data/spec/models/strategy_order_record_spec.rb +0 -1
  254. data/spec/models/strategy_order_record_status_spec.rb +0 -1
  255. data/spec/models/strategy_quotes_greek_spec.rb +0 -1
  256. data/spec/models/strategy_quotes_spec.rb +0 -1
  257. data/spec/models/strategy_type_spec.rb +0 -1
  258. data/spec/models/sub_period_return_rate_spec.rb +0 -1
  259. data/spec/models/symbol_currency_spec.rb +41 -0
  260. data/spec/models/{trade_spec.rb → symbol_exchange_spec.rb} +13 -14
  261. data/spec/models/symbol_figi_instrument_spec.rb +35 -0
  262. data/spec/models/symbol_query_spec.rb +0 -1
  263. data/spec/models/symbol_spec.rb +13 -2
  264. data/spec/models/symbols_quotes_inner_spec.rb +3 -4
  265. data/spec/models/{jwt_spec.rb → take_profit_spec.rb} +7 -8
  266. data/spec/models/time_in_force_strict_spec.rb +23 -0
  267. data/spec/models/timeframe_spec.rb +23 -0
  268. data/spec/models/trading_cancel_user_account_order_request_spec.rb +0 -1
  269. data/spec/models/transactions_status_spec.rb +6 -1
  270. data/spec/models/type_spec.rb +0 -1
  271. data/spec/models/{snap_trade_holdings_account_account_id_spec.rb → underlying_symbol_exchange_spec.rb} +13 -14
  272. data/spec/models/underlying_symbol_spec.rb +18 -1
  273. data/spec/models/{cash_restriction_spec.rb → underlying_symbol_type_spec.rb} +9 -16
  274. data/spec/models/universal_activity_spec.rb +15 -16
  275. data/spec/models/universal_symbol_spec.rb +12 -1
  276. data/spec/models/us_exchange_spec.rb +0 -1
  277. data/spec/models/user_i_dand_secret_spec.rb +0 -1
  278. data/spec/models/{excluded_asset_spec.rb → validated_trade_body_spec.rb} +7 -8
  279. data/spec/spec_helper.rb +0 -1
  280. metadata +203 -360
  281. data/docs/APIStatusApi.md +0 -57
  282. data/docs/Account.md +0 -38
  283. data/docs/AccountBalance.md +0 -18
  284. data/docs/AccountBalanceTotal.md +0 -20
  285. data/docs/AccountHoldings.md +0 -24
  286. data/docs/AccountHoldingsAccount.md +0 -26
  287. data/docs/AccountInformationApi.md +0 -544
  288. data/docs/AccountOrderRecord.md +0 -52
  289. data/docs/AccountOrderRecordStatus.md +0 -15
  290. data/docs/AccountSimple.md +0 -24
  291. data/docs/AccountSyncStatus.md +0 -18
  292. data/docs/Action.md +0 -15
  293. data/docs/Amount.md +0 -20
  294. data/docs/AuthType.md +0 -15
  295. data/docs/AuthenticationApi.md +0 -320
  296. data/docs/AuthenticationLoginSnapTradeUser200Response.md +0 -49
  297. data/docs/Balance.md +0 -20
  298. data/docs/Brokerage.md +0 -52
  299. data/docs/BrokerageAuthorization.md +0 -34
  300. data/docs/BrokerageAuthorizationType.md +0 -18
  301. data/docs/BrokerageAuthorizationTypeReadOnly.md +0 -24
  302. data/docs/BrokerageAuthorizationTypeReadOnlyBrokerage.md +0 -22
  303. data/docs/BrokerageAuthorizationTypeReadOnlyType.md +0 -15
  304. data/docs/BrokerageAuthorizationTypeType.md +0 -15
  305. data/docs/BrokerageSymbol.md +0 -28
  306. data/docs/BrokerageSymbolOptionSymbol.md +0 -34
  307. data/docs/BrokerageSymbolSymbol.md +0 -32
  308. data/docs/BrokerageType.md +0 -20
  309. data/docs/CalculatedTrade.md +0 -20
  310. data/docs/CashRestriction.md +0 -26
  311. data/docs/ConnectionPortalVersion.md +0 -15
  312. data/docs/ConnectionType.md +0 -15
  313. data/docs/ConnectionsApi.md +0 -265
  314. data/docs/ConnectionsSessionEvents200ResponseInner.md +0 -30
  315. data/docs/Currency.md +0 -22
  316. data/docs/DeleteUserResponse.md +0 -20
  317. data/docs/DividendAtDate.md +0 -22
  318. data/docs/EncryptedResponse.md +0 -20
  319. data/docs/EncryptedResponseEncryptedMessageData.md +0 -22
  320. data/docs/ErrorLogsApi.md +0 -68
  321. data/docs/Exchange.md +0 -32
  322. data/docs/ExchangeRatePairs.md +0 -22
  323. data/docs/ExcludedAsset.md +0 -18
  324. data/docs/JWT.md +0 -18
  325. data/docs/LoginRedirectURI.md +0 -20
  326. data/docs/ManualTrade.md +0 -32
  327. data/docs/ManualTradeAndImpact.md +0 -22
  328. data/docs/ManualTradeBalance.md +0 -22
  329. data/docs/ManualTradeForm.md +0 -34
  330. data/docs/ManualTradeSymbol.md +0 -28
  331. data/docs/Model400FailedRequestResponse.md +0 -20
  332. data/docs/Model401FailedRequestResponse.md +0 -20
  333. data/docs/Model403FailedRequestResponse.md +0 -20
  334. data/docs/Model404FailedRequestResponse.md +0 -20
  335. data/docs/Model500UnexpectedExceptionResponse.md +0 -22
  336. data/docs/ModelAssetClass.md +0 -20
  337. data/docs/ModelAssetClassDetails.md +0 -20
  338. data/docs/ModelAssetClassTarget.md +0 -18
  339. data/docs/ModelPortfolio.md +0 -22
  340. data/docs/ModelPortfolioAssetClass.md +0 -20
  341. data/docs/ModelPortfolioDetails.md +0 -22
  342. data/docs/ModelPortfolioSecurity.md +0 -20
  343. data/docs/ModelType.md +0 -15
  344. data/docs/MonthlyDividends.md +0 -20
  345. data/docs/NetContributions.md +0 -22
  346. data/docs/NetDividend.md +0 -22
  347. data/docs/OptionChainInner.md +0 -26
  348. data/docs/OptionChainInnerChainPerRootInner.md +0 -22
  349. data/docs/OptionChainInnerChainPerRootInnerChainPerStrikePriceInner.md +0 -22
  350. data/docs/OptionLeg.md +0 -22
  351. data/docs/OptionLegAction.md +0 -15
  352. data/docs/OptionStrategy.md +0 -26
  353. data/docs/OptionStrategyLegsInner.md +0 -24
  354. data/docs/OptionType.md +0 -15
  355. data/docs/OptionsApi.md +0 -390
  356. data/docs/OptionsGetOptionStrategyRequest.md +0 -22
  357. data/docs/OptionsHoldings.md +0 -28
  358. data/docs/OptionsPlaceOptionStrategyRequest.md +0 -22
  359. data/docs/OptionsPosition.md +0 -26
  360. data/docs/OptionsPositionCurrency.md +0 -22
  361. data/docs/OptionsSymbol.md +0 -34
  362. data/docs/OrderType.md +0 -15
  363. data/docs/PartnerData.md +0 -40
  364. data/docs/PastValue.md +0 -22
  365. data/docs/PerformanceCustom.md +0 -54
  366. data/docs/PortfolioGroup.md +0 -20
  367. data/docs/PortfolioGroupInfo.md +0 -38
  368. data/docs/PortfolioGroupPosition.md +0 -22
  369. data/docs/PortfolioGroupSettings.md +0 -26
  370. data/docs/Position.md +0 -28
  371. data/docs/PositionSymbol.md +0 -28
  372. data/docs/RedirectTokenandPin.md +0 -20
  373. data/docs/ReferenceDataApi.md +0 -597
  374. data/docs/SecurityType.md +0 -24
  375. data/docs/SessionEvent.md +0 -30
  376. data/docs/SessionEventType.md +0 -15
  377. data/docs/SnapTradeAPIDisclaimerAcceptStatus.md +0 -20
  378. data/docs/SnapTradeHoldingsAccount.md +0 -32
  379. data/docs/SnapTradeHoldingsAccountAccountId.md +0 -34
  380. data/docs/SnapTradeHoldingsTotalValue.md +0 -20
  381. data/docs/SnapTradeLoginUserRequestBody.md +0 -28
  382. data/docs/SnapTradeRegisterUserRequestBody.md +0 -18
  383. data/docs/State.md +0 -15
  384. data/docs/Status.md +0 -22
  385. data/docs/StrategyImpact.md +0 -38
  386. data/docs/StrategyImpactLegsInner.md +0 -30
  387. data/docs/StrategyOrderPlace.md +0 -20
  388. data/docs/StrategyOrderPlaceOrdersInner.md +0 -102
  389. data/docs/StrategyOrderPlaceOrdersInnerLegsInner.md +0 -30
  390. data/docs/StrategyOrderRecord.md +0 -38
  391. data/docs/StrategyOrderRecordStatus.md +0 -15
  392. data/docs/StrategyQuotes.md +0 -28
  393. data/docs/StrategyQuotesGreek.md +0 -26
  394. data/docs/StrategyType.md +0 -15
  395. data/docs/SubPeriodReturnRate.md +0 -22
  396. data/docs/Symbol.md +0 -30
  397. data/docs/SymbolQuery.md +0 -18
  398. data/docs/SymbolsQuotesInner.md +0 -28
  399. data/docs/TargetAsset.md +0 -28
  400. data/docs/TimeInForce.md +0 -15
  401. data/docs/Trade.md +0 -32
  402. data/docs/TradeAction.md +0 -15
  403. data/docs/TradeExecutionStatus.md +0 -34
  404. data/docs/TradeExecutionStatusAction.md +0 -15
  405. data/docs/TradeImpact.md +0 -26
  406. data/docs/TradingApi.md +0 -486
  407. data/docs/TradingCancelUserAccountOrderRequest.md +0 -18
  408. data/docs/TradingPlaceOCOOrderRequest.md +0 -20
  409. data/docs/TransactionsAndReportingApi.md +0 -183
  410. data/docs/TransactionsStatus.md +0 -20
  411. data/docs/Type.md +0 -15
  412. data/docs/USExchange.md +0 -34
  413. data/docs/UnderlyingSymbol.md +0 -30
  414. data/docs/UniversalActivity.md +0 -50
  415. data/docs/UniversalSymbol.md +0 -32
  416. data/docs/UniversalSymbolTicker.md +0 -32
  417. data/docs/UserErrorLog.md +0 -28
  418. data/docs/UserIDandSecret.md +0 -20
  419. data/docs/UserSettings.md +0 -36
  420. data/lib/snaptrade/api/error_logs_api.rb +0 -110
  421. data/lib/snaptrade/models/action.rb +0 -38
  422. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +0 -38
  423. data/lib/snaptrade/models/cash_restriction.rb +0 -254
  424. data/lib/snaptrade/models/model_asset_class_details.rb +0 -228
  425. data/lib/snaptrade/models/model_portfolio_asset_class.rb +0 -250
  426. data/lib/snaptrade/models/model_portfolio_details.rb +0 -239
  427. data/lib/snaptrade/models/portfolio_group_info.rb +0 -326
  428. data/lib/snaptrade/models/portfolio_group_settings.rb +0 -277
  429. data/lib/snaptrade/models/redirect_tokenand_pin.rb +0 -227
  430. data/lib/snaptrade/models/state.rb +0 -41
  431. data/lib/snaptrade/models/strategy_impact.rb +0 -310
  432. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +0 -271
  433. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +0 -597
  434. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +0 -271
  435. data/lib/snaptrade/models/trade_execution_status.rb +0 -296
  436. data/lib/snaptrade/models/trading_place_oco_order_request.rb +0 -230
  437. data/lib/snaptrade/models/user_error_log.rb +0 -263
  438. data/lib/snaptrade/models/user_settings.rb +0 -299
  439. data/spec/api/error_logs_api_spec.rb +0 -43
  440. data/spec/models/action_spec.rb +0 -24
  441. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +0 -24
  442. data/spec/models/brokerage_authorization_type_type_spec.rb +0 -24
  443. data/spec/models/brokerage_symbol_spec.rb +0 -60
  444. data/spec/models/model_asset_class_target_spec.rb +0 -30
  445. data/spec/models/model_portfolio_security_spec.rb +0 -36
  446. data/spec/models/model_type_spec.rb +0 -24
  447. data/spec/models/options_holdings_spec.rb +0 -60
  448. data/spec/models/order_type_spec.rb +0 -24
  449. data/spec/models/portfolio_group_settings_spec.rb +0 -54
  450. data/spec/models/redirect_tokenand_pin_spec.rb +0 -36
  451. data/spec/models/state_spec.rb +0 -24
  452. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +0 -66
  453. data/spec/models/strategy_order_place_orders_inner_spec.rb +0 -282
  454. data/spec/models/strategy_order_place_spec.rb +0 -36
  455. data/spec/models/target_asset_spec.rb +0 -60
  456. data/spec/models/time_in_force_spec.rb +0 -24
  457. data/spec/models/trade_action_spec.rb +0 -24
  458. data/spec/models/trade_execution_status_action_spec.rb +0 -24
  459. data/spec/models/trade_execution_status_spec.rb +0 -78
  460. data/spec/models/trading_place_oco_order_request_spec.rb +0 -36
  461. data/spec/models/user_error_log_spec.rb +0 -60
  462. data/spec/models/user_settings_spec.rb +0 -84
@@ -5,7 +5,6 @@
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: api@snaptrade.com
8
-
9
8
  =end
10
9
 
11
10
  require 'cgi'
@@ -19,7 +18,9 @@ module SnapTrade
19
18
  end
20
19
 
21
20
  # Get API Status
21
+ #
22
22
  # Check whether the API is operational and verify timestamps.
23
+ #
23
24
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
24
25
  def check(extra: {})
25
26
  data, _status_code, _headers = check_with_http_info_impl(extra)
@@ -27,7 +28,9 @@ module SnapTrade
27
28
  end
28
29
 
29
30
  # Get API Status
31
+ #
30
32
  # Check whether the API is operational and verify timestamps.
33
+ #
31
34
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
32
35
  def check_with_http_info(extra: {})
33
36
  check_with_http_info_impl(extra)
@@ -37,7 +40,7 @@ module SnapTrade
37
40
  # Check whether the API is operational and verify timestamps.
38
41
  # @param [Hash] opts the optional parameters
39
42
  # @return [Status]
40
- def check_impl(opts = {})
43
+ private def check_impl(opts = {})
41
44
  data, _status_code, _headers = check_with_http_info(opts)
42
45
  data
43
46
  end
@@ -46,7 +49,7 @@ module SnapTrade
46
49
  # Check whether the API is operational and verify timestamps.
47
50
  # @param [Hash] opts the optional parameters
48
51
  # @return [Array<(Status, Integer, Hash)>] Status data, response status code and response headers
49
- def check_with_http_info_impl(opts = {})
52
+ private def check_with_http_info_impl(opts = {})
50
53
  if @api_client.config.debugging
51
54
  @api_client.config.logger.debug 'Calling API: APIStatusApi.check ...'
52
55
  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 'cgi'
@@ -18,8 +17,10 @@ module SnapTrade
18
17
  @api_client = api_client
19
18
  end
20
19
 
21
- # Delete SnapTrade user
22
- # Deletes a user you've registered over the SnapTrade API, and any data associated with them or their investment accounts.
20
+ # Delete user
21
+ #
22
+ # Deletes a registered user and all associated data. This action is irreversible. This API is asynchronous and will return a 200 status code if the request is accepted. The user and all associated data will be queued for deletion. Once deleted, a `USER_DELETED` webhook will be sent.
23
+ #
23
24
  # @param user_id [String]
24
25
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
25
26
  def delete_snap_trade_user(user_id:, extra: {})
@@ -27,30 +28,32 @@ module SnapTrade
27
28
  data
28
29
  end
29
30
 
30
- # Delete SnapTrade user
31
- # Deletes a user you've registered over the SnapTrade API, and any data associated with them or their investment accounts.
31
+ # Delete user
32
+ #
33
+ # Deletes a registered user and all associated data. This action is irreversible. This API is asynchronous and will return a 200 status code if the request is accepted. The user and all associated data will be queued for deletion. Once deleted, a `USER_DELETED` webhook will be sent.
34
+ #
32
35
  # @param user_id [String]
33
36
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
34
37
  def delete_snap_trade_user_with_http_info(user_id:, extra: {})
35
38
  delete_snap_trade_user_with_http_info_impl(user_id, extra)
36
39
  end
37
40
 
38
- # Delete SnapTrade user
39
- # Deletes a user you've registered over the SnapTrade API, and any data associated with them or their investment accounts.
41
+ # Delete user
42
+ # Deletes a registered user and all associated data. This action is irreversible. This API is asynchronous and will return a 200 status code if the request is accepted. The user and all associated data will be queued for deletion. Once deleted, a `USER_DELETED` webhook will be sent.
40
43
  # @param user_id [String]
41
44
  # @param [Hash] opts the optional parameters
42
45
  # @return [DeleteUserResponse]
43
- def delete_snap_trade_user_impl(user_id, opts = {})
46
+ private def delete_snap_trade_user_impl(user_id, opts = {})
44
47
  data, _status_code, _headers = delete_snap_trade_user_with_http_info(user_id, opts)
45
48
  data
46
49
  end
47
50
 
48
- # Delete SnapTrade user
49
- # Deletes a user you&#39;ve registered over the SnapTrade API, and any data associated with them or their investment accounts.
51
+ # Delete user
52
+ # Deletes a registered user and all associated data. This action is irreversible. This API is asynchronous and will return a 200 status code if the request is accepted. The user and all associated data will be queued for deletion. Once deleted, a &#x60;USER_DELETED&#x60; webhook will be sent.
50
53
  # @param user_id [String]
51
54
  # @param [Hash] opts the optional parameters
52
55
  # @return [Array<(DeleteUserResponse, Integer, Hash)>] DeleteUserResponse data, response status code and response headers
53
- def delete_snap_trade_user_with_http_info_impl(user_id, opts = {})
56
+ private def delete_snap_trade_user_with_http_info_impl(user_id, opts = {})
54
57
  if @api_client.config.debugging
55
58
  @api_client.config.logger.debug 'Calling API: AuthenticationApi.delete_snap_trade_user ...'
56
59
  end
@@ -100,122 +103,39 @@ module SnapTrade
100
103
  end
101
104
 
102
105
 
103
- # Generate encrypted JWT token
104
- # @param user_id [String]
105
- # @param user_secret [String]
106
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
107
- def get_user_jwt(user_id:, user_secret:, extra: {})
108
- data, _status_code, _headers = get_user_jwt_with_http_info_impl(user_id, user_secret, extra)
109
- data
110
- end
111
-
112
- # Generate encrypted JWT token
113
- # @param user_id [String]
114
- # @param user_secret [String]
115
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
116
- def get_user_jwt_with_http_info(user_id:, user_secret:, extra: {})
117
- get_user_jwt_with_http_info_impl(user_id, user_secret, extra)
118
- end
119
-
120
- # Generate encrypted JWT token
121
- # @param user_id [String]
122
- # @param user_secret [String]
123
- # @param [Hash] opts the optional parameters
124
- # @return [EncryptedResponse]
125
- def get_user_jwt_impl(user_id, user_secret, opts = {})
126
- data, _status_code, _headers = get_user_jwt_with_http_info(user_id, user_secret, opts)
127
- data
128
- end
129
-
130
- # Generate encrypted JWT token
131
- # @param user_id [String]
132
- # @param user_secret [String]
133
- # @param [Hash] opts the optional parameters
134
- # @return [Array<(EncryptedResponse, Integer, Hash)>] EncryptedResponse data, response status code and response headers
135
- def get_user_jwt_with_http_info_impl(user_id, user_secret, opts = {})
136
- if @api_client.config.debugging
137
- @api_client.config.logger.debug 'Calling API: AuthenticationApi.get_user_jwt ...'
138
- end
139
- # verify the required parameter 'user_id' is set
140
- if @api_client.config.client_side_validation && user_id.nil?
141
- fail ArgumentError, "Missing the required parameter 'user_id' when calling AuthenticationApi.get_user_jwt"
142
- end
143
- # verify the required parameter 'user_secret' is set
144
- if @api_client.config.client_side_validation && user_secret.nil?
145
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling AuthenticationApi.get_user_jwt"
146
- end
147
- # resource path
148
- local_var_path = '/snapTrade/encryptedJWT'
149
-
150
- # query parameters
151
- query_params = opts[:query_params] || {}
152
- query_params[:'userId'] = user_id
153
- query_params[:'userSecret'] = user_secret
154
-
155
- # header parameters
156
- header_params = opts[:header_params] || {}
157
- # HTTP header 'Accept' (if needed)
158
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
159
-
160
- # form parameters
161
- form_params = opts[:form_params] || {}
162
-
163
- # http body (model)
164
- post_body = opts[:debug_body]
165
-
166
- # return_type
167
- return_type = opts[:debug_return_type] || 'EncryptedResponse'
168
-
169
- # auth_names
170
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
171
-
172
- new_options = opts.merge(
173
- :operation => :"AuthenticationApi.get_user_jwt",
174
- :header_params => header_params,
175
- :query_params => query_params,
176
- :form_params => form_params,
177
- :body => post_body,
178
- :auth_names => auth_names,
179
- :return_type => return_type
180
- )
181
-
182
- data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
183
- if @api_client.config.debugging
184
- @api_client.config.logger.debug "API called: AuthenticationApi#get_user_jwt\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
185
- end
186
- return data, status_code, headers, response
187
- end
188
-
189
-
190
- # List SnapTrade users
191
- # Returns a list of users you've registered over the SnapTrade API.
106
+ # List all users
107
+ #
108
+ # Returns a list of all registered user IDs. Please note that the response is not currently paginated.
109
+ #
192
110
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
193
111
  def list_snap_trade_users(extra: {})
194
112
  data, _status_code, _headers = list_snap_trade_users_with_http_info_impl(extra)
195
113
  data
196
114
  end
197
115
 
198
- # List SnapTrade users
199
- # Returns a list of users you've registered over the SnapTrade API.
116
+ # List all users
117
+ #
118
+ # Returns a list of all registered user IDs. Please note that the response is not currently paginated.
119
+ #
200
120
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
201
121
  def list_snap_trade_users_with_http_info(extra: {})
202
122
  list_snap_trade_users_with_http_info_impl(extra)
203
123
  end
204
124
 
205
- # List SnapTrade users
206
- # Returns a list of users you've registered over the SnapTrade API.
125
+ # List all users
126
+ # Returns a list of all registered user IDs. Please note that the response is not currently paginated.
207
127
  # @param [Hash] opts the optional parameters
208
128
  # @return [Array<String>]
209
- def list_snap_trade_users_impl(opts = {})
129
+ private def list_snap_trade_users_impl(opts = {})
210
130
  data, _status_code, _headers = list_snap_trade_users_with_http_info(opts)
211
131
  data
212
132
  end
213
133
 
214
- # List SnapTrade users
215
- # Returns a list of users you&#39;ve registered over the SnapTrade API.
134
+ # List all users
135
+ # Returns a list of all registered user IDs. Please note that the response is not currently paginated.
216
136
  # @param [Hash] opts the optional parameters
217
137
  # @return [Array<(Array<String>, Integer, Hash)>] Array<String> data, response status code and response headers
218
- def list_snap_trade_users_with_http_info_impl(opts = {})
138
+ private def list_snap_trade_users_with_http_info_impl(opts = {})
219
139
  if @api_client.config.debugging
220
140
  @api_client.config.logger.debug 'Calling API: AuthenticationApi.list_snap_trade_users ...'
221
141
  end
@@ -260,19 +180,23 @@ module SnapTrade
260
180
  end
261
181
 
262
182
 
263
- # Login user & generate connection link
264
- # Logs in a SnapTrade user and returns an authenticated connection portal URL for them to use to connect a brokerage account.
183
+ # Generate Connection Portal URL
184
+ #
185
+ # Authenticates a SnapTrade user and returns the Connection Portal URL used for connecting brokerage accounts. Please check [this guide](/docs/implement-connection-portal) for how to integrate the Connection Portal into your app.
186
+ #
187
+ # Please note that the returned URL expires in 5 minutes.
188
+ #
265
189
  # @param user_id [String]
266
190
  # @param user_secret [String]
267
- # @param broker [String] Slug of the brokerage to connect the user to
268
- # @param immediate_redirect [Boolean] When set to True, user will be redirected back to the partner&#39;s site instead of the connection portal
269
- # @param custom_redirect [String] URL to redirect the user to after the user connects their brokerage account
270
- # @param reconnect [String] The UUID of the brokerage connection to be reconnected. This parameter should be left empty unless you are reconnecting a disabled connection. See ‘Reconnecting Accounts’ for more information.
271
- # @param connection_type [ConnectionType]
272
- # @param connection_portal_version [ConnectionPortalVersion]
191
+ # @param broker [String] Slug of the brokerage to connect the user to. See [the integrations page](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=3cfea70ef4254afc89704e47275a7a9a&pvs=4) for a list of supported brokerages and their slugs.
192
+ # @param immediate_redirect [Boolean] When set to `true`, user will be redirected back to the partner's site instead of the connection portal. This parameter is ignored if the connection portal is loaded inside an iframe. See the [guide on ways to integrate the connection portal](/docs/implement-connection-portal) for more information.
193
+ # @param custom_redirect [String] URL to redirect the user to after the user connects their brokerage account. This parameter is ignored if the connection portal is loaded inside an iframe. See the [guide on ways to integrate the connection portal](/docs/implement-connection-portal) for more information.
194
+ # @param reconnect [String] The UUID of the brokerage connection to be reconnected. This parameter should be left empty unless you are reconnecting a disabled connection. See the [guide on fixing broken connections](/docs/fix-broken-connections) for more information.
195
+ # @param connection_type [ConnectionType] Sets whether the connection should be read-only or trade-enabled. Defaults to read-only if not specified.
196
+ # @param connection_portal_version [ConnectionPortalVersion] Sets the connection portal version to render. Currently only v4 is supported and is the default. All other versions are deprecated and will automatically be set to v4.
273
197
  # @param body [SnapTradeLoginUserRequestBody]
274
198
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
275
- def login_snap_trade_user(user_id:, user_secret:, broker: SENTINEL, immediate_redirect: SENTINEL, custom_redirect: SENTINEL, reconnect: SENTINEL, connection_type: SENTINEL, connection_portal_version: SENTINEL, extra: {})
199
+ def login_snap_trade_user(user_id:, user_secret:, broker: SENTINEL, immediate_redirect: SENTINEL, custom_redirect: SENTINEL, reconnect: SENTINEL, connection_type: 'read', connection_portal_version: 'v4', extra: {})
276
200
  _body = {}
277
201
  _body[:broker] = broker if broker != SENTINEL
278
202
  _body[:immediateRedirect] = immediate_redirect if immediate_redirect != SENTINEL
@@ -285,19 +209,23 @@ module SnapTrade
285
209
  data
286
210
  end
287
211
 
288
- # Login user & generate connection link
289
- # Logs in a SnapTrade user and returns an authenticated connection portal URL for them to use to connect a brokerage account.
212
+ # Generate Connection Portal URL
213
+ #
214
+ # Authenticates a SnapTrade user and returns the Connection Portal URL used for connecting brokerage accounts. Please check [this guide](/docs/implement-connection-portal) for how to integrate the Connection Portal into your app.
215
+ #
216
+ # Please note that the returned URL expires in 5 minutes.
217
+ #
290
218
  # @param user_id [String]
291
219
  # @param user_secret [String]
292
- # @param broker [String] Slug of the brokerage to connect the user to
293
- # @param immediate_redirect [Boolean] When set to True, user will be redirected back to the partner&#39;s site instead of the connection portal
294
- # @param custom_redirect [String] URL to redirect the user to after the user connects their brokerage account
295
- # @param reconnect [String] The UUID of the brokerage connection to be reconnected. This parameter should be left empty unless you are reconnecting a disabled connection. See ‘Reconnecting Accounts’ for more information.
296
- # @param connection_type [ConnectionType]
297
- # @param connection_portal_version [ConnectionPortalVersion]
220
+ # @param broker [String] Slug of the brokerage to connect the user to. See [the integrations page](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=3cfea70ef4254afc89704e47275a7a9a&pvs=4) for a list of supported brokerages and their slugs.
221
+ # @param immediate_redirect [Boolean] When set to `true`, user will be redirected back to the partner's site instead of the connection portal. This parameter is ignored if the connection portal is loaded inside an iframe. See the [guide on ways to integrate the connection portal](/docs/implement-connection-portal) for more information.
222
+ # @param custom_redirect [String] URL to redirect the user to after the user connects their brokerage account. This parameter is ignored if the connection portal is loaded inside an iframe. See the [guide on ways to integrate the connection portal](/docs/implement-connection-portal) for more information.
223
+ # @param reconnect [String] The UUID of the brokerage connection to be reconnected. This parameter should be left empty unless you are reconnecting a disabled connection. See the [guide on fixing broken connections](/docs/fix-broken-connections) for more information.
224
+ # @param connection_type [ConnectionType] Sets whether the connection should be read-only or trade-enabled. Defaults to read-only if not specified.
225
+ # @param connection_portal_version [ConnectionPortalVersion] Sets the connection portal version to render. Currently only v4 is supported and is the default. All other versions are deprecated and will automatically be set to v4.
298
226
  # @param body [SnapTradeLoginUserRequestBody]
299
227
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
300
- def login_snap_trade_user_with_http_info(user_id:, user_secret:, broker: SENTINEL, immediate_redirect: SENTINEL, custom_redirect: SENTINEL, reconnect: SENTINEL, connection_type: SENTINEL, connection_portal_version: SENTINEL, extra: {})
228
+ def login_snap_trade_user_with_http_info(user_id:, user_secret:, broker: SENTINEL, immediate_redirect: SENTINEL, custom_redirect: SENTINEL, reconnect: SENTINEL, connection_type: 'read', connection_portal_version: 'v4', extra: {})
301
229
  _body = {}
302
230
  _body[:broker] = broker if broker != SENTINEL
303
231
  _body[:immediateRedirect] = immediate_redirect if immediate_redirect != SENTINEL
@@ -309,26 +237,26 @@ module SnapTrade
309
237
  login_snap_trade_user_with_http_info_impl(user_id, user_secret, extra)
310
238
  end
311
239
 
312
- # Login user & generate connection link
313
- # Logs in a SnapTrade user and returns an authenticated connection portal URL for them to use to connect a brokerage account.
240
+ # Generate Connection Portal URL
241
+ # Authenticates a SnapTrade user and returns the Connection Portal URL used for connecting brokerage accounts. Please check [this guide](/docs/implement-connection-portal) for how to integrate the Connection Portal into your app. Please note that the returned URL expires in 5 minutes.
314
242
  # @param user_id [String]
315
243
  # @param user_secret [String]
316
244
  # @param [Hash] opts the optional parameters
317
245
  # @option opts [SnapTradeLoginUserRequestBody] :snap_trade_login_user_request_body
318
246
  # @return [AuthenticationLoginSnapTradeUser200Response]
319
- def login_snap_trade_user_impl(user_id, user_secret, opts = {})
247
+ private def login_snap_trade_user_impl(user_id, user_secret, opts = {})
320
248
  data, _status_code, _headers = login_snap_trade_user_with_http_info(user_id, user_secret, opts)
321
249
  data
322
250
  end
323
251
 
324
- # Login user &amp; generate connection link
325
- # Logs in a SnapTrade user and returns an authenticated connection portal URL for them to use to connect a brokerage account.
252
+ # Generate Connection Portal URL
253
+ # Authenticates a SnapTrade user and returns the Connection Portal URL used for connecting brokerage accounts. Please check [this guide](/docs/implement-connection-portal) for how to integrate the Connection Portal into your app. Please note that the returned URL expires in 5 minutes.
326
254
  # @param user_id [String]
327
255
  # @param user_secret [String]
328
256
  # @param [Hash] opts the optional parameters
329
257
  # @option opts [SnapTradeLoginUserRequestBody] :snap_trade_login_user_request_body
330
258
  # @return [Array<(AuthenticationLoginSnapTradeUser200Response, Integer, Hash)>] AuthenticationLoginSnapTradeUser200Response data, response status code and response headers
331
- def login_snap_trade_user_with_http_info_impl(user_id, user_secret, opts = {})
259
+ private def login_snap_trade_user_with_http_info_impl(user_id, user_secret, opts = {})
332
260
  if @api_client.config.debugging
333
261
  @api_client.config.logger.debug 'Calling API: AuthenticationApi.login_snap_trade_user ...'
334
262
  end
@@ -388,8 +316,12 @@ module SnapTrade
388
316
  end
389
317
 
390
318
 
391
- # Create SnapTrade user
392
- # @param user_id [String] SnapTrade User ID. Provided by SnapTrade Partner. Can be any string, as long as it&#39;s unique to a user
319
+ # Register user
320
+ #
321
+ # Registers a new SnapTrade user under your Client ID. A user secret will be automatically generated for you and must be properly stored in your system.
322
+ # Most SnapTrade operations require a user ID and user secret to be passed in as parameters.
323
+ #
324
+ # @param user_id [String] SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
393
325
  # @param body [SnapTradeRegisterUserRequestBody]
394
326
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
395
327
  def register_snap_trade_user(user_id: SENTINEL, extra: {})
@@ -400,8 +332,12 @@ module SnapTrade
400
332
  data
401
333
  end
402
334
 
403
- # Create SnapTrade user
404
- # @param user_id [String] SnapTrade User ID. Provided by SnapTrade Partner. Can be any string, as long as it&#39;s unique to a user
335
+ # Register user
336
+ #
337
+ # Registers a new SnapTrade user under your Client ID. A user secret will be automatically generated for you and must be properly stored in your system.
338
+ # Most SnapTrade operations require a user ID and user secret to be passed in as parameters.
339
+ #
340
+ # @param user_id [String] SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
405
341
  # @param body [SnapTradeRegisterUserRequestBody]
406
342
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
407
343
  def register_snap_trade_user_with_http_info(user_id: SENTINEL, extra: {})
@@ -411,20 +347,22 @@ module SnapTrade
411
347
  register_snap_trade_user_with_http_info_impl(snap_trade_register_user_request_body, extra)
412
348
  end
413
349
 
414
- # Create SnapTrade user
350
+ # Register user
351
+ # Registers a new SnapTrade user under your Client ID. A user secret will be automatically generated for you and must be properly stored in your system. Most SnapTrade operations require a user ID and user secret to be passed in as parameters.
415
352
  # @param snap_trade_register_user_request_body [SnapTradeRegisterUserRequestBody]
416
353
  # @param [Hash] opts the optional parameters
417
354
  # @return [UserIDandSecret]
418
- def register_snap_trade_user_impl(snap_trade_register_user_request_body, opts = {})
355
+ private def register_snap_trade_user_impl(snap_trade_register_user_request_body, opts = {})
419
356
  data, _status_code, _headers = register_snap_trade_user_with_http_info(snap_trade_register_user_request_body, opts)
420
357
  data
421
358
  end
422
359
 
423
- # Create SnapTrade user
360
+ # Register user
361
+ # Registers a new SnapTrade user under your Client ID. A user secret will be automatically generated for you and must be properly stored in your system. Most SnapTrade operations require a user ID and user secret to be passed in as parameters.
424
362
  # @param snap_trade_register_user_request_body [SnapTradeRegisterUserRequestBody]
425
363
  # @param [Hash] opts the optional parameters
426
364
  # @return [Array<(UserIDandSecret, Integer, Hash)>] UserIDandSecret data, response status code and response headers
427
- def register_snap_trade_user_with_http_info_impl(snap_trade_register_user_request_body, opts = {})
365
+ private def register_snap_trade_user_with_http_info_impl(snap_trade_register_user_request_body, opts = {})
428
366
  if @api_client.config.debugging
429
367
  @api_client.config.logger.debug 'Calling API: AuthenticationApi.register_snap_trade_user ...'
430
368
  end
@@ -476,6 +414,108 @@ module SnapTrade
476
414
  end
477
415
  return data, status_code, headers, response
478
416
  end
417
+
418
+
419
+ # Rotate user secret
420
+ #
421
+ # Rotates the secret for a SnapTrade user. You might use this if `userSecret` is compromised. Please note that if you call this endpoint and fail to save the new secret, you'll no longer be able to access any data for this user, and your only option will be to delete and recreate the user, then ask them to reconnect.
422
+ #
423
+ # @param user_id [String] SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
424
+ # @param user_secret [String] SnapTrade User Secret. This is a randomly generated string and should be stored securely. If compromised, please rotate it via the [rotate user secret endpoint](/reference/Authentication/Authentication_resetSnapTradeUserSecret).
425
+ # @param body [UserIDandSecret]
426
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
427
+ def reset_snap_trade_user_secret(user_id: SENTINEL, user_secret: SENTINEL, extra: {})
428
+ _body = {}
429
+ _body[:userId] = user_id if user_id != SENTINEL
430
+ _body[:userSecret] = user_secret if user_secret != SENTINEL
431
+ user_i_dand_secret = _body
432
+ data, _status_code, _headers = reset_snap_trade_user_secret_with_http_info_impl(user_i_dand_secret, extra)
433
+ data
434
+ end
435
+
436
+ # Rotate user secret
437
+ #
438
+ # Rotates the secret for a SnapTrade user. You might use this if `userSecret` is compromised. Please note that if you call this endpoint and fail to save the new secret, you'll no longer be able to access any data for this user, and your only option will be to delete and recreate the user, then ask them to reconnect.
439
+ #
440
+ # @param user_id [String] SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
441
+ # @param user_secret [String] SnapTrade User Secret. This is a randomly generated string and should be stored securely. If compromised, please rotate it via the [rotate user secret endpoint](/reference/Authentication/Authentication_resetSnapTradeUserSecret).
442
+ # @param body [UserIDandSecret]
443
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
444
+ def reset_snap_trade_user_secret_with_http_info(user_id: SENTINEL, user_secret: SENTINEL, extra: {})
445
+ _body = {}
446
+ _body[:userId] = user_id if user_id != SENTINEL
447
+ _body[:userSecret] = user_secret if user_secret != SENTINEL
448
+ user_i_dand_secret = _body
449
+ reset_snap_trade_user_secret_with_http_info_impl(user_i_dand_secret, extra)
450
+ end
451
+
452
+ # Rotate user secret
453
+ # Rotates the secret for a SnapTrade user. You might use this if `userSecret` is compromised. Please note that if you call this endpoint and fail to save the new secret, you'll no longer be able to access any data for this user, and your only option will be to delete and recreate the user, then ask them to reconnect.
454
+ # @param user_i_dand_secret [UserIDandSecret]
455
+ # @param [Hash] opts the optional parameters
456
+ # @return [UserIDandSecret]
457
+ private def reset_snap_trade_user_secret_impl(user_i_dand_secret, opts = {})
458
+ data, _status_code, _headers = reset_snap_trade_user_secret_with_http_info(user_i_dand_secret, opts)
459
+ data
460
+ end
461
+
462
+ # Rotate user secret
463
+ # Rotates the secret for a SnapTrade user. You might use this if &#x60;userSecret&#x60; is compromised. Please note that if you call this endpoint and fail to save the new secret, you&#39;ll no longer be able to access any data for this user, and your only option will be to delete and recreate the user, then ask them to reconnect.
464
+ # @param user_i_dand_secret [UserIDandSecret]
465
+ # @param [Hash] opts the optional parameters
466
+ # @return [Array<(UserIDandSecret, Integer, Hash)>] UserIDandSecret data, response status code and response headers
467
+ private def reset_snap_trade_user_secret_with_http_info_impl(user_i_dand_secret, opts = {})
468
+ if @api_client.config.debugging
469
+ @api_client.config.logger.debug 'Calling API: AuthenticationApi.reset_snap_trade_user_secret ...'
470
+ end
471
+ # verify the required parameter 'user_i_dand_secret' is set
472
+ if @api_client.config.client_side_validation && user_i_dand_secret.nil?
473
+ fail ArgumentError, "Missing the required parameter 'user_i_dand_secret' when calling AuthenticationApi.reset_snap_trade_user_secret"
474
+ end
475
+ # resource path
476
+ local_var_path = '/snapTrade/resetUserSecret'
477
+
478
+ # query parameters
479
+ query_params = opts[:query_params] || {}
480
+
481
+ # header parameters
482
+ header_params = opts[:header_params] || {}
483
+ # HTTP header 'Accept' (if needed)
484
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
485
+ # HTTP header 'Content-Type'
486
+ content_type = @api_client.select_header_content_type(['application/json'])
487
+ if !content_type.nil?
488
+ header_params['Content-Type'] = content_type
489
+ end
490
+
491
+ # form parameters
492
+ form_params = opts[:form_params] || {}
493
+
494
+ # http body (model)
495
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(user_i_dand_secret)
496
+
497
+ # return_type
498
+ return_type = opts[:debug_return_type] || 'UserIDandSecret'
499
+
500
+ # auth_names
501
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
502
+
503
+ new_options = opts.merge(
504
+ :operation => :"AuthenticationApi.reset_snap_trade_user_secret",
505
+ :header_params => header_params,
506
+ :query_params => query_params,
507
+ :form_params => form_params,
508
+ :body => post_body,
509
+ :auth_names => auth_names,
510
+ :return_type => return_type
511
+ )
512
+
513
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
514
+ if @api_client.config.debugging
515
+ @api_client.config.logger.debug "API called: AuthenticationApi#reset_snap_trade_user_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
516
+ end
517
+ return data, status_code, headers, response
518
+ end
479
519
  end
480
520
 
481
521
  # top-level client access to avoid having the user to insantiate their own API instances