snaptrade 1.2.0

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 (422) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +84 -0
  4. data/README.md +254 -0
  5. data/Rakefile +10 -0
  6. data/docs/APIStatusApi.md +57 -0
  7. data/docs/Account.md +36 -0
  8. data/docs/AccountHoldings.md +24 -0
  9. data/docs/AccountHoldingsAccount.md +26 -0
  10. data/docs/AccountInformationApi.md +535 -0
  11. data/docs/AccountOrderRecord.md +52 -0
  12. data/docs/AccountOrderRecordStatus.md +15 -0
  13. data/docs/AccountSimple.md +24 -0
  14. data/docs/AccountSyncStatus.md +18 -0
  15. data/docs/Action.md +15 -0
  16. data/docs/AuthType.md +15 -0
  17. data/docs/AuthenticationApi.md +314 -0
  18. data/docs/AuthenticationLoginSnapTradeUser200Response.md +49 -0
  19. data/docs/Balance.md +20 -0
  20. data/docs/Brokerage.md +52 -0
  21. data/docs/BrokerageAuthorization.md +34 -0
  22. data/docs/BrokerageAuthorizationType.md +18 -0
  23. data/docs/BrokerageAuthorizationTypeReadOnly.md +24 -0
  24. data/docs/BrokerageAuthorizationTypeReadOnlyBrokerage.md +22 -0
  25. data/docs/BrokerageAuthorizationTypeReadOnlyType.md +15 -0
  26. data/docs/BrokerageAuthorizationTypeType.md +15 -0
  27. data/docs/BrokerageSymbol.md +26 -0
  28. data/docs/BrokerageType.md +20 -0
  29. data/docs/CalculatedTrade.md +20 -0
  30. data/docs/CashRestriction.md +26 -0
  31. data/docs/ConnectionType.md +15 -0
  32. data/docs/ConnectionsApi.md +265 -0
  33. data/docs/ConnectionsSessionEvents200ResponseInner.md +30 -0
  34. data/docs/Currency.md +22 -0
  35. data/docs/DeleteUserResponse.md +20 -0
  36. data/docs/DividendAtDate.md +22 -0
  37. data/docs/EncryptedResponse.md +20 -0
  38. data/docs/EncryptedResponseEncryptedMessageData.md +22 -0
  39. data/docs/ErrorLogsApi.md +68 -0
  40. data/docs/Exchange.md +32 -0
  41. data/docs/ExchangeRatePairs.md +22 -0
  42. data/docs/ExcludedAsset.md +18 -0
  43. data/docs/JWT.md +18 -0
  44. data/docs/LoginRedirectURI.md +20 -0
  45. data/docs/ManualTrade.md +32 -0
  46. data/docs/ManualTradeAndImpact.md +22 -0
  47. data/docs/ManualTradeBalance.md +22 -0
  48. data/docs/ManualTradeForm.md +32 -0
  49. data/docs/ManualTradeSymbol.md +28 -0
  50. data/docs/Model400FailedRequestResponse.md +20 -0
  51. data/docs/Model401FailedRequestResponse.md +20 -0
  52. data/docs/Model403FailedRequestResponse.md +20 -0
  53. data/docs/Model404FailedRequestResponse.md +20 -0
  54. data/docs/ModelAssetClass.md +20 -0
  55. data/docs/ModelAssetClassDetails.md +20 -0
  56. data/docs/ModelAssetClassTarget.md +18 -0
  57. data/docs/ModelPortfolio.md +22 -0
  58. data/docs/ModelPortfolioAssetClass.md +20 -0
  59. data/docs/ModelPortfolioDetails.md +22 -0
  60. data/docs/ModelPortfolioSecurity.md +20 -0
  61. data/docs/ModelType.md +15 -0
  62. data/docs/MonthlyDividends.md +20 -0
  63. data/docs/NetContributions.md +22 -0
  64. data/docs/NetDividend.md +22 -0
  65. data/docs/OptionChainInner.md +26 -0
  66. data/docs/OptionChainInnerChainPerRootInner.md +22 -0
  67. data/docs/OptionChainInnerChainPerRootInnerChainPerStrikePriceInner.md +22 -0
  68. data/docs/OptionLeg.md +22 -0
  69. data/docs/OptionLegAction.md +15 -0
  70. data/docs/OptionStrategy.md +26 -0
  71. data/docs/OptionStrategyLegsInner.md +24 -0
  72. data/docs/OptionsApi.md +390 -0
  73. data/docs/OptionsGetOptionStrategyRequest.md +22 -0
  74. data/docs/OptionsHoldings.md +28 -0
  75. data/docs/OptionsPlaceOptionStrategyRequest.md +22 -0
  76. data/docs/OptionsPosition.md +30 -0
  77. data/docs/OptionsSymbol.md +38 -0
  78. data/docs/OrderStrategyExecuteBodyOrderType.md +15 -0
  79. data/docs/OrderStrategyExecuteBodyTimeInForce.md +15 -0
  80. data/docs/OrderType.md +15 -0
  81. data/docs/PartnerData.md +40 -0
  82. data/docs/PastValue.md +22 -0
  83. data/docs/PerformanceCustom.md +54 -0
  84. data/docs/PortfolioGroup.md +20 -0
  85. data/docs/PortfolioGroupInfo.md +38 -0
  86. data/docs/PortfolioGroupPosition.md +22 -0
  87. data/docs/PortfolioGroupSettings.md +26 -0
  88. data/docs/PortfolioManagementApi.md +2014 -0
  89. data/docs/Position.md +28 -0
  90. data/docs/PositionSymbol.md +28 -0
  91. data/docs/RedirectTokenandPin.md +20 -0
  92. data/docs/ReferenceDataApi.md +595 -0
  93. data/docs/SecurityType.md +24 -0
  94. data/docs/SessionEvent.md +30 -0
  95. data/docs/SessionEventType.md +15 -0
  96. data/docs/SnapTradeAPIDisclaimerAcceptStatus.md +20 -0
  97. data/docs/SnapTradeHoldingsAccount.md +32 -0
  98. data/docs/SnapTradeHoldingsAccountAccountId.md +34 -0
  99. data/docs/SnapTradeHoldingsTotalValue.md +20 -0
  100. data/docs/SnapTradeLoginUserRequestBody.md +26 -0
  101. data/docs/SnapTradeRegisterUserRequestBody.md +20 -0
  102. data/docs/State.md +15 -0
  103. data/docs/Status.md +22 -0
  104. data/docs/StrategyImpact.md +38 -0
  105. data/docs/StrategyImpactLegsInner.md +30 -0
  106. data/docs/StrategyOrderPlace.md +20 -0
  107. data/docs/StrategyOrderPlaceOrdersInner.md +102 -0
  108. data/docs/StrategyOrderPlaceOrdersInnerLegsInner.md +30 -0
  109. data/docs/StrategyOrderRecord.md +38 -0
  110. data/docs/StrategyOrderRecordOrderType.md +15 -0
  111. data/docs/StrategyOrderRecordStatus.md +15 -0
  112. data/docs/StrategyOrderRecordTimeInForce.md +15 -0
  113. data/docs/StrategyQuotes.md +28 -0
  114. data/docs/StrategyQuotesGreek.md +26 -0
  115. data/docs/StrategyType.md +15 -0
  116. data/docs/SubPeriodReturnRate.md +22 -0
  117. data/docs/Symbol.md +30 -0
  118. data/docs/SymbolQuery.md +18 -0
  119. data/docs/SymbolsQuotes.md +28 -0
  120. data/docs/TargetAsset.md +28 -0
  121. data/docs/TimeInForce.md +15 -0
  122. data/docs/Trade.md +32 -0
  123. data/docs/TradeAction.md +15 -0
  124. data/docs/TradeExecutionStatus.md +34 -0
  125. data/docs/TradeExecutionStatusAction.md +15 -0
  126. data/docs/TradeImpact.md +26 -0
  127. data/docs/TradingApi.md +799 -0
  128. data/docs/TradingCancelUserAccountOrderRequest.md +18 -0
  129. data/docs/TradingPlaceOCOOrderRequest.md +20 -0
  130. data/docs/TransactionsAndReportingApi.md +183 -0
  131. data/docs/TransactionsStatus.md +20 -0
  132. data/docs/Type.md +15 -0
  133. data/docs/USExchange.md +34 -0
  134. data/docs/UnderlyingSymbol.md +30 -0
  135. data/docs/UniversalActivity.md +46 -0
  136. data/docs/UniversalSymbol.md +32 -0
  137. data/docs/UniversalSymbolTicker.md +32 -0
  138. data/docs/UserErrorLog.md +28 -0
  139. data/docs/UserIDandSecret.md +20 -0
  140. data/docs/UserSettings.md +36 -0
  141. data/lib/snaptrade/api/account_information_api.rb +801 -0
  142. data/lib/snaptrade/api/api_status_api.rb +98 -0
  143. data/lib/snaptrade/api/authentication_api.rb +481 -0
  144. data/lib/snaptrade/api/connections_api.rb +398 -0
  145. data/lib/snaptrade/api/error_logs_api.rb +112 -0
  146. data/lib/snaptrade/api/options_api.rb +591 -0
  147. data/lib/snaptrade/api/portfolio_management_api.rb +2791 -0
  148. data/lib/snaptrade/api/reference_data_api.rb +894 -0
  149. data/lib/snaptrade/api/trading_api.rb +1150 -0
  150. data/lib/snaptrade/api/transactions_and_reporting_api.rb +283 -0
  151. data/lib/snaptrade/api_client.rb +427 -0
  152. data/lib/snaptrade/api_client_custom.rb +32 -0
  153. data/lib/snaptrade/api_error.rb +55 -0
  154. data/lib/snaptrade/configuration.rb +374 -0
  155. data/lib/snaptrade/models/account.rb +303 -0
  156. data/lib/snaptrade/models/account_holdings.rb +249 -0
  157. data/lib/snaptrade/models/account_holdings_account.rb +260 -0
  158. data/lib/snaptrade/models/account_order_record.rb +382 -0
  159. data/lib/snaptrade/models/account_order_record_status.rb +56 -0
  160. data/lib/snaptrade/models/account_simple.rb +245 -0
  161. data/lib/snaptrade/models/account_sync_status.rb +218 -0
  162. data/lib/snaptrade/models/action.rb +38 -0
  163. data/lib/snaptrade/models/auth_type.rb +40 -0
  164. data/lib/snaptrade/models/authentication_login_snap_trade_user200_response.rb +103 -0
  165. data/lib/snaptrade/models/balance.rb +228 -0
  166. data/lib/snaptrade/models/brokerage.rb +377 -0
  167. data/lib/snaptrade/models/brokerage_authorization.rb +297 -0
  168. data/lib/snaptrade/models/brokerage_authorization_type.rb +217 -0
  169. data/lib/snaptrade/models/brokerage_authorization_type_read_only.rb +244 -0
  170. data/lib/snaptrade/models/brokerage_authorization_type_read_only_brokerage.rb +237 -0
  171. data/lib/snaptrade/models/brokerage_authorization_type_read_only_type.rb +38 -0
  172. data/lib/snaptrade/models/brokerage_authorization_type_type.rb +38 -0
  173. data/lib/snaptrade/models/brokerage_symbol.rb +255 -0
  174. data/lib/snaptrade/models/brokerage_type.rb +227 -0
  175. data/lib/snaptrade/models/calculated_trade.rb +229 -0
  176. data/lib/snaptrade/models/cash_restriction.rb +254 -0
  177. data/lib/snaptrade/models/connection_type.rb +38 -0
  178. data/lib/snaptrade/models/connections_session_events200_response_inner.rb +293 -0
  179. data/lib/snaptrade/models/currency.rb +236 -0
  180. data/lib/snaptrade/models/delete_user_response.rb +229 -0
  181. data/lib/snaptrade/models/dividend_at_date.rb +240 -0
  182. data/lib/snaptrade/models/encrypted_response.rb +227 -0
  183. data/lib/snaptrade/models/encrypted_response_encrypted_message_data.rb +235 -0
  184. data/lib/snaptrade/models/exchange.rb +282 -0
  185. data/lib/snaptrade/models/exchange_rate_pairs.rb +236 -0
  186. data/lib/snaptrade/models/excluded_asset.rb +218 -0
  187. data/lib/snaptrade/models/jwt.rb +218 -0
  188. data/lib/snaptrade/models/login_redirect_uri.rb +228 -0
  189. data/lib/snaptrade/models/manual_trade.rb +283 -0
  190. data/lib/snaptrade/models/manual_trade_and_impact.rb +238 -0
  191. data/lib/snaptrade/models/manual_trade_balance.rb +238 -0
  192. data/lib/snaptrade/models/manual_trade_form.rb +285 -0
  193. data/lib/snaptrade/models/manual_trade_symbol.rb +264 -0
  194. data/lib/snaptrade/models/model400_failed_request_response.rb +229 -0
  195. data/lib/snaptrade/models/model401_failed_request_response.rb +229 -0
  196. data/lib/snaptrade/models/model403_failed_request_response.rb +229 -0
  197. data/lib/snaptrade/models/model404_failed_request_response.rb +229 -0
  198. data/lib/snaptrade/models/model_asset_class.rb +226 -0
  199. data/lib/snaptrade/models/model_asset_class_details.rb +228 -0
  200. data/lib/snaptrade/models/model_asset_class_target.rb +217 -0
  201. data/lib/snaptrade/models/model_portfolio.rb +237 -0
  202. data/lib/snaptrade/models/model_portfolio_asset_class.rb +250 -0
  203. data/lib/snaptrade/models/model_portfolio_details.rb +239 -0
  204. data/lib/snaptrade/models/model_portfolio_security.rb +250 -0
  205. data/lib/snaptrade/models/model_type.rb +39 -0
  206. data/lib/snaptrade/models/monthly_dividends.rb +229 -0
  207. data/lib/snaptrade/models/net_contributions.rb +237 -0
  208. data/lib/snaptrade/models/net_dividend.rb +237 -0
  209. data/lib/snaptrade/models/option_chain_inner.rb +255 -0
  210. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner.rb +237 -0
  211. data/lib/snaptrade/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner.rb +238 -0
  212. data/lib/snaptrade/models/option_leg.rb +237 -0
  213. data/lib/snaptrade/models/option_leg_action.rb +40 -0
  214. data/lib/snaptrade/models/option_strategy.rb +255 -0
  215. data/lib/snaptrade/models/option_strategy_legs_inner.rb +244 -0
  216. data/lib/snaptrade/models/options_get_option_strategy_request.rb +252 -0
  217. data/lib/snaptrade/models/options_holdings.rb +267 -0
  218. data/lib/snaptrade/models/options_place_option_strategy_request.rb +251 -0
  219. data/lib/snaptrade/models/options_position.rb +275 -0
  220. data/lib/snaptrade/models/options_symbol.rb +310 -0
  221. data/lib/snaptrade/models/order_strategy_execute_body_order_type.rb +40 -0
  222. data/lib/snaptrade/models/order_strategy_execute_body_time_in_force.rb +38 -0
  223. data/lib/snaptrade/models/order_type.rb +40 -0
  224. data/lib/snaptrade/models/partner_data.rb +331 -0
  225. data/lib/snaptrade/models/past_value.rb +236 -0
  226. data/lib/snaptrade/models/performance_custom.rb +416 -0
  227. data/lib/snaptrade/models/portfolio_group.rb +226 -0
  228. data/lib/snaptrade/models/portfolio_group_info.rb +326 -0
  229. data/lib/snaptrade/models/portfolio_group_position.rb +238 -0
  230. data/lib/snaptrade/models/portfolio_group_settings.rb +277 -0
  231. data/lib/snaptrade/models/position.rb +271 -0
  232. data/lib/snaptrade/models/position_symbol.rb +264 -0
  233. data/lib/snaptrade/models/redirect_tokenand_pin.rb +227 -0
  234. data/lib/snaptrade/models/security_type.rb +245 -0
  235. data/lib/snaptrade/models/session_event.rb +274 -0
  236. data/lib/snaptrade/models/session_event_type.rb +43 -0
  237. data/lib/snaptrade/models/snap_trade_api_disclaimer_accept_status.rb +227 -0
  238. data/lib/snaptrade/models/snap_trade_holdings_account.rb +284 -0
  239. data/lib/snaptrade/models/snap_trade_holdings_account_account_id.rb +296 -0
  240. data/lib/snaptrade/models/snap_trade_holdings_total_value.rb +227 -0
  241. data/lib/snaptrade/models/snap_trade_login_user_request_body.rb +254 -0
  242. data/lib/snaptrade/models/snap_trade_register_user_request_body.rb +229 -0
  243. data/lib/snaptrade/models/state.rb +41 -0
  244. data/lib/snaptrade/models/status.rb +236 -0
  245. data/lib/snaptrade/models/strategy_impact.rb +310 -0
  246. data/lib/snaptrade/models/strategy_impact_legs_inner.rb +271 -0
  247. data/lib/snaptrade/models/strategy_order_place.rb +229 -0
  248. data/lib/snaptrade/models/strategy_order_place_orders_inner.rb +597 -0
  249. data/lib/snaptrade/models/strategy_order_place_orders_inner_legs_inner.rb +271 -0
  250. data/lib/snaptrade/models/strategy_order_record.rb +312 -0
  251. data/lib/snaptrade/models/strategy_order_record_order_type.rb +40 -0
  252. data/lib/snaptrade/models/strategy_order_record_status.rb +55 -0
  253. data/lib/snaptrade/models/strategy_order_record_time_in_force.rb +38 -0
  254. data/lib/snaptrade/models/strategy_quotes.rb +265 -0
  255. data/lib/snaptrade/models/strategy_quotes_greek.rb +253 -0
  256. data/lib/snaptrade/models/strategy_type.rb +37 -0
  257. data/lib/snaptrade/models/sub_period_return_rate.rb +239 -0
  258. data/lib/snaptrade/models/symbol.rb +272 -0
  259. data/lib/snaptrade/models/symbol_query.rb +218 -0
  260. data/lib/snaptrade/models/symbols_quotes.rb +263 -0
  261. data/lib/snaptrade/models/target_asset.rb +290 -0
  262. data/lib/snaptrade/models/time_in_force.rb +39 -0
  263. data/lib/snaptrade/models/trade.rb +281 -0
  264. data/lib/snaptrade/models/trade_action.rb +38 -0
  265. data/lib/snaptrade/models/trade_execution_status.rb +296 -0
  266. data/lib/snaptrade/models/trade_execution_status_action.rb +38 -0
  267. data/lib/snaptrade/models/trade_impact.rb +257 -0
  268. data/lib/snaptrade/models/trading_cancel_user_account_order_request.rb +217 -0
  269. data/lib/snaptrade/models/trading_place_oco_order_request.rb +230 -0
  270. data/lib/snaptrade/models/transactions_status.rb +229 -0
  271. data/lib/snaptrade/models/type.rb +38 -0
  272. data/lib/snaptrade/models/underlying_symbol.rb +275 -0
  273. data/lib/snaptrade/models/universal_activity.rb +349 -0
  274. data/lib/snaptrade/models/universal_symbol.rb +284 -0
  275. data/lib/snaptrade/models/universal_symbol_ticker.rb +283 -0
  276. data/lib/snaptrade/models/us_exchange.rb +291 -0
  277. data/lib/snaptrade/models/user_error_log.rb +263 -0
  278. data/lib/snaptrade/models/user_i_dand_secret.rb +229 -0
  279. data/lib/snaptrade/models/user_settings.rb +299 -0
  280. data/lib/snaptrade/version.rb +13 -0
  281. data/lib/snaptrade.rb +214 -0
  282. data/snaptrade.gemspec +41 -0
  283. data/spec/api/account_information_api_spec.rb +135 -0
  284. data/spec/api/api_status_api_spec.rb +42 -0
  285. data/spec/api/authentication_api_spec.rb +88 -0
  286. data/spec/api/connections_api_spec.rb +82 -0
  287. data/spec/api/error_logs_api_spec.rb +43 -0
  288. data/spec/api/options_api_spec.rb +101 -0
  289. data/spec/api/portfolio_management_api_spec.rb +395 -0
  290. data/spec/api/reference_data_api_spec.rb +150 -0
  291. data/spec/api/trading_api_spec.rb +163 -0
  292. data/spec/api/transactions_and_reporting_api_spec.rb +67 -0
  293. data/spec/api_client_spec.rb +193 -0
  294. data/spec/configuration_spec.rb +40 -0
  295. data/spec/getting_started_spec.rb +144 -0
  296. data/spec/models/account_holdings_account_spec.rb +54 -0
  297. data/spec/models/account_holdings_spec.rb +48 -0
  298. data/spec/models/account_order_record_spec.rb +132 -0
  299. data/spec/models/account_order_record_status_spec.rb +24 -0
  300. data/spec/models/account_simple_spec.rb +48 -0
  301. data/spec/models/account_spec.rb +84 -0
  302. data/spec/models/account_sync_status_spec.rb +30 -0
  303. data/spec/models/action_spec.rb +24 -0
  304. data/spec/models/auth_type_spec.rb +24 -0
  305. data/spec/models/authentication_login_snap_trade_user200_response_spec.rb +27 -0
  306. data/spec/models/balance_spec.rb +36 -0
  307. data/spec/models/brokerage_authorization_spec.rb +78 -0
  308. data/spec/models/brokerage_authorization_type_read_only_brokerage_spec.rb +42 -0
  309. data/spec/models/brokerage_authorization_type_read_only_spec.rb +48 -0
  310. data/spec/models/brokerage_authorization_type_read_only_type_spec.rb +24 -0
  311. data/spec/models/brokerage_authorization_type_spec.rb +30 -0
  312. data/spec/models/brokerage_authorization_type_type_spec.rb +24 -0
  313. data/spec/models/brokerage_spec.rb +132 -0
  314. data/spec/models/brokerage_symbol_spec.rb +54 -0
  315. data/spec/models/brokerage_type_spec.rb +36 -0
  316. data/spec/models/calculated_trade_spec.rb +36 -0
  317. data/spec/models/cash_restriction_spec.rb +54 -0
  318. data/spec/models/connection_type_spec.rb +24 -0
  319. data/spec/models/connections_session_events200_response_inner_spec.rb +66 -0
  320. data/spec/models/currency_spec.rb +42 -0
  321. data/spec/models/delete_user_response_spec.rb +36 -0
  322. data/spec/models/dividend_at_date_spec.rb +42 -0
  323. data/spec/models/encrypted_response_encrypted_message_data_spec.rb +42 -0
  324. data/spec/models/encrypted_response_spec.rb +36 -0
  325. data/spec/models/exchange_rate_pairs_spec.rb +42 -0
  326. data/spec/models/exchange_spec.rb +72 -0
  327. data/spec/models/excluded_asset_spec.rb +30 -0
  328. data/spec/models/jwt_spec.rb +30 -0
  329. data/spec/models/login_redirect_uri_spec.rb +36 -0
  330. data/spec/models/manual_trade_and_impact_spec.rb +42 -0
  331. data/spec/models/manual_trade_balance_spec.rb +42 -0
  332. data/spec/models/manual_trade_form_spec.rb +72 -0
  333. data/spec/models/manual_trade_spec.rb +72 -0
  334. data/spec/models/manual_trade_symbol_spec.rb +60 -0
  335. data/spec/models/model400_failed_request_response_spec.rb +36 -0
  336. data/spec/models/model401_failed_request_response_spec.rb +36 -0
  337. data/spec/models/model403_failed_request_response_spec.rb +36 -0
  338. data/spec/models/model404_failed_request_response_spec.rb +36 -0
  339. data/spec/models/model_asset_class_details_spec.rb +36 -0
  340. data/spec/models/model_asset_class_spec.rb +36 -0
  341. data/spec/models/model_asset_class_target_spec.rb +30 -0
  342. data/spec/models/model_portfolio_asset_class_spec.rb +36 -0
  343. data/spec/models/model_portfolio_details_spec.rb +42 -0
  344. data/spec/models/model_portfolio_security_spec.rb +36 -0
  345. data/spec/models/model_portfolio_spec.rb +42 -0
  346. data/spec/models/model_type_spec.rb +24 -0
  347. data/spec/models/monthly_dividends_spec.rb +36 -0
  348. data/spec/models/net_contributions_spec.rb +42 -0
  349. data/spec/models/net_dividend_spec.rb +42 -0
  350. data/spec/models/option_chain_inner_chain_per_root_inner_chain_per_strike_price_inner_spec.rb +42 -0
  351. data/spec/models/option_chain_inner_chain_per_root_inner_spec.rb +42 -0
  352. data/spec/models/option_chain_inner_spec.rb +54 -0
  353. data/spec/models/option_leg_action_spec.rb +24 -0
  354. data/spec/models/option_leg_spec.rb +42 -0
  355. data/spec/models/option_strategy_legs_inner_spec.rb +48 -0
  356. data/spec/models/option_strategy_spec.rb +54 -0
  357. data/spec/models/options_get_option_strategy_request_spec.rb +42 -0
  358. data/spec/models/options_holdings_spec.rb +60 -0
  359. data/spec/models/options_place_option_strategy_request_spec.rb +42 -0
  360. data/spec/models/options_position_spec.rb +66 -0
  361. data/spec/models/options_symbol_spec.rb +90 -0
  362. data/spec/models/order_strategy_execute_body_order_type_spec.rb +24 -0
  363. data/spec/models/order_strategy_execute_body_time_in_force_spec.rb +24 -0
  364. data/spec/models/order_type_spec.rb +24 -0
  365. data/spec/models/partner_data_spec.rb +96 -0
  366. data/spec/models/past_value_spec.rb +42 -0
  367. data/spec/models/performance_custom_spec.rb +138 -0
  368. data/spec/models/portfolio_group_info_spec.rb +90 -0
  369. data/spec/models/portfolio_group_position_spec.rb +42 -0
  370. data/spec/models/portfolio_group_settings_spec.rb +54 -0
  371. data/spec/models/portfolio_group_spec.rb +36 -0
  372. data/spec/models/position_spec.rb +60 -0
  373. data/spec/models/position_symbol_spec.rb +60 -0
  374. data/spec/models/redirect_tokenand_pin_spec.rb +36 -0
  375. data/spec/models/security_type_spec.rb +48 -0
  376. data/spec/models/session_event_spec.rb +66 -0
  377. data/spec/models/session_event_type_spec.rb +24 -0
  378. data/spec/models/snap_trade_api_disclaimer_accept_status_spec.rb +36 -0
  379. data/spec/models/snap_trade_holdings_account_account_id_spec.rb +78 -0
  380. data/spec/models/snap_trade_holdings_account_spec.rb +72 -0
  381. data/spec/models/snap_trade_holdings_total_value_spec.rb +36 -0
  382. data/spec/models/snap_trade_login_user_request_body_spec.rb +54 -0
  383. data/spec/models/snap_trade_register_user_request_body_spec.rb +36 -0
  384. data/spec/models/state_spec.rb +24 -0
  385. data/spec/models/status_spec.rb +42 -0
  386. data/spec/models/strategy_impact_legs_inner_spec.rb +66 -0
  387. data/spec/models/strategy_impact_spec.rb +90 -0
  388. data/spec/models/strategy_order_place_orders_inner_legs_inner_spec.rb +66 -0
  389. data/spec/models/strategy_order_place_orders_inner_spec.rb +282 -0
  390. data/spec/models/strategy_order_place_spec.rb +36 -0
  391. data/spec/models/strategy_order_record_order_type_spec.rb +24 -0
  392. data/spec/models/strategy_order_record_spec.rb +90 -0
  393. data/spec/models/strategy_order_record_status_spec.rb +24 -0
  394. data/spec/models/strategy_order_record_time_in_force_spec.rb +24 -0
  395. data/spec/models/strategy_quotes_greek_spec.rb +54 -0
  396. data/spec/models/strategy_quotes_spec.rb +60 -0
  397. data/spec/models/strategy_type_spec.rb +24 -0
  398. data/spec/models/sub_period_return_rate_spec.rb +42 -0
  399. data/spec/models/symbol_query_spec.rb +30 -0
  400. data/spec/models/symbol_spec.rb +66 -0
  401. data/spec/models/symbols_quotes_spec.rb +60 -0
  402. data/spec/models/target_asset_spec.rb +60 -0
  403. data/spec/models/time_in_force_spec.rb +24 -0
  404. data/spec/models/trade_action_spec.rb +24 -0
  405. data/spec/models/trade_execution_status_action_spec.rb +24 -0
  406. data/spec/models/trade_execution_status_spec.rb +78 -0
  407. data/spec/models/trade_impact_spec.rb +54 -0
  408. data/spec/models/trade_spec.rb +72 -0
  409. data/spec/models/trading_cancel_user_account_order_request_spec.rb +30 -0
  410. data/spec/models/trading_place_oco_order_request_spec.rb +36 -0
  411. data/spec/models/transactions_status_spec.rb +36 -0
  412. data/spec/models/type_spec.rb +24 -0
  413. data/spec/models/underlying_symbol_spec.rb +66 -0
  414. data/spec/models/universal_activity_spec.rb +114 -0
  415. data/spec/models/universal_symbol_spec.rb +72 -0
  416. data/spec/models/universal_symbol_ticker_spec.rb +72 -0
  417. data/spec/models/us_exchange_spec.rb +78 -0
  418. data/spec/models/user_error_log_spec.rb +60 -0
  419. data/spec/models/user_i_dand_secret_spec.rb +36 -0
  420. data/spec/models/user_settings_spec.rb +84 -0
  421. data/spec/spec_helper.rb +109 -0
  422. metadata +664 -0
@@ -0,0 +1,801 @@
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 AccountInformationApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+
21
+ # List all accounts for the user, plus balances and positions for each account.
22
+ # @param user_id [String]
23
+ # @param user_secret [String]
24
+ # @param brokerage_authorizations [String] Optional. Comma seperated list of authorization IDs (only use if filtering is needed on one or more authorizations).
25
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
26
+ def get_all_user_holdings(user_id:, user_secret:, brokerage_authorizations: SENTINEL, extra: {})
27
+ extra[:brokerage_authorizations] = brokerage_authorizations if brokerage_authorizations != SENTINEL
28
+
29
+ data, _status_code, _headers = get_all_user_holdings_with_http_info_impl(user_id, user_secret, extra)
30
+ data
31
+ end
32
+
33
+ # List all accounts for the user, plus balances and positions for each account.
34
+ # @param user_id [String]
35
+ # @param user_secret [String]
36
+ # @param brokerage_authorizations [String] Optional. Comma seperated list of authorization IDs (only use if filtering is needed on one or more authorizations).
37
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
38
+ def get_all_user_holdings_with_http_info(user_id:, user_secret:, brokerage_authorizations: SENTINEL, extra: {})
39
+ extra[:brokerage_authorizations] = brokerage_authorizations if brokerage_authorizations != SENTINEL
40
+
41
+ get_all_user_holdings_with_http_info_impl(user_id, user_secret, extra)
42
+ end
43
+
44
+ # List all accounts for the user, plus balances and positions for each account.
45
+ # @param user_id [String]
46
+ # @param user_secret [String]
47
+ # @param [Hash] opts the optional parameters
48
+ # @option opts [String] :brokerage_authorizations Optional. Comma seperated list of authorization IDs (only use if filtering is needed on one or more authorizations).
49
+ # @return [Array<AccountHoldings>]
50
+ def get_all_user_holdings_impl(user_id, user_secret, opts = {})
51
+ data, _status_code, _headers = get_all_user_holdings_with_http_info(user_id, user_secret, opts)
52
+ data
53
+ end
54
+
55
+ # List all accounts for the user, plus balances and positions for each account.
56
+ # @param user_id [String]
57
+ # @param user_secret [String]
58
+ # @param [Hash] opts the optional parameters
59
+ # @option opts [String] :brokerage_authorizations Optional. Comma seperated list of authorization IDs (only use if filtering is needed on one or more authorizations).
60
+ # @return [Array<(Array<AccountHoldings>, Integer, Hash)>] Array<AccountHoldings> data, response status code and response headers
61
+ def get_all_user_holdings_with_http_info_impl(user_id, user_secret, opts = {})
62
+ if @api_client.config.debugging
63
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_all_user_holdings ...'
64
+ end
65
+ # verify the required parameter 'user_id' is set
66
+ if @api_client.config.client_side_validation && user_id.nil?
67
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_all_user_holdings"
68
+ end
69
+ # verify the required parameter 'user_secret' is set
70
+ if @api_client.config.client_side_validation && user_secret.nil?
71
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_all_user_holdings"
72
+ end
73
+ # resource path
74
+ local_var_path = '/holdings'
75
+
76
+ # query parameters
77
+ query_params = opts[:query_params] || {}
78
+ query_params[:'userId'] = user_id
79
+ query_params[:'userSecret'] = user_secret
80
+ query_params[:'brokerage_authorizations'] = opts[:'brokerage_authorizations'] if !opts[:'brokerage_authorizations'].nil?
81
+
82
+ # header parameters
83
+ header_params = opts[:header_params] || {}
84
+ # HTTP header 'Accept' (if needed)
85
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
86
+
87
+ # form parameters
88
+ form_params = opts[:form_params] || {}
89
+
90
+ # http body (model)
91
+ post_body = opts[:debug_body]
92
+
93
+ # return_type
94
+ return_type = opts[:debug_return_type] || 'Array<AccountHoldings>'
95
+
96
+ # auth_names
97
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
98
+
99
+ new_options = opts.merge(
100
+ :operation => :"AccountInformationApi.get_all_user_holdings",
101
+ :header_params => header_params,
102
+ :query_params => query_params,
103
+ :form_params => form_params,
104
+ :body => post_body,
105
+ :auth_names => auth_names,
106
+ :return_type => return_type
107
+ )
108
+
109
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_all_user_holdings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
112
+ end
113
+ return data, status_code, headers, response
114
+ end
115
+
116
+
117
+ # Get all cash balances of an investment account
118
+ # @param user_id [String]
119
+ # @param user_secret [String]
120
+ # @param account_id [String] The ID of the account get positions.
121
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
122
+ def get_user_account_balance(user_id:, user_secret:, account_id:, extra: {})
123
+
124
+ data, _status_code, _headers = get_user_account_balance_with_http_info_impl(user_id, user_secret, account_id, extra)
125
+ data
126
+ end
127
+
128
+ # Get all cash balances of an investment account
129
+ # @param user_id [String]
130
+ # @param user_secret [String]
131
+ # @param account_id [String] The ID of the account get positions.
132
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
133
+ def get_user_account_balance_with_http_info(user_id:, user_secret:, account_id:, extra: {})
134
+
135
+ get_user_account_balance_with_http_info_impl(user_id, user_secret, account_id, extra)
136
+ end
137
+
138
+ # Get all cash balances of an investment account
139
+ # @param user_id [String]
140
+ # @param user_secret [String]
141
+ # @param account_id [String] The ID of the account get positions.
142
+ # @param [Hash] opts the optional parameters
143
+ # @return [Array<Balance>]
144
+ def get_user_account_balance_impl(user_id, user_secret, account_id, opts = {})
145
+ data, _status_code, _headers = get_user_account_balance_with_http_info(user_id, user_secret, account_id, opts)
146
+ data
147
+ end
148
+
149
+ # Get all cash balances of an investment account
150
+ # @param user_id [String]
151
+ # @param user_secret [String]
152
+ # @param account_id [String] The ID of the account get positions.
153
+ # @param [Hash] opts the optional parameters
154
+ # @return [Array<(Array<Balance>, Integer, Hash)>] Array<Balance> data, response status code and response headers
155
+ def get_user_account_balance_with_http_info_impl(user_id, user_secret, account_id, opts = {})
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_account_balance ...'
158
+ end
159
+ # verify the required parameter 'user_id' is set
160
+ if @api_client.config.client_side_validation && user_id.nil?
161
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_account_balance"
162
+ end
163
+ # verify the required parameter 'user_secret' is set
164
+ if @api_client.config.client_side_validation && user_secret.nil?
165
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_account_balance"
166
+ end
167
+ # verify the required parameter 'account_id' is set
168
+ if @api_client.config.client_side_validation && account_id.nil?
169
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.get_user_account_balance"
170
+ end
171
+ # resource path
172
+ local_var_path = '/accounts/{accountId}/balances'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
173
+
174
+ # query parameters
175
+ query_params = opts[:query_params] || {}
176
+ query_params[:'userId'] = user_id
177
+ query_params[:'userSecret'] = user_secret
178
+
179
+ # header parameters
180
+ header_params = opts[:header_params] || {}
181
+ # HTTP header 'Accept' (if needed)
182
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
183
+
184
+ # form parameters
185
+ form_params = opts[:form_params] || {}
186
+
187
+ # http body (model)
188
+ post_body = opts[:debug_body]
189
+
190
+ # return_type
191
+ return_type = opts[:debug_return_type] || 'Array<Balance>'
192
+
193
+ # auth_names
194
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
195
+
196
+ new_options = opts.merge(
197
+ :operation => :"AccountInformationApi.get_user_account_balance",
198
+ :header_params => header_params,
199
+ :query_params => query_params,
200
+ :form_params => form_params,
201
+ :body => post_body,
202
+ :auth_names => auth_names,
203
+ :return_type => return_type
204
+ )
205
+
206
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
207
+ if @api_client.config.debugging
208
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_user_account_balance\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
209
+ end
210
+ return data, status_code, headers, response
211
+ end
212
+
213
+
214
+ # Return details of a specific investment account
215
+ # @param user_id [String]
216
+ # @param user_secret [String]
217
+ # @param account_id [String] The ID of the account to get detail of.
218
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
219
+ def get_user_account_details(user_id:, user_secret:, account_id:, extra: {})
220
+
221
+ data, _status_code, _headers = get_user_account_details_with_http_info_impl(user_id, user_secret, account_id, extra)
222
+ data
223
+ end
224
+
225
+ # Return details of a specific investment account
226
+ # @param user_id [String]
227
+ # @param user_secret [String]
228
+ # @param account_id [String] The ID of the account to get detail of.
229
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
230
+ def get_user_account_details_with_http_info(user_id:, user_secret:, account_id:, extra: {})
231
+
232
+ get_user_account_details_with_http_info_impl(user_id, user_secret, account_id, extra)
233
+ end
234
+
235
+ # Return details of a specific investment account
236
+ # @param user_id [String]
237
+ # @param user_secret [String]
238
+ # @param account_id [String] The ID of the account to get detail of.
239
+ # @param [Hash] opts the optional parameters
240
+ # @return [Array<Account>]
241
+ def get_user_account_details_impl(user_id, user_secret, account_id, opts = {})
242
+ data, _status_code, _headers = get_user_account_details_with_http_info(user_id, user_secret, account_id, opts)
243
+ data
244
+ end
245
+
246
+ # Return details of a specific investment account
247
+ # @param user_id [String]
248
+ # @param user_secret [String]
249
+ # @param account_id [String] The ID of the account to get detail of.
250
+ # @param [Hash] opts the optional parameters
251
+ # @return [Array<(Array<Account>, Integer, Hash)>] Array<Account> data, response status code and response headers
252
+ def get_user_account_details_with_http_info_impl(user_id, user_secret, account_id, opts = {})
253
+ if @api_client.config.debugging
254
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_account_details ...'
255
+ end
256
+ # verify the required parameter 'user_id' is set
257
+ if @api_client.config.client_side_validation && user_id.nil?
258
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_account_details"
259
+ end
260
+ # verify the required parameter 'user_secret' is set
261
+ if @api_client.config.client_side_validation && user_secret.nil?
262
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_account_details"
263
+ end
264
+ # verify the required parameter 'account_id' is set
265
+ if @api_client.config.client_side_validation && account_id.nil?
266
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.get_user_account_details"
267
+ end
268
+ # resource path
269
+ local_var_path = '/accounts/{accountId}'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
270
+
271
+ # query parameters
272
+ query_params = opts[:query_params] || {}
273
+ query_params[:'userId'] = user_id
274
+ query_params[:'userSecret'] = user_secret
275
+
276
+ # header parameters
277
+ header_params = opts[:header_params] || {}
278
+ # HTTP header 'Accept' (if needed)
279
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
280
+
281
+ # form parameters
282
+ form_params = opts[:form_params] || {}
283
+
284
+ # http body (model)
285
+ post_body = opts[:debug_body]
286
+
287
+ # return_type
288
+ return_type = opts[:debug_return_type] || 'Array<Account>'
289
+
290
+ # auth_names
291
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
292
+
293
+ new_options = opts.merge(
294
+ :operation => :"AccountInformationApi.get_user_account_details",
295
+ :header_params => header_params,
296
+ :query_params => query_params,
297
+ :form_params => form_params,
298
+ :body => post_body,
299
+ :auth_names => auth_names,
300
+ :return_type => return_type
301
+ )
302
+
303
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
304
+ if @api_client.config.debugging
305
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_user_account_details\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
306
+ end
307
+ return data, status_code, headers, response
308
+ end
309
+
310
+
311
+ # Get all history of orders placed in account
312
+ # @param user_id [String]
313
+ # @param user_secret [String]
314
+ # @param account_id [String] The ID of the account get positions.
315
+ # @param state [String] defaults value is set to \&quot;all\&quot;
316
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
317
+ def get_user_account_orders(user_id:, user_secret:, account_id:, state: SENTINEL, extra: {})
318
+ extra[:state] = state if state != SENTINEL
319
+
320
+ data, _status_code, _headers = get_user_account_orders_with_http_info_impl(user_id, user_secret, account_id, extra)
321
+ data
322
+ end
323
+
324
+ # Get all history of orders placed in account
325
+ # @param user_id [String]
326
+ # @param user_secret [String]
327
+ # @param account_id [String] The ID of the account get positions.
328
+ # @param state [String] defaults value is set to \&quot;all\&quot;
329
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
330
+ def get_user_account_orders_with_http_info(user_id:, user_secret:, account_id:, state: SENTINEL, extra: {})
331
+ extra[:state] = state if state != SENTINEL
332
+
333
+ get_user_account_orders_with_http_info_impl(user_id, user_secret, account_id, extra)
334
+ end
335
+
336
+ # Get all history of orders placed in account
337
+ # @param user_id [String]
338
+ # @param user_secret [String]
339
+ # @param account_id [String] The ID of the account get positions.
340
+ # @param [Hash] opts the optional parameters
341
+ # @option opts [String] :state defaults value is set to \&quot;all\&quot;
342
+ # @return [Array<AccountOrderRecord>]
343
+ def get_user_account_orders_impl(user_id, user_secret, account_id, opts = {})
344
+ data, _status_code, _headers = get_user_account_orders_with_http_info(user_id, user_secret, account_id, opts)
345
+ data
346
+ end
347
+
348
+ # Get all history of orders placed in account
349
+ # @param user_id [String]
350
+ # @param user_secret [String]
351
+ # @param account_id [String] The ID of the account get positions.
352
+ # @param [Hash] opts the optional parameters
353
+ # @option opts [String] :state defaults value is set to \&quot;all\&quot;
354
+ # @return [Array<(Array<AccountOrderRecord>, Integer, Hash)>] Array<AccountOrderRecord> data, response status code and response headers
355
+ def get_user_account_orders_with_http_info_impl(user_id, user_secret, account_id, opts = {})
356
+ if @api_client.config.debugging
357
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_account_orders ...'
358
+ end
359
+ # verify the required parameter 'user_id' is set
360
+ if @api_client.config.client_side_validation && user_id.nil?
361
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_account_orders"
362
+ end
363
+ # verify the required parameter 'user_secret' is set
364
+ if @api_client.config.client_side_validation && user_secret.nil?
365
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_account_orders"
366
+ end
367
+ # verify the required parameter 'account_id' is set
368
+ if @api_client.config.client_side_validation && account_id.nil?
369
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.get_user_account_orders"
370
+ end
371
+ allowable_values = ["all", "open", "executed"]
372
+ if @api_client.config.client_side_validation && opts[:'state'] && !allowable_values.include?(opts[:'state'])
373
+ fail ArgumentError, "invalid value for \"state\", must be one of #{allowable_values}"
374
+ end
375
+ # resource path
376
+ local_var_path = '/accounts/{accountId}/orders'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
377
+
378
+ # query parameters
379
+ query_params = opts[:query_params] || {}
380
+ query_params[:'userId'] = user_id
381
+ query_params[:'userSecret'] = user_secret
382
+ query_params[:'state'] = opts[:'state'] if !opts[:'state'].nil?
383
+
384
+ # header parameters
385
+ header_params = opts[:header_params] || {}
386
+ # HTTP header 'Accept' (if needed)
387
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
388
+
389
+ # form parameters
390
+ form_params = opts[:form_params] || {}
391
+
392
+ # http body (model)
393
+ post_body = opts[:debug_body]
394
+
395
+ # return_type
396
+ return_type = opts[:debug_return_type] || 'Array<AccountOrderRecord>'
397
+
398
+ # auth_names
399
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
400
+
401
+ new_options = opts.merge(
402
+ :operation => :"AccountInformationApi.get_user_account_orders",
403
+ :header_params => header_params,
404
+ :query_params => query_params,
405
+ :form_params => form_params,
406
+ :body => post_body,
407
+ :auth_names => auth_names,
408
+ :return_type => return_type
409
+ )
410
+
411
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
412
+ if @api_client.config.debugging
413
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_user_account_orders\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
414
+ end
415
+ return data, status_code, headers, response
416
+ end
417
+
418
+
419
+ # Get all positions of an investment account
420
+ # @param user_id [String]
421
+ # @param user_secret [String]
422
+ # @param account_id [String] The ID of the account get positions.
423
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
424
+ def get_user_account_positions(user_id:, user_secret:, account_id:, extra: {})
425
+
426
+ data, _status_code, _headers = get_user_account_positions_with_http_info_impl(user_id, user_secret, account_id, extra)
427
+ data
428
+ end
429
+
430
+ # Get all positions of an investment account
431
+ # @param user_id [String]
432
+ # @param user_secret [String]
433
+ # @param account_id [String] The ID of the account get positions.
434
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
435
+ def get_user_account_positions_with_http_info(user_id:, user_secret:, account_id:, extra: {})
436
+
437
+ get_user_account_positions_with_http_info_impl(user_id, user_secret, account_id, extra)
438
+ end
439
+
440
+ # Get all positions of an investment account
441
+ # @param user_id [String]
442
+ # @param user_secret [String]
443
+ # @param account_id [String] The ID of the account get positions.
444
+ # @param [Hash] opts the optional parameters
445
+ # @return [Array<Position>]
446
+ def get_user_account_positions_impl(user_id, user_secret, account_id, opts = {})
447
+ data, _status_code, _headers = get_user_account_positions_with_http_info(user_id, user_secret, account_id, opts)
448
+ data
449
+ end
450
+
451
+ # Get all positions of an investment account
452
+ # @param user_id [String]
453
+ # @param user_secret [String]
454
+ # @param account_id [String] The ID of the account get positions.
455
+ # @param [Hash] opts the optional parameters
456
+ # @return [Array<(Array<Position>, Integer, Hash)>] Array<Position> data, response status code and response headers
457
+ def get_user_account_positions_with_http_info_impl(user_id, user_secret, account_id, opts = {})
458
+ if @api_client.config.debugging
459
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_account_positions ...'
460
+ end
461
+ # verify the required parameter 'user_id' is set
462
+ if @api_client.config.client_side_validation && user_id.nil?
463
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_account_positions"
464
+ end
465
+ # verify the required parameter 'user_secret' is set
466
+ if @api_client.config.client_side_validation && user_secret.nil?
467
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_account_positions"
468
+ end
469
+ # verify the required parameter 'account_id' is set
470
+ if @api_client.config.client_side_validation && account_id.nil?
471
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.get_user_account_positions"
472
+ end
473
+ # resource path
474
+ local_var_path = '/accounts/{accountId}/positions'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
475
+
476
+ # query parameters
477
+ query_params = opts[:query_params] || {}
478
+ query_params[:'userId'] = user_id
479
+ query_params[:'userSecret'] = user_secret
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(['*/*'])
485
+
486
+ # form parameters
487
+ form_params = opts[:form_params] || {}
488
+
489
+ # http body (model)
490
+ post_body = opts[:debug_body]
491
+
492
+ # return_type
493
+ return_type = opts[:debug_return_type] || 'Array<Position>'
494
+
495
+ # auth_names
496
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
497
+
498
+ new_options = opts.merge(
499
+ :operation => :"AccountInformationApi.get_user_account_positions",
500
+ :header_params => header_params,
501
+ :query_params => query_params,
502
+ :form_params => form_params,
503
+ :body => post_body,
504
+ :auth_names => auth_names,
505
+ :return_type => return_type
506
+ )
507
+
508
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
509
+ if @api_client.config.debugging
510
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_user_account_positions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
511
+ end
512
+ return data, status_code, headers, response
513
+ end
514
+
515
+
516
+ # List balances, positions and orders for the specified account.
517
+ # @param account_id [String] The ID of the account to fetch holdings for.
518
+ # @param user_id [String]
519
+ # @param user_secret [String]
520
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
521
+ def get_user_holdings(account_id:, user_id:, user_secret:, extra: {})
522
+
523
+ data, _status_code, _headers = get_user_holdings_with_http_info_impl(account_id, user_id, user_secret, extra)
524
+ data
525
+ end
526
+
527
+ # List balances, positions and orders for the specified account.
528
+ # @param account_id [String] The ID of the account to fetch holdings for.
529
+ # @param user_id [String]
530
+ # @param user_secret [String]
531
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
532
+ def get_user_holdings_with_http_info(account_id:, user_id:, user_secret:, extra: {})
533
+
534
+ get_user_holdings_with_http_info_impl(account_id, user_id, user_secret, extra)
535
+ end
536
+
537
+ # List balances, positions and orders for the specified account.
538
+ # @param account_id [String] The ID of the account to fetch holdings for.
539
+ # @param user_id [String]
540
+ # @param user_secret [String]
541
+ # @param [Hash] opts the optional parameters
542
+ # @return [AccountHoldingsAccount]
543
+ def get_user_holdings_impl(account_id, user_id, user_secret, opts = {})
544
+ data, _status_code, _headers = get_user_holdings_with_http_info(account_id, user_id, user_secret, opts)
545
+ data
546
+ end
547
+
548
+ # List balances, positions and orders for the specified account.
549
+ # @param account_id [String] The ID of the account to fetch holdings for.
550
+ # @param user_id [String]
551
+ # @param user_secret [String]
552
+ # @param [Hash] opts the optional parameters
553
+ # @return [Array<(AccountHoldingsAccount, Integer, Hash)>] AccountHoldingsAccount data, response status code and response headers
554
+ def get_user_holdings_with_http_info_impl(account_id, user_id, user_secret, opts = {})
555
+ if @api_client.config.debugging
556
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.get_user_holdings ...'
557
+ end
558
+ # verify the required parameter 'account_id' is set
559
+ if @api_client.config.client_side_validation && account_id.nil?
560
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.get_user_holdings"
561
+ end
562
+ # verify the required parameter 'user_id' is set
563
+ if @api_client.config.client_side_validation && user_id.nil?
564
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.get_user_holdings"
565
+ end
566
+ # verify the required parameter 'user_secret' is set
567
+ if @api_client.config.client_side_validation && user_secret.nil?
568
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.get_user_holdings"
569
+ end
570
+ # resource path
571
+ local_var_path = '/accounts/{accountId}/holdings'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
572
+
573
+ # query parameters
574
+ query_params = opts[:query_params] || {}
575
+ query_params[:'userId'] = user_id
576
+ query_params[:'userSecret'] = user_secret
577
+
578
+ # header parameters
579
+ header_params = opts[:header_params] || {}
580
+ # HTTP header 'Accept' (if needed)
581
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
582
+
583
+ # form parameters
584
+ form_params = opts[:form_params] || {}
585
+
586
+ # http body (model)
587
+ post_body = opts[:debug_body]
588
+
589
+ # return_type
590
+ return_type = opts[:debug_return_type] || 'AccountHoldingsAccount'
591
+
592
+ # auth_names
593
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
594
+
595
+ new_options = opts.merge(
596
+ :operation => :"AccountInformationApi.get_user_holdings",
597
+ :header_params => header_params,
598
+ :query_params => query_params,
599
+ :form_params => form_params,
600
+ :body => post_body,
601
+ :auth_names => auth_names,
602
+ :return_type => return_type
603
+ )
604
+
605
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
606
+ if @api_client.config.debugging
607
+ @api_client.config.logger.debug "API called: AccountInformationApi#get_user_holdings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
608
+ end
609
+ return data, status_code, headers, response
610
+ end
611
+
612
+
613
+ # List all investment accounts for the user
614
+ # @param user_id [String]
615
+ # @param user_secret [String]
616
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
617
+ def list_user_accounts(user_id:, user_secret:, extra: {})
618
+
619
+ data, _status_code, _headers = list_user_accounts_with_http_info_impl(user_id, user_secret, extra)
620
+ data
621
+ end
622
+
623
+ # List all investment accounts for the user
624
+ # @param user_id [String]
625
+ # @param user_secret [String]
626
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
627
+ def list_user_accounts_with_http_info(user_id:, user_secret:, extra: {})
628
+
629
+ list_user_accounts_with_http_info_impl(user_id, user_secret, extra)
630
+ end
631
+
632
+ # List all investment accounts for the user
633
+ # @param user_id [String]
634
+ # @param user_secret [String]
635
+ # @param [Hash] opts the optional parameters
636
+ # @return [Array<Account>]
637
+ def list_user_accounts_impl(user_id, user_secret, opts = {})
638
+ data, _status_code, _headers = list_user_accounts_with_http_info(user_id, user_secret, opts)
639
+ data
640
+ end
641
+
642
+ # List all investment accounts for the user
643
+ # @param user_id [String]
644
+ # @param user_secret [String]
645
+ # @param [Hash] opts the optional parameters
646
+ # @return [Array<(Array<Account>, Integer, Hash)>] Array<Account> data, response status code and response headers
647
+ def list_user_accounts_with_http_info_impl(user_id, user_secret, opts = {})
648
+ if @api_client.config.debugging
649
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.list_user_accounts ...'
650
+ end
651
+ # verify the required parameter 'user_id' is set
652
+ if @api_client.config.client_side_validation && user_id.nil?
653
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.list_user_accounts"
654
+ end
655
+ # verify the required parameter 'user_secret' is set
656
+ if @api_client.config.client_side_validation && user_secret.nil?
657
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.list_user_accounts"
658
+ end
659
+ # resource path
660
+ local_var_path = '/accounts'
661
+
662
+ # query parameters
663
+ query_params = opts[:query_params] || {}
664
+ query_params[:'userId'] = user_id
665
+ query_params[:'userSecret'] = user_secret
666
+
667
+ # header parameters
668
+ header_params = opts[:header_params] || {}
669
+ # HTTP header 'Accept' (if needed)
670
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
671
+
672
+ # form parameters
673
+ form_params = opts[:form_params] || {}
674
+
675
+ # http body (model)
676
+ post_body = opts[:debug_body]
677
+
678
+ # return_type
679
+ return_type = opts[:debug_return_type] || 'Array<Account>'
680
+
681
+ # auth_names
682
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
683
+
684
+ new_options = opts.merge(
685
+ :operation => :"AccountInformationApi.list_user_accounts",
686
+ :header_params => header_params,
687
+ :query_params => query_params,
688
+ :form_params => form_params,
689
+ :body => post_body,
690
+ :auth_names => auth_names,
691
+ :return_type => return_type
692
+ )
693
+
694
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
695
+ if @api_client.config.debugging
696
+ @api_client.config.logger.debug "API called: AccountInformationApi#list_user_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
697
+ end
698
+ return data, status_code, headers, response
699
+ end
700
+
701
+
702
+ # Update details of an investment account
703
+ # @param user_id [String]
704
+ # @param user_secret [String]
705
+ # @param account_id [String] The ID of the account to update.
706
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
707
+ def update_user_account(user_id:, user_secret:, account_id:, extra: {})
708
+
709
+ data, _status_code, _headers = update_user_account_with_http_info_impl(user_id, user_secret, account_id, extra)
710
+ data
711
+ end
712
+
713
+ # Update details of an investment account
714
+ # @param user_id [String]
715
+ # @param user_secret [String]
716
+ # @param account_id [String] The ID of the account to update.
717
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
718
+ def update_user_account_with_http_info(user_id:, user_secret:, account_id:, extra: {})
719
+
720
+ update_user_account_with_http_info_impl(user_id, user_secret, account_id, extra)
721
+ end
722
+
723
+ # Update details of an investment account
724
+ # @param user_id [String]
725
+ # @param user_secret [String]
726
+ # @param account_id [String] The ID of the account to update.
727
+ # @param [Hash] opts the optional parameters
728
+ # @return [Array<Account>]
729
+ def update_user_account_impl(user_id, user_secret, account_id, opts = {})
730
+ data, _status_code, _headers = update_user_account_with_http_info(user_id, user_secret, account_id, opts)
731
+ data
732
+ end
733
+
734
+ # Update details of an investment account
735
+ # @param user_id [String]
736
+ # @param user_secret [String]
737
+ # @param account_id [String] The ID of the account to update.
738
+ # @param [Hash] opts the optional parameters
739
+ # @return [Array<(Array<Account>, Integer, Hash)>] Array<Account> data, response status code and response headers
740
+ def update_user_account_with_http_info_impl(user_id, user_secret, account_id, opts = {})
741
+ if @api_client.config.debugging
742
+ @api_client.config.logger.debug 'Calling API: AccountInformationApi.update_user_account ...'
743
+ end
744
+ # verify the required parameter 'user_id' is set
745
+ if @api_client.config.client_side_validation && user_id.nil?
746
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling AccountInformationApi.update_user_account"
747
+ end
748
+ # verify the required parameter 'user_secret' is set
749
+ if @api_client.config.client_side_validation && user_secret.nil?
750
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling AccountInformationApi.update_user_account"
751
+ end
752
+ # verify the required parameter 'account_id' is set
753
+ if @api_client.config.client_side_validation && account_id.nil?
754
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling AccountInformationApi.update_user_account"
755
+ end
756
+ # resource path
757
+ local_var_path = '/accounts/{accountId}'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
758
+
759
+ # query parameters
760
+ query_params = opts[:query_params] || {}
761
+ query_params[:'userId'] = user_id
762
+ query_params[:'userSecret'] = user_secret
763
+
764
+ # header parameters
765
+ header_params = opts[:header_params] || {}
766
+ # HTTP header 'Accept' (if needed)
767
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
768
+
769
+ # form parameters
770
+ form_params = opts[:form_params] || {}
771
+
772
+ # http body (model)
773
+ post_body = opts[:debug_body]
774
+
775
+ # return_type
776
+ return_type = opts[:debug_return_type] || 'Array<Account>'
777
+
778
+ # auth_names
779
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
780
+
781
+ new_options = opts.merge(
782
+ :operation => :"AccountInformationApi.update_user_account",
783
+ :header_params => header_params,
784
+ :query_params => query_params,
785
+ :form_params => form_params,
786
+ :body => post_body,
787
+ :auth_names => auth_names,
788
+ :return_type => return_type
789
+ )
790
+
791
+ data, status_code, headers, response = @api_client.call_api(:PUT, local_var_path, new_options)
792
+ if @api_client.config.debugging
793
+ @api_client.config.logger.debug "API called: AccountInformationApi#update_user_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
794
+ end
795
+ return data, status_code, headers, response
796
+ end
797
+ end
798
+
799
+ # top-level client access to avoid having the user to insantiate their own API instances
800
+ AccountInformation = AccountInformationApi::new
801
+ end