snaptrade 1.15.1 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/Gemfile.lock +11 -13
  4. data/README.md +221 -221
  5. data/docs/APIStatusApi.md +57 -57
  6. data/docs/AccountInformationApi.md +535 -535
  7. data/docs/AuthenticationApi.md +314 -314
  8. data/docs/ConnectionsApi.md +265 -265
  9. data/docs/ErrorLogsApi.md +68 -68
  10. data/docs/OptionsApi.md +378 -378
  11. data/docs/ReferenceDataApi.md +595 -595
  12. data/docs/TradingApi.md +478 -478
  13. data/docs/TransactionsAndReportingApi.md +183 -183
  14. data/docs/UniversalActivity.md +2 -0
  15. data/lib/snaptrade/api/account_information_api.rb +801 -801
  16. data/lib/snaptrade/api/api_status_api.rb +98 -98
  17. data/lib/snaptrade/api/authentication_api.rb +481 -481
  18. data/lib/snaptrade/api/connections_api.rb +398 -398
  19. data/lib/snaptrade/api/error_logs_api.rb +112 -112
  20. data/lib/snaptrade/api/options_api.rb +591 -591
  21. data/lib/snaptrade/api/reference_data_api.rb +894 -894
  22. data/lib/snaptrade/api/trading_api.rb +741 -741
  23. data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -283
  24. data/lib/snaptrade/api_client.rb +427 -427
  25. data/lib/snaptrade/api_client_custom.rb +32 -32
  26. data/lib/snaptrade/api_error.rb +6 -6
  27. data/lib/snaptrade/configuration.rb +334 -334
  28. data/lib/snaptrade/models/account.rb +6 -6
  29. data/lib/snaptrade/models/account_holdings.rb +6 -6
  30. data/lib/snaptrade/models/account_holdings_account.rb +6 -6
  31. data/lib/snaptrade/models/account_order_record.rb +6 -6
  32. data/lib/snaptrade/models/account_order_record_status.rb +6 -6
  33. data/lib/snaptrade/models/account_simple.rb +6 -6
  34. data/lib/snaptrade/models/account_sync_status.rb +6 -6
  35. data/lib/snaptrade/models/action.rb +6 -6
  36. data/lib/snaptrade/models/auth_type.rb +6 -6
  37. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +6 -6
  38. data/lib/snaptrade/models/balance.rb +6 -6
  39. data/lib/snaptrade/models/brokerage.rb +6 -6
  40. data/lib/snaptrade/models/brokerage_authorization.rb +6 -6
  41. data/lib/snaptrade/models/brokerage_authorization_type.rb +6 -6
  42. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +6 -6
  43. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +6 -6
  44. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +6 -6
  45. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +6 -6
  46. data/lib/snaptrade/models/brokerage_symbol.rb +6 -6
  47. data/lib/snaptrade/models/brokerage_symbol_option_symbol.rb +6 -6
  48. data/lib/snaptrade/models/brokerage_symbol_symbol.rb +6 -6
  49. data/lib/snaptrade/models/brokerage_type.rb +6 -6
  50. data/lib/snaptrade/models/calculated_trade.rb +6 -6
  51. data/lib/snaptrade/models/cash_restriction.rb +6 -6
  52. data/lib/snaptrade/models/connection_type.rb +6 -6
  53. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +6 -6
  54. data/lib/snaptrade/models/currency.rb +6 -6
  55. data/lib/snaptrade/models/delete_user_response.rb +6 -6
  56. data/lib/snaptrade/models/dividend_at_date.rb +6 -6
  57. data/lib/snaptrade/models/encrypted_response.rb +6 -6
  58. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +6 -6
  59. data/lib/snaptrade/models/exchange.rb +6 -6
  60. data/lib/snaptrade/models/exchange_rate_pairs.rb +6 -6
  61. data/lib/snaptrade/models/excluded_asset.rb +6 -6
  62. data/lib/snaptrade/models/jwt.rb +6 -6
  63. data/lib/snaptrade/models/login_redirect_uri.rb +6 -6
  64. data/lib/snaptrade/models/manual_trade.rb +6 -6
  65. data/lib/snaptrade/models/manual_trade_and_impact.rb +6 -6
  66. data/lib/snaptrade/models/manual_trade_balance.rb +6 -6
  67. data/lib/snaptrade/models/manual_trade_form.rb +6 -6
  68. data/lib/snaptrade/models/manual_trade_symbol.rb +6 -6
  69. data/lib/snaptrade/models/model400_failed_request_response.rb +6 -6
  70. data/lib/snaptrade/models/model401_failed_request_response.rb +6 -6
  71. data/lib/snaptrade/models/model403_failed_request_response.rb +6 -6
  72. data/lib/snaptrade/models/model404_failed_request_response.rb +6 -6
  73. data/lib/snaptrade/models/model_asset_class.rb +6 -6
  74. data/lib/snaptrade/models/model_asset_class_details.rb +6 -6
  75. data/lib/snaptrade/models/model_asset_class_target.rb +6 -6
  76. data/lib/snaptrade/models/model_portfolio.rb +6 -6
  77. data/lib/snaptrade/models/model_portfolio_asset_class.rb +6 -6
  78. data/lib/snaptrade/models/model_portfolio_details.rb +6 -6
  79. data/lib/snaptrade/models/model_portfolio_security.rb +6 -6
  80. data/lib/snaptrade/models/model_type.rb +6 -6
  81. data/lib/snaptrade/models/monthly_dividends.rb +6 -6
  82. data/lib/snaptrade/models/net_contributions.rb +6 -6
  83. data/lib/snaptrade/models/net_dividend.rb +6 -6
  84. data/lib/snaptrade/models/option_chain_inner.rb +6 -6
  85. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +6 -6
  86. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +6 -6
  87. data/lib/snaptrade/models/option_leg.rb +6 -6
  88. data/lib/snaptrade/models/option_leg_action.rb +6 -6
  89. data/lib/snaptrade/models/option_strategy.rb +6 -6
  90. data/lib/snaptrade/models/option_strategy_legs_inner.rb +6 -6
  91. data/lib/snaptrade/models/options_get_option_strategy_request.rb +6 -6
  92. data/lib/snaptrade/models/options_holdings.rb +6 -6
  93. data/lib/snaptrade/models/options_place_option_strategy_request.rb +6 -6
  94. data/lib/snaptrade/models/options_position.rb +6 -6
  95. data/lib/snaptrade/models/options_position_currency.rb +6 -6
  96. data/lib/snaptrade/models/options_symbol.rb +6 -6
  97. data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +6 -6
  98. data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +6 -6
  99. data/lib/snaptrade/models/order_type.rb +6 -6
  100. data/lib/snaptrade/models/partner_data.rb +6 -6
  101. data/lib/snaptrade/models/past_value.rb +6 -6
  102. data/lib/snaptrade/models/performance_custom.rb +6 -6
  103. data/lib/snaptrade/models/portfolio_group.rb +6 -6
  104. data/lib/snaptrade/models/portfolio_group_info.rb +6 -6
  105. data/lib/snaptrade/models/portfolio_group_position.rb +6 -6
  106. data/lib/snaptrade/models/portfolio_group_settings.rb +6 -6
  107. data/lib/snaptrade/models/position.rb +6 -6
  108. data/lib/snaptrade/models/position_symbol.rb +6 -6
  109. data/lib/snaptrade/models/redirect_tokenand_pin.rb +6 -6
  110. data/lib/snaptrade/models/security_type.rb +6 -6
  111. data/lib/snaptrade/models/session_event.rb +6 -6
  112. data/lib/snaptrade/models/session_event_type.rb +6 -6
  113. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +6 -6
  114. data/lib/snaptrade/models/snap_trade_holdings_account.rb +6 -6
  115. data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +6 -6
  116. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +6 -6
  117. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +6 -6
  118. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +6 -6
  119. data/lib/snaptrade/models/state.rb +6 -6
  120. data/lib/snaptrade/models/status.rb +6 -6
  121. data/lib/snaptrade/models/strategy_impact.rb +6 -6
  122. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +6 -6
  123. data/lib/snaptrade/models/strategy_order_place.rb +6 -6
  124. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +6 -6
  125. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +6 -6
  126. data/lib/snaptrade/models/strategy_order_record.rb +6 -6
  127. data/lib/snaptrade/models/strategy_order_record_order_type.rb +6 -6
  128. data/lib/snaptrade/models/strategy_order_record_status.rb +6 -6
  129. data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +6 -6
  130. data/lib/snaptrade/models/strategy_quotes.rb +6 -6
  131. data/lib/snaptrade/models/strategy_quotes_greek.rb +6 -6
  132. data/lib/snaptrade/models/strategy_type.rb +6 -6
  133. data/lib/snaptrade/models/sub_period_return_rate.rb +6 -6
  134. data/lib/snaptrade/models/symbol.rb +6 -6
  135. data/lib/snaptrade/models/symbol_query.rb +6 -6
  136. data/lib/snaptrade/models/symbols_quotes_inner.rb +6 -6
  137. data/lib/snaptrade/models/target_asset.rb +6 -6
  138. data/lib/snaptrade/models/time_in_force.rb +6 -6
  139. data/lib/snaptrade/models/trade.rb +6 -6
  140. data/lib/snaptrade/models/trade_action.rb +6 -6
  141. data/lib/snaptrade/models/trade_execution_status.rb +6 -6
  142. data/lib/snaptrade/models/trade_execution_status_action.rb +6 -6
  143. data/lib/snaptrade/models/trade_impact.rb +6 -6
  144. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +6 -6
  145. data/lib/snaptrade/models/trading_place_oco_order_request.rb +6 -6
  146. data/lib/snaptrade/models/transactions_status.rb +6 -6
  147. data/lib/snaptrade/models/type.rb +6 -6
  148. data/lib/snaptrade/models/underlying_symbol.rb +6 -6
  149. data/lib/snaptrade/models/universal_activity.rb +18 -7
  150. data/lib/snaptrade/models/universal_symbol.rb +6 -6
  151. data/lib/snaptrade/models/universal_symbol_ticker.rb +6 -6
  152. data/lib/snaptrade/models/us_exchange.rb +6 -6
  153. data/lib/snaptrade/models/user_error_log.rb +6 -6
  154. data/lib/snaptrade/models/user_i_dand_secret.rb +6 -6
  155. data/lib/snaptrade/models/user_settings.rb +6 -6
  156. data/lib/snaptrade/version.rb +13 -13
  157. data/lib/snaptrade.rb +214 -214
  158. data/snaptrade.gemspec +41 -41
  159. data/spec/api/account_information_api_spec.rb +135 -135
  160. data/spec/api/api_status_api_spec.rb +42 -42
  161. data/spec/api/authentication_api_spec.rb +88 -88
  162. data/spec/api/connections_api_spec.rb +82 -82
  163. data/spec/api/error_logs_api_spec.rb +43 -43
  164. data/spec/api/options_api_spec.rb +101 -101
  165. data/spec/api/reference_data_api_spec.rb +150 -150
  166. data/spec/api/trading_api_spec.rb +112 -112
  167. data/spec/api/transactions_and_reporting_api_spec.rb +67 -67
  168. data/spec/api_client_spec.rb +193 -193
  169. data/spec/configuration_spec.rb +6 -6
  170. data/spec/getting_started_spec.rb +108 -108
  171. data/spec/models/account_holdings_account_spec.rb +54 -54
  172. data/spec/models/account_holdings_spec.rb +48 -48
  173. data/spec/models/account_order_record_spec.rb +132 -132
  174. data/spec/models/account_order_record_status_spec.rb +24 -24
  175. data/spec/models/account_simple_spec.rb +48 -48
  176. data/spec/models/account_spec.rb +84 -84
  177. data/spec/models/account_sync_status_spec.rb +30 -30
  178. data/spec/models/action_spec.rb +24 -24
  179. data/spec/models/auth_type_spec.rb +24 -24
  180. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -27
  181. data/spec/models/balance_spec.rb +36 -36
  182. data/spec/models/brokerage_authorization_spec.rb +78 -78
  183. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -42
  184. data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -48
  185. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -24
  186. data/spec/models/brokerage_authorization_type_spec.rb +30 -30
  187. data/spec/models/brokerage_authorization_type_type_spec.rb +24 -24
  188. data/spec/models/brokerage_spec.rb +132 -132
  189. data/spec/models/brokerage_symbol_option_symbol_spec.rb +72 -72
  190. data/spec/models/brokerage_symbol_spec.rb +60 -60
  191. data/spec/models/brokerage_symbol_symbol_spec.rb +72 -72
  192. data/spec/models/brokerage_type_spec.rb +36 -36
  193. data/spec/models/calculated_trade_spec.rb +36 -36
  194. data/spec/models/cash_restriction_spec.rb +54 -54
  195. data/spec/models/connection_type_spec.rb +24 -24
  196. data/spec/models/connections_session_events200_response_inner_spec.rb +66 -66
  197. data/spec/models/currency_spec.rb +42 -42
  198. data/spec/models/delete_user_response_spec.rb +36 -36
  199. data/spec/models/dividend_at_date_spec.rb +42 -42
  200. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -42
  201. data/spec/models/encrypted_response_spec.rb +36 -36
  202. data/spec/models/exchange_rate_pairs_spec.rb +42 -42
  203. data/spec/models/exchange_spec.rb +72 -72
  204. data/spec/models/excluded_asset_spec.rb +30 -30
  205. data/spec/models/jwt_spec.rb +30 -30
  206. data/spec/models/login_redirect_uri_spec.rb +36 -36
  207. data/spec/models/manual_trade_and_impact_spec.rb +42 -42
  208. data/spec/models/manual_trade_balance_spec.rb +42 -42
  209. data/spec/models/manual_trade_form_spec.rb +72 -72
  210. data/spec/models/manual_trade_spec.rb +72 -72
  211. data/spec/models/manual_trade_symbol_spec.rb +60 -60
  212. data/spec/models/model400_failed_request_response_spec.rb +36 -36
  213. data/spec/models/model401_failed_request_response_spec.rb +36 -36
  214. data/spec/models/model403_failed_request_response_spec.rb +36 -36
  215. data/spec/models/model404_failed_request_response_spec.rb +36 -36
  216. data/spec/models/model_asset_class_details_spec.rb +36 -36
  217. data/spec/models/model_asset_class_spec.rb +36 -36
  218. data/spec/models/model_asset_class_target_spec.rb +30 -30
  219. data/spec/models/model_portfolio_asset_class_spec.rb +36 -36
  220. data/spec/models/model_portfolio_details_spec.rb +42 -42
  221. data/spec/models/model_portfolio_security_spec.rb +36 -36
  222. data/spec/models/model_portfolio_spec.rb +42 -42
  223. data/spec/models/model_type_spec.rb +24 -24
  224. data/spec/models/monthly_dividends_spec.rb +36 -36
  225. data/spec/models/net_contributions_spec.rb +42 -42
  226. data/spec/models/net_dividend_spec.rb +42 -42
  227. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -42
  228. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -42
  229. data/spec/models/option_chain_inner_spec.rb +54 -54
  230. data/spec/models/option_leg_action_spec.rb +24 -24
  231. data/spec/models/option_leg_spec.rb +42 -42
  232. data/spec/models/option_strategy_legs_inner_spec.rb +48 -48
  233. data/spec/models/option_strategy_spec.rb +54 -54
  234. data/spec/models/options_get_option_strategy_request_spec.rb +42 -42
  235. data/spec/models/options_holdings_spec.rb +60 -60
  236. data/spec/models/options_place_option_strategy_request_spec.rb +42 -42
  237. data/spec/models/options_position_currency_spec.rb +42 -42
  238. data/spec/models/options_position_spec.rb +66 -66
  239. data/spec/models/options_symbol_spec.rb +72 -72
  240. data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -24
  241. data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -24
  242. data/spec/models/order_type_spec.rb +24 -24
  243. data/spec/models/partner_data_spec.rb +96 -96
  244. data/spec/models/past_value_spec.rb +42 -42
  245. data/spec/models/performance_custom_spec.rb +138 -138
  246. data/spec/models/portfolio_group_info_spec.rb +90 -90
  247. data/spec/models/portfolio_group_position_spec.rb +42 -42
  248. data/spec/models/portfolio_group_settings_spec.rb +54 -54
  249. data/spec/models/portfolio_group_spec.rb +36 -36
  250. data/spec/models/position_spec.rb +60 -60
  251. data/spec/models/position_symbol_spec.rb +60 -60
  252. data/spec/models/redirect_tokenand_pin_spec.rb +36 -36
  253. data/spec/models/security_type_spec.rb +48 -48
  254. data/spec/models/session_event_spec.rb +66 -66
  255. data/spec/models/session_event_type_spec.rb +24 -24
  256. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -36
  257. data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -78
  258. data/spec/models/snap_trade_holdings_account_spec.rb +72 -72
  259. data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -36
  260. data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -54
  261. data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -36
  262. data/spec/models/state_spec.rb +24 -24
  263. data/spec/models/status_spec.rb +42 -42
  264. data/spec/models/strategy_impact_legs_inner_spec.rb +66 -66
  265. data/spec/models/strategy_impact_spec.rb +90 -90
  266. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -66
  267. data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -282
  268. data/spec/models/strategy_order_place_spec.rb +36 -36
  269. data/spec/models/strategy_order_record_order_type_spec.rb +24 -24
  270. data/spec/models/strategy_order_record_spec.rb +90 -90
  271. data/spec/models/strategy_order_record_status_spec.rb +24 -24
  272. data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -24
  273. data/spec/models/strategy_quotes_greek_spec.rb +54 -54
  274. data/spec/models/strategy_quotes_spec.rb +60 -60
  275. data/spec/models/strategy_type_spec.rb +24 -24
  276. data/spec/models/sub_period_return_rate_spec.rb +42 -42
  277. data/spec/models/symbol_query_spec.rb +30 -30
  278. data/spec/models/symbol_spec.rb +66 -66
  279. data/spec/models/symbols_quotes_inner_spec.rb +60 -60
  280. data/spec/models/target_asset_spec.rb +60 -60
  281. data/spec/models/time_in_force_spec.rb +24 -24
  282. data/spec/models/trade_action_spec.rb +24 -24
  283. data/spec/models/trade_execution_status_action_spec.rb +24 -24
  284. data/spec/models/trade_execution_status_spec.rb +78 -78
  285. data/spec/models/trade_impact_spec.rb +54 -54
  286. data/spec/models/trade_spec.rb +72 -72
  287. data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -30
  288. data/spec/models/trading_place_oco_order_request_spec.rb +36 -36
  289. data/spec/models/transactions_status_spec.rb +36 -36
  290. data/spec/models/type_spec.rb +24 -24
  291. data/spec/models/underlying_symbol_spec.rb +66 -66
  292. data/spec/models/universal_activity_spec.rb +126 -120
  293. data/spec/models/universal_symbol_spec.rb +72 -72
  294. data/spec/models/universal_symbol_ticker_spec.rb +72 -72
  295. data/spec/models/us_exchange_spec.rb +78 -78
  296. data/spec/models/user_error_log_spec.rb +60 -60
  297. data/spec/models/user_i_dand_secret_spec.rb +36 -36
  298. data/spec/models/user_settings_spec.rb +84 -84
  299. data/spec/spec_helper.rb +6 -6
  300. metadata +116 -116
@@ -1,283 +1,283 @@
1
- =begin
2
- #SnapTrade
3
-
4
- #Connect brokerage accounts to your app for live positions and trading
5
-
6
- The version of the OpenAPI document: 1.0.0
7
- Contact: api@snaptrade.com
8
-
9
- =end
10
-
11
- require 'cgi'
12
-
13
- module SnapTrade
14
- class TransactionsAndReportingApi
15
- attr_accessor :api_client
16
-
17
- def initialize(api_client = ApiClient.default)
18
- @api_client = api_client
19
- end
20
-
21
- # Get transaction history for a user
22
- # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
23
- # @param user_id [String]
24
- # @param user_secret [String]
25
- # @param start_date [Date]
26
- # @param end_date [Date]
27
- # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
28
- # @param brokerage_authorizations [String] Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
29
- # @param type [String] Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
30
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
31
- def get_activities(user_id:, user_secret:, start_date: SENTINEL, end_date: SENTINEL, accounts: SENTINEL, brokerage_authorizations: SENTINEL, type: SENTINEL, extra: {})
32
- extra[:start_date] = start_date if start_date != SENTINEL
33
- extra[:end_date] = end_date if end_date != SENTINEL
34
- extra[:accounts] = accounts if accounts != SENTINEL
35
- extra[:brokerage_authorizations] = brokerage_authorizations if brokerage_authorizations != SENTINEL
36
- extra[:type] = type if type != SENTINEL
37
-
38
- data, _status_code, _headers = get_activities_with_http_info_impl(user_id, user_secret, extra)
39
- data
40
- end
41
-
42
- # Get transaction history for a user
43
- # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
44
- # @param user_id [String]
45
- # @param user_secret [String]
46
- # @param start_date [Date]
47
- # @param end_date [Date]
48
- # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
49
- # @param brokerage_authorizations [String] Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
50
- # @param type [String] Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
51
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
52
- def get_activities_with_http_info(user_id:, user_secret:, start_date: SENTINEL, end_date: SENTINEL, accounts: SENTINEL, brokerage_authorizations: SENTINEL, type: SENTINEL, extra: {})
53
- extra[:start_date] = start_date if start_date != SENTINEL
54
- extra[:end_date] = end_date if end_date != SENTINEL
55
- extra[:accounts] = accounts if accounts != SENTINEL
56
- extra[:brokerage_authorizations] = brokerage_authorizations if brokerage_authorizations != SENTINEL
57
- extra[:type] = type if type != SENTINEL
58
-
59
- get_activities_with_http_info_impl(user_id, user_secret, extra)
60
- end
61
-
62
- # Get transaction history for a user
63
- # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
64
- # @param user_id [String]
65
- # @param user_secret [String]
66
- # @param [Hash] opts the optional parameters
67
- # @option opts [Date] :start_date
68
- # @option opts [Date] :end_date
69
- # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
70
- # @option opts [String] :brokerage_authorizations Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
71
- # @option opts [String] :type Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
72
- # @return [Array<UniversalActivity>]
73
- def get_activities_impl(user_id, user_secret, opts = {})
74
- data, _status_code, _headers = get_activities_with_http_info(user_id, user_secret, opts)
75
- data
76
- end
77
-
78
- # Get transaction history for a user
79
- # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
80
- # @param user_id [String]
81
- # @param user_secret [String]
82
- # @param [Hash] opts the optional parameters
83
- # @option opts [Date] :start_date
84
- # @option opts [Date] :end_date
85
- # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
86
- # @option opts [String] :brokerage_authorizations Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
87
- # @option opts [String] :type Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
88
- # @return [Array<(Array<UniversalActivity>, Integer, Hash)>] Array<UniversalActivity> data, response status code and response headers
89
- def get_activities_with_http_info_impl(user_id, user_secret, opts = {})
90
- if @api_client.config.debugging
91
- @api_client.config.logger.debug 'Calling API: TransactionsAndReportingApi.get_activities ...'
92
- end
93
- # verify the required parameter 'user_id' is set
94
- if @api_client.config.client_side_validation && user_id.nil?
95
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TransactionsAndReportingApi.get_activities"
96
- end
97
- # verify the required parameter 'user_secret' is set
98
- if @api_client.config.client_side_validation && user_secret.nil?
99
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TransactionsAndReportingApi.get_activities"
100
- end
101
- # resource path
102
- local_var_path = '/activities'
103
-
104
- # query parameters
105
- query_params = opts[:query_params] || {}
106
- query_params[:'userId'] = user_id
107
- query_params[:'userSecret'] = user_secret
108
- query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
109
- query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
110
- query_params[:'accounts'] = opts[:'accounts'] if !opts[:'accounts'].nil?
111
- query_params[:'brokerageAuthorizations'] = opts[:'brokerage_authorizations'] if !opts[:'brokerage_authorizations'].nil?
112
- query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
113
-
114
- # header parameters
115
- header_params = opts[:header_params] || {}
116
- # HTTP header 'Accept' (if needed)
117
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
118
-
119
- # form parameters
120
- form_params = opts[:form_params] || {}
121
-
122
- # http body (model)
123
- post_body = opts[:debug_body]
124
-
125
- # return_type
126
- return_type = opts[:debug_return_type] || 'Array<UniversalActivity>'
127
-
128
- # auth_names
129
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
130
-
131
- new_options = opts.merge(
132
- :operation => :"TransactionsAndReportingApi.get_activities",
133
- :header_params => header_params,
134
- :query_params => query_params,
135
- :form_params => form_params,
136
- :body => post_body,
137
- :auth_names => auth_names,
138
- :return_type => return_type
139
- )
140
-
141
- data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
142
- if @api_client.config.debugging
143
- @api_client.config.logger.debug "API called: TransactionsAndReportingApi#get_activities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
144
- end
145
- return data, status_code, headers, response
146
- end
147
-
148
-
149
- # Get performance information for a specific timeframe
150
- # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
151
- # @param start_date [Date]
152
- # @param end_date [Date]
153
- # @param user_id [String]
154
- # @param user_secret [String]
155
- # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
156
- # @param detailed [Boolean] Optional, increases frequency of data points for the total value and contribution charts if set to true
157
- # @param frequency [String] Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
158
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
159
- def get_reporting_custom_range(start_date:, end_date:, user_id:, user_secret:, accounts: SENTINEL, detailed: SENTINEL, frequency: SENTINEL, extra: {})
160
- extra[:accounts] = accounts if accounts != SENTINEL
161
- extra[:detailed] = detailed if detailed != SENTINEL
162
- extra[:frequency] = frequency if frequency != SENTINEL
163
-
164
- data, _status_code, _headers = get_reporting_custom_range_with_http_info_impl(start_date, end_date, user_id, user_secret, extra)
165
- data
166
- end
167
-
168
- # Get performance information for a specific timeframe
169
- # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
170
- # @param start_date [Date]
171
- # @param end_date [Date]
172
- # @param user_id [String]
173
- # @param user_secret [String]
174
- # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
175
- # @param detailed [Boolean] Optional, increases frequency of data points for the total value and contribution charts if set to true
176
- # @param frequency [String] Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
177
- # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
178
- def get_reporting_custom_range_with_http_info(start_date:, end_date:, user_id:, user_secret:, accounts: SENTINEL, detailed: SENTINEL, frequency: SENTINEL, extra: {})
179
- extra[:accounts] = accounts if accounts != SENTINEL
180
- extra[:detailed] = detailed if detailed != SENTINEL
181
- extra[:frequency] = frequency if frequency != SENTINEL
182
-
183
- get_reporting_custom_range_with_http_info_impl(start_date, end_date, user_id, user_secret, extra)
184
- end
185
-
186
- # Get performance information for a specific timeframe
187
- # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
188
- # @param start_date [Date]
189
- # @param end_date [Date]
190
- # @param user_id [String]
191
- # @param user_secret [String]
192
- # @param [Hash] opts the optional parameters
193
- # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
194
- # @option opts [Boolean] :detailed Optional, increases frequency of data points for the total value and contribution charts if set to true
195
- # @option opts [String] :frequency Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
196
- # @return [PerformanceCustom]
197
- def get_reporting_custom_range_impl(start_date, end_date, user_id, user_secret, opts = {})
198
- data, _status_code, _headers = get_reporting_custom_range_with_http_info(start_date, end_date, user_id, user_secret, opts)
199
- data
200
- end
201
-
202
- # Get performance information for a specific timeframe
203
- # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
204
- # @param start_date [Date]
205
- # @param end_date [Date]
206
- # @param user_id [String]
207
- # @param user_secret [String]
208
- # @param [Hash] opts the optional parameters
209
- # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
210
- # @option opts [Boolean] :detailed Optional, increases frequency of data points for the total value and contribution charts if set to true
211
- # @option opts [String] :frequency Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
212
- # @return [Array<(PerformanceCustom, Integer, Hash)>] PerformanceCustom data, response status code and response headers
213
- def get_reporting_custom_range_with_http_info_impl(start_date, end_date, user_id, user_secret, opts = {})
214
- if @api_client.config.debugging
215
- @api_client.config.logger.debug 'Calling API: TransactionsAndReportingApi.get_reporting_custom_range ...'
216
- end
217
- # verify the required parameter 'start_date' is set
218
- if @api_client.config.client_side_validation && start_date.nil?
219
- fail ArgumentError, "Missing the required parameter 'start_date' when calling TransactionsAndReportingApi.get_reporting_custom_range"
220
- end
221
- # verify the required parameter 'end_date' is set
222
- if @api_client.config.client_side_validation && end_date.nil?
223
- fail ArgumentError, "Missing the required parameter 'end_date' when calling TransactionsAndReportingApi.get_reporting_custom_range"
224
- end
225
- # verify the required parameter 'user_id' is set
226
- if @api_client.config.client_side_validation && user_id.nil?
227
- fail ArgumentError, "Missing the required parameter 'user_id' when calling TransactionsAndReportingApi.get_reporting_custom_range"
228
- end
229
- # verify the required parameter 'user_secret' is set
230
- if @api_client.config.client_side_validation && user_secret.nil?
231
- fail ArgumentError, "Missing the required parameter 'user_secret' when calling TransactionsAndReportingApi.get_reporting_custom_range"
232
- end
233
- # resource path
234
- local_var_path = '/performance/custom'
235
-
236
- # query parameters
237
- query_params = opts[:query_params] || {}
238
- query_params[:'startDate'] = start_date
239
- query_params[:'endDate'] = end_date
240
- query_params[:'userId'] = user_id
241
- query_params[:'userSecret'] = user_secret
242
- query_params[:'accounts'] = opts[:'accounts'] if !opts[:'accounts'].nil?
243
- query_params[:'detailed'] = opts[:'detailed'] if !opts[:'detailed'].nil?
244
- query_params[:'frequency'] = opts[:'frequency'] if !opts[:'frequency'].nil?
245
-
246
- # header parameters
247
- header_params = opts[:header_params] || {}
248
- # HTTP header 'Accept' (if needed)
249
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
250
-
251
- # form parameters
252
- form_params = opts[:form_params] || {}
253
-
254
- # http body (model)
255
- post_body = opts[:debug_body]
256
-
257
- # return_type
258
- return_type = opts[:debug_return_type] || 'PerformanceCustom'
259
-
260
- # auth_names
261
- auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
262
-
263
- new_options = opts.merge(
264
- :operation => :"TransactionsAndReportingApi.get_reporting_custom_range",
265
- :header_params => header_params,
266
- :query_params => query_params,
267
- :form_params => form_params,
268
- :body => post_body,
269
- :auth_names => auth_names,
270
- :return_type => return_type
271
- )
272
-
273
- data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
274
- if @api_client.config.debugging
275
- @api_client.config.logger.debug "API called: TransactionsAndReportingApi#get_reporting_custom_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
276
- end
277
- return data, status_code, headers, response
278
- end
279
- end
280
-
281
- # top-level client access to avoid having the user to insantiate their own API instances
282
- TransactionsAndReporting = TransactionsAndReportingApi::new
283
- end
1
+ =begin
2
+ #SnapTrade
3
+
4
+ #Connect brokerage accounts to your app for live positions and trading
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: api@snaptrade.com
8
+
9
+ =end
10
+
11
+ require 'cgi'
12
+
13
+ module SnapTrade
14
+ class TransactionsAndReportingApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+
21
+ # Get transaction history for a user
22
+ # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
23
+ # @param user_id [String]
24
+ # @param user_secret [String]
25
+ # @param start_date [Date]
26
+ # @param end_date [Date]
27
+ # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
28
+ # @param brokerage_authorizations [String] Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
29
+ # @param type [String] Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
30
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
31
+ def get_activities(user_id:, user_secret:, start_date: SENTINEL, end_date: SENTINEL, accounts: SENTINEL, brokerage_authorizations: SENTINEL, type: SENTINEL, extra: {})
32
+ extra[:start_date] = start_date if start_date != SENTINEL
33
+ extra[:end_date] = end_date if end_date != SENTINEL
34
+ extra[:accounts] = accounts if accounts != SENTINEL
35
+ extra[:brokerage_authorizations] = brokerage_authorizations if brokerage_authorizations != SENTINEL
36
+ extra[:type] = type if type != SENTINEL
37
+
38
+ data, _status_code, _headers = get_activities_with_http_info_impl(user_id, user_secret, extra)
39
+ data
40
+ end
41
+
42
+ # Get transaction history for a user
43
+ # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
44
+ # @param user_id [String]
45
+ # @param user_secret [String]
46
+ # @param start_date [Date]
47
+ # @param end_date [Date]
48
+ # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
49
+ # @param brokerage_authorizations [String] Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
50
+ # @param type [String] Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
51
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
52
+ def get_activities_with_http_info(user_id:, user_secret:, start_date: SENTINEL, end_date: SENTINEL, accounts: SENTINEL, brokerage_authorizations: SENTINEL, type: SENTINEL, extra: {})
53
+ extra[:start_date] = start_date if start_date != SENTINEL
54
+ extra[:end_date] = end_date if end_date != SENTINEL
55
+ extra[:accounts] = accounts if accounts != SENTINEL
56
+ extra[:brokerage_authorizations] = brokerage_authorizations if brokerage_authorizations != SENTINEL
57
+ extra[:type] = type if type != SENTINEL
58
+
59
+ get_activities_with_http_info_impl(user_id, user_secret, extra)
60
+ end
61
+
62
+ # Get transaction history for a user
63
+ # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
64
+ # @param user_id [String]
65
+ # @param user_secret [String]
66
+ # @param [Hash] opts the optional parameters
67
+ # @option opts [Date] :start_date
68
+ # @option opts [Date] :end_date
69
+ # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
70
+ # @option opts [String] :brokerage_authorizations Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
71
+ # @option opts [String] :type Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
72
+ # @return [Array<UniversalActivity>]
73
+ def get_activities_impl(user_id, user_secret, opts = {})
74
+ data, _status_code, _headers = get_activities_with_http_info(user_id, user_secret, opts)
75
+ data
76
+ end
77
+
78
+ # Get transaction history for a user
79
+ # Returns activities (transactions) for a user. Specifing start and end date is highly recommended for automatic calls for better performance
80
+ # @param user_id [String]
81
+ # @param user_secret [String]
82
+ # @param [Hash] opts the optional parameters
83
+ # @option opts [Date] :start_date
84
+ # @option opts [Date] :end_date
85
+ # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
86
+ # @option opts [String] :brokerage_authorizations Optional comma seperated list of brokerage authorization IDs used to filter the request on only accounts that belong to those authorizations
87
+ # @option opts [String] :type Optional comma seperated list of types to filter activities by. This is not an exhaustive list, if we fail to match to these types, we will return the raw description from the brokerage. Potential values include - DIVIDEND - BUY - SELL - CONTRIBUTION - WITHDRAWAL - EXTERNAL_ASSET_TRANSFER_IN - EXTERNAL_ASSET_TRANSFER_OUT - INTERNAL_CASH_TRANSFER_IN - INTERNAL_CASH_TRANSFER_OUT - INTERNAL_ASSET_TRANSFER_IN - INTERNAL_ASSET_TRANSFER_OUT - INTEREST - REBATE - GOV_GRANT - TAX - FEE - REI - FXT
88
+ # @return [Array<(Array<UniversalActivity>, Integer, Hash)>] Array<UniversalActivity> data, response status code and response headers
89
+ def get_activities_with_http_info_impl(user_id, user_secret, opts = {})
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug 'Calling API: TransactionsAndReportingApi.get_activities ...'
92
+ end
93
+ # verify the required parameter 'user_id' is set
94
+ if @api_client.config.client_side_validation && user_id.nil?
95
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TransactionsAndReportingApi.get_activities"
96
+ end
97
+ # verify the required parameter 'user_secret' is set
98
+ if @api_client.config.client_side_validation && user_secret.nil?
99
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TransactionsAndReportingApi.get_activities"
100
+ end
101
+ # resource path
102
+ local_var_path = '/activities'
103
+
104
+ # query parameters
105
+ query_params = opts[:query_params] || {}
106
+ query_params[:'userId'] = user_id
107
+ query_params[:'userSecret'] = user_secret
108
+ query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
109
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
110
+ query_params[:'accounts'] = opts[:'accounts'] if !opts[:'accounts'].nil?
111
+ query_params[:'brokerageAuthorizations'] = opts[:'brokerage_authorizations'] if !opts[:'brokerage_authorizations'].nil?
112
+ query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
113
+
114
+ # header parameters
115
+ header_params = opts[:header_params] || {}
116
+ # HTTP header 'Accept' (if needed)
117
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
118
+
119
+ # form parameters
120
+ form_params = opts[:form_params] || {}
121
+
122
+ # http body (model)
123
+ post_body = opts[:debug_body]
124
+
125
+ # return_type
126
+ return_type = opts[:debug_return_type] || 'Array<UniversalActivity>'
127
+
128
+ # auth_names
129
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
130
+
131
+ new_options = opts.merge(
132
+ :operation => :"TransactionsAndReportingApi.get_activities",
133
+ :header_params => header_params,
134
+ :query_params => query_params,
135
+ :form_params => form_params,
136
+ :body => post_body,
137
+ :auth_names => auth_names,
138
+ :return_type => return_type
139
+ )
140
+
141
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
142
+ if @api_client.config.debugging
143
+ @api_client.config.logger.debug "API called: TransactionsAndReportingApi#get_activities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
144
+ end
145
+ return data, status_code, headers, response
146
+ end
147
+
148
+
149
+ # Get performance information for a specific timeframe
150
+ # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
151
+ # @param start_date [Date]
152
+ # @param end_date [Date]
153
+ # @param user_id [String]
154
+ # @param user_secret [String]
155
+ # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
156
+ # @param detailed [Boolean] Optional, increases frequency of data points for the total value and contribution charts if set to true
157
+ # @param frequency [String] Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
158
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
159
+ def get_reporting_custom_range(start_date:, end_date:, user_id:, user_secret:, accounts: SENTINEL, detailed: SENTINEL, frequency: SENTINEL, extra: {})
160
+ extra[:accounts] = accounts if accounts != SENTINEL
161
+ extra[:detailed] = detailed if detailed != SENTINEL
162
+ extra[:frequency] = frequency if frequency != SENTINEL
163
+
164
+ data, _status_code, _headers = get_reporting_custom_range_with_http_info_impl(start_date, end_date, user_id, user_secret, extra)
165
+ data
166
+ end
167
+
168
+ # Get performance information for a specific timeframe
169
+ # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
170
+ # @param start_date [Date]
171
+ # @param end_date [Date]
172
+ # @param user_id [String]
173
+ # @param user_secret [String]
174
+ # @param accounts [String] Optional comma seperated list of account IDs used to filter the request on specific accounts
175
+ # @param detailed [Boolean] Optional, increases frequency of data points for the total value and contribution charts if set to true
176
+ # @param frequency [String] Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
177
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
178
+ def get_reporting_custom_range_with_http_info(start_date:, end_date:, user_id:, user_secret:, accounts: SENTINEL, detailed: SENTINEL, frequency: SENTINEL, extra: {})
179
+ extra[:accounts] = accounts if accounts != SENTINEL
180
+ extra[:detailed] = detailed if detailed != SENTINEL
181
+ extra[:frequency] = frequency if frequency != SENTINEL
182
+
183
+ get_reporting_custom_range_with_http_info_impl(start_date, end_date, user_id, user_secret, extra)
184
+ end
185
+
186
+ # Get performance information for a specific timeframe
187
+ # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
188
+ # @param start_date [Date]
189
+ # @param end_date [Date]
190
+ # @param user_id [String]
191
+ # @param user_secret [String]
192
+ # @param [Hash] opts the optional parameters
193
+ # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
194
+ # @option opts [Boolean] :detailed Optional, increases frequency of data points for the total value and contribution charts if set to true
195
+ # @option opts [String] :frequency Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
196
+ # @return [PerformanceCustom]
197
+ def get_reporting_custom_range_impl(start_date, end_date, user_id, user_secret, opts = {})
198
+ data, _status_code, _headers = get_reporting_custom_range_with_http_info(start_date, end_date, user_id, user_secret, opts)
199
+ data
200
+ end
201
+
202
+ # Get performance information for a specific timeframe
203
+ # Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Total Equity Timeframe and Rate of Returns are experimental and should not be trusted to be 100% accurate
204
+ # @param start_date [Date]
205
+ # @param end_date [Date]
206
+ # @param user_id [String]
207
+ # @param user_secret [String]
208
+ # @param [Hash] opts the optional parameters
209
+ # @option opts [String] :accounts Optional comma seperated list of account IDs used to filter the request on specific accounts
210
+ # @option opts [Boolean] :detailed Optional, increases frequency of data points for the total value and contribution charts if set to true
211
+ # @option opts [String] :frequency Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
212
+ # @return [Array<(PerformanceCustom, Integer, Hash)>] PerformanceCustom data, response status code and response headers
213
+ def get_reporting_custom_range_with_http_info_impl(start_date, end_date, user_id, user_secret, opts = {})
214
+ if @api_client.config.debugging
215
+ @api_client.config.logger.debug 'Calling API: TransactionsAndReportingApi.get_reporting_custom_range ...'
216
+ end
217
+ # verify the required parameter 'start_date' is set
218
+ if @api_client.config.client_side_validation && start_date.nil?
219
+ fail ArgumentError, "Missing the required parameter 'start_date' when calling TransactionsAndReportingApi.get_reporting_custom_range"
220
+ end
221
+ # verify the required parameter 'end_date' is set
222
+ if @api_client.config.client_side_validation && end_date.nil?
223
+ fail ArgumentError, "Missing the required parameter 'end_date' when calling TransactionsAndReportingApi.get_reporting_custom_range"
224
+ end
225
+ # verify the required parameter 'user_id' is set
226
+ if @api_client.config.client_side_validation && user_id.nil?
227
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling TransactionsAndReportingApi.get_reporting_custom_range"
228
+ end
229
+ # verify the required parameter 'user_secret' is set
230
+ if @api_client.config.client_side_validation && user_secret.nil?
231
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling TransactionsAndReportingApi.get_reporting_custom_range"
232
+ end
233
+ # resource path
234
+ local_var_path = '/performance/custom'
235
+
236
+ # query parameters
237
+ query_params = opts[:query_params] || {}
238
+ query_params[:'startDate'] = start_date
239
+ query_params[:'endDate'] = end_date
240
+ query_params[:'userId'] = user_id
241
+ query_params[:'userSecret'] = user_secret
242
+ query_params[:'accounts'] = opts[:'accounts'] if !opts[:'accounts'].nil?
243
+ query_params[:'detailed'] = opts[:'detailed'] if !opts[:'detailed'].nil?
244
+ query_params[:'frequency'] = opts[:'frequency'] if !opts[:'frequency'].nil?
245
+
246
+ # header parameters
247
+ header_params = opts[:header_params] || {}
248
+ # HTTP header 'Accept' (if needed)
249
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
250
+
251
+ # form parameters
252
+ form_params = opts[:form_params] || {}
253
+
254
+ # http body (model)
255
+ post_body = opts[:debug_body]
256
+
257
+ # return_type
258
+ return_type = opts[:debug_return_type] || 'PerformanceCustom'
259
+
260
+ # auth_names
261
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
262
+
263
+ new_options = opts.merge(
264
+ :operation => :"TransactionsAndReportingApi.get_reporting_custom_range",
265
+ :header_params => header_params,
266
+ :query_params => query_params,
267
+ :form_params => form_params,
268
+ :body => post_body,
269
+ :auth_names => auth_names,
270
+ :return_type => return_type
271
+ )
272
+
273
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
274
+ if @api_client.config.debugging
275
+ @api_client.config.logger.debug "API called: TransactionsAndReportingApi#get_reporting_custom_range\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
276
+ end
277
+ return data, status_code, headers, response
278
+ end
279
+ end
280
+
281
+ # top-level client access to avoid having the user to insantiate their own API instances
282
+ TransactionsAndReporting = TransactionsAndReportingApi::new
283
+ end