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,894 @@
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 ReferenceDataApi
15
+ attr_accessor :api_client
16
+
17
+ def initialize(api_client = ApiClient.default)
18
+ @api_client = api_client
19
+ end
20
+
21
+ # Return the exchange rate of a currency pair
22
+ # @param currency_pair [String] A currency pair based on currency code for example, {CAD-USD}
23
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
24
+ def get_currency_exchange_rate_pair(currency_pair:, extra: {})
25
+
26
+ data, _status_code, _headers = get_currency_exchange_rate_pair_with_http_info_impl(currency_pair, extra)
27
+ data
28
+ end
29
+
30
+ # Return the exchange rate of a currency pair
31
+ # @param currency_pair [String] A currency pair based on currency code for example, {CAD-USD}
32
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
33
+ def get_currency_exchange_rate_pair_with_http_info(currency_pair:, extra: {})
34
+
35
+ get_currency_exchange_rate_pair_with_http_info_impl(currency_pair, extra)
36
+ end
37
+
38
+ # Return the exchange rate of a currency pair
39
+ # @param currency_pair [String] A currency pair based on currency code for example, {CAD-USD}
40
+ # @param [Hash] opts the optional parameters
41
+ # @return [ExchangeRatePairs]
42
+ def get_currency_exchange_rate_pair_impl(currency_pair, opts = {})
43
+ data, _status_code, _headers = get_currency_exchange_rate_pair_with_http_info(currency_pair, opts)
44
+ data
45
+ end
46
+
47
+ # Return the exchange rate of a currency pair
48
+ # @param currency_pair [String] A currency pair based on currency code for example, {CAD-USD}
49
+ # @param [Hash] opts the optional parameters
50
+ # @return [Array<(ExchangeRatePairs, Integer, Hash)>] ExchangeRatePairs data, response status code and response headers
51
+ def get_currency_exchange_rate_pair_with_http_info_impl(currency_pair, opts = {})
52
+ if @api_client.config.debugging
53
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.get_currency_exchange_rate_pair ...'
54
+ end
55
+ # verify the required parameter 'currency_pair' is set
56
+ if @api_client.config.client_side_validation && currency_pair.nil?
57
+ fail ArgumentError, "Missing the required parameter 'currency_pair' when calling ReferenceDataApi.get_currency_exchange_rate_pair"
58
+ end
59
+ # resource path
60
+ local_var_path = '/currencies/rates/{currencyPair}'.sub('{' + 'currencyPair' + '}', CGI.escape(currency_pair.to_s))
61
+
62
+ # query parameters
63
+ query_params = opts[:query_params] || {}
64
+
65
+ # header parameters
66
+ header_params = opts[:header_params] || {}
67
+ # HTTP header 'Accept' (if needed)
68
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
69
+
70
+ # form parameters
71
+ form_params = opts[:form_params] || {}
72
+
73
+ # http body (model)
74
+ post_body = opts[:debug_body]
75
+
76
+ # return_type
77
+ return_type = opts[:debug_return_type] || 'ExchangeRatePairs'
78
+
79
+ # auth_names
80
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
81
+
82
+ new_options = opts.merge(
83
+ :operation => :"ReferenceDataApi.get_currency_exchange_rate_pair",
84
+ :header_params => header_params,
85
+ :query_params => query_params,
86
+ :form_params => form_params,
87
+ :body => post_body,
88
+ :auth_names => auth_names,
89
+ :return_type => return_type
90
+ )
91
+
92
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug "API called: ReferenceDataApi#get_currency_exchange_rate_pair\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
95
+ end
96
+ return data, status_code, headers, response
97
+ end
98
+
99
+
100
+ # Get metadata related to Snaptrade partner
101
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
102
+ def get_partner_info(extra: {})
103
+
104
+ data, _status_code, _headers = get_partner_info_with_http_info_impl(extra)
105
+ data
106
+ end
107
+
108
+ # Get metadata related to Snaptrade partner
109
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
110
+ def get_partner_info_with_http_info(extra: {})
111
+
112
+ get_partner_info_with_http_info_impl(extra)
113
+ end
114
+
115
+ # Get metadata related to Snaptrade partner
116
+ # @param [Hash] opts the optional parameters
117
+ # @return [PartnerData]
118
+ def get_partner_info_impl(opts = {})
119
+ data, _status_code, _headers = get_partner_info_with_http_info(opts)
120
+ data
121
+ end
122
+
123
+ # Get metadata related to Snaptrade partner
124
+ # @param [Hash] opts the optional parameters
125
+ # @return [Array<(PartnerData, Integer, Hash)>] PartnerData data, response status code and response headers
126
+ def get_partner_info_with_http_info_impl(opts = {})
127
+ if @api_client.config.debugging
128
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.get_partner_info ...'
129
+ end
130
+ # resource path
131
+ local_var_path = '/snapTrade/partners'
132
+
133
+ # query parameters
134
+ query_params = opts[:query_params] || {}
135
+
136
+ # header parameters
137
+ header_params = opts[:header_params] || {}
138
+ # HTTP header 'Accept' (if needed)
139
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
140
+
141
+ # form parameters
142
+ form_params = opts[:form_params] || {}
143
+
144
+ # http body (model)
145
+ post_body = opts[:debug_body]
146
+
147
+ # return_type
148
+ return_type = opts[:debug_return_type] || 'PartnerData'
149
+
150
+ # auth_names
151
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
152
+
153
+ new_options = opts.merge(
154
+ :operation => :"ReferenceDataApi.get_partner_info",
155
+ :header_params => header_params,
156
+ :query_params => query_params,
157
+ :form_params => form_params,
158
+ :body => post_body,
159
+ :auth_names => auth_names,
160
+ :return_type => return_type
161
+ )
162
+
163
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
164
+ if @api_client.config.debugging
165
+ @api_client.config.logger.debug "API called: ReferenceDataApi#get_partner_info\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
166
+ end
167
+ return data, status_code, headers, response
168
+ end
169
+
170
+
171
+ # List of all security types.
172
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
173
+ def get_security_types(extra: {})
174
+
175
+ data, _status_code, _headers = get_security_types_with_http_info_impl(extra)
176
+ data
177
+ end
178
+
179
+ # List of all security types.
180
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
181
+ def get_security_types_with_http_info(extra: {})
182
+
183
+ get_security_types_with_http_info_impl(extra)
184
+ end
185
+
186
+ # List of all security types.
187
+ # @param [Hash] opts the optional parameters
188
+ # @return [Array<SecurityType>]
189
+ def get_security_types_impl(opts = {})
190
+ data, _status_code, _headers = get_security_types_with_http_info(opts)
191
+ data
192
+ end
193
+
194
+ # List of all security types.
195
+ # @param [Hash] opts the optional parameters
196
+ # @return [Array<(Array<SecurityType>, Integer, Hash)>] Array<SecurityType> data, response status code and response headers
197
+ def get_security_types_with_http_info_impl(opts = {})
198
+ if @api_client.config.debugging
199
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.get_security_types ...'
200
+ end
201
+ # resource path
202
+ local_var_path = '/securityTypes'
203
+
204
+ # query parameters
205
+ query_params = opts[:query_params] || {}
206
+
207
+ # header parameters
208
+ header_params = opts[:header_params] || {}
209
+ # HTTP header 'Accept' (if needed)
210
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
211
+
212
+ # form parameters
213
+ form_params = opts[:form_params] || {}
214
+
215
+ # http body (model)
216
+ post_body = opts[:debug_body]
217
+
218
+ # return_type
219
+ return_type = opts[:debug_return_type] || 'Array<SecurityType>'
220
+
221
+ # auth_names
222
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
223
+
224
+ new_options = opts.merge(
225
+ :operation => :"ReferenceDataApi.get_security_types",
226
+ :header_params => header_params,
227
+ :query_params => query_params,
228
+ :form_params => form_params,
229
+ :body => post_body,
230
+ :auth_names => auth_names,
231
+ :return_type => return_type
232
+ )
233
+
234
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
235
+ if @api_client.config.debugging
236
+ @api_client.config.logger.debug "API called: ReferenceDataApi#get_security_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
237
+ end
238
+ return data, status_code, headers, response
239
+ end
240
+
241
+
242
+ # Return list of stock exchanges on Passiv and their suffixes
243
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
244
+ def get_stock_exchanges(extra: {})
245
+
246
+ data, _status_code, _headers = get_stock_exchanges_with_http_info_impl(extra)
247
+ data
248
+ end
249
+
250
+ # Return list of stock exchanges on Passiv and their suffixes
251
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
252
+ def get_stock_exchanges_with_http_info(extra: {})
253
+
254
+ get_stock_exchanges_with_http_info_impl(extra)
255
+ end
256
+
257
+ # Return list of stock exchanges on Passiv and their suffixes
258
+ # @param [Hash] opts the optional parameters
259
+ # @return [Array<Exchange>]
260
+ def get_stock_exchanges_impl(opts = {})
261
+ data, _status_code, _headers = get_stock_exchanges_with_http_info(opts)
262
+ data
263
+ end
264
+
265
+ # Return list of stock exchanges on Passiv and their suffixes
266
+ # @param [Hash] opts the optional parameters
267
+ # @return [Array<(Array<Exchange>, Integer, Hash)>] Array<Exchange> data, response status code and response headers
268
+ def get_stock_exchanges_with_http_info_impl(opts = {})
269
+ if @api_client.config.debugging
270
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.get_stock_exchanges ...'
271
+ end
272
+ # resource path
273
+ local_var_path = '/exchanges'
274
+
275
+ # query parameters
276
+ query_params = opts[:query_params] || {}
277
+
278
+ # header parameters
279
+ header_params = opts[:header_params] || {}
280
+ # HTTP header 'Accept' (if needed)
281
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
282
+
283
+ # form parameters
284
+ form_params = opts[:form_params] || {}
285
+
286
+ # http body (model)
287
+ post_body = opts[:debug_body]
288
+
289
+ # return_type
290
+ return_type = opts[:debug_return_type] || 'Array<Exchange>'
291
+
292
+ # auth_names
293
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
294
+
295
+ new_options = opts.merge(
296
+ :operation => :"ReferenceDataApi.get_stock_exchanges",
297
+ :header_params => header_params,
298
+ :query_params => query_params,
299
+ :form_params => form_params,
300
+ :body => post_body,
301
+ :auth_names => auth_names,
302
+ :return_type => return_type
303
+ )
304
+
305
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
306
+ if @api_client.config.debugging
307
+ @api_client.config.logger.debug "API called: ReferenceDataApi#get_stock_exchanges\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
308
+ end
309
+ return data, status_code, headers, response
310
+ end
311
+
312
+
313
+ # Search for symbols
314
+ # @param substring [String]
315
+ # @param body [SymbolQuery]
316
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
317
+ def get_symbols(substring: SENTINEL, extra: {})
318
+ _body = {}
319
+ _body[:substring] = substring if substring != SENTINEL
320
+ extra[:symbol_query] = _body if !_body.empty?
321
+
322
+ data, _status_code, _headers = get_symbols_with_http_info_impl(extra)
323
+ data
324
+ end
325
+
326
+ # Search for symbols
327
+ # @param substring [String]
328
+ # @param body [SymbolQuery]
329
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
330
+ def get_symbols_with_http_info(substring: SENTINEL, extra: {})
331
+ _body = {}
332
+ _body[:substring] = substring if substring != SENTINEL
333
+ extra[:symbol_query] = _body if !_body.empty?
334
+
335
+ get_symbols_with_http_info_impl(extra)
336
+ end
337
+
338
+ # Search for symbols
339
+ # @param [Hash] opts the optional parameters
340
+ # @option opts [SymbolQuery] :symbol_query
341
+ # @return [Array<UniversalSymbol>]
342
+ def get_symbols_impl(opts = {})
343
+ data, _status_code, _headers = get_symbols_with_http_info(opts)
344
+ data
345
+ end
346
+
347
+ # Search for symbols
348
+ # @param [Hash] opts the optional parameters
349
+ # @option opts [SymbolQuery] :symbol_query
350
+ # @return [Array<(Array<UniversalSymbol>, Integer, Hash)>] Array<UniversalSymbol> data, response status code and response headers
351
+ def get_symbols_with_http_info_impl(opts = {})
352
+ if @api_client.config.debugging
353
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.get_symbols ...'
354
+ end
355
+ # resource path
356
+ local_var_path = '/symbols'
357
+
358
+ # query parameters
359
+ query_params = opts[:query_params] || {}
360
+
361
+ # header parameters
362
+ header_params = opts[:header_params] || {}
363
+ # HTTP header 'Accept' (if needed)
364
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
365
+ # HTTP header 'Content-Type'
366
+ content_type = @api_client.select_header_content_type(['application/json'])
367
+ if !content_type.nil?
368
+ header_params['Content-Type'] = content_type
369
+ end
370
+
371
+ # form parameters
372
+ form_params = opts[:form_params] || {}
373
+
374
+ # http body (model)
375
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'symbol_query'])
376
+
377
+ # return_type
378
+ return_type = opts[:debug_return_type] || 'Array<UniversalSymbol>'
379
+
380
+ # auth_names
381
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
382
+
383
+ new_options = opts.merge(
384
+ :operation => :"ReferenceDataApi.get_symbols",
385
+ :header_params => header_params,
386
+ :query_params => query_params,
387
+ :form_params => form_params,
388
+ :body => post_body,
389
+ :auth_names => auth_names,
390
+ :return_type => return_type
391
+ )
392
+
393
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
394
+ if @api_client.config.debugging
395
+ @api_client.config.logger.debug "API called: ReferenceDataApi#get_symbols\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
396
+ end
397
+ return data, status_code, headers, response
398
+ end
399
+
400
+
401
+ # Get details of a symbol by the ticker
402
+ # @param ticker [String] The ticker of the UniversalSymbol to get.
403
+ # @param symbol_id [String] OPTIONAL IN PATH Can be used instead of the ticker ; The ID of the UniversalSymbol to get.
404
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
405
+ def get_symbols_by_ticker(ticker:, symbol_id: SENTINEL, extra: {})
406
+ extra[:symbol_id] = symbol_id if symbol_id != SENTINEL
407
+
408
+ data, _status_code, _headers = get_symbols_by_ticker_with_http_info_impl(ticker, extra)
409
+ data
410
+ end
411
+
412
+ # Get details of a symbol by the ticker
413
+ # @param ticker [String] The ticker of the UniversalSymbol to get.
414
+ # @param symbol_id [String] OPTIONAL IN PATH Can be used instead of the ticker ; The ID of the UniversalSymbol to get.
415
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
416
+ def get_symbols_by_ticker_with_http_info(ticker:, symbol_id: SENTINEL, extra: {})
417
+ extra[:symbol_id] = symbol_id if symbol_id != SENTINEL
418
+
419
+ get_symbols_by_ticker_with_http_info_impl(ticker, extra)
420
+ end
421
+
422
+ # Get details of a symbol by the ticker
423
+ # @param ticker [String] The ticker of the UniversalSymbol to get.
424
+ # @param [Hash] opts the optional parameters
425
+ # @option opts [String] :symbol_id OPTIONAL IN PATH Can be used instead of the ticker ; The ID of the UniversalSymbol to get.
426
+ # @return [UniversalSymbol]
427
+ def get_symbols_by_ticker_impl(ticker, opts = {})
428
+ data, _status_code, _headers = get_symbols_by_ticker_with_http_info(ticker, opts)
429
+ data
430
+ end
431
+
432
+ # Get details of a symbol by the ticker
433
+ # @param ticker [String] The ticker of the UniversalSymbol to get.
434
+ # @param [Hash] opts the optional parameters
435
+ # @option opts [String] :symbol_id OPTIONAL IN PATH Can be used instead of the ticker ; The ID of the UniversalSymbol to get.
436
+ # @return [Array<(UniversalSymbol, Integer, Hash)>] UniversalSymbol data, response status code and response headers
437
+ def get_symbols_by_ticker_with_http_info_impl(ticker, opts = {})
438
+ if @api_client.config.debugging
439
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.get_symbols_by_ticker ...'
440
+ end
441
+ # verify the required parameter 'ticker' is set
442
+ if @api_client.config.client_side_validation && ticker.nil?
443
+ fail ArgumentError, "Missing the required parameter 'ticker' when calling ReferenceDataApi.get_symbols_by_ticker"
444
+ end
445
+ # resource path
446
+ local_var_path = '/symbols/{ticker}'.sub('{' + 'ticker' + '}', CGI.escape(ticker.to_s))
447
+
448
+ # query parameters
449
+ query_params = opts[:query_params] || {}
450
+ query_params[:'symbolId'] = opts[:'symbol_id'] if !opts[:'symbol_id'].nil?
451
+
452
+ # header parameters
453
+ header_params = opts[:header_params] || {}
454
+ # HTTP header 'Accept' (if needed)
455
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
456
+
457
+ # form parameters
458
+ form_params = opts[:form_params] || {}
459
+
460
+ # http body (model)
461
+ post_body = opts[:debug_body]
462
+
463
+ # return_type
464
+ return_type = opts[:debug_return_type] || 'UniversalSymbol'
465
+
466
+ # auth_names
467
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
468
+
469
+ new_options = opts.merge(
470
+ :operation => :"ReferenceDataApi.get_symbols_by_ticker",
471
+ :header_params => header_params,
472
+ :query_params => query_params,
473
+ :form_params => form_params,
474
+ :body => post_body,
475
+ :auth_names => auth_names,
476
+ :return_type => return_type
477
+ )
478
+
479
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
480
+ if @api_client.config.debugging
481
+ @api_client.config.logger.debug "API called: ReferenceDataApi#get_symbols_by_ticker\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
482
+ end
483
+ return data, status_code, headers, response
484
+ end
485
+
486
+
487
+ # List of all brokerage authorization types
488
+ # @param brokerage [String] Comma separated value of brokerage slugs
489
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
490
+ def list_all_brokerage_authorization_type(brokerage: SENTINEL, extra: {})
491
+ extra[:brokerage] = brokerage if brokerage != SENTINEL
492
+
493
+ data, _status_code, _headers = list_all_brokerage_authorization_type_with_http_info_impl(extra)
494
+ data
495
+ end
496
+
497
+ # List of all brokerage authorization types
498
+ # @param brokerage [String] Comma separated value of brokerage slugs
499
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
500
+ def list_all_brokerage_authorization_type_with_http_info(brokerage: SENTINEL, extra: {})
501
+ extra[:brokerage] = brokerage if brokerage != SENTINEL
502
+
503
+ list_all_brokerage_authorization_type_with_http_info_impl(extra)
504
+ end
505
+
506
+ # List of all brokerage authorization types
507
+ # @param [Hash] opts the optional parameters
508
+ # @option opts [String] :brokerage Comma separated value of brokerage slugs
509
+ # @return [Array<BrokerageAuthorizationTypeReadOnly>]
510
+ def list_all_brokerage_authorization_type_impl(opts = {})
511
+ data, _status_code, _headers = list_all_brokerage_authorization_type_with_http_info(opts)
512
+ data
513
+ end
514
+
515
+ # List of all brokerage authorization types
516
+ # @param [Hash] opts the optional parameters
517
+ # @option opts [String] :brokerage Comma separated value of brokerage slugs
518
+ # @return [Array<(Array<BrokerageAuthorizationTypeReadOnly>, Integer, Hash)>] Array<BrokerageAuthorizationTypeReadOnly> data, response status code and response headers
519
+ def list_all_brokerage_authorization_type_with_http_info_impl(opts = {})
520
+ if @api_client.config.debugging
521
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.list_all_brokerage_authorization_type ...'
522
+ end
523
+ # resource path
524
+ local_var_path = '/brokerageAuthorizationTypes'
525
+
526
+ # query parameters
527
+ query_params = opts[:query_params] || {}
528
+ query_params[:'brokerage'] = opts[:'brokerage'] if !opts[:'brokerage'].nil?
529
+
530
+ # header parameters
531
+ header_params = opts[:header_params] || {}
532
+ # HTTP header 'Accept' (if needed)
533
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
534
+
535
+ # form parameters
536
+ form_params = opts[:form_params] || {}
537
+
538
+ # http body (model)
539
+ post_body = opts[:debug_body]
540
+
541
+ # return_type
542
+ return_type = opts[:debug_return_type] || 'Array<BrokerageAuthorizationTypeReadOnly>'
543
+
544
+ # auth_names
545
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
546
+
547
+ new_options = opts.merge(
548
+ :operation => :"ReferenceDataApi.list_all_brokerage_authorization_type",
549
+ :header_params => header_params,
550
+ :query_params => query_params,
551
+ :form_params => form_params,
552
+ :body => post_body,
553
+ :auth_names => auth_names,
554
+ :return_type => return_type
555
+ )
556
+
557
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
558
+ if @api_client.config.debugging
559
+ @api_client.config.logger.debug "API called: ReferenceDataApi#list_all_brokerage_authorization_type\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
560
+ end
561
+ return data, status_code, headers, response
562
+ end
563
+
564
+
565
+ # List of all brokerages.
566
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
567
+ def list_all_brokerages(extra: {})
568
+
569
+ data, _status_code, _headers = list_all_brokerages_with_http_info_impl(extra)
570
+ data
571
+ end
572
+
573
+ # List of all brokerages.
574
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
575
+ def list_all_brokerages_with_http_info(extra: {})
576
+
577
+ list_all_brokerages_with_http_info_impl(extra)
578
+ end
579
+
580
+ # List of all brokerages.
581
+ # @param [Hash] opts the optional parameters
582
+ # @return [Array<Brokerage>]
583
+ def list_all_brokerages_impl(opts = {})
584
+ data, _status_code, _headers = list_all_brokerages_with_http_info(opts)
585
+ data
586
+ end
587
+
588
+ # List of all brokerages.
589
+ # @param [Hash] opts the optional parameters
590
+ # @return [Array<(Array<Brokerage>, Integer, Hash)>] Array<Brokerage> data, response status code and response headers
591
+ def list_all_brokerages_with_http_info_impl(opts = {})
592
+ if @api_client.config.debugging
593
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.list_all_brokerages ...'
594
+ end
595
+ # resource path
596
+ local_var_path = '/brokerages'
597
+
598
+ # query parameters
599
+ query_params = opts[:query_params] || {}
600
+
601
+ # header parameters
602
+ header_params = opts[:header_params] || {}
603
+ # HTTP header 'Accept' (if needed)
604
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
605
+
606
+ # form parameters
607
+ form_params = opts[:form_params] || {}
608
+
609
+ # http body (model)
610
+ post_body = opts[:debug_body]
611
+
612
+ # return_type
613
+ return_type = opts[:debug_return_type] || 'Array<Brokerage>'
614
+
615
+ # auth_names
616
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
617
+
618
+ new_options = opts.merge(
619
+ :operation => :"ReferenceDataApi.list_all_brokerages",
620
+ :header_params => header_params,
621
+ :query_params => query_params,
622
+ :form_params => form_params,
623
+ :body => post_body,
624
+ :auth_names => auth_names,
625
+ :return_type => return_type
626
+ )
627
+
628
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
629
+ if @api_client.config.debugging
630
+ @api_client.config.logger.debug "API called: ReferenceDataApi#list_all_brokerages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
631
+ end
632
+ return data, status_code, headers, response
633
+ end
634
+
635
+
636
+ # List of all supported currencies
637
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
638
+ def list_all_currencies(extra: {})
639
+
640
+ data, _status_code, _headers = list_all_currencies_with_http_info_impl(extra)
641
+ data
642
+ end
643
+
644
+ # List of all supported currencies
645
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
646
+ def list_all_currencies_with_http_info(extra: {})
647
+
648
+ list_all_currencies_with_http_info_impl(extra)
649
+ end
650
+
651
+ # List of all supported currencies
652
+ # @param [Hash] opts the optional parameters
653
+ # @return [Array<Currency>]
654
+ def list_all_currencies_impl(opts = {})
655
+ data, _status_code, _headers = list_all_currencies_with_http_info(opts)
656
+ data
657
+ end
658
+
659
+ # List of all supported currencies
660
+ # @param [Hash] opts the optional parameters
661
+ # @return [Array<(Array<Currency>, Integer, Hash)>] Array<Currency> data, response status code and response headers
662
+ def list_all_currencies_with_http_info_impl(opts = {})
663
+ if @api_client.config.debugging
664
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.list_all_currencies ...'
665
+ end
666
+ # resource path
667
+ local_var_path = '/currencies'
668
+
669
+ # query parameters
670
+ query_params = opts[:query_params] || {}
671
+
672
+ # header parameters
673
+ header_params = opts[:header_params] || {}
674
+ # HTTP header 'Accept' (if needed)
675
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
676
+
677
+ # form parameters
678
+ form_params = opts[:form_params] || {}
679
+
680
+ # http body (model)
681
+ post_body = opts[:debug_body]
682
+
683
+ # return_type
684
+ return_type = opts[:debug_return_type] || 'Array<Currency>'
685
+
686
+ # auth_names
687
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
688
+
689
+ new_options = opts.merge(
690
+ :operation => :"ReferenceDataApi.list_all_currencies",
691
+ :header_params => header_params,
692
+ :query_params => query_params,
693
+ :form_params => form_params,
694
+ :body => post_body,
695
+ :auth_names => auth_names,
696
+ :return_type => return_type
697
+ )
698
+
699
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
700
+ if @api_client.config.debugging
701
+ @api_client.config.logger.debug "API called: ReferenceDataApi#list_all_currencies\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
702
+ end
703
+ return data, status_code, headers, response
704
+ end
705
+
706
+
707
+ # Return the exchange rates of all supported currencies
708
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
709
+ def list_all_currencies_rates(extra: {})
710
+
711
+ data, _status_code, _headers = list_all_currencies_rates_with_http_info_impl(extra)
712
+ data
713
+ end
714
+
715
+ # Return the exchange rates of all supported currencies
716
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
717
+ def list_all_currencies_rates_with_http_info(extra: {})
718
+
719
+ list_all_currencies_rates_with_http_info_impl(extra)
720
+ end
721
+
722
+ # Return the exchange rates of all supported currencies
723
+ # @param [Hash] opts the optional parameters
724
+ # @return [Array<ExchangeRatePairs>]
725
+ def list_all_currencies_rates_impl(opts = {})
726
+ data, _status_code, _headers = list_all_currencies_rates_with_http_info(opts)
727
+ data
728
+ end
729
+
730
+ # Return the exchange rates of all supported currencies
731
+ # @param [Hash] opts the optional parameters
732
+ # @return [Array<(Array<ExchangeRatePairs>, Integer, Hash)>] Array<ExchangeRatePairs> data, response status code and response headers
733
+ def list_all_currencies_rates_with_http_info_impl(opts = {})
734
+ if @api_client.config.debugging
735
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.list_all_currencies_rates ...'
736
+ end
737
+ # resource path
738
+ local_var_path = '/currencies/rates'
739
+
740
+ # query parameters
741
+ query_params = opts[:query_params] || {}
742
+
743
+ # header parameters
744
+ header_params = opts[:header_params] || {}
745
+ # HTTP header 'Accept' (if needed)
746
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
747
+
748
+ # form parameters
749
+ form_params = opts[:form_params] || {}
750
+
751
+ # http body (model)
752
+ post_body = opts[:debug_body]
753
+
754
+ # return_type
755
+ return_type = opts[:debug_return_type] || 'Array<ExchangeRatePairs>'
756
+
757
+ # auth_names
758
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
759
+
760
+ new_options = opts.merge(
761
+ :operation => :"ReferenceDataApi.list_all_currencies_rates",
762
+ :header_params => header_params,
763
+ :query_params => query_params,
764
+ :form_params => form_params,
765
+ :body => post_body,
766
+ :auth_names => auth_names,
767
+ :return_type => return_type
768
+ )
769
+
770
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
771
+ if @api_client.config.debugging
772
+ @api_client.config.logger.debug "API called: ReferenceDataApi#list_all_currencies_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
773
+ end
774
+ return data, status_code, headers, response
775
+ end
776
+
777
+
778
+ # Search for symbols that are supported by a brokerage account using a substring
779
+ # @param user_id [String]
780
+ # @param user_secret [String]
781
+ # @param account_id [String] The ID of the account get positions.
782
+ # @param substring [String]
783
+ # @param body [SymbolQuery]
784
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
785
+ def symbol_search_user_account(user_id:, user_secret:, account_id:, substring: SENTINEL, extra: {})
786
+ _body = {}
787
+ _body[:substring] = substring if substring != SENTINEL
788
+ extra[:symbol_query] = _body if !_body.empty?
789
+
790
+ data, _status_code, _headers = symbol_search_user_account_with_http_info_impl(user_id, user_secret, account_id, extra)
791
+ data
792
+ end
793
+
794
+ # Search for symbols that are supported by a brokerage account using a substring
795
+ # @param user_id [String]
796
+ # @param user_secret [String]
797
+ # @param account_id [String] The ID of the account get positions.
798
+ # @param substring [String]
799
+ # @param body [SymbolQuery]
800
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
801
+ def symbol_search_user_account_with_http_info(user_id:, user_secret:, account_id:, substring: SENTINEL, extra: {})
802
+ _body = {}
803
+ _body[:substring] = substring if substring != SENTINEL
804
+ extra[:symbol_query] = _body if !_body.empty?
805
+
806
+ symbol_search_user_account_with_http_info_impl(user_id, user_secret, account_id, extra)
807
+ end
808
+
809
+ # Search for symbols that are supported by a brokerage account using a substring
810
+ # @param user_id [String]
811
+ # @param user_secret [String]
812
+ # @param account_id [String] The ID of the account get positions.
813
+ # @param [Hash] opts the optional parameters
814
+ # @option opts [SymbolQuery] :symbol_query
815
+ # @return [Array<UniversalSymbol>]
816
+ def symbol_search_user_account_impl(user_id, user_secret, account_id, opts = {})
817
+ data, _status_code, _headers = symbol_search_user_account_with_http_info(user_id, user_secret, account_id, opts)
818
+ data
819
+ end
820
+
821
+ # Search for symbols that are supported by a brokerage account using a substring
822
+ # @param user_id [String]
823
+ # @param user_secret [String]
824
+ # @param account_id [String] The ID of the account get positions.
825
+ # @param [Hash] opts the optional parameters
826
+ # @option opts [SymbolQuery] :symbol_query
827
+ # @return [Array<(Array<UniversalSymbol>, Integer, Hash)>] Array<UniversalSymbol> data, response status code and response headers
828
+ def symbol_search_user_account_with_http_info_impl(user_id, user_secret, account_id, opts = {})
829
+ if @api_client.config.debugging
830
+ @api_client.config.logger.debug 'Calling API: ReferenceDataApi.symbol_search_user_account ...'
831
+ end
832
+ # verify the required parameter 'user_id' is set
833
+ if @api_client.config.client_side_validation && user_id.nil?
834
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling ReferenceDataApi.symbol_search_user_account"
835
+ end
836
+ # verify the required parameter 'user_secret' is set
837
+ if @api_client.config.client_side_validation && user_secret.nil?
838
+ fail ArgumentError, "Missing the required parameter 'user_secret' when calling ReferenceDataApi.symbol_search_user_account"
839
+ end
840
+ # verify the required parameter 'account_id' is set
841
+ if @api_client.config.client_side_validation && account_id.nil?
842
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling ReferenceDataApi.symbol_search_user_account"
843
+ end
844
+ # resource path
845
+ local_var_path = '/accounts/{accountId}/symbols'.sub('{' + 'accountId' + '}', CGI.escape(account_id.to_s))
846
+
847
+ # query parameters
848
+ query_params = opts[:query_params] || {}
849
+ query_params[:'userId'] = user_id
850
+ query_params[:'userSecret'] = user_secret
851
+
852
+ # header parameters
853
+ header_params = opts[:header_params] || {}
854
+ # HTTP header 'Accept' (if needed)
855
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
856
+ # HTTP header 'Content-Type'
857
+ content_type = @api_client.select_header_content_type(['application/json'])
858
+ if !content_type.nil?
859
+ header_params['Content-Type'] = content_type
860
+ end
861
+
862
+ # form parameters
863
+ form_params = opts[:form_params] || {}
864
+
865
+ # http body (model)
866
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'symbol_query'])
867
+
868
+ # return_type
869
+ return_type = opts[:debug_return_type] || 'Array<UniversalSymbol>'
870
+
871
+ # auth_names
872
+ auth_names = opts[:debug_auth_names] || ['PartnerClientId', 'PartnerSignature', 'PartnerTimestamp']
873
+
874
+ new_options = opts.merge(
875
+ :operation => :"ReferenceDataApi.symbol_search_user_account",
876
+ :header_params => header_params,
877
+ :query_params => query_params,
878
+ :form_params => form_params,
879
+ :body => post_body,
880
+ :auth_names => auth_names,
881
+ :return_type => return_type
882
+ )
883
+
884
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
885
+ if @api_client.config.debugging
886
+ @api_client.config.logger.debug "API called: ReferenceDataApi#symbol_search_user_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
887
+ end
888
+ return data, status_code, headers, response
889
+ end
890
+ end
891
+
892
+ # top-level client access to avoid having the user to insantiate their own API instances
893
+ ReferenceData = ReferenceDataApi::new
894
+ end