snaptrade 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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