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,799 @@
1
+ # SnapTrade::TradingApi
2
+
3
+ All URIs are relative to *https://api.snaptrade.com/api/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**cancel_user_account_order**](TradingApi.md#cancel_user_account_order) | **POST** /accounts/{accountId}/orders/cancel | Cancel open order in account |
8
+ | [**get_calculated_trade_impact_by_id**](TradingApi.md#get_calculated_trade_impact_by_id) | **GET** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/modify/{tradeId} | Return details of a specific trade before it's placed |
9
+ | [**get_calculated_trades_impact**](TradingApi.md#get_calculated_trades_impact) | **GET** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/impact | Return the impact of placing a series of trades on the portfolio |
10
+ | [**get_order_impact**](TradingApi.md#get_order_impact) | **POST** /trade/impact | Check impact of trades on account. |
11
+ | [**get_user_account_quotes**](TradingApi.md#get_user_account_quotes) | **GET** /accounts/{accountId}/quotes | Get symbol quotes |
12
+ | [**modify_calculated_trade_by_id**](TradingApi.md#modify_calculated_trade_by_id) | **PATCH** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/modify/{tradeId} | Modify units of a trade before it is placed |
13
+ | [**place_calculated_trades**](TradingApi.md#place_calculated_trades) | **POST** /portfolioGroups/{portfolioGroupId}/calculatedtrades/{calculatedTradeId}/placeOrders | Place orders for the CalculatedTrades in series |
14
+ | [**place_force_order**](TradingApi.md#place_force_order) | **POST** /trade/place | Place a trade with NO validation. |
15
+ | [**place_oco_order**](TradingApi.md#place_oco_order) | **POST** /trade/oco | Place a OCO (One Cancels Other) order |
16
+ | [**place_order**](TradingApi.md#place_order) | **POST** /trade/{tradeId} | Place order |
17
+
18
+ ## cancel_user_account_order
19
+
20
+ Cancel open order in account
21
+
22
+ ### Example
23
+
24
+ ```ruby
25
+ require 'snaptrade'
26
+
27
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
28
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
29
+
30
+ user_id = "John.doe@snaptrade.com"
31
+ user_secret = "USERSECRET123"
32
+ account_id = "accountId_example"
33
+ brokerage_order_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
34
+
35
+ begin
36
+ # Cancel open order in account
37
+ result = SnapTrade::Trading.cancel_user_account_order(
38
+ user_id: user_id,
39
+ user_secret: user_secret,
40
+ account_id: account_id,
41
+ brokerage_order_id: brokerage_order_id,
42
+ )
43
+ p result
44
+ rescue SnapTrade::ApiError => e
45
+ puts "Exception when calling SnapTrade::Trading.cancel_user_account_order: #{e}"
46
+ end
47
+ ```
48
+
49
+ #### Using the cancel_user_account_order_with_http_info variant
50
+
51
+ This returns an Array which contains the response data, status code and headers.
52
+
53
+ ```ruby
54
+ user_id = "John.doe@snaptrade.com"
55
+ user_secret = "USERSECRET123"
56
+ account_id = "accountId_example"
57
+ brokerage_order_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
58
+
59
+ begin
60
+ # Cancel open order in account
61
+ data, status_code, headers, response = SnapTrade::Trading.cancel_user_account_order_with_http_info(
62
+ user_id: user_id,
63
+ user_secret: user_secret,
64
+ account_id: account_id,
65
+ brokerage_order_id: brokerage_order_id,
66
+ )
67
+ p status_code # => 2xx
68
+ p headers # => { ... }
69
+ p data # => AccountOrderRecord
70
+ rescue SnapTrade::ApiError => e
71
+ puts "Exception when calling SnapTrade::Trading.cancel_user_account_order: #{e}"
72
+ end
73
+ ```
74
+
75
+ ### Parameters
76
+
77
+ | Name | Type | Description | Notes |
78
+ | ---- | ---- | ----------- | ----- |
79
+ | **user_id** | **String** | | |
80
+ | **user_secret** | **String** | | |
81
+ | **account_id** | **String** | The ID of the account get positions. | |
82
+ | **trading_cancel_user_account_order_request** | [**TradingCancelUserAccountOrderRequest**](TradingCancelUserAccountOrderRequest.md) | The Order ID to be canceled | |
83
+
84
+ ### Return type
85
+
86
+ [**AccountOrderRecord**](AccountOrderRecord.md)
87
+
88
+ ## get_calculated_trade_impact_by_id
89
+
90
+ Return details of a specific trade before it's placed
91
+
92
+ ### Example
93
+
94
+ ```ruby
95
+ require 'snaptrade'
96
+
97
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
98
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
99
+
100
+ portfolio_group_id = "portfolioGroupId_example"
101
+ calculated_trade_id = "calculatedTradeId_example"
102
+ trade_id = "tradeId_example"
103
+
104
+ begin
105
+ # Return details of a specific trade before it's placed
106
+ result = SnapTrade::Trading.get_calculated_trade_impact_by_id(
107
+ portfolio_group_id: portfolio_group_id,
108
+ calculated_trade_id: calculated_trade_id,
109
+ trade_id: trade_id,
110
+ )
111
+ p result
112
+ rescue SnapTrade::ApiError => e
113
+ puts "Exception when calling SnapTrade::Trading.get_calculated_trade_impact_by_id: #{e}"
114
+ end
115
+ ```
116
+
117
+ #### Using the get_calculated_trade_impact_by_id_with_http_info variant
118
+
119
+ This returns an Array which contains the response data, status code and headers.
120
+
121
+ ```ruby
122
+ portfolio_group_id = "portfolioGroupId_example"
123
+ calculated_trade_id = "calculatedTradeId_example"
124
+ trade_id = "tradeId_example"
125
+
126
+ begin
127
+ # Return details of a specific trade before it's placed
128
+ data, status_code, headers, response = SnapTrade::Trading.get_calculated_trade_impact_by_id_with_http_info(
129
+ portfolio_group_id: portfolio_group_id,
130
+ calculated_trade_id: calculated_trade_id,
131
+ trade_id: trade_id,
132
+ )
133
+ p status_code # => 2xx
134
+ p headers # => { ... }
135
+ p data # => Trade
136
+ rescue SnapTrade::ApiError => e
137
+ puts "Exception when calling SnapTrade::Trading.get_calculated_trade_impact_by_id: #{e}"
138
+ end
139
+ ```
140
+
141
+ ### Parameters
142
+
143
+ | Name | Type | Description | Notes |
144
+ | ---- | ---- | ----------- | ----- |
145
+ | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
146
+ | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
147
+ | **trade_id** | **String** | The ID of trade object | |
148
+
149
+ ### Return type
150
+
151
+ [**Trade**](Trade.md)
152
+
153
+ ## get_calculated_trades_impact
154
+
155
+ Return the impact of placing a series of trades on the portfolio
156
+
157
+ ### Example
158
+
159
+ ```ruby
160
+ require 'snaptrade'
161
+
162
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
163
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
164
+
165
+ portfolio_group_id = "portfolioGroupId_example"
166
+ calculated_trade_id = "calculatedTradeId_example"
167
+
168
+ begin
169
+ # Return the impact of placing a series of trades on the portfolio
170
+ result = SnapTrade::Trading.get_calculated_trades_impact(
171
+ portfolio_group_id: portfolio_group_id,
172
+ calculated_trade_id: calculated_trade_id,
173
+ )
174
+ p result
175
+ rescue SnapTrade::ApiError => e
176
+ puts "Exception when calling SnapTrade::Trading.get_calculated_trades_impact: #{e}"
177
+ end
178
+ ```
179
+
180
+ #### Using the get_calculated_trades_impact_with_http_info variant
181
+
182
+ This returns an Array which contains the response data, status code and headers.
183
+
184
+ ```ruby
185
+ portfolio_group_id = "portfolioGroupId_example"
186
+ calculated_trade_id = "calculatedTradeId_example"
187
+
188
+ begin
189
+ # Return the impact of placing a series of trades on the portfolio
190
+ data, status_code, headers, response = SnapTrade::Trading.get_calculated_trades_impact_with_http_info(
191
+ portfolio_group_id: portfolio_group_id,
192
+ calculated_trade_id: calculated_trade_id,
193
+ )
194
+ p status_code # => 2xx
195
+ p headers # => { ... }
196
+ p data # => Array<TradeImpact>
197
+ rescue SnapTrade::ApiError => e
198
+ puts "Exception when calling SnapTrade::Trading.get_calculated_trades_impact: #{e}"
199
+ end
200
+ ```
201
+
202
+ ### Parameters
203
+
204
+ | Name | Type | Description | Notes |
205
+ | ---- | ---- | ----------- | ----- |
206
+ | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
207
+ | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
208
+
209
+ ### Return type
210
+
211
+ [**Array&lt;TradeImpact&gt;**](TradeImpact.md)
212
+
213
+ ## get_order_impact
214
+
215
+ Check impact of trades on account.
216
+
217
+ ### Example
218
+
219
+ ```ruby
220
+ require 'snaptrade'
221
+
222
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
223
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
224
+
225
+ user_id = "John.doe@snaptrade.com"
226
+ user_secret = "USERSECRET123"
227
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
228
+ action = "BUY"
229
+ order_type = "Limit"
230
+ price = 31.33
231
+ stop = 31.33
232
+ time_in_force = "Day"
233
+ units = 3.14
234
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
235
+
236
+ begin
237
+ # Check impact of trades on account.
238
+ result = SnapTrade::Trading.get_order_impact(
239
+ user_id: user_id,
240
+ user_secret: user_secret,
241
+ account_id: account_id,
242
+ action: action,
243
+ order_type: order_type,
244
+ price: price,
245
+ stop: stop,
246
+ time_in_force: time_in_force,
247
+ units: units,
248
+ universal_symbol_id: universal_symbol_id,
249
+ )
250
+ p result
251
+ rescue SnapTrade::ApiError => e
252
+ puts "Exception when calling SnapTrade::Trading.get_order_impact: #{e}"
253
+ end
254
+ ```
255
+
256
+ #### Using the get_order_impact_with_http_info variant
257
+
258
+ This returns an Array which contains the response data, status code and headers.
259
+
260
+ ```ruby
261
+ user_id = "John.doe@snaptrade.com"
262
+ user_secret = "USERSECRET123"
263
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
264
+ action = "BUY"
265
+ order_type = "Limit"
266
+ price = 31.33
267
+ stop = 31.33
268
+ time_in_force = "Day"
269
+ units = 3.14
270
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
271
+
272
+ begin
273
+ # Check impact of trades on account.
274
+ data, status_code, headers, response = SnapTrade::Trading.get_order_impact_with_http_info(
275
+ user_id: user_id,
276
+ user_secret: user_secret,
277
+ account_id: account_id,
278
+ action: action,
279
+ order_type: order_type,
280
+ price: price,
281
+ stop: stop,
282
+ time_in_force: time_in_force,
283
+ units: units,
284
+ universal_symbol_id: universal_symbol_id,
285
+ )
286
+ p status_code # => 2xx
287
+ p headers # => { ... }
288
+ p data # => ManualTradeAndImpact
289
+ rescue SnapTrade::ApiError => e
290
+ puts "Exception when calling SnapTrade::Trading.get_order_impact: #{e}"
291
+ end
292
+ ```
293
+
294
+ ### Parameters
295
+
296
+ | Name | Type | Description | Notes |
297
+ | ---- | ---- | ----------- | ----- |
298
+ | **user_id** | **String** | | |
299
+ | **user_secret** | **String** | | |
300
+ | **manual_trade_form** | [**ManualTradeForm**](ManualTradeForm.md) | | |
301
+
302
+ ### Return type
303
+
304
+ [**ManualTradeAndImpact**](ManualTradeAndImpact.md)
305
+
306
+ ## get_user_account_quotes
307
+
308
+ Get symbol quotes
309
+
310
+ ### Example
311
+
312
+ ```ruby
313
+ require 'snaptrade'
314
+
315
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
316
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
317
+
318
+ user_id = "John.doe@snaptrade.com"
319
+ user_secret = "USERSECRET123"
320
+ symbols = "symbols_example"
321
+ account_id = "accountId_example"
322
+ use_ticker = True
323
+
324
+ begin
325
+ # Get symbol quotes
326
+ result = SnapTrade::Trading.get_user_account_quotes(
327
+ user_id: user_id,
328
+ user_secret: user_secret,
329
+ symbols: symbols,
330
+ account_id: account_id,
331
+ use_ticker: use_ticker,
332
+ )
333
+ p result
334
+ rescue SnapTrade::ApiError => e
335
+ puts "Exception when calling SnapTrade::Trading.get_user_account_quotes: #{e}"
336
+ end
337
+ ```
338
+
339
+ #### Using the get_user_account_quotes_with_http_info variant
340
+
341
+ This returns an Array which contains the response data, status code and headers.
342
+
343
+ ```ruby
344
+ user_id = "John.doe@snaptrade.com"
345
+ user_secret = "USERSECRET123"
346
+ symbols = "symbols_example"
347
+ account_id = "accountId_example"
348
+ use_ticker = True
349
+
350
+ begin
351
+ # Get symbol quotes
352
+ data, status_code, headers, response = SnapTrade::Trading.get_user_account_quotes_with_http_info(
353
+ user_id: user_id,
354
+ user_secret: user_secret,
355
+ symbols: symbols,
356
+ account_id: account_id,
357
+ use_ticker: use_ticker,
358
+ )
359
+ p status_code # => 2xx
360
+ p headers # => { ... }
361
+ p data # => SymbolsQuotes
362
+ rescue SnapTrade::ApiError => e
363
+ puts "Exception when calling SnapTrade::Trading.get_user_account_quotes: #{e}"
364
+ end
365
+ ```
366
+
367
+ ### Parameters
368
+
369
+ | Name | Type | Description | Notes |
370
+ | ---- | ---- | ----------- | ----- |
371
+ | **user_id** | **String** | | |
372
+ | **user_secret** | **String** | | |
373
+ | **symbols** | **String** | List of universal_symbol_id or tickers to get quotes for. | |
374
+ | **account_id** | **String** | The ID of the account to get quotes. | |
375
+ | **use_ticker** | **Boolean** | Should be set to True if providing tickers. | [optional] |
376
+
377
+ ### Return type
378
+
379
+ [**SymbolsQuotes**](SymbolsQuotes.md)
380
+
381
+ ## modify_calculated_trade_by_id
382
+
383
+ Modify units of a trade before it is placed
384
+
385
+ ### Example
386
+
387
+ ```ruby
388
+ require 'snaptrade'
389
+
390
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
391
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
392
+
393
+ portfolio_group_id = "portfolioGroupId_example"
394
+ calculated_trade_id = "calculatedTradeId_example"
395
+ trade_id = "tradeId_example"
396
+ id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
397
+ account = {
398
+ "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
399
+ "brokerage_authorization" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
400
+ "portfolio_group" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
401
+ "name" => "Registered Retirement Savings Account",
402
+ "number" => "Q6542138443",
403
+ "institution_name" => "Alpaca",
404
+ "created_date" => "2021-06-04T16:26:46.523Z",
405
+ }
406
+ symbol = {
407
+ "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
408
+ "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
409
+ "allows_fractional_units" => True,
410
+ }
411
+ universal_symbol = {
412
+ "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
413
+ "symbol" => "VAB.TO",
414
+ "raw_symbol" => "VAB",
415
+ "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
416
+ }
417
+ action = "BUY"
418
+ units = 6
419
+ price = 24.81
420
+ sequence = 1
421
+
422
+ begin
423
+ # Modify units of a trade before it is placed
424
+ result = SnapTrade::Trading.modify_calculated_trade_by_id(
425
+ portfolio_group_id: portfolio_group_id,
426
+ calculated_trade_id: calculated_trade_id,
427
+ trade_id: trade_id,
428
+ id: id,
429
+ account: account,
430
+ symbol: symbol,
431
+ universal_symbol: universal_symbol,
432
+ action: action,
433
+ units: units,
434
+ price: price,
435
+ sequence: sequence,
436
+ )
437
+ p result
438
+ rescue SnapTrade::ApiError => e
439
+ puts "Exception when calling SnapTrade::Trading.modify_calculated_trade_by_id: #{e}"
440
+ end
441
+ ```
442
+
443
+ #### Using the modify_calculated_trade_by_id_with_http_info variant
444
+
445
+ This returns an Array which contains the response data, status code and headers.
446
+
447
+ ```ruby
448
+ portfolio_group_id = "portfolioGroupId_example"
449
+ calculated_trade_id = "calculatedTradeId_example"
450
+ trade_id = "tradeId_example"
451
+ id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
452
+ account = {
453
+ "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
454
+ "brokerage_authorization" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
455
+ "portfolio_group" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
456
+ "name" => "Registered Retirement Savings Account",
457
+ "number" => "Q6542138443",
458
+ "institution_name" => "Alpaca",
459
+ "created_date" => "2021-06-04T16:26:46.523Z",
460
+ }
461
+ symbol = {
462
+ "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
463
+ "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
464
+ "allows_fractional_units" => True,
465
+ }
466
+ universal_symbol = {
467
+ "id" => "2bcd7cc3-e922-4976-bce1-9858296801c3",
468
+ "symbol" => "VAB.TO",
469
+ "raw_symbol" => "VAB",
470
+ "description" => "VANGUARD CDN AGGREGATE BOND INDEX ETF",
471
+ }
472
+ action = "BUY"
473
+ units = 6
474
+ price = 24.81
475
+ sequence = 1
476
+
477
+ begin
478
+ # Modify units of a trade before it is placed
479
+ data, status_code, headers, response = SnapTrade::Trading.modify_calculated_trade_by_id_with_http_info(
480
+ portfolio_group_id: portfolio_group_id,
481
+ calculated_trade_id: calculated_trade_id,
482
+ trade_id: trade_id,
483
+ id: id,
484
+ account: account,
485
+ symbol: symbol,
486
+ universal_symbol: universal_symbol,
487
+ action: action,
488
+ units: units,
489
+ price: price,
490
+ sequence: sequence,
491
+ )
492
+ p status_code # => 2xx
493
+ p headers # => { ... }
494
+ p data # => Trade
495
+ rescue SnapTrade::ApiError => e
496
+ puts "Exception when calling SnapTrade::Trading.modify_calculated_trade_by_id: #{e}"
497
+ end
498
+ ```
499
+
500
+ ### Parameters
501
+
502
+ | Name | Type | Description | Notes |
503
+ | ---- | ---- | ----------- | ----- |
504
+ | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
505
+ | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
506
+ | **trade_id** | **String** | The ID of trade object | |
507
+ | **trade** | [**Trade**](Trade.md) | | [optional] |
508
+
509
+ ### Return type
510
+
511
+ [**Trade**](Trade.md)
512
+
513
+ ## place_calculated_trades
514
+
515
+ Place orders for the CalculatedTrades in series
516
+
517
+ ### Example
518
+
519
+ ```ruby
520
+ require 'snaptrade'
521
+
522
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
523
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
524
+
525
+ portfolio_group_id = "portfolioGroupId_example"
526
+ calculated_trade_id = "calculatedTradeId_example"
527
+
528
+ begin
529
+ # Place orders for the CalculatedTrades in series
530
+ result = SnapTrade::Trading.place_calculated_trades(
531
+ portfolio_group_id: portfolio_group_id,
532
+ calculated_trade_id: calculated_trade_id,
533
+ )
534
+ p result
535
+ rescue SnapTrade::ApiError => e
536
+ puts "Exception when calling SnapTrade::Trading.place_calculated_trades: #{e}"
537
+ end
538
+ ```
539
+
540
+ #### Using the place_calculated_trades_with_http_info variant
541
+
542
+ This returns an Array which contains the response data, status code and headers.
543
+
544
+ ```ruby
545
+ portfolio_group_id = "portfolioGroupId_example"
546
+ calculated_trade_id = "calculatedTradeId_example"
547
+
548
+ begin
549
+ # Place orders for the CalculatedTrades in series
550
+ data, status_code, headers, response = SnapTrade::Trading.place_calculated_trades_with_http_info(
551
+ portfolio_group_id: portfolio_group_id,
552
+ calculated_trade_id: calculated_trade_id,
553
+ )
554
+ p status_code # => 2xx
555
+ p headers # => { ... }
556
+ p data # => Array<TradeExecutionStatus>
557
+ rescue SnapTrade::ApiError => e
558
+ puts "Exception when calling SnapTrade::Trading.place_calculated_trades: #{e}"
559
+ end
560
+ ```
561
+
562
+ ### Parameters
563
+
564
+ | Name | Type | Description | Notes |
565
+ | ---- | ---- | ----------- | ----- |
566
+ | **portfolio_group_id** | **String** | The ID of the PortfolioGroup to perform rebalancing calculations | |
567
+ | **calculated_trade_id** | **String** | The ID of calculated trade to get account impact | |
568
+
569
+ ### Return type
570
+
571
+ [**Array&lt;TradeExecutionStatus&gt;**](TradeExecutionStatus.md)
572
+
573
+ ## place_force_order
574
+
575
+ Place a trade with NO validation.
576
+
577
+ ### Example
578
+
579
+ ```ruby
580
+ require 'snaptrade'
581
+
582
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
583
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
584
+
585
+ user_id = "John.doe@snaptrade.com"
586
+ user_secret = "USERSECRET123"
587
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
588
+ action = "BUY"
589
+ order_type = "Limit"
590
+ price = 31.33
591
+ stop = 31.33
592
+ time_in_force = "Day"
593
+ units = 3.14
594
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
595
+
596
+ begin
597
+ # Place a trade with NO validation.
598
+ result = SnapTrade::Trading.place_force_order(
599
+ user_id: user_id,
600
+ user_secret: user_secret,
601
+ account_id: account_id,
602
+ action: action,
603
+ order_type: order_type,
604
+ price: price,
605
+ stop: stop,
606
+ time_in_force: time_in_force,
607
+ units: units,
608
+ universal_symbol_id: universal_symbol_id,
609
+ )
610
+ p result
611
+ rescue SnapTrade::ApiError => e
612
+ puts "Exception when calling SnapTrade::Trading.place_force_order: #{e}"
613
+ end
614
+ ```
615
+
616
+ #### Using the place_force_order_with_http_info variant
617
+
618
+ This returns an Array which contains the response data, status code and headers.
619
+
620
+ ```ruby
621
+ user_id = "John.doe@snaptrade.com"
622
+ user_secret = "USERSECRET123"
623
+ account_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
624
+ action = "BUY"
625
+ order_type = "Limit"
626
+ price = 31.33
627
+ stop = 31.33
628
+ time_in_force = "Day"
629
+ units = 3.14
630
+ universal_symbol_id = "2bcd7cc3-e922-4976-bce1-9858296801c3"
631
+
632
+ begin
633
+ # Place a trade with NO validation.
634
+ data, status_code, headers, response = SnapTrade::Trading.place_force_order_with_http_info(
635
+ user_id: user_id,
636
+ user_secret: user_secret,
637
+ account_id: account_id,
638
+ action: action,
639
+ order_type: order_type,
640
+ price: price,
641
+ stop: stop,
642
+ time_in_force: time_in_force,
643
+ units: units,
644
+ universal_symbol_id: universal_symbol_id,
645
+ )
646
+ p status_code # => 2xx
647
+ p headers # => { ... }
648
+ p data # => AccountOrderRecord
649
+ rescue SnapTrade::ApiError => e
650
+ puts "Exception when calling SnapTrade::Trading.place_force_order: #{e}"
651
+ end
652
+ ```
653
+
654
+ ### Parameters
655
+
656
+ | Name | Type | Description | Notes |
657
+ | ---- | ---- | ----------- | ----- |
658
+ | **user_id** | **String** | | |
659
+ | **user_secret** | **String** | | |
660
+ | **manual_trade_form** | [**ManualTradeForm**](ManualTradeForm.md) | | |
661
+
662
+ ### Return type
663
+
664
+ [**AccountOrderRecord**](AccountOrderRecord.md)
665
+
666
+ ## place_oco_order
667
+
668
+ Place a OCO (One Cancels Other) order
669
+
670
+ ### Example
671
+
672
+ ```ruby
673
+ require 'snaptrade'
674
+
675
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
676
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
677
+
678
+ user_id = "John.doe@snaptrade.com"
679
+ user_secret = "USERSECRET123"
680
+ first_trade_id = None
681
+ second_trade_id = None
682
+
683
+ begin
684
+ # Place a OCO (One Cancels Other) order
685
+ result = SnapTrade::Trading.place_oco_order(
686
+ user_id: user_id,
687
+ user_secret: user_secret,
688
+ first_trade_id: first_trade_id,
689
+ second_trade_id: second_trade_id,
690
+ )
691
+ p result
692
+ rescue SnapTrade::ApiError => e
693
+ puts "Exception when calling SnapTrade::Trading.place_oco_order: #{e}"
694
+ end
695
+ ```
696
+
697
+ #### Using the place_oco_order_with_http_info variant
698
+
699
+ This returns an Array which contains the response data, status code and headers.
700
+
701
+ ```ruby
702
+ user_id = "John.doe@snaptrade.com"
703
+ user_secret = "USERSECRET123"
704
+ first_trade_id = None
705
+ second_trade_id = None
706
+
707
+ begin
708
+ # Place a OCO (One Cancels Other) order
709
+ data, status_code, headers, response = SnapTrade::Trading.place_oco_order_with_http_info(
710
+ user_id: user_id,
711
+ user_secret: user_secret,
712
+ first_trade_id: first_trade_id,
713
+ second_trade_id: second_trade_id,
714
+ )
715
+ p status_code # => 2xx
716
+ p headers # => { ... }
717
+ p data # => AccountOrderRecord
718
+ rescue SnapTrade::ApiError => e
719
+ puts "Exception when calling SnapTrade::Trading.place_oco_order: #{e}"
720
+ end
721
+ ```
722
+
723
+ ### Parameters
724
+
725
+ | Name | Type | Description | Notes |
726
+ | ---- | ---- | ----------- | ----- |
727
+ | **user_id** | **String** | | |
728
+ | **user_secret** | **String** | | |
729
+ | **trading_place_oco_order_request** | [**TradingPlaceOCOOrderRequest**](TradingPlaceOCOOrderRequest.md) | | |
730
+
731
+ ### Return type
732
+
733
+ [**AccountOrderRecord**](AccountOrderRecord.md)
734
+
735
+ ## place_order
736
+
737
+ Place order
738
+
739
+ ### Example
740
+
741
+ ```ruby
742
+ require 'snaptrade'
743
+
744
+ SnapTrade.client_id = "YOUR_CLIENT_ID"
745
+ SnapTrade.consumer_key = "YOUR_CONSUMER_KEY"
746
+
747
+ trade_id = "tradeId_example"
748
+ user_id = "John.doe@snaptrade.com"
749
+ user_secret = "USERSECRET123"
750
+
751
+ begin
752
+ # Place order
753
+ result = SnapTrade::Trading.place_order(
754
+ trade_id: trade_id,
755
+ user_id: user_id,
756
+ user_secret: user_secret,
757
+ )
758
+ p result
759
+ rescue SnapTrade::ApiError => e
760
+ puts "Exception when calling SnapTrade::Trading.place_order: #{e}"
761
+ end
762
+ ```
763
+
764
+ #### Using the place_order_with_http_info variant
765
+
766
+ This returns an Array which contains the response data, status code and headers.
767
+
768
+ ```ruby
769
+ trade_id = "tradeId_example"
770
+ user_id = "John.doe@snaptrade.com"
771
+ user_secret = "USERSECRET123"
772
+
773
+ begin
774
+ # Place order
775
+ data, status_code, headers, response = SnapTrade::Trading.place_order_with_http_info(
776
+ trade_id: trade_id,
777
+ user_id: user_id,
778
+ user_secret: user_secret,
779
+ )
780
+ p status_code # => 2xx
781
+ p headers # => { ... }
782
+ p data # => AccountOrderRecord
783
+ rescue SnapTrade::ApiError => e
784
+ puts "Exception when calling SnapTrade::Trading.place_order: #{e}"
785
+ end
786
+ ```
787
+
788
+ ### Parameters
789
+
790
+ | Name | Type | Description | Notes |
791
+ | ---- | ---- | ----------- | ----- |
792
+ | **trade_id** | **String** | The ID of trade object obtained from trade/impact endpoint | |
793
+ | **user_id** | **String** | | |
794
+ | **user_secret** | **String** | | |
795
+
796
+ ### Return type
797
+
798
+ [**AccountOrderRecord**](AccountOrderRecord.md)
799
+