snaptrade-python-sdk 10.9.0__py3-none-any.whl → 11.0.152__py3-none-any.whl

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 (920) hide show
  1. snaptrade_client/__init__.py +2 -2
  2. snaptrade_client/api_client.py +348 -97
  3. snaptrade_client/api_response.py +22 -2
  4. snaptrade_client/apis/path_to_api.py +102 -132
  5. snaptrade_client/apis/paths/accounts_account_id_activities.py +7 -0
  6. snaptrade_client/apis/paths/accounts_account_id_orders_details.py +7 -0
  7. snaptrade_client/apis/paths/accounts_account_id_orders_v2.py +7 -0
  8. snaptrade_client/apis/paths/accounts_account_id_recent_orders.py +7 -0
  9. snaptrade_client/apis/paths/accounts_account_id_recent_orders_v2.py +7 -0
  10. snaptrade_client/apis/paths/accounts_account_id_return_rates.py +7 -0
  11. snaptrade_client/apis/paths/accounts_account_id_trading_bracket.py +7 -0
  12. snaptrade_client/apis/paths/accounts_account_id_trading_cancel.py +7 -0
  13. snaptrade_client/apis/paths/accounts_account_id_trading_crypto.py +7 -0
  14. snaptrade_client/apis/paths/accounts_account_id_trading_crypto_preview.py +7 -0
  15. snaptrade_client/apis/paths/accounts_account_id_trading_instruments_cryptocurrency_pairs.py +7 -0
  16. snaptrade_client/apis/paths/accounts_account_id_trading_instruments_cryptocurrency_pairs_instrument_symbol_quote.py +7 -0
  17. snaptrade_client/apis/paths/accounts_account_id_trading_options.py +7 -0
  18. snaptrade_client/apis/paths/accounts_account_id_trading_replace.py +7 -0
  19. snaptrade_client/apis/paths/authorizations_authorization_id_disable.py +7 -0
  20. snaptrade_client/apis/paths/authorizations_authorization_id_refresh.py +7 -0
  21. snaptrade_client/apis/paths/authorizations_authorization_id_return_rates.py +7 -0
  22. snaptrade_client/apis/paths/brokerages_slug_instruments.py +7 -0
  23. snaptrade_client/apis/paths/snap_trade_reset_user_secret.py +7 -0
  24. snaptrade_client/apis/paths/symbols_query.py +7 -0
  25. snaptrade_client/apis/tag_to_api.py +6 -12
  26. snaptrade_client/apis/tags/__init__.py +2 -4
  27. snaptrade_client/apis/tags/account_information_api.py +2 -32
  28. snaptrade_client/apis/tags/account_information_api_generated.py +43 -0
  29. snaptrade_client/apis/tags/api_status_api.py +2 -18
  30. snaptrade_client/apis/tags/{api_disclaimer_api.py → api_status_api_generated.py} +4 -5
  31. snaptrade_client/apis/tags/authentication_api.py +2 -26
  32. snaptrade_client/apis/tags/authentication_api_generated.py +29 -0
  33. snaptrade_client/apis/tags/connections_api.py +2 -24
  34. snaptrade_client/apis/tags/connections_api_generated.py +33 -0
  35. snaptrade_client/apis/tags/experimental_endpoints_api.py +6 -0
  36. snaptrade_client/apis/tags/experimental_endpoints_api_generated.py +23 -0
  37. snaptrade_client/apis/tags/options_api.py +2 -26
  38. snaptrade_client/apis/tags/options_api_generated.py +23 -0
  39. snaptrade_client/apis/tags/reference_data_api.py +2 -38
  40. snaptrade_client/apis/tags/reference_data_api_generated.py +43 -0
  41. snaptrade_client/apis/tags/trading_api.py +2 -36
  42. snaptrade_client/apis/tags/trading_api_generated.py +45 -0
  43. snaptrade_client/apis/tags/transactions_and_reporting_api.py +2 -20
  44. snaptrade_client/apis/tags/{error_logs_api.py → transactions_and_reporting_api_generated.py} +6 -5
  45. snaptrade_client/client.py +21 -18
  46. snaptrade_client/client.pyi +48 -0
  47. snaptrade_client/client_custom.py +29 -0
  48. snaptrade_client/configuration.py +40 -40
  49. snaptrade_client/exceptions.py +65 -50
  50. snaptrade_client/model/account.py +209 -71
  51. snaptrade_client/model/account.pyi +209 -71
  52. snaptrade_client/model/account_balance.py +140 -0
  53. snaptrade_client/model/account_balance.pyi +140 -0
  54. snaptrade_client/model/{target_asset_list.py → account_cash_restrictions.py} +7 -12
  55. snaptrade_client/model/{target_asset_list.pyi → account_cash_restrictions.pyi} +7 -12
  56. snaptrade_client/model/account_holdings.py +17 -15
  57. snaptrade_client/model/account_holdings.pyi +17 -15
  58. snaptrade_client/model/account_holdings_account.py +99 -23
  59. snaptrade_client/model/account_holdings_account.pyi +99 -23
  60. snaptrade_client/model/{signature.py → account_id.py} +2 -2
  61. snaptrade_client/model/{signature.pyi → account_id.pyi} +2 -2
  62. snaptrade_client/model/account_ids.py +1 -1
  63. snaptrade_client/model/account_ids.pyi +1 -1
  64. snaptrade_client/model/account_meta.py +58 -0
  65. snaptrade_client/model/account_meta.pyi +58 -0
  66. snaptrade_client/model/account_order_record.py +455 -64
  67. snaptrade_client/model/account_order_record.pyi +455 -64
  68. snaptrade_client/model/account_order_record_leg.py +252 -0
  69. snaptrade_client/model/account_order_record_leg.pyi +252 -0
  70. snaptrade_client/model/{brokerage_symbol.py → account_order_record_leg_instrument.py} +34 -43
  71. snaptrade_client/model/{brokerage_symbol.pyi → account_order_record_leg_instrument.pyi} +34 -43
  72. snaptrade_client/model/account_order_record_status.py +21 -1
  73. snaptrade_client/model/account_order_record_status.pyi +21 -1
  74. snaptrade_client/model/account_order_record_status_v2.py +90 -0
  75. snaptrade_client/model/account_order_record_status_v2.pyi +75 -0
  76. snaptrade_client/model/account_order_record_status_v2_nullable.py +105 -0
  77. snaptrade_client/model/account_order_record_status_v2_nullable.pyi +105 -0
  78. snaptrade_client/model/account_order_record_v2.py +309 -0
  79. snaptrade_client/model/account_order_record_v2.pyi +309 -0
  80. snaptrade_client/model/account_orders_v2_response.py +110 -0
  81. snaptrade_client/model/account_orders_v2_response.pyi +110 -0
  82. snaptrade_client/model/account_simple.py +2 -2
  83. snaptrade_client/model/account_simple.pyi +2 -2
  84. snaptrade_client/model/account_sync_status.py +18 -4
  85. snaptrade_client/model/account_sync_status.pyi +18 -4
  86. snaptrade_client/model/account_universal_activity.py +354 -0
  87. snaptrade_client/model/account_universal_activity.pyi +354 -0
  88. snaptrade_client/model/action.py +2 -27
  89. snaptrade_client/model/action.pyi +2 -20
  90. snaptrade_client/model/action_strict.py +50 -0
  91. snaptrade_client/model/{percent.pyi → action_strict.pyi} +14 -4
  92. snaptrade_client/model/{consumer_key.py → action_strict_v2.py} +2 -2
  93. snaptrade_client/model/{consumer_key.pyi → action_strict_v2.pyi} +2 -2
  94. snaptrade_client/model/action_strict_with_options.py +70 -0
  95. snaptrade_client/model/action_strict_with_options.pyi +59 -0
  96. snaptrade_client/model/balance.py +72 -11
  97. snaptrade_client/model/balance.pyi +72 -11
  98. snaptrade_client/model/brokerage.py +69 -68
  99. snaptrade_client/model/brokerage.pyi +69 -68
  100. snaptrade_client/model/brokerage_auth_id.py +25 -0
  101. snaptrade_client/model/brokerage_auth_id.pyi +25 -0
  102. snaptrade_client/model/brokerage_auth_ids.py +1 -1
  103. snaptrade_client/model/brokerage_auth_ids.pyi +1 -1
  104. snaptrade_client/model/brokerage_authorization.py +46 -48
  105. snaptrade_client/model/brokerage_authorization.pyi +46 -48
  106. snaptrade_client/model/{model_asset_class_target.py → brokerage_authorization_disabled_confirmation.py} +13 -16
  107. snaptrade_client/model/{model_asset_class_target.pyi → brokerage_authorization_disabled_confirmation.pyi} +13 -16
  108. snaptrade_client/model/brokerage_authorization_meta.py +58 -0
  109. snaptrade_client/model/brokerage_authorization_meta.pyi +58 -0
  110. snaptrade_client/model/brokerage_authorization_refresh_confirmation.py +78 -0
  111. snaptrade_client/model/brokerage_authorization_refresh_confirmation.pyi +78 -0
  112. snaptrade_client/model/brokerage_authorization_type_read_only.py +10 -73
  113. snaptrade_client/model/brokerage_authorization_type_read_only.pyi +10 -73
  114. snaptrade_client/model/{portfolio_group.py → brokerage_authorization_type_read_only_brokerage.py} +15 -5
  115. snaptrade_client/model/{model_asset_class.py → brokerage_authorization_type_read_only_brokerage.pyi} +15 -5
  116. snaptrade_client/model/brokerage_exchanges.py +52 -0
  117. snaptrade_client/model/brokerage_exchanges.pyi +52 -0
  118. snaptrade_client/model/brokerage_id.py +25 -0
  119. snaptrade_client/model/brokerage_id.pyi +25 -0
  120. snaptrade_client/model/brokerage_instrument.py +202 -0
  121. snaptrade_client/model/brokerage_instrument.pyi +202 -0
  122. snaptrade_client/model/{model_portfolio_asset_class.py → brokerage_instruments_response.py} +31 -28
  123. snaptrade_client/model/brokerage_instruments_response.pyi +103 -0
  124. snaptrade_client/model/brokerage_order_id.py +25 -0
  125. snaptrade_client/model/brokerage_order_id.pyi +25 -0
  126. snaptrade_client/model/brokerage_symbol_id.py +25 -0
  127. snaptrade_client/model/brokerage_symbol_id.pyi +25 -0
  128. snaptrade_client/model/brokerage_type.py +2 -2
  129. snaptrade_client/model/brokerage_type.pyi +2 -2
  130. snaptrade_client/model/cancel_order_response.py +96 -0
  131. snaptrade_client/model/cancel_order_response.pyi +96 -0
  132. snaptrade_client/model/cancel_order_response_raw_response.py +62 -0
  133. snaptrade_client/model/cancel_order_response_raw_response.pyi +62 -0
  134. snaptrade_client/model/child_brokerage_order_ids.py +86 -0
  135. snaptrade_client/model/child_brokerage_order_ids.pyi +86 -0
  136. snaptrade_client/model/child_brokerage_order_ids_nullable.py +90 -0
  137. snaptrade_client/model/child_brokerage_order_ids_nullable.pyi +90 -0
  138. snaptrade_client/model/client_id.py +1 -1
  139. snaptrade_client/model/client_id.pyi +1 -1
  140. snaptrade_client/model/crypto_order_form.py +249 -0
  141. snaptrade_client/model/crypto_order_form.pyi +229 -0
  142. snaptrade_client/model/{excluded_asset.py → crypto_order_preview.py} +14 -14
  143. snaptrade_client/model/{excluded_asset.pyi → crypto_order_preview.pyi} +14 -14
  144. snaptrade_client/model/{redirect_tokenand_pin.py → crypto_order_preview_estimated_fee.py} +25 -18
  145. snaptrade_client/model/{redirect_tokenand_pin.pyi → crypto_order_preview_estimated_fee.pyi} +25 -18
  146. snaptrade_client/model/{model_portfolio_security.py → crypto_trading_instrument.py} +36 -23
  147. snaptrade_client/model/{brokerage_authorization_type.py → crypto_trading_instrument.pyi} +28 -18
  148. snaptrade_client/model/cryptocurrency_base_symbol.py +25 -0
  149. snaptrade_client/model/cryptocurrency_base_symbol.pyi +25 -0
  150. snaptrade_client/model/cryptocurrency_increment.py +25 -0
  151. snaptrade_client/model/cryptocurrency_increment.pyi +25 -0
  152. snaptrade_client/model/{stop_price.pyi → cryptocurrency_increment_nullable.py} +8 -7
  153. snaptrade_client/model/{stop_price.py → cryptocurrency_increment_nullable.pyi} +8 -7
  154. snaptrade_client/model/cryptocurrency_pair.py +120 -0
  155. snaptrade_client/model/cryptocurrency_pair.pyi +120 -0
  156. snaptrade_client/model/{snap_trade_api_disclaimer_accept_status.pyi → cryptocurrency_pair_quote.py} +40 -15
  157. snaptrade_client/model/{snap_trade_api_disclaimer_accept_status.py → cryptocurrency_pair_quote.pyi} +40 -15
  158. snaptrade_client/model/cryptocurrency_pair_symbol.py +25 -0
  159. snaptrade_client/model/cryptocurrency_pair_symbol.pyi +25 -0
  160. snaptrade_client/model/cryptocurrency_quote_symbol.py +25 -0
  161. snaptrade_client/model/cryptocurrency_quote_symbol.pyi +25 -0
  162. snaptrade_client/model/cryptocurrency_symbol.py +25 -0
  163. snaptrade_client/model/cryptocurrency_symbol.pyi +25 -0
  164. snaptrade_client/model/currency.py +2 -2
  165. snaptrade_client/model/currency.pyi +2 -2
  166. snaptrade_client/model/currency_id.py +25 -0
  167. snaptrade_client/model/currency_id.pyi +25 -0
  168. snaptrade_client/model/{model_asset_class.pyi → currency_nullable.py} +23 -7
  169. snaptrade_client/model/{portfolio_group.pyi → currency_nullable.pyi} +23 -7
  170. snaptrade_client/model/delete_user_response.py +13 -5
  171. snaptrade_client/model/delete_user_response.pyi +13 -5
  172. snaptrade_client/model/dividend_at_date.py +1 -1
  173. snaptrade_client/model/dividend_at_date.pyi +1 -1
  174. snaptrade_client/model/encrypted_response.py +11 -73
  175. snaptrade_client/model/encrypted_response.pyi +11 -73
  176. snaptrade_client/model/encrypted_response_encrypted_message_data.py +96 -0
  177. snaptrade_client/model/encrypted_response_encrypted_message_data.pyi +96 -0
  178. snaptrade_client/model/exchange.py +2 -2
  179. snaptrade_client/model/exchange.pyi +2 -2
  180. snaptrade_client/model/exchange_id.py +25 -0
  181. snaptrade_client/model/exchange_id.pyi +25 -0
  182. snaptrade_client/model/exchange_rate_pairs.py +1 -1
  183. snaptrade_client/model/exchange_rate_pairs.pyi +1 -1
  184. snaptrade_client/model/figi_instrument.py +126 -0
  185. snaptrade_client/model/figi_instrument.pyi +126 -0
  186. snaptrade_client/model/figi_instrument_nullable.py +130 -0
  187. snaptrade_client/model/figi_instrument_nullable.pyi +130 -0
  188. snaptrade_client/model/holdings_status.py +99 -0
  189. snaptrade_client/model/holdings_status.pyi +99 -0
  190. snaptrade_client/model/holdings_sync_status_date.py +54 -0
  191. snaptrade_client/model/holdings_sync_status_date.pyi +54 -0
  192. snaptrade_client/model/holdings_sync_status_date_nullable.py +54 -0
  193. snaptrade_client/model/holdings_sync_status_date_nullable.pyi +54 -0
  194. snaptrade_client/model/id.py +1 -1
  195. snaptrade_client/model/id.pyi +1 -1
  196. snaptrade_client/model/login_redirect_uri.py +3 -3
  197. snaptrade_client/model/login_redirect_uri.pyi +3 -3
  198. snaptrade_client/model/manual_trade.py +40 -36
  199. snaptrade_client/model/manual_trade.pyi +40 -36
  200. snaptrade_client/model/manual_trade_and_impact.py +6 -7
  201. snaptrade_client/model/manual_trade_and_impact.pyi +6 -7
  202. snaptrade_client/model/manual_trade_balance.py +31 -16
  203. snaptrade_client/model/manual_trade_balance.pyi +31 -16
  204. snaptrade_client/model/manual_trade_form.py +111 -46
  205. snaptrade_client/model/manual_trade_form.pyi +111 -46
  206. snaptrade_client/model/manual_trade_form_bracket.py +237 -0
  207. snaptrade_client/model/manual_trade_form_bracket.pyi +237 -0
  208. snaptrade_client/model/manual_trade_form_with_options.py +308 -0
  209. snaptrade_client/model/manual_trade_form_with_options.pyi +308 -0
  210. snaptrade_client/model/{trade_impact.py → manual_trade_impact.py} +80 -34
  211. snaptrade_client/model/{trade_impact.pyi → manual_trade_impact.pyi} +80 -34
  212. snaptrade_client/model/manual_trade_replace_form.py +215 -0
  213. snaptrade_client/model/manual_trade_replace_form.pyi +215 -0
  214. snaptrade_client/model/manual_trade_symbol.py +14 -14
  215. snaptrade_client/model/manual_trade_symbol.pyi +14 -14
  216. snaptrade_client/model/mleg_action_strict.py +70 -0
  217. snaptrade_client/model/mleg_action_strict.pyi +59 -0
  218. snaptrade_client/model/mleg_instrument_type.py +50 -0
  219. snaptrade_client/model/{percent.py → mleg_instrument_type.pyi} +14 -8
  220. snaptrade_client/model/mleg_leg.py +114 -0
  221. snaptrade_client/model/mleg_leg.pyi +114 -0
  222. snaptrade_client/model/mleg_order_response.py +120 -0
  223. snaptrade_client/model/mleg_order_response.pyi +120 -0
  224. snaptrade_client/model/mleg_order_type_strict.py +60 -0
  225. snaptrade_client/model/mleg_order_type_strict.pyi +51 -0
  226. snaptrade_client/model/mleg_price_effect_strict.py +55 -0
  227. snaptrade_client/model/mleg_price_effect_strict.pyi +47 -0
  228. snaptrade_client/model/mleg_price_effect_strict_nullable.py +70 -0
  229. snaptrade_client/model/mleg_price_effect_strict_nullable.pyi +70 -0
  230. snaptrade_client/model/mleg_trade_form.py +223 -0
  231. snaptrade_client/model/mleg_trade_form.pyi +223 -0
  232. snaptrade_client/model/{model_portfolio_security.pyi → mleg_trading_instrument.py} +24 -22
  233. snaptrade_client/model/mleg_trading_instrument.pyi +98 -0
  234. snaptrade_client/model/model400_failed_request_response.py +1 -1
  235. snaptrade_client/model/model400_failed_request_response.pyi +1 -1
  236. snaptrade_client/model/model401_failed_request_response.py +1 -1
  237. snaptrade_client/model/model401_failed_request_response.pyi +1 -1
  238. snaptrade_client/model/model402_brokerage_auth_already_disabled_exception.py +88 -0
  239. snaptrade_client/model/model402_brokerage_auth_already_disabled_exception.pyi +88 -0
  240. snaptrade_client/model/model402_brokerage_auth_disabled_response.py +88 -0
  241. snaptrade_client/model/model402_brokerage_auth_disabled_response.pyi +88 -0
  242. snaptrade_client/model/model403_failed_request_response.py +1 -1
  243. snaptrade_client/model/model403_failed_request_response.pyi +1 -1
  244. snaptrade_client/model/model403_feature_not_enabled_response.py +88 -0
  245. snaptrade_client/model/model403_feature_not_enabled_response.pyi +88 -0
  246. snaptrade_client/model/model404_failed_request_response.py +1 -1
  247. snaptrade_client/model/model404_failed_request_response.pyi +1 -1
  248. snaptrade_client/model/model425_failed_request_response.py +88 -0
  249. snaptrade_client/model/model425_failed_request_response.pyi +88 -0
  250. snaptrade_client/model/model500_unexpected_exception_response.py +98 -0
  251. snaptrade_client/model/model500_unexpected_exception_response.pyi +98 -0
  252. snaptrade_client/model/monthly_dividends.py +1 -1
  253. snaptrade_client/model/monthly_dividends.pyi +1 -1
  254. snaptrade_client/model/net_contributions.py +1 -1
  255. snaptrade_client/model/net_contributions.pyi +1 -1
  256. snaptrade_client/model/net_dividend.py +1 -1
  257. snaptrade_client/model/net_dividend.pyi +1 -1
  258. snaptrade_client/model/notional_value.py +68 -0
  259. snaptrade_client/model/notional_value.pyi +68 -0
  260. snaptrade_client/model/notional_value_nullable.py +68 -0
  261. snaptrade_client/model/notional_value_nullable.pyi +68 -0
  262. snaptrade_client/model/{model_portfolio.pyi → option_brokerage_symbol.py} +26 -36
  263. snaptrade_client/model/option_brokerage_symbol.pyi +103 -0
  264. snaptrade_client/model/option_chain.py +8 -343
  265. snaptrade_client/model/option_chain.pyi +8 -343
  266. snaptrade_client/model/option_chain_item.py +121 -0
  267. snaptrade_client/model/option_chain_item.pyi +121 -0
  268. snaptrade_client/model/option_chain_item_chain_per_root.py +55 -0
  269. snaptrade_client/model/option_chain_item_chain_per_root.pyi +55 -0
  270. snaptrade_client/model/option_chain_item_chain_per_root_item.py +101 -0
  271. snaptrade_client/model/option_chain_item_chain_per_root_item.pyi +101 -0
  272. snaptrade_client/model/option_chain_item_chain_per_root_item_chain_per_strike_price.py +55 -0
  273. snaptrade_client/model/option_chain_item_chain_per_root_item_chain_per_strike_price.pyi +55 -0
  274. snaptrade_client/model/option_chain_item_chain_per_root_item_chain_per_strike_price_item.py +168 -0
  275. snaptrade_client/model/option_chain_item_chain_per_root_item_chain_per_strike_price_item.pyi +168 -0
  276. snaptrade_client/model/option_leg.py +1 -1
  277. snaptrade_client/model/option_leg.pyi +1 -1
  278. snaptrade_client/model/option_strategy.py +9 -107
  279. snaptrade_client/model/option_strategy.pyi +9 -107
  280. snaptrade_client/model/option_strategy_legs.py +130 -0
  281. snaptrade_client/model/option_strategy_legs.pyi +130 -0
  282. snaptrade_client/model/option_symbol_id.py +25 -0
  283. snaptrade_client/model/option_symbol_id.pyi +25 -0
  284. snaptrade_client/model/options_position.py +43 -44
  285. snaptrade_client/model/options_position.pyi +43 -44
  286. snaptrade_client/model/options_symbol.py +66 -71
  287. snaptrade_client/model/options_symbol.pyi +59 -71
  288. snaptrade_client/model/options_symbol_nullable.py +170 -0
  289. snaptrade_client/model/options_symbol_nullable.pyi +163 -0
  290. snaptrade_client/model/order_type.py +16 -27
  291. snaptrade_client/model/order_type.pyi +18 -20
  292. snaptrade_client/model/order_type_strict.py +64 -0
  293. snaptrade_client/model/order_type_strict.pyi +55 -0
  294. snaptrade_client/model/{model_portfolio_asset_class.pyi → order_updated_response.py} +24 -24
  295. snaptrade_client/model/order_updated_response.pyi +96 -0
  296. snaptrade_client/model/paginated_universal_activity.py +119 -0
  297. snaptrade_client/model/paginated_universal_activity.pyi +119 -0
  298. snaptrade_client/model/pagination_details.py +98 -0
  299. snaptrade_client/model/pagination_details.pyi +98 -0
  300. snaptrade_client/model/partner_data.py +37 -37
  301. snaptrade_client/model/partner_data.pyi +37 -37
  302. snaptrade_client/model/past_value.py +1 -1
  303. snaptrade_client/model/past_value.pyi +1 -1
  304. snaptrade_client/model/performance_custom.py +9 -46
  305. snaptrade_client/model/performance_custom.pyi +9 -46
  306. snaptrade_client/model/performance_custom_bad_tickers.py +71 -0
  307. snaptrade_client/model/performance_custom_bad_tickers.pyi +71 -0
  308. snaptrade_client/model/portfolio_group_id.py +25 -0
  309. snaptrade_client/model/portfolio_group_id.pyi +25 -0
  310. snaptrade_client/model/position.py +88 -13
  311. snaptrade_client/model/position.pyi +88 -13
  312. snaptrade_client/model/position_symbol.py +15 -15
  313. snaptrade_client/model/position_symbol.pyi +15 -15
  314. snaptrade_client/model/price.py +26 -2
  315. snaptrade_client/model/price.pyi +26 -2
  316. snaptrade_client/model/rate_of_return_object.py +133 -0
  317. snaptrade_client/model/rate_of_return_object.pyi +123 -0
  318. snaptrade_client/model/rate_of_return_response.py +105 -0
  319. snaptrade_client/model/rate_of_return_response.pyi +105 -0
  320. snaptrade_client/model/{calculated_trade.py → recent_orders_response.py} +18 -28
  321. snaptrade_client/model/{calculated_trade.pyi → recent_orders_response.pyi} +18 -28
  322. snaptrade_client/model/reporting_date.py +1 -1
  323. snaptrade_client/model/reporting_date.pyi +1 -1
  324. snaptrade_client/model/reporting_frequency.py +1 -1
  325. snaptrade_client/model/reporting_frequency.pyi +1 -1
  326. snaptrade_client/model/security_type.py +2 -2
  327. snaptrade_client/model/security_type.pyi +2 -2
  328. snaptrade_client/model/security_type_id.py +25 -0
  329. snaptrade_client/model/security_type_id.pyi +25 -0
  330. snaptrade_client/model/session_event.py +47 -7
  331. snaptrade_client/model/session_event.pyi +37 -5
  332. snaptrade_client/model/simple_order_form.py +248 -0
  333. snaptrade_client/model/simple_order_form.pyi +228 -0
  334. snaptrade_client/model/snap_trade_holdings_account.py +9 -33
  335. snaptrade_client/model/snap_trade_holdings_account.pyi +9 -33
  336. snaptrade_client/model/snap_trade_holdings_account_meta.py +56 -0
  337. snaptrade_client/model/snap_trade_holdings_account_meta.pyi +56 -0
  338. snaptrade_client/model/snap_trade_holdings_total_value.py +47 -6
  339. snaptrade_client/model/snap_trade_holdings_total_value.pyi +47 -6
  340. snaptrade_client/model/snap_trade_login_user_request_body.py +63 -3
  341. snaptrade_client/model/snap_trade_login_user_request_body.pyi +54 -3
  342. snaptrade_client/model/snap_trade_register_user_request_body.py +10 -15
  343. snaptrade_client/model/snap_trade_register_user_request_body.pyi +10 -15
  344. snaptrade_client/model/status.py +1 -1
  345. snaptrade_client/model/status.pyi +1 -1
  346. snaptrade_client/model/{portfolio_group_position.py → stop_loss.py} +22 -37
  347. snaptrade_client/model/{portfolio_group_position.pyi → stop_loss.pyi} +22 -37
  348. snaptrade_client/model/strategy_order_record.py +25 -64
  349. snaptrade_client/model/strategy_order_record.pyi +25 -48
  350. snaptrade_client/model/strategy_quotes.py +31 -105
  351. snaptrade_client/model/strategy_quotes.pyi +31 -105
  352. snaptrade_client/model/strategy_quotes_greek.py +116 -0
  353. snaptrade_client/model/strategy_quotes_greek.pyi +116 -0
  354. snaptrade_client/model/sub_period_return_rate.py +1 -1
  355. snaptrade_client/model/sub_period_return_rate.pyi +1 -1
  356. snaptrade_client/model/symbol.py +150 -24
  357. snaptrade_client/model/symbol.pyi +150 -24
  358. snaptrade_client/model/symbol_nullable.py +281 -0
  359. snaptrade_client/model/symbol_nullable.pyi +281 -0
  360. snaptrade_client/model/symbol_query.py +1 -3
  361. snaptrade_client/model/symbol_query.pyi +1 -3
  362. snaptrade_client/model/symbols_quotes.py +111 -87
  363. snaptrade_client/model/symbols_quotes.pyi +111 -87
  364. snaptrade_client/model/sync_status_date.py +1 -1
  365. snaptrade_client/model/sync_status_date.pyi +1 -1
  366. snaptrade_client/model/sync_status_date_nullable.py +54 -0
  367. snaptrade_client/model/sync_status_date_nullable.pyi +54 -0
  368. snaptrade_client/model/{jwt.py → take_profit.py} +12 -12
  369. snaptrade_client/model/{jwt.pyi → take_profit.pyi} +12 -12
  370. snaptrade_client/model/time.py +1 -1
  371. snaptrade_client/model/time.pyi +1 -1
  372. snaptrade_client/model/time_in_force.py +2 -36
  373. snaptrade_client/model/time_in_force.pyi +2 -28
  374. snaptrade_client/model/time_in_force_strict.py +65 -0
  375. snaptrade_client/model/time_in_force_strict.pyi +56 -0
  376. snaptrade_client/model/{email.py → trade_id.py} +2 -2
  377. snaptrade_client/model/{email.pyi → trade_id.pyi} +2 -2
  378. snaptrade_client/model/trading_instrument.py +123 -0
  379. snaptrade_client/model/{brokerage_authorization_type.pyi → trading_instrument.pyi} +36 -11
  380. snaptrade_client/model/trading_session.py +53 -0
  381. snaptrade_client/model/trading_session.pyi +46 -0
  382. snaptrade_client/model/transactions_status.py +59 -9
  383. snaptrade_client/model/transactions_status.pyi +59 -9
  384. snaptrade_client/model/underlying_symbol.py +172 -23
  385. snaptrade_client/model/underlying_symbol.pyi +172 -23
  386. snaptrade_client/model/units.py +1 -1
  387. snaptrade_client/model/units.pyi +1 -1
  388. snaptrade_client/model/{cash.py → units_nullable.py} +4 -4
  389. snaptrade_client/model/{cash.pyi → units_nullable.pyi} +4 -4
  390. snaptrade_client/model/universal_activity.py +168 -73
  391. snaptrade_client/model/universal_activity.pyi +168 -73
  392. snaptrade_client/model/universal_symbol.py +171 -50
  393. snaptrade_client/model/universal_symbol.pyi +171 -50
  394. snaptrade_client/model/universal_symbol_id.py +25 -0
  395. snaptrade_client/model/universal_symbol_id.pyi +25 -0
  396. snaptrade_client/model/universal_symbol_id_nullable.py +54 -0
  397. snaptrade_client/model/universal_symbol_id_nullable.pyi +54 -0
  398. snaptrade_client/model/us_exchange.py +1 -1
  399. snaptrade_client/model/us_exchange.pyi +1 -1
  400. snaptrade_client/model/user_i_dand_secret.py +8 -9
  401. snaptrade_client/model/user_i_dand_secret.pyi +8 -9
  402. snaptrade_client/model/user_id.py +1 -1
  403. snaptrade_client/model/user_id.pyi +1 -1
  404. snaptrade_client/model/user_list.py +2 -2
  405. snaptrade_client/model/user_list.pyi +2 -2
  406. snaptrade_client/model/user_secret.py +1 -1
  407. snaptrade_client/model/user_secret.pyi +1 -1
  408. snaptrade_client/model/validated_trade_body.py +96 -0
  409. snaptrade_client/model/validated_trade_body.pyi +96 -0
  410. snaptrade_client/models/__init__.py +104 -43
  411. snaptrade_client/operation_parameter_map.py +895 -0
  412. snaptrade_client/paths/__init__.py +34 -44
  413. snaptrade_client/paths/accounts/get.py +244 -39
  414. snaptrade_client/paths/accounts/get.pyi +244 -39
  415. snaptrade_client/paths/accounts_account_id/get.py +284 -73
  416. snaptrade_client/paths/accounts_account_id/get.pyi +284 -73
  417. snaptrade_client/paths/accounts_account_id/put.py +285 -49
  418. snaptrade_client/paths/accounts_account_id/put.pyi +285 -49
  419. snaptrade_client/paths/{model_portfolio → accounts_account_id_activities}/__init__.py +2 -2
  420. snaptrade_client/paths/accounts_account_id_activities/get.py +647 -0
  421. snaptrade_client/paths/accounts_account_id_activities/get.pyi +628 -0
  422. snaptrade_client/paths/accounts_account_id_balances/get.py +291 -55
  423. snaptrade_client/paths/accounts_account_id_balances/get.pyi +291 -55
  424. snaptrade_client/paths/accounts_account_id_holdings/get.py +322 -59
  425. snaptrade_client/paths/accounts_account_id_holdings/get.pyi +321 -59
  426. snaptrade_client/paths/accounts_account_id_options/get.py +311 -50
  427. snaptrade_client/paths/accounts_account_id_options/get.pyi +311 -50
  428. snaptrade_client/paths/accounts_account_id_options_chain/get.py +298 -56
  429. snaptrade_client/paths/accounts_account_id_options_chain/get.pyi +298 -56
  430. snaptrade_client/paths/accounts_account_id_orders/get.py +329 -57
  431. snaptrade_client/paths/accounts_account_id_orders/get.pyi +325 -57
  432. snaptrade_client/paths/accounts_account_id_orders_cancel/post.py +356 -74
  433. snaptrade_client/paths/accounts_account_id_orders_cancel/post.pyi +356 -74
  434. snaptrade_client/paths/{model_portfolio_model_portfolio_id → accounts_account_id_orders_details}/__init__.py +2 -2
  435. snaptrade_client/paths/accounts_account_id_orders_details/post.py +691 -0
  436. snaptrade_client/paths/accounts_account_id_orders_details/post.pyi +678 -0
  437. snaptrade_client/paths/{portfolio_groups → accounts_account_id_orders_v2}/__init__.py +2 -2
  438. snaptrade_client/paths/accounts_account_id_orders_v2/get.py +592 -0
  439. snaptrade_client/paths/accounts_account_id_orders_v2/get.pyi +569 -0
  440. snaptrade_client/paths/accounts_account_id_positions/get.py +291 -55
  441. snaptrade_client/paths/accounts_account_id_positions/get.pyi +291 -55
  442. snaptrade_client/paths/accounts_account_id_quotes/get.py +310 -62
  443. snaptrade_client/paths/accounts_account_id_quotes/get.pyi +310 -62
  444. snaptrade_client/paths/accounts_account_id_recent_orders/__init__.py +7 -0
  445. snaptrade_client/paths/accounts_account_id_recent_orders/get.py +561 -0
  446. snaptrade_client/paths/accounts_account_id_recent_orders/get.pyi +549 -0
  447. snaptrade_client/paths/accounts_account_id_recent_orders_v2/__init__.py +7 -0
  448. snaptrade_client/paths/accounts_account_id_recent_orders_v2/get.py +561 -0
  449. snaptrade_client/paths/accounts_account_id_recent_orders_v2/get.pyi +549 -0
  450. snaptrade_client/paths/{model_asset_class → accounts_account_id_return_rates}/__init__.py +2 -2
  451. snaptrade_client/paths/accounts_account_id_return_rates/get.py +540 -0
  452. snaptrade_client/paths/accounts_account_id_return_rates/get.pyi +528 -0
  453. snaptrade_client/paths/accounts_account_id_symbols/post.py +338 -71
  454. snaptrade_client/paths/accounts_account_id_symbols/post.pyi +338 -71
  455. snaptrade_client/paths/{accounts_account_id_option_strategy → accounts_account_id_trading_bracket}/__init__.py +2 -2
  456. snaptrade_client/paths/accounts_account_id_trading_bracket/post.py +732 -0
  457. snaptrade_client/paths/accounts_account_id_trading_bracket/post.pyi +719 -0
  458. snaptrade_client/paths/accounts_account_id_trading_cancel/__init__.py +7 -0
  459. snaptrade_client/paths/accounts_account_id_trading_cancel/post.py +660 -0
  460. snaptrade_client/paths/accounts_account_id_trading_cancel/post.pyi +648 -0
  461. snaptrade_client/paths/accounts_account_id_trading_crypto/__init__.py +7 -0
  462. snaptrade_client/paths/accounts_account_id_trading_crypto/post.py +700 -0
  463. snaptrade_client/paths/accounts_account_id_trading_crypto/post.pyi +688 -0
  464. snaptrade_client/paths/accounts_account_id_trading_crypto_preview/__init__.py +7 -0
  465. snaptrade_client/paths/accounts_account_id_trading_crypto_preview/post.py +700 -0
  466. snaptrade_client/paths/accounts_account_id_trading_crypto_preview/post.pyi +688 -0
  467. snaptrade_client/paths/{accounts_account_id_option_strategy_option_strategy_id → accounts_account_id_trading_instruments_cryptocurrency_pairs}/__init__.py +2 -2
  468. snaptrade_client/paths/accounts_account_id_trading_instruments_cryptocurrency_pairs/get.py +653 -0
  469. snaptrade_client/paths/accounts_account_id_trading_instruments_cryptocurrency_pairs/get.pyi +641 -0
  470. snaptrade_client/paths/{accounts_account_id_option_strategy_option_strategy_id_execute → accounts_account_id_trading_instruments_cryptocurrency_pairs_instrument_symbol_quote}/__init__.py +2 -2
  471. snaptrade_client/paths/accounts_account_id_trading_instruments_cryptocurrency_pairs_instrument_symbol_quote/get.py +554 -0
  472. snaptrade_client/paths/accounts_account_id_trading_instruments_cryptocurrency_pairs_instrument_symbol_quote/get.pyi +542 -0
  473. snaptrade_client/paths/accounts_account_id_trading_options/__init__.py +7 -0
  474. snaptrade_client/paths/accounts_account_id_trading_options/post.py +671 -0
  475. snaptrade_client/paths/accounts_account_id_trading_options/post.pyi +659 -0
  476. snaptrade_client/paths/accounts_account_id_trading_replace/__init__.py +7 -0
  477. snaptrade_client/paths/accounts_account_id_trading_replace/post.py +717 -0
  478. snaptrade_client/paths/accounts_account_id_trading_replace/post.pyi +704 -0
  479. snaptrade_client/paths/activities/get.py +316 -62
  480. snaptrade_client/paths/activities/get.pyi +316 -62
  481. snaptrade_client/paths/authorizations/get.py +244 -39
  482. snaptrade_client/paths/authorizations/get.pyi +244 -39
  483. snaptrade_client/paths/authorizations_authorization_id/delete.py +291 -43
  484. snaptrade_client/paths/authorizations_authorization_id/delete.pyi +291 -43
  485. snaptrade_client/paths/authorizations_authorization_id/get.py +285 -49
  486. snaptrade_client/paths/authorizations_authorization_id/get.pyi +285 -49
  487. snaptrade_client/paths/{model_asset_class_model_asset_class_id → authorizations_authorization_id_disable}/__init__.py +2 -2
  488. snaptrade_client/paths/authorizations_authorization_id_disable/post.py +588 -0
  489. snaptrade_client/paths/authorizations_authorization_id_disable/post.pyi +574 -0
  490. snaptrade_client/paths/authorizations_authorization_id_refresh/__init__.py +7 -0
  491. snaptrade_client/paths/authorizations_authorization_id_refresh/post.py +588 -0
  492. snaptrade_client/paths/authorizations_authorization_id_refresh/post.pyi +574 -0
  493. snaptrade_client/paths/authorizations_authorization_id_return_rates/__init__.py +7 -0
  494. snaptrade_client/paths/authorizations_authorization_id_return_rates/get.py +540 -0
  495. snaptrade_client/paths/authorizations_authorization_id_return_rates/get.pyi +528 -0
  496. snaptrade_client/paths/brokerage_authorization_types/get.py +232 -33
  497. snaptrade_client/paths/brokerage_authorization_types/get.pyi +232 -33
  498. snaptrade_client/paths/brokerages/get.py +188 -21
  499. snaptrade_client/paths/brokerages/get.pyi +188 -21
  500. snaptrade_client/paths/{snap_trade_list_user_errors → brokerages_slug_instruments}/__init__.py +2 -2
  501. snaptrade_client/paths/brokerages_slug_instruments/get.py +417 -0
  502. snaptrade_client/paths/brokerages_slug_instruments/get.pyi +406 -0
  503. snaptrade_client/paths/currencies/get.py +188 -21
  504. snaptrade_client/paths/currencies/get.pyi +188 -21
  505. snaptrade_client/paths/currencies_rates/get.py +175 -21
  506. snaptrade_client/paths/currencies_rates/get.pyi +175 -21
  507. snaptrade_client/paths/currencies_rates_currency_pair/get.py +218 -33
  508. snaptrade_client/paths/currencies_rates_currency_pair/get.pyi +218 -33
  509. snaptrade_client/paths/exchanges/get.py +175 -21
  510. snaptrade_client/paths/exchanges/get.pyi +175 -21
  511. snaptrade_client/paths/holdings/get.py +297 -55
  512. snaptrade_client/paths/holdings/get.pyi +296 -55
  513. snaptrade_client/paths/performance_custom/get.py +306 -67
  514. snaptrade_client/paths/performance_custom/get.pyi +306 -67
  515. snaptrade_client/paths/root/get.py +183 -19
  516. snaptrade_client/paths/root/get.pyi +183 -19
  517. snaptrade_client/paths/security_types/get.py +188 -21
  518. snaptrade_client/paths/security_types/get.pyi +188 -21
  519. snaptrade_client/paths/session_events/get.py +254 -43
  520. snaptrade_client/paths/session_events/get.pyi +254 -43
  521. snaptrade_client/paths/snap_trade_delete_user/delete.py +254 -47
  522. snaptrade_client/paths/snap_trade_delete_user/delete.pyi +254 -47
  523. snaptrade_client/paths/snap_trade_list_users/get.py +208 -31
  524. snaptrade_client/paths/snap_trade_list_users/get.pyi +208 -31
  525. snaptrade_client/paths/snap_trade_login/post.py +391 -93
  526. snaptrade_client/paths/snap_trade_login/post.pyi +391 -93
  527. snaptrade_client/paths/snap_trade_partners/get.py +210 -35
  528. snaptrade_client/paths/snap_trade_partners/get.pyi +210 -35
  529. snaptrade_client/paths/snap_trade_register_user/post.py +259 -55
  530. snaptrade_client/paths/snap_trade_register_user/post.pyi +259 -55
  531. snaptrade_client/paths/{snap_trade_accept_disclaimer → snap_trade_reset_user_secret}/__init__.py +2 -2
  532. snaptrade_client/paths/snap_trade_reset_user_secret/post.py +459 -0
  533. snaptrade_client/paths/snap_trade_reset_user_secret/post.pyi +446 -0
  534. snaptrade_client/paths/symbols/post.py +237 -39
  535. snaptrade_client/paths/symbols/post.pyi +237 -39
  536. snaptrade_client/paths/{trade_oco → symbols_query}/__init__.py +2 -2
  537. snaptrade_client/paths/symbols_query/get.py +441 -0
  538. snaptrade_client/paths/symbols_query/get.pyi +429 -0
  539. snaptrade_client/paths/trade_impact/post.py +403 -106
  540. snaptrade_client/paths/trade_impact/post.pyi +403 -106
  541. snaptrade_client/paths/trade_place/post.py +429 -108
  542. snaptrade_client/paths/trade_place/post.pyi +429 -108
  543. snaptrade_client/paths/trade_trade_id/post.py +358 -54
  544. snaptrade_client/paths/trade_trade_id/post.pyi +358 -54
  545. snaptrade_client/pydantic/__init__.py +0 -0
  546. snaptrade_client/request_before_hook.py +1 -0
  547. snaptrade_client/request_before_url_hook.py +26 -0
  548. snaptrade_client/rest.py +10 -3
  549. snaptrade_client/schemas.py +45 -37
  550. snaptrade_client/type/__init__.py +0 -0
  551. snaptrade_client/type/account.py +68 -0
  552. snaptrade_client/type/account_balance.py +27 -0
  553. snaptrade_client/type/account_cash_restrictions.py +19 -0
  554. snaptrade_client/type/account_holdings.py +37 -0
  555. snaptrade_client/type/account_holdings_account.py +47 -0
  556. snaptrade_client/type/account_id.py +19 -0
  557. snaptrade_client/type/account_ids.py +19 -0
  558. snaptrade_client/type/account_meta.py +19 -0
  559. snaptrade_client/type/account_order_record.py +94 -0
  560. snaptrade_client/type/account_order_record_leg.py +48 -0
  561. snaptrade_client/type/account_order_record_leg_instrument.py +39 -0
  562. snaptrade_client/type/account_order_record_status.py +19 -0
  563. snaptrade_client/type/account_order_record_status_v2.py +19 -0
  564. snaptrade_client/type/account_order_record_status_v2_nullable.py +19 -0
  565. snaptrade_client/type/account_order_record_v2.py +58 -0
  566. snaptrade_client/type/account_orders_v2_response.py +28 -0
  567. snaptrade_client/type/account_simple.py +36 -0
  568. snaptrade_client/type/account_sync_status.py +30 -0
  569. snaptrade_client/type/account_universal_activity.py +73 -0
  570. snaptrade_client/type/action.py +19 -0
  571. snaptrade_client/type/action_strict.py +19 -0
  572. snaptrade_client/type/action_strict_v2.py +19 -0
  573. snaptrade_client/type/action_strict_with_options.py +19 -0
  574. snaptrade_client/type/balance.py +34 -0
  575. snaptrade_client/type/brokerage.py +80 -0
  576. snaptrade_client/type/brokerage_auth_id.py +19 -0
  577. snaptrade_client/type/brokerage_auth_ids.py +19 -0
  578. snaptrade_client/type/brokerage_authorization.py +56 -0
  579. snaptrade_client/type/brokerage_authorization_disabled_confirmation.py +27 -0
  580. snaptrade_client/type/brokerage_authorization_meta.py +19 -0
  581. snaptrade_client/type/brokerage_authorization_refresh_confirmation.py +27 -0
  582. snaptrade_client/type/brokerage_authorization_type_read_only.py +33 -0
  583. snaptrade_client/type/brokerage_authorization_type_read_only_brokerage.py +32 -0
  584. snaptrade_client/type/brokerage_exchanges.py +19 -0
  585. snaptrade_client/type/brokerage_id.py +19 -0
  586. snaptrade_client/type/brokerage_instrument.py +38 -0
  587. snaptrade_client/type/brokerage_instruments_response.py +27 -0
  588. snaptrade_client/type/brokerage_order_id.py +19 -0
  589. snaptrade_client/type/brokerage_symbol_id.py +19 -0
  590. snaptrade_client/type/brokerage_type.py +28 -0
  591. snaptrade_client/type/cancel_order_response.py +29 -0
  592. snaptrade_client/type/cancel_order_response_raw_response.py +19 -0
  593. snaptrade_client/type/child_brokerage_order_ids.py +30 -0
  594. snaptrade_client/type/child_brokerage_order_ids_nullable.py +30 -0
  595. snaptrade_client/type/client_id.py +19 -0
  596. snaptrade_client/type/crypto_order_form.py +50 -0
  597. snaptrade_client/type/crypto_order_preview.py +27 -0
  598. snaptrade_client/type/crypto_order_preview_estimated_fee.py +29 -0
  599. snaptrade_client/type/crypto_trading_instrument.py +30 -0
  600. snaptrade_client/type/cryptocurrency_base_symbol.py +19 -0
  601. snaptrade_client/type/cryptocurrency_increment.py +19 -0
  602. snaptrade_client/type/cryptocurrency_increment_nullable.py +19 -0
  603. snaptrade_client/type/cryptocurrency_pair.py +35 -0
  604. snaptrade_client/type/cryptocurrency_pair_quote.py +35 -0
  605. snaptrade_client/type/cryptocurrency_pair_symbol.py +19 -0
  606. snaptrade_client/type/cryptocurrency_quote_symbol.py +19 -0
  607. snaptrade_client/type/cryptocurrency_symbol.py +19 -0
  608. snaptrade_client/type/currency.py +33 -0
  609. snaptrade_client/type/currency_id.py +19 -0
  610. snaptrade_client/type/currency_nullable.py +33 -0
  611. snaptrade_client/type/delete_user_response.py +33 -0
  612. snaptrade_client/type/dividend_at_date.py +33 -0
  613. snaptrade_client/type/encrypted_response.py +29 -0
  614. snaptrade_client/type/encrypted_response_encrypted_message_data.py +30 -0
  615. snaptrade_client/type/exchange.py +48 -0
  616. snaptrade_client/type/exchange_id.py +19 -0
  617. snaptrade_client/type/exchange_rate_pairs.py +31 -0
  618. snaptrade_client/type/figi_instrument.py +30 -0
  619. snaptrade_client/type/figi_instrument_nullable.py +30 -0
  620. snaptrade_client/type/holdings_status.py +30 -0
  621. snaptrade_client/type/holdings_sync_status_date.py +19 -0
  622. snaptrade_client/type/holdings_sync_status_date_nullable.py +19 -0
  623. snaptrade_client/type/id.py +19 -0
  624. snaptrade_client/type/login_redirect_uri.py +30 -0
  625. snaptrade_client/type/manual_trade.py +48 -0
  626. snaptrade_client/type/manual_trade_and_impact.py +34 -0
  627. snaptrade_client/type/manual_trade_balance.py +33 -0
  628. snaptrade_client/type/manual_trade_form.py +50 -0
  629. snaptrade_client/type/manual_trade_form_bracket.py +50 -0
  630. snaptrade_client/type/manual_trade_form_with_options.py +57 -0
  631. snaptrade_client/type/manual_trade_impact.py +39 -0
  632. snaptrade_client/type/manual_trade_replace_form.py +47 -0
  633. snaptrade_client/type/manual_trade_symbol.py +46 -0
  634. snaptrade_client/type/mleg_action_strict.py +19 -0
  635. snaptrade_client/type/mleg_instrument_type.py +19 -0
  636. snaptrade_client/type/mleg_leg.py +33 -0
  637. snaptrade_client/type/mleg_order_response.py +30 -0
  638. snaptrade_client/type/mleg_order_type_strict.py +19 -0
  639. snaptrade_client/type/mleg_price_effect_strict.py +19 -0
  640. snaptrade_client/type/mleg_price_effect_strict_nullable.py +19 -0
  641. snaptrade_client/type/mleg_trade_form.py +41 -0
  642. snaptrade_client/type/mleg_trading_instrument.py +30 -0
  643. snaptrade_client/type/model400_failed_request_response.py +28 -0
  644. snaptrade_client/type/model401_failed_request_response.py +28 -0
  645. snaptrade_client/type/model402_brokerage_auth_already_disabled_exception.py +28 -0
  646. snaptrade_client/type/model402_brokerage_auth_disabled_response.py +28 -0
  647. snaptrade_client/type/model403_failed_request_response.py +28 -0
  648. snaptrade_client/type/model403_feature_not_enabled_response.py +28 -0
  649. snaptrade_client/type/model404_failed_request_response.py +28 -0
  650. snaptrade_client/type/model425_failed_request_response.py +28 -0
  651. snaptrade_client/type/model500_unexpected_exception_response.py +30 -0
  652. snaptrade_client/type/monthly_dividends.py +30 -0
  653. snaptrade_client/type/net_contributions.py +31 -0
  654. snaptrade_client/type/net_dividend.py +31 -0
  655. snaptrade_client/type/notional_value.py +19 -0
  656. snaptrade_client/type/notional_value_nullable.py +19 -0
  657. snaptrade_client/type/option_brokerage_symbol.py +35 -0
  658. snaptrade_client/type/option_chain.py +20 -0
  659. snaptrade_client/type/option_chain_item.py +35 -0
  660. snaptrade_client/type/option_chain_item_chain_per_root.py +20 -0
  661. snaptrade_client/type/option_chain_item_chain_per_root_item.py +31 -0
  662. snaptrade_client/type/option_chain_item_chain_per_root_item_chain_per_strike_price.py +20 -0
  663. snaptrade_client/type/option_chain_item_chain_per_root_item_chain_per_strike_price_item.py +30 -0
  664. snaptrade_client/type/option_leg.py +31 -0
  665. snaptrade_client/type/option_strategy.py +36 -0
  666. snaptrade_client/type/option_strategy_legs.py +19 -0
  667. snaptrade_client/type/option_symbol_id.py +19 -0
  668. snaptrade_client/type/options_position.py +39 -0
  669. snaptrade_client/type/options_symbol.py +44 -0
  670. snaptrade_client/type/options_symbol_nullable.py +44 -0
  671. snaptrade_client/type/order_type.py +19 -0
  672. snaptrade_client/type/order_type_strict.py +19 -0
  673. snaptrade_client/type/order_updated_response.py +29 -0
  674. snaptrade_client/type/paginated_universal_activity.py +30 -0
  675. snaptrade_client/type/pagination_details.py +33 -0
  676. snaptrade_client/type/partner_data.py +62 -0
  677. snaptrade_client/type/past_value.py +31 -0
  678. snaptrade_client/type/performance_custom.py +78 -0
  679. snaptrade_client/type/performance_custom_bad_tickers.py +19 -0
  680. snaptrade_client/type/portfolio_group_id.py +19 -0
  681. snaptrade_client/type/position.py +50 -0
  682. snaptrade_client/type/position_symbol.py +47 -0
  683. snaptrade_client/type/price.py +19 -0
  684. snaptrade_client/type/rate_of_return_object.py +33 -0
  685. snaptrade_client/type/rate_of_return_response.py +28 -0
  686. snaptrade_client/type/recent_orders_response.py +28 -0
  687. snaptrade_client/type/reporting_date.py +19 -0
  688. snaptrade_client/type/reporting_frequency.py +19 -0
  689. snaptrade_client/type/security_type.py +37 -0
  690. snaptrade_client/type/security_type_id.py +19 -0
  691. snaptrade_client/type/session_event.py +40 -0
  692. snaptrade_client/type/simple_order_form.py +50 -0
  693. snaptrade_client/type/snap_trade_holdings_account.py +43 -0
  694. snaptrade_client/type/snap_trade_holdings_account_meta.py +19 -0
  695. snaptrade_client/type/snap_trade_holdings_total_value.py +30 -0
  696. snaptrade_client/type/snap_trade_login_user_request_body.py +48 -0
  697. snaptrade_client/type/snap_trade_register_user_request_body.py +27 -0
  698. snaptrade_client/type/status.py +30 -0
  699. snaptrade_client/type/stop_loss.py +28 -0
  700. snaptrade_client/type/strategy_order_record.py +52 -0
  701. snaptrade_client/type/strategy_quotes.py +39 -0
  702. snaptrade_client/type/strategy_quotes_greek.py +34 -0
  703. snaptrade_client/type/sub_period_return_rate.py +33 -0
  704. snaptrade_client/type/symbol.py +53 -0
  705. snaptrade_client/type/symbol_nullable.py +53 -0
  706. snaptrade_client/type/symbol_query.py +27 -0
  707. snaptrade_client/type/symbols_quotes.py +20 -0
  708. snaptrade_client/type/sync_status_date.py +19 -0
  709. snaptrade_client/type/sync_status_date_nullable.py +19 -0
  710. snaptrade_client/type/take_profit.py +26 -0
  711. snaptrade_client/type/time.py +19 -0
  712. snaptrade_client/type/time_in_force.py +19 -0
  713. snaptrade_client/type/time_in_force_strict.py +19 -0
  714. snaptrade_client/type/trade_id.py +19 -0
  715. snaptrade_client/type/trading_instrument.py +30 -0
  716. snaptrade_client/type/trading_session.py +19 -0
  717. snaptrade_client/type/transactions_status.py +34 -0
  718. snaptrade_client/type/underlying_symbol.py +58 -0
  719. snaptrade_client/type/units.py +19 -0
  720. snaptrade_client/type/units_nullable.py +19 -0
  721. snaptrade_client/type/universal_activity.py +76 -0
  722. snaptrade_client/type/universal_symbol.py +56 -0
  723. snaptrade_client/type/universal_symbol_id.py +19 -0
  724. snaptrade_client/type/universal_symbol_id_nullable.py +19 -0
  725. snaptrade_client/type/us_exchange.py +42 -0
  726. snaptrade_client/type/user_i_dand_secret.py +30 -0
  727. snaptrade_client/type/user_id.py +19 -0
  728. snaptrade_client/type/user_list.py +19 -0
  729. snaptrade_client/type/user_secret.py +19 -0
  730. snaptrade_client/type/validated_trade_body.py +27 -0
  731. snaptrade_client/type_util.py +23 -0
  732. {snaptrade_python_sdk-10.9.0.dist-info → snaptrade_python_sdk-11.0.152.dist-info}/LICENSE +1 -1
  733. snaptrade_python_sdk-11.0.152.dist-info/METADATA +2683 -0
  734. snaptrade_python_sdk-11.0.152.dist-info/RECORD +809 -0
  735. {snaptrade_python_sdk-10.9.0.dist-info → snaptrade_python_sdk-11.0.152.dist-info}/WHEEL +1 -1
  736. snaptrade_client/apis/paths/accounts_account_id_option_strategy.py +0 -7
  737. snaptrade_client/apis/paths/accounts_account_id_option_strategy_option_strategy_id.py +0 -7
  738. snaptrade_client/apis/paths/accounts_account_id_option_strategy_option_strategy_id_execute.py +0 -7
  739. snaptrade_client/apis/paths/model_asset_class.py +0 -9
  740. snaptrade_client/apis/paths/model_asset_class_model_asset_class_id.py +0 -11
  741. snaptrade_client/apis/paths/model_portfolio.py +0 -9
  742. snaptrade_client/apis/paths/model_portfolio_model_portfolio_id.py +0 -11
  743. snaptrade_client/apis/paths/portfolio_groups.py +0 -9
  744. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id.py +0 -11
  745. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_accounts.py +0 -7
  746. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_balances.py +0 -7
  747. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_calculatedtrades.py +0 -7
  748. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_impact.py +0 -7
  749. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_modify_trade_id.py +0 -9
  750. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_place_orders.py +0 -7
  751. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_trade_id.py +0 -7
  752. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_excludedassets.py +0 -9
  753. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_excludedassets_symbol_id.py +0 -7
  754. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_import.py +0 -7
  755. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_info.py +0 -7
  756. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_positions.py +0 -7
  757. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_settings.py +0 -9
  758. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_symbols.py +0 -7
  759. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_targets.py +0 -9
  760. snaptrade_client/apis/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id.py +0 -11
  761. snaptrade_client/apis/paths/snap_trade_accept_disclaimer.py +0 -7
  762. snaptrade_client/apis/paths/snap_trade_encrypted_jwt.py +0 -7
  763. snaptrade_client/apis/paths/snap_trade_list_user_errors.py +0 -7
  764. snaptrade_client/apis/paths/symbols_ticker.py +0 -7
  765. snaptrade_client/apis/paths/trade_oco.py +0 -7
  766. snaptrade_client/apis/tags/portfolio_management_api.py +0 -86
  767. snaptrade_client/model/cash_restriction.py +0 -138
  768. snaptrade_client/model/cash_restriction.pyi +0 -131
  769. snaptrade_client/model/model_asset_class_details.py +0 -118
  770. snaptrade_client/model/model_asset_class_details.pyi +0 -118
  771. snaptrade_client/model/model_portfolio.py +0 -121
  772. snaptrade_client/model/model_portfolio_details.py +0 -154
  773. snaptrade_client/model/model_portfolio_details.pyi +0 -154
  774. snaptrade_client/model/options_holdings.py +0 -156
  775. snaptrade_client/model/options_holdings.pyi +0 -156
  776. snaptrade_client/model/portfolio_group_info.py +0 -415
  777. snaptrade_client/model/portfolio_group_info.pyi +0 -415
  778. snaptrade_client/model/portfolio_group_settings.py +0 -125
  779. snaptrade_client/model/portfolio_group_settings.pyi +0 -125
  780. snaptrade_client/model/rsa_public_key.py +0 -25
  781. snaptrade_client/model/rsa_public_key.pyi +0 -25
  782. snaptrade_client/model/signed_content.py +0 -25
  783. snaptrade_client/model/signed_content.pyi +0 -25
  784. snaptrade_client/model/snap_trade_holdings_account_account_id.py +0 -232
  785. snaptrade_client/model/snap_trade_holdings_account_account_id.pyi +0 -232
  786. snaptrade_client/model/snap_trade_user_id.py +0 -25
  787. snaptrade_client/model/snap_trade_user_id.pyi +0 -25
  788. snaptrade_client/model/snap_trade_user_secret.py +0 -25
  789. snaptrade_client/model/snap_trade_user_secret.pyi +0 -25
  790. snaptrade_client/model/strategy_impact.py +0 -308
  791. snaptrade_client/model/strategy_impact.pyi +0 -308
  792. snaptrade_client/model/strategy_order_place.py +0 -708
  793. snaptrade_client/model/strategy_order_place.pyi +0 -708
  794. snaptrade_client/model/strategy_order_quotes.py +0 -25
  795. snaptrade_client/model/strategy_order_quotes.pyi +0 -25
  796. snaptrade_client/model/target_asset.py +0 -170
  797. snaptrade_client/model/target_asset.pyi +0 -170
  798. snaptrade_client/model/timestamp.py +0 -25
  799. snaptrade_client/model/timestamp.pyi +0 -25
  800. snaptrade_client/model/trade.py +0 -182
  801. snaptrade_client/model/trade.pyi +0 -175
  802. snaptrade_client/model/trade_execution_status.py +0 -254
  803. snaptrade_client/model/trade_execution_status.pyi +0 -237
  804. snaptrade_client/model/universal_symbol_ticker.py +0 -186
  805. snaptrade_client/model/universal_symbol_ticker.pyi +0 -186
  806. snaptrade_client/model/user_error_log.py +0 -128
  807. snaptrade_client/model/user_error_log.pyi +0 -128
  808. snaptrade_client/model/user_settings.py +0 -173
  809. snaptrade_client/model/user_settings.pyi +0 -173
  810. snaptrade_client/paths/accounts_account_id_option_strategy/post.py +0 -452
  811. snaptrade_client/paths/accounts_account_id_option_strategy/post.pyi +0 -435
  812. snaptrade_client/paths/accounts_account_id_option_strategy_option_strategy_id/get.py +0 -295
  813. snaptrade_client/paths/accounts_account_id_option_strategy_option_strategy_id/get.pyi +0 -284
  814. snaptrade_client/paths/accounts_account_id_option_strategy_option_strategy_id_execute/post.py +0 -476
  815. snaptrade_client/paths/accounts_account_id_option_strategy_option_strategy_id_execute/post.pyi +0 -449
  816. snaptrade_client/paths/model_asset_class/get.py +0 -174
  817. snaptrade_client/paths/model_asset_class/get.pyi +0 -164
  818. snaptrade_client/paths/model_asset_class/post.py +0 -149
  819. snaptrade_client/paths/model_asset_class/post.pyi +0 -139
  820. snaptrade_client/paths/model_asset_class_model_asset_class_id/delete.py +0 -180
  821. snaptrade_client/paths/model_asset_class_model_asset_class_id/delete.pyi +0 -170
  822. snaptrade_client/paths/model_asset_class_model_asset_class_id/get.py +0 -200
  823. snaptrade_client/paths/model_asset_class_model_asset_class_id/get.pyi +0 -190
  824. snaptrade_client/paths/model_asset_class_model_asset_class_id/post.py +0 -233
  825. snaptrade_client/paths/model_asset_class_model_asset_class_id/post.pyi +0 -223
  826. snaptrade_client/paths/model_portfolio/get.py +0 -174
  827. snaptrade_client/paths/model_portfolio/get.pyi +0 -164
  828. snaptrade_client/paths/model_portfolio/post.py +0 -149
  829. snaptrade_client/paths/model_portfolio/post.pyi +0 -139
  830. snaptrade_client/paths/model_portfolio_model_portfolio_id/delete.py +0 -180
  831. snaptrade_client/paths/model_portfolio_model_portfolio_id/delete.pyi +0 -170
  832. snaptrade_client/paths/model_portfolio_model_portfolio_id/get.py +0 -200
  833. snaptrade_client/paths/model_portfolio_model_portfolio_id/get.pyi +0 -190
  834. snaptrade_client/paths/model_portfolio_model_portfolio_id/post.py +0 -239
  835. snaptrade_client/paths/model_portfolio_model_portfolio_id/post.pyi +0 -229
  836. snaptrade_client/paths/portfolio_groups/get.py +0 -262
  837. snaptrade_client/paths/portfolio_groups/get.pyi +0 -251
  838. snaptrade_client/paths/portfolio_groups/post.py +0 -320
  839. snaptrade_client/paths/portfolio_groups/post.pyi +0 -308
  840. snaptrade_client/paths/portfolio_groups_portfolio_group_id/__init__.py +0 -7
  841. snaptrade_client/paths/portfolio_groups_portfolio_group_id/delete.py +0 -241
  842. snaptrade_client/paths/portfolio_groups_portfolio_group_id/delete.pyi +0 -228
  843. snaptrade_client/paths/portfolio_groups_portfolio_group_id/get.py +0 -219
  844. snaptrade_client/paths/portfolio_groups_portfolio_group_id/get.pyi +0 -208
  845. snaptrade_client/paths/portfolio_groups_portfolio_group_id/patch.py +0 -288
  846. snaptrade_client/paths/portfolio_groups_portfolio_group_id/patch.pyi +0 -275
  847. snaptrade_client/paths/portfolio_groups_portfolio_group_id_accounts/__init__.py +0 -7
  848. snaptrade_client/paths/portfolio_groups_portfolio_group_id_accounts/get.py +0 -244
  849. snaptrade_client/paths/portfolio_groups_portfolio_group_id_accounts/get.pyi +0 -233
  850. snaptrade_client/paths/portfolio_groups_portfolio_group_id_balances/__init__.py +0 -7
  851. snaptrade_client/paths/portfolio_groups_portfolio_group_id_balances/get.py +0 -266
  852. snaptrade_client/paths/portfolio_groups_portfolio_group_id_balances/get.pyi +0 -253
  853. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades/__init__.py +0 -7
  854. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades/get.py +0 -200
  855. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades/get.pyi +0 -190
  856. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_impact/__init__.py +0 -7
  857. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_impact/get.py +0 -240
  858. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_impact/get.pyi +0 -230
  859. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_modify_trade_id/__init__.py +0 -7
  860. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_modify_trade_id/get.py +0 -230
  861. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_modify_trade_id/get.pyi +0 -220
  862. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_modify_trade_id/patch.py +0 -310
  863. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_modify_trade_id/patch.pyi +0 -300
  864. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_place_orders/__init__.py +0 -7
  865. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_place_orders/post.py +0 -240
  866. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_place_orders/post.pyi +0 -230
  867. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_trade_id/__init__.py +0 -7
  868. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_trade_id/get.py +0 -255
  869. snaptrade_client/paths/portfolio_groups_portfolio_group_id_calculatedtrades_calculated_trade_id_trade_id/get.pyi +0 -245
  870. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets/__init__.py +0 -7
  871. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets/get.py +0 -244
  872. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets/get.pyi +0 -233
  873. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets/post.py +0 -281
  874. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets/post.pyi +0 -271
  875. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets_symbol_id/__init__.py +0 -7
  876. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets_symbol_id/delete.py +0 -195
  877. snaptrade_client/paths/portfolio_groups_portfolio_group_id_excludedassets_symbol_id/delete.pyi +0 -185
  878. snaptrade_client/paths/portfolio_groups_portfolio_group_id_import/__init__.py +0 -7
  879. snaptrade_client/paths/portfolio_groups_portfolio_group_id_import/post.py +0 -244
  880. snaptrade_client/paths/portfolio_groups_portfolio_group_id_import/post.pyi +0 -233
  881. snaptrade_client/paths/portfolio_groups_portfolio_group_id_info/__init__.py +0 -7
  882. snaptrade_client/paths/portfolio_groups_portfolio_group_id_info/get.py +0 -219
  883. snaptrade_client/paths/portfolio_groups_portfolio_group_id_info/get.pyi +0 -208
  884. snaptrade_client/paths/portfolio_groups_portfolio_group_id_positions/__init__.py +0 -7
  885. snaptrade_client/paths/portfolio_groups_portfolio_group_id_positions/get.py +0 -266
  886. snaptrade_client/paths/portfolio_groups_portfolio_group_id_positions/get.pyi +0 -253
  887. snaptrade_client/paths/portfolio_groups_portfolio_group_id_settings/__init__.py +0 -7
  888. snaptrade_client/paths/portfolio_groups_portfolio_group_id_settings/get.py +0 -219
  889. snaptrade_client/paths/portfolio_groups_portfolio_group_id_settings/get.pyi +0 -208
  890. snaptrade_client/paths/portfolio_groups_portfolio_group_id_settings/patch.py +0 -219
  891. snaptrade_client/paths/portfolio_groups_portfolio_group_id_settings/patch.pyi +0 -208
  892. snaptrade_client/paths/portfolio_groups_portfolio_group_id_symbols/__init__.py +0 -7
  893. snaptrade_client/paths/portfolio_groups_portfolio_group_id_symbols/post.py +0 -283
  894. snaptrade_client/paths/portfolio_groups_portfolio_group_id_symbols/post.pyi +0 -272
  895. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets/__init__.py +0 -7
  896. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets/get.py +0 -266
  897. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets/get.pyi +0 -253
  898. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets/post.py +0 -273
  899. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets/post.pyi +0 -260
  900. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id/__init__.py +0 -7
  901. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id/delete.py +0 -256
  902. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id/delete.pyi +0 -243
  903. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id/get.py +0 -234
  904. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id/get.pyi +0 -223
  905. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id/patch.py +0 -321
  906. snaptrade_client/paths/portfolio_groups_portfolio_group_id_targets_target_asset_id/patch.pyi +0 -308
  907. snaptrade_client/paths/snap_trade_accept_disclaimer/post.py +0 -319
  908. snaptrade_client/paths/snap_trade_accept_disclaimer/post.pyi +0 -308
  909. snaptrade_client/paths/snap_trade_encrypted_jwt/__init__.py +0 -7
  910. snaptrade_client/paths/snap_trade_encrypted_jwt/get.py +0 -286
  911. snaptrade_client/paths/snap_trade_encrypted_jwt/get.pyi +0 -272
  912. snaptrade_client/paths/snap_trade_list_user_errors/get.py +0 -243
  913. snaptrade_client/paths/snap_trade_list_user_errors/get.pyi +0 -233
  914. snaptrade_client/paths/symbols_ticker/__init__.py +0 -7
  915. snaptrade_client/paths/symbols_ticker/get.py +0 -282
  916. snaptrade_client/paths/symbols_ticker/get.pyi +0 -270
  917. snaptrade_client/paths/trade_oco/post.py +0 -354
  918. snaptrade_client/paths/trade_oco/post.pyi +0 -342
  919. snaptrade_python_sdk-10.9.0.dist-info/METADATA +0 -314
  920. snaptrade_python_sdk-10.9.0.dist-info/RECORD +0 -563
@@ -0,0 +1,2683 @@
1
+ Metadata-Version: 2.1
2
+ Name: snaptrade-python-sdk
3
+ Version: 11.0.152
4
+ Summary: Client for SnapTrade
5
+ License: MIT
6
+ Author: SnapTrade
7
+ Author-email: api@snaptrade.com
8
+ Requires-Python: >=3.8,<4.0
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Requires-Dist: aiohttp (>=3.10.11,<4.0.0)
16
+ Requires-Dist: certifi (>=2023.7.22)
17
+ Requires-Dist: cryptography (>=43.0.3,<44.0.0)
18
+ Requires-Dist: frozendict (>=2.3.4,<3.0.0)
19
+ Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
20
+ Requires-Dist: typing_extensions (==4.13.2)
21
+ Requires-Dist: urllib3 (>=1.26.18,<3.0.0)
22
+ Description-Content-Type: text/markdown
23
+
24
+ <div align="center">
25
+
26
+ [![Visit SnapTrade](https://raw.githubusercontent.com/passiv/snaptrade-sdks/HEAD/sdks/python/header.png)](https://snaptrade.com)
27
+
28
+ # SnapTrade<a id="snaptrade"></a>
29
+
30
+ Connect brokerage accounts to your app for live positions and trading
31
+
32
+
33
+ [![PyPI](https://img.shields.io/badge/PyPI-v11.0.152-blue)](https://pypi.org/project/snaptrade-python-sdk/11.0.152)
34
+ [![README.md](https://img.shields.io/badge/README-Click%20Here-green)](https://github.com/passiv/snaptrade-sdks/tree/master/sdks/python#readme)
35
+ [![More Info](https://img.shields.io/badge/More%20Info-Click%20Here-orange)](https://snaptrade.com/)
36
+
37
+ </div>
38
+
39
+ ## Table of Contents<a id="table-of-contents"></a>
40
+
41
+ <!-- toc -->
42
+
43
+ - [Requirements](#requirements)
44
+ - [Installation](#installation)
45
+ - [Getting Started](#getting-started)
46
+ - [Async](#async)
47
+ - [Reference](#reference)
48
+ * [`snaptrade.account_information.get_account_activities`](#snaptradeaccount_informationget_account_activities)
49
+ * [`snaptrade.account_information.get_all_user_holdings`](#snaptradeaccount_informationget_all_user_holdings)
50
+ * [`snaptrade.account_information.get_user_account_balance`](#snaptradeaccount_informationget_user_account_balance)
51
+ * [`snaptrade.account_information.get_user_account_details`](#snaptradeaccount_informationget_user_account_details)
52
+ * [`snaptrade.account_information.get_user_account_order_detail`](#snaptradeaccount_informationget_user_account_order_detail)
53
+ * [`snaptrade.account_information.get_user_account_orders`](#snaptradeaccount_informationget_user_account_orders)
54
+ * [`snaptrade.account_information.get_user_account_positions`](#snaptradeaccount_informationget_user_account_positions)
55
+ * [`snaptrade.account_information.get_user_account_recent_orders`](#snaptradeaccount_informationget_user_account_recent_orders)
56
+ * [`snaptrade.account_information.get_user_account_return_rates`](#snaptradeaccount_informationget_user_account_return_rates)
57
+ * [`snaptrade.account_information.get_user_holdings`](#snaptradeaccount_informationget_user_holdings)
58
+ * [`snaptrade.account_information.list_user_accounts`](#snaptradeaccount_informationlist_user_accounts)
59
+ * [`snaptrade.account_information.update_user_account`](#snaptradeaccount_informationupdate_user_account)
60
+ * [`snaptrade.api_status.check`](#snaptradeapi_statuscheck)
61
+ * [`snaptrade.authentication.delete_snap_trade_user`](#snaptradeauthenticationdelete_snap_trade_user)
62
+ * [`snaptrade.authentication.list_snap_trade_users`](#snaptradeauthenticationlist_snap_trade_users)
63
+ * [`snaptrade.authentication.login_snap_trade_user`](#snaptradeauthenticationlogin_snap_trade_user)
64
+ * [`snaptrade.authentication.register_snap_trade_user`](#snaptradeauthenticationregister_snap_trade_user)
65
+ * [`snaptrade.authentication.reset_snap_trade_user_secret`](#snaptradeauthenticationreset_snap_trade_user_secret)
66
+ * [`snaptrade.connections.detail_brokerage_authorization`](#snaptradeconnectionsdetail_brokerage_authorization)
67
+ * [`snaptrade.connections.disable_brokerage_authorization`](#snaptradeconnectionsdisable_brokerage_authorization)
68
+ * [`snaptrade.connections.list_brokerage_authorizations`](#snaptradeconnectionslist_brokerage_authorizations)
69
+ * [`snaptrade.connections.refresh_brokerage_authorization`](#snaptradeconnectionsrefresh_brokerage_authorization)
70
+ * [`snaptrade.connections.remove_brokerage_authorization`](#snaptradeconnectionsremove_brokerage_authorization)
71
+ * [`snaptrade.connections.return_rates`](#snaptradeconnectionsreturn_rates)
72
+ * [`snaptrade.connections.session_events`](#snaptradeconnectionssession_events)
73
+ * [`snaptrade.experimental_endpoints.get_user_account_orders_v2`](#snaptradeexperimental_endpointsget_user_account_orders_v2)
74
+ * [`snaptrade.experimental_endpoints.get_user_account_recent_orders_v2`](#snaptradeexperimental_endpointsget_user_account_recent_orders_v2)
75
+ * [`snaptrade.options.get_options_chain`](#snaptradeoptionsget_options_chain)
76
+ * [`snaptrade.options.list_option_holdings`](#snaptradeoptionslist_option_holdings)
77
+ * [`snaptrade.reference_data.get_currency_exchange_rate_pair`](#snaptradereference_dataget_currency_exchange_rate_pair)
78
+ * [`snaptrade.reference_data.get_partner_info`](#snaptradereference_dataget_partner_info)
79
+ * [`snaptrade.reference_data.get_security_types`](#snaptradereference_dataget_security_types)
80
+ * [`snaptrade.reference_data.get_stock_exchanges`](#snaptradereference_dataget_stock_exchanges)
81
+ * [`snaptrade.reference_data.get_symbols`](#snaptradereference_dataget_symbols)
82
+ * [`snaptrade.reference_data.get_symbols_by_ticker`](#snaptradereference_dataget_symbols_by_ticker)
83
+ * [`snaptrade.reference_data.list_all_brokerage_authorization_type`](#snaptradereference_datalist_all_brokerage_authorization_type)
84
+ * [`snaptrade.reference_data.list_all_brokerage_instruments`](#snaptradereference_datalist_all_brokerage_instruments)
85
+ * [`snaptrade.reference_data.list_all_brokerages`](#snaptradereference_datalist_all_brokerages)
86
+ * [`snaptrade.reference_data.list_all_currencies`](#snaptradereference_datalist_all_currencies)
87
+ * [`snaptrade.reference_data.list_all_currencies_rates`](#snaptradereference_datalist_all_currencies_rates)
88
+ * [`snaptrade.reference_data.symbol_search_user_account`](#snaptradereference_datasymbol_search_user_account)
89
+ * [`snaptrade.trading.cancel_order`](#snaptradetradingcancel_order)
90
+ * [`snaptrade.trading.cancel_user_account_order`](#snaptradetradingcancel_user_account_order)
91
+ * [`snaptrade.trading.get_cryptocurrency_pair_quote`](#snaptradetradingget_cryptocurrency_pair_quote)
92
+ * [`snaptrade.trading.get_order_impact`](#snaptradetradingget_order_impact)
93
+ * [`snaptrade.trading.get_user_account_quotes`](#snaptradetradingget_user_account_quotes)
94
+ * [`snaptrade.trading.place_bracket_order`](#snaptradetradingplace_bracket_order)
95
+ * [`snaptrade.trading.place_crypto_order`](#snaptradetradingplace_crypto_order)
96
+ * [`snaptrade.trading.place_force_order`](#snaptradetradingplace_force_order)
97
+ * [`snaptrade.trading.place_mleg_order`](#snaptradetradingplace_mleg_order)
98
+ * [`snaptrade.trading.place_order`](#snaptradetradingplace_order)
99
+ * [`snaptrade.trading.preview_crypto_order`](#snaptradetradingpreview_crypto_order)
100
+ * [`snaptrade.trading.replace_order`](#snaptradetradingreplace_order)
101
+ * [`snaptrade.trading.search_cryptocurrency_pair_instruments`](#snaptradetradingsearch_cryptocurrency_pair_instruments)
102
+ * [`snaptrade.transactions_and_reporting.get_activities`](#snaptradetransactions_and_reportingget_activities)
103
+ * [`snaptrade.transactions_and_reporting.get_reporting_custom_range`](#snaptradetransactions_and_reportingget_reporting_custom_range)
104
+
105
+ <!-- tocstop -->
106
+
107
+ ## Requirements<a id="requirements"></a>
108
+
109
+ Python >=3.8
110
+
111
+ ## Installation<a id="installation"></a>
112
+
113
+ ```sh
114
+ pip install snaptrade-python-sdk==11.0.152
115
+ ```
116
+
117
+ ## Getting Started<a id="getting-started"></a>
118
+
119
+ ```python
120
+ import os
121
+ import uuid
122
+ from pprint import pprint
123
+ from snaptrade_client import SnapTrade
124
+
125
+ # 1) Initialize a client with your clientID and consumerKey.
126
+ snaptrade = SnapTrade(
127
+ consumer_key=os.environ["SNAPTRADE_CONSUMER_KEY"],
128
+ client_id=os.environ["SNAPTRADE_CLIENT_ID"],
129
+ )
130
+
131
+ # 2) Check that the client is able to make a request to the API server.
132
+ api_response = snaptrade.api_status.check()
133
+ pprint(api_response.body)
134
+
135
+ # 3) Create a new user on SnapTrade
136
+ user_id = str(uuid.uuid4())
137
+ register_response = snaptrade.authentication.register_snap_trade_user(
138
+ body={"userId": user_id}
139
+ )
140
+ pprint(register_response.body)
141
+
142
+ # Note: A user secret is only generated once. It's required to access
143
+ # resources for certain endpoints.
144
+ user_secret = register_response.body["userSecret"]
145
+
146
+ # 4) Get a redirect URI. Users will need this to connect
147
+ # their brokerage to the SnapTrade server.
148
+ redirect_uri = snaptrade.authentication.login_snap_trade_user(
149
+ query_params={"userId": user_id, "userSecret": user_secret}
150
+ )
151
+ print(redirect_uri.body)
152
+
153
+ # 5) Obtaining account holdings data
154
+ holdings = snaptrade.account_information.get_all_user_holdings(
155
+ query_params={"userId": user_id, "userSecret": user_secret}
156
+ )
157
+ pprint(holdings.body)
158
+
159
+ # 6) Deleting a user
160
+ deleted_response = snaptrade.authentication.delete_snap_trade_user(
161
+ query_params={"userId": user_id}
162
+ )
163
+ pprint(deleted_response.body)
164
+ ```
165
+
166
+ ## Async<a id="async"></a>
167
+
168
+ `async` support is available by prepending `a` to any method.
169
+
170
+ ```python
171
+ import asyncio
172
+ from pprint import pprint
173
+ from snaptrade_client import SnapTrade, ApiException
174
+
175
+ snaptrade = SnapTrade(
176
+ consumer_key="YOUR_CONSUMER_KEY",
177
+ client_id="YOUR_CLIENT_ID",
178
+ )
179
+
180
+
181
+ async def main():
182
+ try:
183
+ # List account activities
184
+ get_account_activities_response = (
185
+ await snaptrade.account_information.aget_account_activities(
186
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
187
+ user_id="snaptrade-user-123",
188
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
189
+ start_date="2022-01-24",
190
+ end_date="2022-01-24",
191
+ offset=0,
192
+ limit=1,
193
+ type="BUY,SELL,DIVIDEND",
194
+ )
195
+ )
196
+ pprint(get_account_activities_response.body)
197
+ pprint(get_account_activities_response.body["data"])
198
+ pprint(get_account_activities_response.body["pagination"])
199
+ pprint(get_account_activities_response.headers)
200
+ pprint(get_account_activities_response.status)
201
+ pprint(get_account_activities_response.round_trip_time)
202
+ except ApiException as e:
203
+ print(
204
+ "Exception when calling AccountInformationApi.get_account_activities: %s\n"
205
+ % e
206
+ )
207
+ pprint(e.body)
208
+ pprint(e.headers)
209
+ pprint(e.status)
210
+ pprint(e.reason)
211
+ pprint(e.round_trip_time)
212
+
213
+
214
+ asyncio.run(main())
215
+ ```
216
+
217
+
218
+ ## Reference<a id="reference"></a>
219
+ ### `snaptrade.account_information.get_account_activities`<a id="snaptradeaccount_informationget_account_activities"></a>
220
+
221
+ Returns all historical transactions for the specified account.
222
+
223
+ This endpoint is paginated with a default page size of 1000. The endpoint will return a maximum of 1000 transactions per request. See the query parameters for pagination options.
224
+
225
+ Transaction are returned in reverse chronological order, using the `trade_date` field.
226
+
227
+ The data returned here is always cached and refreshed once a day.
228
+
229
+ If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see [this guide](/docs/fix-broken-connections) on how to fix a disabled connection.
230
+
231
+
232
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
233
+
234
+ ```python
235
+ get_account_activities_response = snaptrade.account_information.get_account_activities(
236
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
237
+ user_id="snaptrade-user-123",
238
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
239
+ start_date="2022-01-24",
240
+ end_date="2022-01-24",
241
+ offset=0,
242
+ limit=1,
243
+ type="BUY,SELL,DIVIDEND",
244
+ )
245
+ ```
246
+
247
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
248
+
249
+ ##### account_id: `str`<a id="account_id-str"></a>
250
+
251
+ ##### user_id: `str`<a id="user_id-str"></a>
252
+
253
+ ##### user_secret: `str`<a id="user_secret-str"></a>
254
+
255
+ ##### start_date: `date`<a id="start_date-date"></a>
256
+
257
+ The start date (inclusive) of the transaction history to retrieve. If not provided, the default is the first transaction known to SnapTrade based on `trade_date`.
258
+
259
+ ##### end_date: `date`<a id="end_date-date"></a>
260
+
261
+ The end date (inclusive) of the transaction history to retrieve. If not provided, the default is the last transaction known to SnapTrade based on `trade_date`.
262
+
263
+ ##### offset: `int`<a id="offset-int"></a>
264
+
265
+ An integer that specifies the starting point of the paginated results. Default is 0.
266
+
267
+ ##### limit: `int`<a id="limit-int"></a>
268
+
269
+ An integer that specifies the maximum number of transactions to return. Default of 1000.
270
+
271
+ ##### type: `str`<a id="type-str"></a>
272
+
273
+ Optional comma separated list of transaction types to filter by. SnapTrade does a best effort to categorize brokerage transaction types into a common set of values. Here are some of the most popular values: - `BUY` - Asset bought. - `SELL` - Asset sold. - `DIVIDEND` - Dividend payout. - `CONTRIBUTION` - Cash contribution. - `WITHDRAWAL` - Cash withdrawal. - `REI` - Dividend reinvestment. - `STOCK_DIVIDEND` - A type of dividend where a company distributes shares instead of cash - `INTEREST` - Interest deposited into the account. - `FEE` - Fee withdrawn from the account. - `TAX`` - A tax related fee. - `OPTIONEXPIRATION` - Option expiration event. - `OPTIONASSIGNMENT` - Option assignment event. - `OPTIONEXERCISE` - Option exercise event. - `TRANSFER` - Transfer of assets from one account to another. - `SPLIT` - A stock share split.
274
+
275
+ #### 🔄 Return<a id="🔄-return"></a>
276
+
277
+ [`PaginatedUniversalActivity`](./snaptrade_client/type/paginated_universal_activity.py)
278
+
279
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
280
+
281
+ `/accounts/{accountId}/activities` `get`
282
+
283
+ [🔙 **Back to Table of Contents**](#table-of-contents)
284
+
285
+ ---
286
+
287
+ ### `snaptrade.account_information.get_all_user_holdings`<a id="snaptradeaccount_informationget_all_user_holdings"></a>
288
+ ![Deprecated](https://img.shields.io/badge/deprecated-yellow)
289
+
290
+ **Deprecated, please use the account-specific holdings endpoint instead.**
291
+
292
+ List all accounts for the user, plus balances, positions, and orders for each
293
+ account.
294
+
295
+
296
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
297
+
298
+ ```python
299
+ get_all_user_holdings_response = snaptrade.account_information.get_all_user_holdings(
300
+ user_id="snaptrade-user-123",
301
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
302
+ brokerage_authorizations="917c8734-8470-4a3e-a18f-57c3f2ee6631",
303
+ )
304
+ ```
305
+
306
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
307
+
308
+ ##### user_id: `str`<a id="user_id-str"></a>
309
+
310
+ ##### user_secret: `str`<a id="user_secret-str"></a>
311
+
312
+ ##### brokerage_authorizations: `str`<a id="brokerage_authorizations-str"></a>
313
+
314
+ Optional. Comma separated list of authorization IDs (only use if filtering is needed on one or more authorizations).
315
+
316
+ #### 🔄 Return<a id="🔄-return"></a>
317
+
318
+ [`AccountHoldings`](./snaptrade_client/type/account_holdings.py)
319
+
320
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
321
+
322
+ `/holdings` `get`
323
+
324
+ [🔙 **Back to Table of Contents**](#table-of-contents)
325
+
326
+ ---
327
+
328
+ ### `snaptrade.account_information.get_user_account_balance`<a id="snaptradeaccount_informationget_user_account_balance"></a>
329
+
330
+ Returns a list of balances for the account. Each element of the list has a distinct currency. Some brokerages like Questrade [allows holding multiple currencies in the same account](https://www.questrade.com/learning/questrade-basics/balances-and-reports/understanding-your-account-balances).
331
+
332
+ Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
333
+ - If you do, this endpoint returns real-time data.
334
+ - If you don't, the data is cached and refreshed once a day. How long the data is cached for varies by brokerage. Check the [brokerage integrations doc](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=d16c4c97b8d5438bbb2d8581ac53b11e) and look for "Cache Expiry Time" to see the exact value for a specific brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
335
+
336
+ If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see [this guide](/docs/fix-broken-connections) on how to fix a disabled connection.
337
+
338
+
339
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
340
+
341
+ ```python
342
+ get_user_account_balance_response = (
343
+ snaptrade.account_information.get_user_account_balance(
344
+ user_id="snaptrade-user-123",
345
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
346
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
347
+ )
348
+ )
349
+ ```
350
+
351
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
352
+
353
+ ##### user_id: `str`<a id="user_id-str"></a>
354
+
355
+ ##### user_secret: `str`<a id="user_secret-str"></a>
356
+
357
+ ##### account_id: `str`<a id="account_id-str"></a>
358
+
359
+ #### 🔄 Return<a id="🔄-return"></a>
360
+
361
+ [`Balance`](./snaptrade_client/type/balance.py)
362
+
363
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
364
+
365
+ `/accounts/{accountId}/balances` `get`
366
+
367
+ [🔙 **Back to Table of Contents**](#table-of-contents)
368
+
369
+ ---
370
+
371
+ ### `snaptrade.account_information.get_user_account_details`<a id="snaptradeaccount_informationget_user_account_details"></a>
372
+
373
+ Returns account detail known to SnapTrade for the specified account.
374
+
375
+ Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
376
+ - If you do, this endpoint returns real-time data.
377
+ - If you don't, the data is cached and refreshed once a day. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
378
+
379
+ If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see [this guide](/docs/fix-broken-connections) on how to fix a disabled connection.
380
+
381
+
382
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
383
+
384
+ ```python
385
+ get_user_account_details_response = (
386
+ snaptrade.account_information.get_user_account_details(
387
+ user_id="snaptrade-user-123",
388
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
389
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
390
+ )
391
+ )
392
+ ```
393
+
394
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
395
+
396
+ ##### user_id: `str`<a id="user_id-str"></a>
397
+
398
+ ##### user_secret: `str`<a id="user_secret-str"></a>
399
+
400
+ ##### account_id: `str`<a id="account_id-str"></a>
401
+
402
+ #### 🔄 Return<a id="🔄-return"></a>
403
+
404
+ [`Account`](./snaptrade_client/type/account.py)
405
+
406
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
407
+
408
+ `/accounts/{accountId}` `get`
409
+
410
+ [🔙 **Back to Table of Contents**](#table-of-contents)
411
+
412
+ ---
413
+
414
+ ### `snaptrade.account_information.get_user_account_order_detail`<a id="snaptradeaccount_informationget_user_account_order_detail"></a>
415
+
416
+ Returns the detail of a single order using the external order ID provided in the request body.
417
+
418
+ This endpoint only works for single-leg orders at this time. Support for multi-leg orders will be added in the future.
419
+
420
+ This endpoint is always realtime and does not rely on cached data.
421
+
422
+ This endpoint only returns orders placed through SnapTrade. In other words, orders placed outside of the SnapTrade network are not returned by this endpoint.
423
+
424
+
425
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
426
+
427
+ ```python
428
+ get_user_account_order_detail_response = (
429
+ snaptrade.account_information.get_user_account_order_detail(
430
+ brokerage_order_id="66a033fa-da74-4fcf-b527-feefdec9257e",
431
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
432
+ user_id="snaptrade-user-123",
433
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
434
+ )
435
+ )
436
+ ```
437
+
438
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
439
+
440
+ ##### brokerage_order_id: `str`<a id="brokerage_order_id-str"></a>
441
+
442
+ Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
443
+
444
+ ##### account_id: `str`<a id="account_id-str"></a>
445
+
446
+ ##### user_id: `str`<a id="user_id-str"></a>
447
+
448
+ ##### user_secret: `str`<a id="user_secret-str"></a>
449
+
450
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
451
+
452
+ [`Any`](./snaptrade_client/type/typing_any.py)
453
+ #### 🔄 Return<a id="🔄-return"></a>
454
+
455
+ [`AccountOrderRecord`](./snaptrade_client/type/account_order_record.py)
456
+
457
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
458
+
459
+ `/accounts/{accountId}/orders/details` `post`
460
+
461
+ [🔙 **Back to Table of Contents**](#table-of-contents)
462
+
463
+ ---
464
+
465
+ ### `snaptrade.account_information.get_user_account_orders`<a id="snaptradeaccount_informationget_user_account_orders"></a>
466
+
467
+ Returns a list of recent orders in the specified account.
468
+
469
+ Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
470
+ - If you do, this endpoint returns real-time data.
471
+ - If you don't, the data is cached and refreshed once a day. How long the data is cached for varies by brokerage. Check the [brokerage integrations doc](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=d16c4c97b8d5438bbb2d8581ac53b11e) and look for "Cache Expiry Time" to see the exact value for a specific brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
472
+
473
+ If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see [this guide](/docs/fix-broken-connections) on how to fix a disabled connection.
474
+
475
+
476
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
477
+
478
+ ```python
479
+ get_user_account_orders_response = (
480
+ snaptrade.account_information.get_user_account_orders(
481
+ user_id="snaptrade-user-123",
482
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
483
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
484
+ state="all",
485
+ days=30,
486
+ )
487
+ )
488
+ ```
489
+
490
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
491
+
492
+ ##### user_id: `str`<a id="user_id-str"></a>
493
+
494
+ ##### user_secret: `str`<a id="user_secret-str"></a>
495
+
496
+ ##### account_id: `str`<a id="account_id-str"></a>
497
+
498
+ ##### state: `str`<a id="state-str"></a>
499
+
500
+ defaults value is set to \"all\"
501
+
502
+ ##### days: `int`<a id="days-int"></a>
503
+
504
+ Number of days in the past to fetch the most recent orders. Defaults to the last 30 days if no value is passed in.
505
+
506
+ #### 🔄 Return<a id="🔄-return"></a>
507
+
508
+ [`AccountOrderRecord`](./snaptrade_client/type/account_order_record.py)
509
+
510
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
511
+
512
+ `/accounts/{accountId}/orders` `get`
513
+
514
+ [🔙 **Back to Table of Contents**](#table-of-contents)
515
+
516
+ ---
517
+
518
+ ### `snaptrade.account_information.get_user_account_positions`<a id="snaptradeaccount_informationget_user_account_positions"></a>
519
+
520
+ Returns a list of stock/ETF/crypto/mutual fund positions in the specified account. For option positions, please use the [options endpoint](/reference/Options/Options_listOptionHoldings).
521
+
522
+ Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
523
+ - If you do, this endpoint returns real-time data.
524
+ - If you don't, the data is cached and refreshed once a day. How long the data is cached for varies by brokerage. Check the [brokerage integrations doc](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=d16c4c97b8d5438bbb2d8581ac53b11e) and look for "Cache Expiry Time" to see the exact value for a specific brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
525
+
526
+ If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see [this guide](/docs/fix-broken-connections) on how to fix a disabled connection.
527
+
528
+
529
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
530
+
531
+ ```python
532
+ get_user_account_positions_response = (
533
+ snaptrade.account_information.get_user_account_positions(
534
+ user_id="snaptrade-user-123",
535
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
536
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
537
+ )
538
+ )
539
+ ```
540
+
541
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
542
+
543
+ ##### user_id: `str`<a id="user_id-str"></a>
544
+
545
+ ##### user_secret: `str`<a id="user_secret-str"></a>
546
+
547
+ ##### account_id: `str`<a id="account_id-str"></a>
548
+
549
+ #### 🔄 Return<a id="🔄-return"></a>
550
+
551
+ [`Position`](./snaptrade_client/type/position.py)
552
+
553
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
554
+
555
+ `/accounts/{accountId}/positions` `get`
556
+
557
+ [🔙 **Back to Table of Contents**](#table-of-contents)
558
+
559
+ ---
560
+
561
+ ### `snaptrade.account_information.get_user_account_recent_orders`<a id="snaptradeaccount_informationget_user_account_recent_orders"></a>
562
+
563
+ A lightweight endpoint that returns a list of orders executed in the last 24 hours in the specified account.
564
+ This endpoint is realtime and can be used to quickly check if account state has recently changed due to an execution, or check status of recently placed orders
565
+ Differs from /orders in that it is realtime, and only checks the last 24 hours as opposed to the last 30 days
566
+ By default only returns executed orders, but that can be changed by setting *only_executed* to false
567
+ **Because of the cost of realtime requests, each call to this endpoint incurs an additional charge. You can find the exact cost for your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing)**
568
+
569
+
570
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
571
+
572
+ ```python
573
+ get_user_account_recent_orders_response = (
574
+ snaptrade.account_information.get_user_account_recent_orders(
575
+ user_id="snaptrade-user-123",
576
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
577
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
578
+ only_executed=True,
579
+ )
580
+ )
581
+ ```
582
+
583
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
584
+
585
+ ##### user_id: `str`<a id="user_id-str"></a>
586
+
587
+ ##### user_secret: `str`<a id="user_secret-str"></a>
588
+
589
+ ##### account_id: `str`<a id="account_id-str"></a>
590
+
591
+ ##### only_executed: `bool`<a id="only_executed-bool"></a>
592
+
593
+ Defaults to true. Indicates if request should fetch only executed orders. Set to false to retrieve non executed orders as well
594
+
595
+ #### 🔄 Return<a id="🔄-return"></a>
596
+
597
+ [`RecentOrdersResponse`](./snaptrade_client/type/recent_orders_response.py)
598
+
599
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
600
+
601
+ `/accounts/{accountId}/recentOrders` `get`
602
+
603
+ [🔙 **Back to Table of Contents**](#table-of-contents)
604
+
605
+ ---
606
+
607
+ ### `snaptrade.account_information.get_user_account_return_rates`<a id="snaptradeaccount_informationget_user_account_return_rates"></a>
608
+
609
+ Returns a list of rate of return percents for a given account. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
610
+
611
+
612
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
613
+
614
+ ```python
615
+ get_user_account_return_rates_response = (
616
+ snaptrade.account_information.get_user_account_return_rates(
617
+ user_id="snaptrade-user-123",
618
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
619
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
620
+ )
621
+ )
622
+ ```
623
+
624
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
625
+
626
+ ##### user_id: `str`<a id="user_id-str"></a>
627
+
628
+ ##### user_secret: `str`<a id="user_secret-str"></a>
629
+
630
+ ##### account_id: `str`<a id="account_id-str"></a>
631
+
632
+ #### 🔄 Return<a id="🔄-return"></a>
633
+
634
+ [`RateOfReturnResponse`](./snaptrade_client/type/rate_of_return_response.py)
635
+
636
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
637
+
638
+ `/accounts/{accountId}/returnRates` `get`
639
+
640
+ [🔙 **Back to Table of Contents**](#table-of-contents)
641
+
642
+ ---
643
+
644
+ ### `snaptrade.account_information.get_user_holdings`<a id="snaptradeaccount_informationget_user_holdings"></a>
645
+
646
+ Returns a list of balances, positions, and recent orders for the specified account. The data returned is similar to the data returned over the more fine-grained [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getUserAccountPositions) and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders) endpoints. __The finer-grained APIs are preferred. They are easier to work with, faster, and have better error handling than this coarse-grained API.__
647
+
648
+ Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
649
+ - If you do, this endpoint returns real-time data.
650
+ - If you don't, the data is cached and refreshed once a day. How long the data is cached for varies by brokerage. Check the [brokerage integrations doc](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=d16c4c97b8d5438bbb2d8581ac53b11e) and look for "Cache Expiry Time" to see the exact value for a specific brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
651
+
652
+ If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see [this guide](/docs/fix-broken-connections) on how to fix a disabled connection.
653
+
654
+
655
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
656
+
657
+ ```python
658
+ get_user_holdings_response = snaptrade.account_information.get_user_holdings(
659
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
660
+ user_id="snaptrade-user-123",
661
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
662
+ )
663
+ ```
664
+
665
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
666
+
667
+ ##### account_id: `str`<a id="account_id-str"></a>
668
+
669
+ ##### user_id: `str`<a id="user_id-str"></a>
670
+
671
+ ##### user_secret: `str`<a id="user_secret-str"></a>
672
+
673
+ #### 🔄 Return<a id="🔄-return"></a>
674
+
675
+ [`AccountHoldingsAccount`](./snaptrade_client/type/account_holdings_account.py)
676
+
677
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
678
+
679
+ `/accounts/{accountId}/holdings` `get`
680
+
681
+ [🔙 **Back to Table of Contents**](#table-of-contents)
682
+
683
+ ---
684
+
685
+ ### `snaptrade.account_information.list_user_accounts`<a id="snaptradeaccount_informationlist_user_accounts"></a>
686
+
687
+ Returns all brokerage accounts across all connections known to SnapTrade for the authenticated user.
688
+
689
+ Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
690
+ - If you do, this endpoint returns real-time data.
691
+ - If you don't, the data is cached and refreshed once a day. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
692
+
693
+
694
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
695
+
696
+ ```python
697
+ list_user_accounts_response = snaptrade.account_information.list_user_accounts(
698
+ user_id="snaptrade-user-123",
699
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
700
+ )
701
+ ```
702
+
703
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
704
+
705
+ ##### user_id: `str`<a id="user_id-str"></a>
706
+
707
+ ##### user_secret: `str`<a id="user_secret-str"></a>
708
+
709
+ #### 🔄 Return<a id="🔄-return"></a>
710
+
711
+ [`Account`](./snaptrade_client/type/account.py)
712
+
713
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
714
+
715
+ `/accounts` `get`
716
+
717
+ [🔙 **Back to Table of Contents**](#table-of-contents)
718
+
719
+ ---
720
+
721
+ ### `snaptrade.account_information.update_user_account`<a id="snaptradeaccount_informationupdate_user_account"></a>
722
+
723
+ Updates various properties of a specified account.
724
+
725
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
726
+
727
+ ```python
728
+ update_user_account_response = snaptrade.account_information.update_user_account(
729
+ user_id="snaptrade-user-123",
730
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
731
+ account_id="accountId_example",
732
+ )
733
+ ```
734
+
735
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
736
+
737
+ ##### user_id: `str`<a id="user_id-str"></a>
738
+
739
+ ##### user_secret: `str`<a id="user_secret-str"></a>
740
+
741
+ ##### account_id: `str`<a id="account_id-str"></a>
742
+
743
+ The ID of the account to update.
744
+
745
+ #### 🔄 Return<a id="🔄-return"></a>
746
+
747
+ [`Account`](./snaptrade_client/type/account.py)
748
+
749
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
750
+
751
+ `/accounts/{accountId}` `put`
752
+
753
+ [🔙 **Back to Table of Contents**](#table-of-contents)
754
+
755
+ ---
756
+
757
+ ### `snaptrade.api_status.check`<a id="snaptradeapi_statuscheck"></a>
758
+
759
+ Check whether the API is operational and verify timestamps.
760
+
761
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
762
+
763
+ ```python
764
+ check_response = snaptrade.api_status.check()
765
+ ```
766
+
767
+ #### 🔄 Return<a id="🔄-return"></a>
768
+
769
+ [`Status`](./snaptrade_client/type/status.py)
770
+
771
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
772
+
773
+ `/` `get`
774
+
775
+ [🔙 **Back to Table of Contents**](#table-of-contents)
776
+
777
+ ---
778
+
779
+ ### `snaptrade.authentication.delete_snap_trade_user`<a id="snaptradeauthenticationdelete_snap_trade_user"></a>
780
+
781
+ Deletes a registered user and all associated data. This action is irreversible. This API is asynchronous and will return a 200 status code if the request is accepted. The user and all associated data will be queued for deletion. Once deleted, a `USER_DELETED` webhook will be sent.
782
+
783
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
784
+
785
+ ```python
786
+ delete_snap_trade_user_response = snaptrade.authentication.delete_snap_trade_user(
787
+ user_id="snaptrade-user-123",
788
+ )
789
+ ```
790
+
791
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
792
+
793
+ ##### user_id: `str`<a id="user_id-str"></a>
794
+
795
+ #### 🔄 Return<a id="🔄-return"></a>
796
+
797
+ [`DeleteUserResponse`](./snaptrade_client/type/delete_user_response.py)
798
+
799
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
800
+
801
+ `/snapTrade/deleteUser` `delete`
802
+
803
+ [🔙 **Back to Table of Contents**](#table-of-contents)
804
+
805
+ ---
806
+
807
+ ### `snaptrade.authentication.list_snap_trade_users`<a id="snaptradeauthenticationlist_snap_trade_users"></a>
808
+
809
+ Returns a list of all registered user IDs. Please note that the response is not currently paginated.
810
+
811
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
812
+
813
+ ```python
814
+ list_snap_trade_users_response = snaptrade.authentication.list_snap_trade_users()
815
+ ```
816
+
817
+ #### 🔄 Return<a id="🔄-return"></a>
818
+
819
+ [`UserList`](./snaptrade_client/type/user_list.py)
820
+
821
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
822
+
823
+ `/snapTrade/listUsers` `get`
824
+
825
+ [🔙 **Back to Table of Contents**](#table-of-contents)
826
+
827
+ ---
828
+
829
+ ### `snaptrade.authentication.login_snap_trade_user`<a id="snaptradeauthenticationlogin_snap_trade_user"></a>
830
+
831
+ Authenticates a SnapTrade user and returns the Connection Portal URL used for connecting brokerage accounts. Please check [this guide](/docs/implement-connection-portal) for how to integrate the Connection Portal into your app.
832
+
833
+ Please note that the returned URL expires in 5 minutes.
834
+
835
+
836
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
837
+
838
+ ```python
839
+ login_snap_trade_user_response = snaptrade.authentication.login_snap_trade_user(
840
+ user_id="snaptrade-user-123",
841
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
842
+ broker="ALPACA",
843
+ immediate_redirect=True,
844
+ custom_redirect="https://snaptrade.com",
845
+ reconnect="8b5f262d-4bb9-365d-888a-202bd3b15fa1",
846
+ connection_type="read",
847
+ show_close_button=True,
848
+ dark_mode=True,
849
+ connection_portal_version="v4",
850
+ )
851
+ ```
852
+
853
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
854
+
855
+ ##### user_id: `str`<a id="user_id-str"></a>
856
+
857
+ ##### user_secret: `str`<a id="user_secret-str"></a>
858
+
859
+ ##### broker: `str`<a id="broker-str"></a>
860
+
861
+ Slug of the brokerage to connect the user to. See [the integrations page](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=3cfea70ef4254afc89704e47275a7a9a&pvs=4) for a list of supported brokerages and their slugs.
862
+
863
+ ##### immediate_redirect: `bool`<a id="immediate_redirect-bool"></a>
864
+
865
+ When set to `true`, user will be redirected back to the partner's site instead of the connection portal. This parameter is ignored if the connection portal is loaded inside an iframe. See the [guide on ways to integrate the connection portal](/docs/implement-connection-portal) for more information.
866
+
867
+ ##### custom_redirect: `str`<a id="custom_redirect-str"></a>
868
+
869
+ URL to redirect the user to after the user connects their brokerage account. This parameter is ignored if the connection portal is loaded inside an iframe. See the [guide on ways to integrate the connection portal](/docs/implement-connection-portal) for more information.
870
+
871
+ ##### reconnect: `str`<a id="reconnect-str"></a>
872
+
873
+ The UUID of the brokerage connection to be reconnected. This parameter should be left empty unless you are reconnecting a disabled connection. See the [guide on fixing broken connections](/docs/fix-broken-connections) for more information.
874
+
875
+ ##### connection_type: `str`<a id="connection_type-str"></a>
876
+
877
+ Determines connection permissions (default: read) - `read`: Data access only. - `trade`: Data and trading access. - `trade-if-available`: Attempts to establish a trading connection if the brokerage supports it, otherwise falls back to read-only access automatically.
878
+
879
+ ##### show_close_button: `bool`<a id="show_close_button-bool"></a>
880
+
881
+ Controls whether the close (X) button is displayed in the connection portal. When false, you control closing behavior from your app. Defaults to true.
882
+
883
+ ##### dark_mode: `bool`<a id="dark_mode-bool"></a>
884
+
885
+ Enable dark mode for the connection portal. Defaults to false.
886
+
887
+ ##### connection_portal_version: `str`<a id="connection_portal_version-str"></a>
888
+
889
+ Sets the connection portal version to render. Currently only v4 is supported and is the default. All other versions are deprecated and will automatically be set to v4.
890
+
891
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
892
+
893
+ [`SnapTradeLoginUserRequestBody`](./snaptrade_client/type/snap_trade_login_user_request_body.py)
894
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
895
+
896
+ `/snapTrade/login` `post`
897
+
898
+ [🔙 **Back to Table of Contents**](#table-of-contents)
899
+
900
+ ---
901
+
902
+ ### `snaptrade.authentication.register_snap_trade_user`<a id="snaptradeauthenticationregister_snap_trade_user"></a>
903
+
904
+ Registers a new SnapTrade user under your Client ID. A user secret will be automatically generated for you and must be properly stored in your system.
905
+ Most SnapTrade operations require a user ID and user secret to be passed in as parameters.
906
+
907
+
908
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
909
+
910
+ ```python
911
+ register_snap_trade_user_response = snaptrade.authentication.register_snap_trade_user(
912
+ user_id="snaptrade-user-123",
913
+ )
914
+ ```
915
+
916
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
917
+
918
+ ##### user_id: `str`<a id="user_id-str"></a>
919
+
920
+ SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
921
+
922
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
923
+
924
+ [`SnapTradeRegisterUserRequestBody`](./snaptrade_client/type/snap_trade_register_user_request_body.py)
925
+ #### 🔄 Return<a id="🔄-return"></a>
926
+
927
+ [`UserIDandSecret`](./snaptrade_client/type/user_i_dand_secret.py)
928
+
929
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
930
+
931
+ `/snapTrade/registerUser` `post`
932
+
933
+ [🔙 **Back to Table of Contents**](#table-of-contents)
934
+
935
+ ---
936
+
937
+ ### `snaptrade.authentication.reset_snap_trade_user_secret`<a id="snaptradeauthenticationreset_snap_trade_user_secret"></a>
938
+
939
+ Rotates the secret for a SnapTrade user. You might use this if `userSecret` is compromised. Please note that if you call this endpoint and fail to save the new secret, you'll no longer be able to access any data for this user, and your only option will be to delete and recreate the user, then ask them to reconnect.
940
+
941
+
942
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
943
+
944
+ ```python
945
+ reset_snap_trade_user_secret_response = (
946
+ snaptrade.authentication.reset_snap_trade_user_secret(
947
+ user_id="snaptrade-user-123",
948
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
949
+ )
950
+ )
951
+ ```
952
+
953
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
954
+
955
+ ##### user_id: `str`<a id="user_id-str"></a>
956
+
957
+ SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
958
+
959
+ ##### user_secret: `str`<a id="user_secret-str"></a>
960
+
961
+ SnapTrade User Secret. This is a randomly generated string and should be stored securely. If compromised, please rotate it via the [rotate user secret endpoint](/reference/Authentication/Authentication_resetSnapTradeUserSecret).
962
+
963
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
964
+
965
+ [`UserIDandSecret`](./snaptrade_client/type/user_i_dand_secret.py)
966
+ #### 🔄 Return<a id="🔄-return"></a>
967
+
968
+ [`UserIDandSecret`](./snaptrade_client/type/user_i_dand_secret.py)
969
+
970
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
971
+
972
+ `/snapTrade/resetUserSecret` `post`
973
+
974
+ [🔙 **Back to Table of Contents**](#table-of-contents)
975
+
976
+ ---
977
+
978
+ ### `snaptrade.connections.detail_brokerage_authorization`<a id="snaptradeconnectionsdetail_brokerage_authorization"></a>
979
+
980
+ Returns a single connection for the specified ID.
981
+
982
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
983
+
984
+ ```python
985
+ detail_brokerage_authorization_response = (
986
+ snaptrade.connections.detail_brokerage_authorization(
987
+ authorization_id="87b24961-b51e-4db8-9226-f198f6518a89",
988
+ user_id="snaptrade-user-123",
989
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
990
+ )
991
+ )
992
+ ```
993
+
994
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
995
+
996
+ ##### authorization_id: `str`<a id="authorization_id-str"></a>
997
+
998
+ ##### user_id: `str`<a id="user_id-str"></a>
999
+
1000
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1001
+
1002
+ #### 🔄 Return<a id="🔄-return"></a>
1003
+
1004
+ [`BrokerageAuthorization`](./snaptrade_client/type/brokerage_authorization.py)
1005
+
1006
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1007
+
1008
+ `/authorizations/{authorizationId}` `get`
1009
+
1010
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1011
+
1012
+ ---
1013
+
1014
+ ### `snaptrade.connections.disable_brokerage_authorization`<a id="snaptradeconnectionsdisable_brokerage_authorization"></a>
1015
+
1016
+ Manually force the specified connection to become disabled. This should only be used for testing a reconnect flow, and never used on production connections.
1017
+ Will trigger a disconnect as if it happened naturally, and send a [`CONNECTION_BROKEN` webhook](/docs/webhooks#webhooks-connection_broken) for the connection.
1018
+
1019
+ This endpoint is available on test keys. If you would like it enabled on production keys as well, please contact support as it is disabled by default.
1020
+
1021
+
1022
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1023
+
1024
+ ```python
1025
+ disable_brokerage_authorization_response = (
1026
+ snaptrade.connections.disable_brokerage_authorization(
1027
+ authorization_id="87b24961-b51e-4db8-9226-f198f6518a89",
1028
+ user_id="snaptrade-user-123",
1029
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1030
+ )
1031
+ )
1032
+ ```
1033
+
1034
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1035
+
1036
+ ##### authorization_id: `str`<a id="authorization_id-str"></a>
1037
+
1038
+ ##### user_id: `str`<a id="user_id-str"></a>
1039
+
1040
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1041
+
1042
+ #### 🔄 Return<a id="🔄-return"></a>
1043
+
1044
+ [`BrokerageAuthorizationDisabledConfirmation`](./snaptrade_client/type/brokerage_authorization_disabled_confirmation.py)
1045
+
1046
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1047
+
1048
+ `/authorizations/{authorizationId}/disable` `post`
1049
+
1050
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1051
+
1052
+ ---
1053
+
1054
+ ### `snaptrade.connections.list_brokerage_authorizations`<a id="snaptradeconnectionslist_brokerage_authorizations"></a>
1055
+
1056
+ Returns a list of all connections for the specified user. Note that `Connection` and `Brokerage Authorization` are interchangeable, but the term `Connection` is preferred and used in the doc for consistency.
1057
+
1058
+ A connection is usually tied to a single login at a brokerage. A single connection can contain multiple brokerage accounts.
1059
+
1060
+ SnapTrade performs de-duping on connections for a given user. If the user has an existing connection with the brokerage, when connecting the brokerage with the same credentials, SnapTrade will return the existing connection instead of creating a new one.
1061
+
1062
+
1063
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1064
+
1065
+ ```python
1066
+ list_brokerage_authorizations_response = (
1067
+ snaptrade.connections.list_brokerage_authorizations(
1068
+ user_id="snaptrade-user-123",
1069
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1070
+ )
1071
+ )
1072
+ ```
1073
+
1074
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1075
+
1076
+ ##### user_id: `str`<a id="user_id-str"></a>
1077
+
1078
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1079
+
1080
+ #### 🔄 Return<a id="🔄-return"></a>
1081
+
1082
+ [`BrokerageAuthorization`](./snaptrade_client/type/brokerage_authorization.py)
1083
+
1084
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1085
+
1086
+ `/authorizations` `get`
1087
+
1088
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1089
+
1090
+ ---
1091
+
1092
+ ### `snaptrade.connections.refresh_brokerage_authorization`<a id="snaptradeconnectionsrefresh_brokerage_authorization"></a>
1093
+
1094
+ Trigger a holdings update for all accounts under this connection. Updates will be queued asynchronously. [`ACCOUNT_HOLDINGS_UPDATED` webhook](/docs/webhooks#webhooks-account_holdings_updated) will be sent once the sync completes for each account under the connection.
1095
+ This endpoint will also trigger a transaction sync for the past day if one has not yet occurred.
1096
+
1097
+ **Because of the cost of refreshing a connection, each call to this endpoint incurs an additional charge. You can find the exact cost for your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing)**
1098
+
1099
+
1100
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1101
+
1102
+ ```python
1103
+ refresh_brokerage_authorization_response = (
1104
+ snaptrade.connections.refresh_brokerage_authorization(
1105
+ authorization_id="87b24961-b51e-4db8-9226-f198f6518a89",
1106
+ user_id="snaptrade-user-123",
1107
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1108
+ )
1109
+ )
1110
+ ```
1111
+
1112
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1113
+
1114
+ ##### authorization_id: `str`<a id="authorization_id-str"></a>
1115
+
1116
+ ##### user_id: `str`<a id="user_id-str"></a>
1117
+
1118
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1119
+
1120
+ #### 🔄 Return<a id="🔄-return"></a>
1121
+
1122
+ [`BrokerageAuthorizationRefreshConfirmation`](./snaptrade_client/type/brokerage_authorization_refresh_confirmation.py)
1123
+
1124
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1125
+
1126
+ `/authorizations/{authorizationId}/refresh` `post`
1127
+
1128
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1129
+
1130
+ ---
1131
+
1132
+ ### `snaptrade.connections.remove_brokerage_authorization`<a id="snaptradeconnectionsremove_brokerage_authorization"></a>
1133
+
1134
+ Deletes the connection specified by the ID. This will also delete all accounts and holdings associated with the connection. This action is irreversible. This endpoint is synchronous, a 204 response indicates that the connection has been successfully deleted.
1135
+
1136
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1137
+
1138
+ ```python
1139
+ snaptrade.connections.remove_brokerage_authorization(
1140
+ authorization_id="87b24961-b51e-4db8-9226-f198f6518a89",
1141
+ user_id="snaptrade-user-123",
1142
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1143
+ )
1144
+ ```
1145
+
1146
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1147
+
1148
+ ##### authorization_id: `str`<a id="authorization_id-str"></a>
1149
+
1150
+ ##### user_id: `str`<a id="user_id-str"></a>
1151
+
1152
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1153
+
1154
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1155
+
1156
+ `/authorizations/{authorizationId}` `delete`
1157
+
1158
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1159
+
1160
+ ---
1161
+
1162
+ ### `snaptrade.connections.return_rates`<a id="snaptradeconnectionsreturn_rates"></a>
1163
+
1164
+ Returns a list of rate of return percents for a given connection. Will include timeframes available from the brokerage, for example "ALL", "1Y", "6M", "3M", "1M"
1165
+
1166
+
1167
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1168
+
1169
+ ```python
1170
+ return_rates_response = snaptrade.connections.return_rates(
1171
+ user_id="snaptrade-user-123",
1172
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1173
+ authorization_id="87b24961-b51e-4db8-9226-f198f6518a89",
1174
+ )
1175
+ ```
1176
+
1177
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1178
+
1179
+ ##### user_id: `str`<a id="user_id-str"></a>
1180
+
1181
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1182
+
1183
+ ##### authorization_id: `str`<a id="authorization_id-str"></a>
1184
+
1185
+ #### 🔄 Return<a id="🔄-return"></a>
1186
+
1187
+ [`RateOfReturnResponse`](./snaptrade_client/type/rate_of_return_response.py)
1188
+
1189
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1190
+
1191
+ `/authorizations/{authorizationId}/returnRates` `get`
1192
+
1193
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1194
+
1195
+ ---
1196
+
1197
+ ### `snaptrade.connections.session_events`<a id="snaptradeconnectionssession_events"></a>
1198
+
1199
+ Returns a list of session events associated with a user.
1200
+
1201
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1202
+
1203
+ ```python
1204
+ session_events_response = snaptrade.connections.session_events(
1205
+ partner_client_id="SNAPTRADETEST",
1206
+ user_id="917c8734-8470-4a3e-a18f-57c3f2ee6631,65e839a3-9103-4cfb-9b72-2071ef80c5f2",
1207
+ session_id="917c8734-8470-4a3e-a18f-57c3f2ee6631,65e839a3-9103-4cfb-9b72-2071ef80c5f2",
1208
+ )
1209
+ ```
1210
+
1211
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1212
+
1213
+ ##### partner_client_id: `str`<a id="partner_client_id-str"></a>
1214
+
1215
+ ##### user_id: `str`<a id="user_id-str"></a>
1216
+
1217
+ Optional comma separated list of user IDs used to filter the request on specific users
1218
+
1219
+ ##### session_id: `str`<a id="session_id-str"></a>
1220
+
1221
+ Optional comma separated list of session IDs used to filter the request on specific users
1222
+
1223
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1224
+
1225
+ `/sessionEvents` `get`
1226
+
1227
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1228
+
1229
+ ---
1230
+
1231
+ ### `snaptrade.experimental_endpoints.get_user_account_orders_v2`<a id="snaptradeexperimental_endpointsget_user_account_orders_v2"></a>
1232
+
1233
+ Returns a list of recent orders in the specified account.
1234
+
1235
+ The V2 order response format will include all legs of each order in the `legs` list field. If the order is single legged, `legs` will be a list of one leg.
1236
+
1237
+ If the connection has become disabled, it can no longer access the latest data from the brokerage, but will continue to return the last available cached state. Please see [this guide](/docs/fix-broken-connections) on how to fix a disabled connection.
1238
+
1239
+
1240
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1241
+
1242
+ ```python
1243
+ get_user_account_orders_v2_response = (
1244
+ snaptrade.experimental_endpoints.get_user_account_orders_v2(
1245
+ user_id="snaptrade-user-123",
1246
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1247
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1248
+ state="all",
1249
+ days=30,
1250
+ )
1251
+ )
1252
+ ```
1253
+
1254
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1255
+
1256
+ ##### user_id: `str`<a id="user_id-str"></a>
1257
+
1258
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1259
+
1260
+ ##### account_id: `str`<a id="account_id-str"></a>
1261
+
1262
+ ##### state: `str`<a id="state-str"></a>
1263
+
1264
+ defaults value is set to \"all\"
1265
+
1266
+ ##### days: `int`<a id="days-int"></a>
1267
+
1268
+ Number of days in the past to fetch the most recent orders. Defaults to the last 30 days if no value is passed in.
1269
+
1270
+ #### 🔄 Return<a id="🔄-return"></a>
1271
+
1272
+ [`AccountOrdersV2Response`](./snaptrade_client/type/account_orders_v2_response.py)
1273
+
1274
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1275
+
1276
+ `/accounts/{accountId}/orders/v2` `get`
1277
+
1278
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1279
+
1280
+ ---
1281
+
1282
+ ### `snaptrade.experimental_endpoints.get_user_account_recent_orders_v2`<a id="snaptradeexperimental_endpointsget_user_account_recent_orders_v2"></a>
1283
+
1284
+ A lightweight endpoint that returns a list of orders executed in the last 24 hours in the specified account using the V2 order format.
1285
+ This endpoint is realtime and can be used to quickly check if account state has recently changed due to an execution, or check status of recently placed orders.
1286
+ Differs from /orders in that it is realtime, and only checks the last 24 hours as opposed to the last 30 days.
1287
+ By default only returns executed orders, but that can be changed by setting *only_executed* to false.
1288
+ **Because of the cost of realtime requests, each call to this endpoint incurs an additional charge. You can find the exact cost for your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing)**
1289
+
1290
+
1291
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1292
+
1293
+ ```python
1294
+ get_user_account_recent_orders_v2_response = (
1295
+ snaptrade.experimental_endpoints.get_user_account_recent_orders_v2(
1296
+ user_id="snaptrade-user-123",
1297
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1298
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1299
+ only_executed=True,
1300
+ )
1301
+ )
1302
+ ```
1303
+
1304
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1305
+
1306
+ ##### user_id: `str`<a id="user_id-str"></a>
1307
+
1308
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1309
+
1310
+ ##### account_id: `str`<a id="account_id-str"></a>
1311
+
1312
+ ##### only_executed: `bool`<a id="only_executed-bool"></a>
1313
+
1314
+ Defaults to true. Indicates if request should fetch only executed orders. Set to false to retrieve non executed orders as well
1315
+
1316
+ #### 🔄 Return<a id="🔄-return"></a>
1317
+
1318
+ [`AccountOrdersV2Response`](./snaptrade_client/type/account_orders_v2_response.py)
1319
+
1320
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1321
+
1322
+ `/accounts/{accountId}/recentOrders/v2` `get`
1323
+
1324
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1325
+
1326
+ ---
1327
+
1328
+ ### `snaptrade.options.get_options_chain`<a id="snaptradeoptionsget_options_chain"></a>
1329
+
1330
+ Returns the option chain for the specified symbol in the specified account.
1331
+
1332
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1333
+
1334
+ ```python
1335
+ get_options_chain_response = snaptrade.options.get_options_chain(
1336
+ user_id="snaptrade-user-123",
1337
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1338
+ account_id="accountId_example",
1339
+ symbol="symbol_example",
1340
+ )
1341
+ ```
1342
+
1343
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1344
+
1345
+ ##### user_id: `str`<a id="user_id-str"></a>
1346
+
1347
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1348
+
1349
+ ##### account_id: `str`<a id="account_id-str"></a>
1350
+
1351
+ The ID of the account to get the options chain from.
1352
+
1353
+ ##### symbol: `str`<a id="symbol-str"></a>
1354
+
1355
+ Universal symbol ID if symbol
1356
+
1357
+ #### 🔄 Return<a id="🔄-return"></a>
1358
+
1359
+ [`OptionChain`](./snaptrade_client/type/option_chain.py)
1360
+
1361
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1362
+
1363
+ `/accounts/{accountId}/optionsChain` `get`
1364
+
1365
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1366
+
1367
+ ---
1368
+
1369
+ ### `snaptrade.options.list_option_holdings`<a id="snaptradeoptionslist_option_holdings"></a>
1370
+
1371
+ Returns a list of option positions in the specified account. For stock/ETF/crypto/mutual fund positions, please use the [positions endpoint](/reference/Account%20Information/AccountInformation_getUserAccountPositions).
1372
+
1373
+ Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see if you have real-time data access:
1374
+ - If you do, this endpoint returns real-time data.
1375
+ - If you don't, the data is cached and refreshed once a day. How long the data is cached for varies by brokerage. Check the [brokerage integrations doc](https://snaptrade.notion.site/66793431ad0b416489eaabaf248d0afb?v=d16c4c97b8d5438bbb2d8581ac53b11e) and look for "Cache Expiry Time" to see the exact value for a specific brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint.
1376
+
1377
+
1378
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1379
+
1380
+ ```python
1381
+ list_option_holdings_response = snaptrade.options.list_option_holdings(
1382
+ user_id="snaptrade-user-123",
1383
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1384
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1385
+ )
1386
+ ```
1387
+
1388
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1389
+
1390
+ ##### user_id: `str`<a id="user_id-str"></a>
1391
+
1392
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1393
+
1394
+ ##### account_id: `str`<a id="account_id-str"></a>
1395
+
1396
+ #### 🔄 Return<a id="🔄-return"></a>
1397
+
1398
+ [`OptionsPosition`](./snaptrade_client/type/options_position.py)
1399
+
1400
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1401
+
1402
+ `/accounts/{accountId}/options` `get`
1403
+
1404
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1405
+
1406
+ ---
1407
+
1408
+ ### `snaptrade.reference_data.get_currency_exchange_rate_pair`<a id="snaptradereference_dataget_currency_exchange_rate_pair"></a>
1409
+
1410
+ Returns an Exchange Rate Pair object for the specified Currency Pair.
1411
+
1412
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1413
+
1414
+ ```python
1415
+ get_currency_exchange_rate_pair_response = (
1416
+ snaptrade.reference_data.get_currency_exchange_rate_pair(
1417
+ currency_pair="currencyPair_example",
1418
+ )
1419
+ )
1420
+ ```
1421
+
1422
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1423
+
1424
+ ##### currency_pair: `str`<a id="currency_pair-str"></a>
1425
+
1426
+ A currency pair based on currency code for example, {CAD-USD}
1427
+
1428
+ #### 🔄 Return<a id="🔄-return"></a>
1429
+
1430
+ [`ExchangeRatePairs`](./snaptrade_client/type/exchange_rate_pairs.py)
1431
+
1432
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1433
+
1434
+ `/currencies/rates/{currencyPair}` `get`
1435
+
1436
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1437
+
1438
+ ---
1439
+
1440
+ ### `snaptrade.reference_data.get_partner_info`<a id="snaptradereference_dataget_partner_info"></a>
1441
+
1442
+ Returns configurations for your SnapTrade Client ID, including allowed brokerages and data access.
1443
+
1444
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1445
+
1446
+ ```python
1447
+ get_partner_info_response = snaptrade.reference_data.get_partner_info()
1448
+ ```
1449
+
1450
+ #### 🔄 Return<a id="🔄-return"></a>
1451
+
1452
+ [`PartnerData`](./snaptrade_client/type/partner_data.py)
1453
+
1454
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1455
+
1456
+ `/snapTrade/partners` `get`
1457
+
1458
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1459
+
1460
+ ---
1461
+
1462
+ ### `snaptrade.reference_data.get_security_types`<a id="snaptradereference_dataget_security_types"></a>
1463
+
1464
+ Return all available security types supported by SnapTrade.
1465
+
1466
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1467
+
1468
+ ```python
1469
+ get_security_types_response = snaptrade.reference_data.get_security_types()
1470
+ ```
1471
+
1472
+ #### 🔄 Return<a id="🔄-return"></a>
1473
+
1474
+ [`SecurityType`](./snaptrade_client/type/security_type.py)
1475
+
1476
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1477
+
1478
+ `/securityTypes` `get`
1479
+
1480
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1481
+
1482
+ ---
1483
+
1484
+ ### `snaptrade.reference_data.get_stock_exchanges`<a id="snaptradereference_dataget_stock_exchanges"></a>
1485
+
1486
+ Returns a list of all supported Exchanges.
1487
+
1488
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1489
+
1490
+ ```python
1491
+ get_stock_exchanges_response = snaptrade.reference_data.get_stock_exchanges()
1492
+ ```
1493
+
1494
+ #### 🔄 Return<a id="🔄-return"></a>
1495
+
1496
+ [`Exchange`](./snaptrade_client/type/exchange.py)
1497
+
1498
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1499
+
1500
+ `/exchanges` `get`
1501
+
1502
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1503
+
1504
+ ---
1505
+
1506
+ ### `snaptrade.reference_data.get_symbols`<a id="snaptradereference_dataget_symbols"></a>
1507
+
1508
+ Returns a list of Universal Symbol objects that match the given query. The matching takes into consideration both the ticker and the name of the symbol. Only the first 20 results are returned.
1509
+
1510
+
1511
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1512
+
1513
+ ```python
1514
+ get_symbols_response = snaptrade.reference_data.get_symbols(
1515
+ substring="AAPL",
1516
+ )
1517
+ ```
1518
+
1519
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1520
+
1521
+ ##### substring: `str`<a id="substring-str"></a>
1522
+
1523
+ The search query for symbols.
1524
+
1525
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
1526
+
1527
+ [`SymbolQuery`](./snaptrade_client/type/symbol_query.py)
1528
+ #### 🔄 Return<a id="🔄-return"></a>
1529
+
1530
+ [`UniversalSymbol`](./snaptrade_client/type/universal_symbol.py)
1531
+
1532
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1533
+
1534
+ `/symbols` `post`
1535
+
1536
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1537
+
1538
+ ---
1539
+
1540
+ ### `snaptrade.reference_data.get_symbols_by_ticker`<a id="snaptradereference_dataget_symbols_by_ticker"></a>
1541
+
1542
+ Returns the Universal Symbol object specified by the ticker or the Universal Symbol ID. When a ticker is specified, the first matching result is returned. We largely follow the [Yahoo Finance ticker format](https://help.yahoo.com/kb/SLN2310.html)(click on "Yahoo Finance Market Coverage and Data Delays"). For example, for securities traded on the Toronto Stock Exchange, the symbol has a '.TO' suffix. For securities traded on NASDAQ or NYSE, the symbol does not have a suffix. Please use the ticker with the proper suffix for the best results.
1543
+
1544
+
1545
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1546
+
1547
+ ```python
1548
+ get_symbols_by_ticker_response = snaptrade.reference_data.get_symbols_by_ticker(
1549
+ query="query_example",
1550
+ )
1551
+ ```
1552
+
1553
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1554
+
1555
+ ##### query: `str`<a id="query-str"></a>
1556
+
1557
+ The ticker or Universal Symbol ID to look up the symbol with.
1558
+
1559
+ #### 🔄 Return<a id="🔄-return"></a>
1560
+
1561
+ [`UniversalSymbol`](./snaptrade_client/type/universal_symbol.py)
1562
+
1563
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1564
+
1565
+ `/symbols/{query}` `get`
1566
+
1567
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1568
+
1569
+ ---
1570
+
1571
+ ### `snaptrade.reference_data.list_all_brokerage_authorization_type`<a id="snaptradereference_datalist_all_brokerage_authorization_type"></a>
1572
+
1573
+ Returns a list of all defined Brokerage authorization Type objects.
1574
+
1575
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1576
+
1577
+ ```python
1578
+ list_all_brokerage_authorization_type_response = (
1579
+ snaptrade.reference_data.list_all_brokerage_authorization_type(
1580
+ brokerage="QUESTRADE,ALPACA",
1581
+ )
1582
+ )
1583
+ ```
1584
+
1585
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1586
+
1587
+ ##### brokerage: `str`<a id="brokerage-str"></a>
1588
+
1589
+ Comma separated value of brokerage slugs
1590
+
1591
+ #### 🔄 Return<a id="🔄-return"></a>
1592
+
1593
+ [`BrokerageAuthorizationTypeReadOnly`](./snaptrade_client/type/brokerage_authorization_type_read_only.py)
1594
+
1595
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1596
+
1597
+ `/brokerageAuthorizationTypes` `get`
1598
+
1599
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1600
+
1601
+ ---
1602
+
1603
+ ### `snaptrade.reference_data.list_all_brokerage_instruments`<a id="snaptradereference_datalist_all_brokerage_instruments"></a>
1604
+
1605
+ Returns a list of all brokerage instruments available for a given brokerage. Not all brokerages support this. The ones that don't will return an empty list.
1606
+
1607
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1608
+
1609
+ ```python
1610
+ list_all_brokerage_instruments_response = (
1611
+ snaptrade.reference_data.list_all_brokerage_instruments(
1612
+ slug="QUESTRADE",
1613
+ )
1614
+ )
1615
+ ```
1616
+
1617
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1618
+
1619
+ ##### slug: `str`<a id="slug-str"></a>
1620
+
1621
+ A short, unique identifier for the brokerage. It is usually the name of the brokerage in capital letters and will never change.
1622
+
1623
+ #### 🔄 Return<a id="🔄-return"></a>
1624
+
1625
+ [`BrokerageInstrumentsResponse`](./snaptrade_client/type/brokerage_instruments_response.py)
1626
+
1627
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1628
+
1629
+ `/brokerages/{slug}/instruments` `get`
1630
+
1631
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1632
+
1633
+ ---
1634
+
1635
+ ### `snaptrade.reference_data.list_all_brokerages`<a id="snaptradereference_datalist_all_brokerages"></a>
1636
+
1637
+ Returns a list of all defined Brokerage objects.
1638
+
1639
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1640
+
1641
+ ```python
1642
+ list_all_brokerages_response = snaptrade.reference_data.list_all_brokerages()
1643
+ ```
1644
+
1645
+ #### 🔄 Return<a id="🔄-return"></a>
1646
+
1647
+ [`Brokerage`](./snaptrade_client/type/brokerage.py)
1648
+
1649
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1650
+
1651
+ `/brokerages` `get`
1652
+
1653
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1654
+
1655
+ ---
1656
+
1657
+ ### `snaptrade.reference_data.list_all_currencies`<a id="snaptradereference_datalist_all_currencies"></a>
1658
+
1659
+ Returns a list of all defined Currency objects.
1660
+
1661
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1662
+
1663
+ ```python
1664
+ list_all_currencies_response = snaptrade.reference_data.list_all_currencies()
1665
+ ```
1666
+
1667
+ #### 🔄 Return<a id="🔄-return"></a>
1668
+
1669
+ [`Currency`](./snaptrade_client/type/currency.py)
1670
+
1671
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1672
+
1673
+ `/currencies` `get`
1674
+
1675
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1676
+
1677
+ ---
1678
+
1679
+ ### `snaptrade.reference_data.list_all_currencies_rates`<a id="snaptradereference_datalist_all_currencies_rates"></a>
1680
+
1681
+ Returns a list of all Exchange Rate Pairs for all supported Currencies.
1682
+
1683
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1684
+
1685
+ ```python
1686
+ list_all_currencies_rates_response = (
1687
+ snaptrade.reference_data.list_all_currencies_rates()
1688
+ )
1689
+ ```
1690
+
1691
+ #### 🔄 Return<a id="🔄-return"></a>
1692
+
1693
+ [`ExchangeRatePairs`](./snaptrade_client/type/exchange_rate_pairs.py)
1694
+
1695
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1696
+
1697
+ `/currencies/rates` `get`
1698
+
1699
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1700
+
1701
+ ---
1702
+
1703
+ ### `snaptrade.reference_data.symbol_search_user_account`<a id="snaptradereference_datasymbol_search_user_account"></a>
1704
+
1705
+ Returns a list of Universal Symbol objects that match the given query. The matching takes into consideration both the ticker and the name of the symbol. Only the first 20 results are returned.
1706
+
1707
+ The search results are further limited to the symbols supported by the brokerage for which the account is under.
1708
+
1709
+
1710
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1711
+
1712
+ ```python
1713
+ symbol_search_user_account_response = (
1714
+ snaptrade.reference_data.symbol_search_user_account(
1715
+ user_id="snaptrade-user-123",
1716
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1717
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1718
+ substring="AAPL",
1719
+ )
1720
+ )
1721
+ ```
1722
+
1723
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1724
+
1725
+ ##### user_id: `str`<a id="user_id-str"></a>
1726
+
1727
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1728
+
1729
+ ##### account_id: `str`<a id="account_id-str"></a>
1730
+
1731
+ ##### substring: `str`<a id="substring-str"></a>
1732
+
1733
+ The search query for symbols.
1734
+
1735
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
1736
+
1737
+ [`SymbolQuery`](./snaptrade_client/type/symbol_query.py)
1738
+ #### 🔄 Return<a id="🔄-return"></a>
1739
+
1740
+ [`UniversalSymbol`](./snaptrade_client/type/universal_symbol.py)
1741
+
1742
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1743
+
1744
+ `/accounts/{accountId}/symbols` `post`
1745
+
1746
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1747
+
1748
+ ---
1749
+
1750
+ ### `snaptrade.trading.cancel_order`<a id="snaptradetradingcancel_order"></a>
1751
+
1752
+ Cancels an order in the specified account. Accepts order IDs for all asset types.
1753
+
1754
+
1755
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1756
+
1757
+ ```python
1758
+ cancel_order_response = snaptrade.trading.cancel_order(
1759
+ brokerage_order_id="66a033fa-da74-4fcf-b527-feefdec9257e",
1760
+ user_id="snaptrade-user-123",
1761
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1762
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1763
+ )
1764
+ ```
1765
+
1766
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1767
+
1768
+ ##### brokerage_order_id: `str`<a id="brokerage_order_id-str"></a>
1769
+
1770
+ Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
1771
+
1772
+ ##### user_id: `str`<a id="user_id-str"></a>
1773
+
1774
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1775
+
1776
+ ##### account_id: `str`<a id="account_id-str"></a>
1777
+
1778
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
1779
+
1780
+ [`Any`](./snaptrade_client/type/typing_any.py)
1781
+ #### 🔄 Return<a id="🔄-return"></a>
1782
+
1783
+ [`CancelOrderResponse`](./snaptrade_client/type/cancel_order_response.py)
1784
+
1785
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1786
+
1787
+ `/accounts/{accountId}/trading/cancel` `post`
1788
+
1789
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1790
+
1791
+ ---
1792
+
1793
+ ### `snaptrade.trading.cancel_user_account_order`<a id="snaptradetradingcancel_user_account_order"></a>
1794
+ ![Deprecated](https://img.shields.io/badge/deprecated-yellow)
1795
+
1796
+ **This endpoint is deprecated. Please switch to [the new cancel order endpoint](/reference/Trading/Trading_cancelOrder) **
1797
+ Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected.
1798
+
1799
+
1800
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1801
+
1802
+ ```python
1803
+ cancel_user_account_order_response = snaptrade.trading.cancel_user_account_order(
1804
+ brokerage_order_id="66a033fa-da74-4fcf-b527-feefdec9257e",
1805
+ user_id="snaptrade-user-123",
1806
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1807
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1808
+ )
1809
+ ```
1810
+
1811
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1812
+
1813
+ ##### brokerage_order_id: `str`<a id="brokerage_order_id-str"></a>
1814
+
1815
+ Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
1816
+
1817
+ ##### user_id: `str`<a id="user_id-str"></a>
1818
+
1819
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1820
+
1821
+ ##### account_id: `str`<a id="account_id-str"></a>
1822
+
1823
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
1824
+
1825
+ [`Any`](./snaptrade_client/type/typing_any.py)
1826
+ #### 🔄 Return<a id="🔄-return"></a>
1827
+
1828
+ [`AccountOrderRecord`](./snaptrade_client/type/account_order_record.py)
1829
+
1830
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1831
+
1832
+ `/accounts/{accountId}/orders/cancel` `post`
1833
+
1834
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1835
+
1836
+ ---
1837
+
1838
+ ### `snaptrade.trading.get_cryptocurrency_pair_quote`<a id="snaptradetradingget_cryptocurrency_pair_quote"></a>
1839
+
1840
+ Gets a quote for the specified account.
1841
+
1842
+
1843
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1844
+
1845
+ ```python
1846
+ get_cryptocurrency_pair_quote_response = (
1847
+ snaptrade.trading.get_cryptocurrency_pair_quote(
1848
+ user_id="snaptrade-user-123",
1849
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1850
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1851
+ instrument_symbol="BTC-USD",
1852
+ )
1853
+ )
1854
+ ```
1855
+
1856
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1857
+
1858
+ ##### user_id: `str`<a id="user_id-str"></a>
1859
+
1860
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1861
+
1862
+ ##### account_id: `str`<a id="account_id-str"></a>
1863
+
1864
+ ##### instrument_symbol: `str`<a id="instrument_symbol-str"></a>
1865
+
1866
+ #### 🔄 Return<a id="🔄-return"></a>
1867
+
1868
+ [`CryptocurrencyPairQuote`](./snaptrade_client/type/cryptocurrency_pair_quote.py)
1869
+
1870
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1871
+
1872
+ `/accounts/{accountId}/trading/instruments/cryptocurrencyPairs/{instrumentSymbol}/quote` `get`
1873
+
1874
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1875
+
1876
+ ---
1877
+
1878
+ ### `snaptrade.trading.get_order_impact`<a id="snaptradetradingget_order_impact"></a>
1879
+
1880
+ Simulates an order and its impact on the account. This endpoint does not place the order with the brokerage. If successful, it returns a `Trade` object and the ID of the object can be used to place the order with the brokerage using the [place checked order endpoint](/reference/Trading/Trading_placeOrder). Please note that the `Trade` object returned expires after 5 minutes. Any order placed using an expired `Trade` will be rejected.
1881
+
1882
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1883
+
1884
+ ```python
1885
+ get_order_impact_response = snaptrade.trading.get_order_impact(
1886
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1887
+ action="BUY",
1888
+ universal_symbol_id="2bcd7cc3-e922-4976-bce1-9858296801c3",
1889
+ order_type="Market",
1890
+ time_in_force="Day",
1891
+ user_id="snaptrade-user-123",
1892
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1893
+ price=31.33,
1894
+ stop=31.33,
1895
+ units=10.5,
1896
+ notional_value=None,
1897
+ )
1898
+ ```
1899
+
1900
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1901
+
1902
+ ##### account_id: `str`<a id="account_id-str"></a>
1903
+
1904
+ Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
1905
+
1906
+ ##### action: [`ActionStrict`](./snaptrade_client/type/action_strict.py)<a id="action-actionstrictsnaptrade_clienttypeaction_strictpy"></a>
1907
+
1908
+ ##### universal_symbol_id: `str`<a id="universal_symbol_id-str"></a>
1909
+
1910
+ Unique identifier for the symbol within SnapTrade. This is the ID used to reference the symbol in SnapTrade API calls.
1911
+
1912
+ ##### order_type: [`OrderTypeStrict`](./snaptrade_client/type/order_type_strict.py)<a id="order_type-ordertypestrictsnaptrade_clienttypeorder_type_strictpy"></a>
1913
+
1914
+ ##### time_in_force: [`TimeInForceStrict`](./snaptrade_client/type/time_in_force_strict.py)<a id="time_in_force-timeinforcestrictsnaptrade_clienttypetime_in_force_strictpy"></a>
1915
+
1916
+ ##### user_id: `str`<a id="user_id-str"></a>
1917
+
1918
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1919
+
1920
+ ##### price: `Optional[Union[int, float]]`<a id="price-optionalunionint-float"></a>
1921
+
1922
+ The limit price for `Limit` and `StopLimit` orders.
1923
+
1924
+ ##### stop: `Optional[Union[int, float]]`<a id="stop-optionalunionint-float"></a>
1925
+
1926
+ The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
1927
+
1928
+ ##### units: [`UnitsNullable`](./snaptrade_client/type/units_nullable.py)<a id="units-unitsnullablesnaptrade_clienttypeunits_nullablepy"></a>
1929
+
1930
+ ##### notional_value: `NotionalValueNullable`<a id="notional_value-notionalvaluenullable"></a>
1931
+
1932
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
1933
+
1934
+ [`ManualTradeForm`](./snaptrade_client/type/manual_trade_form.py)
1935
+ #### 🔄 Return<a id="🔄-return"></a>
1936
+
1937
+ [`ManualTradeAndImpact`](./snaptrade_client/type/manual_trade_and_impact.py)
1938
+
1939
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1940
+
1941
+ `/trade/impact` `post`
1942
+
1943
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1944
+
1945
+ ---
1946
+
1947
+ ### `snaptrade.trading.get_user_account_quotes`<a id="snaptradetradingget_user_account_quotes"></a>
1948
+
1949
+ Returns quotes from the brokerage for the specified symbols and account.
1950
+
1951
+ The quotes returned can be delayed depending on the brokerage the account belongs to. It is highly recommended that you use your own market data provider for real-time quotes instead of relying on this endpoint.
1952
+
1953
+ This endpoint does not work for options quotes.
1954
+
1955
+ This endpoint is disabled for free plans by default. Please contact support to enable this endpoint if needed.
1956
+
1957
+
1958
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
1959
+
1960
+ ```python
1961
+ get_user_account_quotes_response = snaptrade.trading.get_user_account_quotes(
1962
+ user_id="snaptrade-user-123",
1963
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
1964
+ symbols="symbols_example",
1965
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
1966
+ use_ticker=True,
1967
+ )
1968
+ ```
1969
+
1970
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
1971
+
1972
+ ##### user_id: `str`<a id="user_id-str"></a>
1973
+
1974
+ ##### user_secret: `str`<a id="user_secret-str"></a>
1975
+
1976
+ ##### symbols: `str`<a id="symbols-str"></a>
1977
+
1978
+ List of Universal Symbol IDs or tickers to get quotes for. When providing multiple values, use a comma as separator
1979
+
1980
+ ##### account_id: `str`<a id="account_id-str"></a>
1981
+
1982
+ ##### use_ticker: `bool`<a id="use_ticker-bool"></a>
1983
+
1984
+ Should be set to `True` if `symbols` are comprised of tickers. Defaults to `False` if not provided.
1985
+
1986
+ #### 🔄 Return<a id="🔄-return"></a>
1987
+
1988
+ [`SymbolsQuotes`](./snaptrade_client/type/symbols_quotes.py)
1989
+
1990
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
1991
+
1992
+ `/accounts/{accountId}/quotes` `get`
1993
+
1994
+ [🔙 **Back to Table of Contents**](#table-of-contents)
1995
+
1996
+ ---
1997
+
1998
+ ### `snaptrade.trading.place_bracket_order`<a id="snaptradetradingplace_bracket_order"></a>
1999
+
2000
+ Places a bracket order (entry order + OCO of stop loss and take profit). Disabled by default please contact support for
2001
+ use. Only supported on certain brokerages
2002
+
2003
+
2004
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2005
+
2006
+ ```python
2007
+ place_bracket_order_response = snaptrade.trading.place_bracket_order(
2008
+ action="BUY",
2009
+ instrument={
2010
+ "symbol": "AAPL",
2011
+ "type": "EQUITY",
2012
+ },
2013
+ order_type="Market",
2014
+ time_in_force="Day",
2015
+ stop_loss={
2016
+ "stop_price": "48.55",
2017
+ "limit_price": "48.50",
2018
+ },
2019
+ take_profit={
2020
+ "limit_price": "49.95",
2021
+ },
2022
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
2023
+ user_id="snaptrade-user-123",
2024
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2025
+ price=31.33,
2026
+ stop=31.33,
2027
+ units=10.5,
2028
+ )
2029
+ ```
2030
+
2031
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2032
+
2033
+ ##### action: [`ActionStrictWithOptions`](./snaptrade_client/type/action_strict_with_options.py)<a id="action-actionstrictwithoptionssnaptrade_clienttypeaction_strict_with_optionspy"></a>
2034
+
2035
+ ##### instrument: [`TradingInstrument`](./snaptrade_client/type/trading_instrument.py)<a id="instrument-tradinginstrumentsnaptrade_clienttypetrading_instrumentpy"></a>
2036
+
2037
+
2038
+ ##### order_type: [`OrderTypeStrict`](./snaptrade_client/type/order_type_strict.py)<a id="order_type-ordertypestrictsnaptrade_clienttypeorder_type_strictpy"></a>
2039
+
2040
+ ##### time_in_force: [`TimeInForceStrict`](./snaptrade_client/type/time_in_force_strict.py)<a id="time_in_force-timeinforcestrictsnaptrade_clienttypetime_in_force_strictpy"></a>
2041
+
2042
+ ##### stop_loss: [`StopLoss`](./snaptrade_client/type/stop_loss.py)<a id="stop_loss-stoplosssnaptrade_clienttypestop_losspy"></a>
2043
+
2044
+
2045
+ ##### take_profit: [`TakeProfit`](./snaptrade_client/type/take_profit.py)<a id="take_profit-takeprofitsnaptrade_clienttypetake_profitpy"></a>
2046
+
2047
+
2048
+ ##### account_id: `str`<a id="account_id-str"></a>
2049
+
2050
+ The ID of the account to execute the trade on.
2051
+
2052
+ ##### user_id: `str`<a id="user_id-str"></a>
2053
+
2054
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2055
+
2056
+ ##### price: `Optional[Union[int, float]]`<a id="price-optionalunionint-float"></a>
2057
+
2058
+ The limit price for `Limit` and `StopLimit` orders.
2059
+
2060
+ ##### stop: `Optional[Union[int, float]]`<a id="stop-optionalunionint-float"></a>
2061
+
2062
+ The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
2063
+
2064
+ ##### units: `Union[int, float]`<a id="units-unionint-float"></a>
2065
+
2066
+ Number of shares for the order. This can be a decimal for fractional orders. Must be `null` if `notional_value` is provided.
2067
+
2068
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
2069
+
2070
+ [`ManualTradeFormBracket`](./snaptrade_client/type/manual_trade_form_bracket.py)
2071
+ #### 🔄 Return<a id="🔄-return"></a>
2072
+
2073
+ [`AccountOrderRecord`](./snaptrade_client/type/account_order_record.py)
2074
+
2075
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2076
+
2077
+ `/accounts/{accountId}/trading/bracket` `post`
2078
+
2079
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2080
+
2081
+ ---
2082
+
2083
+ ### `snaptrade.trading.place_crypto_order`<a id="snaptradetradingplace_crypto_order"></a>
2084
+
2085
+ Places an order in the specified account.
2086
+ This endpoint does not compute the impact to the account balance from the order before submitting the order.
2087
+
2088
+
2089
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2090
+
2091
+ ```python
2092
+ place_crypto_order_response = snaptrade.trading.place_crypto_order(
2093
+ instrument={
2094
+ "symbol": "BTC",
2095
+ "type": "CRYPTOCURRENCY",
2096
+ },
2097
+ side="BUY",
2098
+ type="MARKET",
2099
+ time_in_force="GTC",
2100
+ amount="123.45",
2101
+ user_id="snaptrade-user-123",
2102
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2103
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
2104
+ limit_price="123.45",
2105
+ stop_price="123.45",
2106
+ post_only=False,
2107
+ expiration_date="2024-01-01T00:00:00Z",
2108
+ )
2109
+ ```
2110
+
2111
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2112
+
2113
+ ##### instrument: [`CryptoTradingInstrument`](./snaptrade_client/type/crypto_trading_instrument.py)<a id="instrument-cryptotradinginstrumentsnaptrade_clienttypecrypto_trading_instrumentpy"></a>
2114
+
2115
+
2116
+ ##### side: [`ActionStrict`](./snaptrade_client/type/action_strict.py)<a id="side-actionstrictsnaptrade_clienttypeaction_strictpy"></a>
2117
+
2118
+ ##### type: `str`<a id="type-str"></a>
2119
+
2120
+ The type of order to place.
2121
+
2122
+ ##### time_in_force: `str`<a id="time_in_force-str"></a>
2123
+
2124
+ The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order must be executed immediately. Any portion of the order that cannot be filled immediately will be canceled. - `GTD` - Good Til Date. The order is valid until the specified date.
2125
+
2126
+ ##### amount: `str`<a id="amount-str"></a>
2127
+
2128
+ The amount of the base currency to buy or sell.
2129
+
2130
+ ##### user_id: `str`<a id="user_id-str"></a>
2131
+
2132
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2133
+
2134
+ ##### account_id: `str`<a id="account_id-str"></a>
2135
+
2136
+ ##### limit_price: `str`<a id="limit_price-str"></a>
2137
+
2138
+ The limit price. Required if the order type is LIMIT, STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT.
2139
+
2140
+ ##### stop_price: `str`<a id="stop_price-str"></a>
2141
+
2142
+ The stop price. Required if the order type is STOP_LOSS_MARKET, STOP_LOSS_LIMIT, TAKE_PROFIT_MARKET or TAKE_PROFIT_LIMIT.
2143
+
2144
+ ##### post_only: `bool`<a id="post_only-bool"></a>
2145
+
2146
+ Valid and required only for order type LIMIT. If true orders that would be filled immediately are rejected to avoid incurring TAKER fees.
2147
+
2148
+ ##### expiration_date: `datetime`<a id="expiration_date-datetime"></a>
2149
+
2150
+ The expiration date of the order. Required if the time_in_force is GTD.
2151
+
2152
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
2153
+
2154
+ [`CryptoOrderForm`](./snaptrade_client/type/crypto_order_form.py)
2155
+ #### 🔄 Return<a id="🔄-return"></a>
2156
+
2157
+ [`OrderUpdatedResponse`](./snaptrade_client/type/order_updated_response.py)
2158
+
2159
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2160
+
2161
+ `/accounts/{accountId}/trading/crypto` `post`
2162
+
2163
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2164
+
2165
+ ---
2166
+
2167
+ ### `snaptrade.trading.place_force_order`<a id="snaptradetradingplace_force_order"></a>
2168
+
2169
+ Places a brokerage order in the specified account. The order could be rejected by the brokerage if it is invalid or if the account does not have sufficient funds.
2170
+
2171
+ This endpoint does not compute the impact to the account balance from the order and any potential commissions before submitting the order to the brokerage. If that is desired, you can use the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact).
2172
+
2173
+ It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
2174
+
2175
+
2176
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2177
+
2178
+ ```python
2179
+ place_force_order_response = snaptrade.trading.place_force_order(
2180
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
2181
+ action="BUY",
2182
+ order_type="Market",
2183
+ time_in_force="Day",
2184
+ user_id="snaptrade-user-123",
2185
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2186
+ universal_symbol_id="2bcd7cc3-e922-4976-bce1-9858296801c3",
2187
+ symbol="AAPL",
2188
+ trading_session="REGULAR",
2189
+ price=31.33,
2190
+ stop=31.33,
2191
+ units=10.5,
2192
+ notional_value=None,
2193
+ )
2194
+ ```
2195
+
2196
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2197
+
2198
+ ##### account_id: `str`<a id="account_id-str"></a>
2199
+
2200
+ Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
2201
+
2202
+ ##### action: [`ActionStrictWithOptions`](./snaptrade_client/type/action_strict_with_options.py)<a id="action-actionstrictwithoptionssnaptrade_clienttypeaction_strict_with_optionspy"></a>
2203
+
2204
+ ##### order_type: [`OrderTypeStrict`](./snaptrade_client/type/order_type_strict.py)<a id="order_type-ordertypestrictsnaptrade_clienttypeorder_type_strictpy"></a>
2205
+
2206
+ ##### time_in_force: [`TimeInForceStrict`](./snaptrade_client/type/time_in_force_strict.py)<a id="time_in_force-timeinforcestrictsnaptrade_clienttypetime_in_force_strictpy"></a>
2207
+
2208
+ ##### user_id: `str`<a id="user_id-str"></a>
2209
+
2210
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2211
+
2212
+ ##### universal_symbol_id: [`UniversalSymbolIDNullable`](./snaptrade_client/type/universal_symbol_id_nullable.py)<a id="universal_symbol_id-universalsymbolidnullablesnaptrade_clienttypeuniversal_symbol_id_nullablepy"></a>
2213
+
2214
+ The universal symbol ID of the security to trade. Must be 'null' if `symbol` is provided, otherwise must be provided.
2215
+
2216
+ ##### symbol: `Optional[str]`<a id="symbol-optionalstr"></a>
2217
+
2218
+ The security's trading ticker symbol. If 'symbol' is provided, then 'universal_symbol_id' must be 'null'.
2219
+
2220
+ ##### trading_session: [`TradingSession`](./snaptrade_client/type/trading_session.py)<a id="trading_session-tradingsessionsnaptrade_clienttypetrading_sessionpy"></a>
2221
+
2222
+ ##### price: `Optional[Union[int, float]]`<a id="price-optionalunionint-float"></a>
2223
+
2224
+ The limit price for `Limit` and `StopLimit` orders.
2225
+
2226
+ ##### stop: `Optional[Union[int, float]]`<a id="stop-optionalunionint-float"></a>
2227
+
2228
+ The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
2229
+
2230
+ ##### units: `Union[int, float]`<a id="units-unionint-float"></a>
2231
+
2232
+ For Equity orders, this represents the number of shares for the order. This can be a decimal for fractional orders. Must be `null` if `notional_value` is provided. If placing an Option order, this field represents the number of contracts to buy or sell. (e.g., 1 contract = 100 shares).
2233
+
2234
+ ##### notional_value: `NotionalValueNullable`<a id="notional_value-notionalvaluenullable"></a>
2235
+
2236
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
2237
+
2238
+ [`ManualTradeFormWithOptions`](./snaptrade_client/type/manual_trade_form_with_options.py)
2239
+ #### 🔄 Return<a id="🔄-return"></a>
2240
+
2241
+ [`AccountOrderRecord`](./snaptrade_client/type/account_order_record.py)
2242
+
2243
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2244
+
2245
+ `/trade/place` `post`
2246
+
2247
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2248
+
2249
+ ---
2250
+
2251
+ ### `snaptrade.trading.place_mleg_order`<a id="snaptradetradingplace_mleg_order"></a>
2252
+
2253
+ Places a multi-leg option order. Only supported on certain option trading brokerages. https://snaptrade.notion.site/brokerages has information on brokerage trading support
2254
+
2255
+
2256
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2257
+
2258
+ ```python
2259
+ place_mleg_order_response = snaptrade.trading.place_mleg_order(
2260
+ order_type="MARKET",
2261
+ time_in_force="Day",
2262
+ legs=[
2263
+ {
2264
+ "instrument": {
2265
+ "symbol": "PBI 250718C00006000",
2266
+ "instrument_type": "OPTION",
2267
+ },
2268
+ "action": "BUY_TO_OPEN",
2269
+ "units": 1,
2270
+ }
2271
+ ],
2272
+ user_id="snaptrade-user-123",
2273
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2274
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
2275
+ limit_price="",
2276
+ stop_price="",
2277
+ price_effect="DEBIT",
2278
+ )
2279
+ ```
2280
+
2281
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2282
+
2283
+ ##### order_type: [`MlegOrderTypeStrict`](./snaptrade_client/type/mleg_order_type_strict.py)<a id="order_type-mlegordertypestrictsnaptrade_clienttypemleg_order_type_strictpy"></a>
2284
+
2285
+ ##### time_in_force: [`TimeInForceStrict`](./snaptrade_client/type/time_in_force_strict.py)<a id="time_in_force-timeinforcestrictsnaptrade_clienttypetime_in_force_strictpy"></a>
2286
+
2287
+ ##### legs: List[`MlegLeg`]<a id="legs-listmlegleg"></a>
2288
+
2289
+ ##### user_id: `str`<a id="user_id-str"></a>
2290
+
2291
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2292
+
2293
+ ##### account_id: `str`<a id="account_id-str"></a>
2294
+
2295
+ ##### limit_price: `Optional[str]`<a id="limit_price-optionalstr"></a>
2296
+
2297
+ The limit price. Required if the order type is LIMIT, STOP_LOSS_LIMIT.
2298
+
2299
+ ##### stop_price: `Optional[str]`<a id="stop_price-optionalstr"></a>
2300
+
2301
+ The stop price. Required if the order type is STOP_LOSS_MARKET, STOP_LOSS_LIMIT.
2302
+
2303
+ ##### price_effect: [`MlegPriceEffectStrictNullable`](./snaptrade_client/type/mleg_price_effect_strict_nullable.py)<a id="price_effect-mlegpriceeffectstrictnullablesnaptrade_clienttypemleg_price_effect_strict_nullablepy"></a>
2304
+
2305
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
2306
+
2307
+ [`MlegTradeForm`](./snaptrade_client/type/mleg_trade_form.py)
2308
+ #### 🔄 Return<a id="🔄-return"></a>
2309
+
2310
+ [`MlegOrderResponse`](./snaptrade_client/type/mleg_order_response.py)
2311
+
2312
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2313
+
2314
+ `/accounts/{accountId}/trading/options` `post`
2315
+
2316
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2317
+
2318
+ ---
2319
+
2320
+ ### `snaptrade.trading.place_order`<a id="snaptradetradingplace_order"></a>
2321
+
2322
+ Places the previously checked order with the brokerage. The `tradeId` is obtained from the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact). If you prefer to place the order without checking for impact first, you can use the [place order endpoint](/reference/Trading/Trading_placeForceOrder).
2323
+
2324
+ It's recommended to trigger a manual refresh of the account after placing an order to ensure the account is up to date. You can use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint for this.
2325
+
2326
+
2327
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2328
+
2329
+ ```python
2330
+ place_order_response = snaptrade.trading.place_order(
2331
+ trade_id="139e307a-82f7-4402-b39e-4da7baa87758",
2332
+ user_id="snaptrade-user-123",
2333
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2334
+ wait_to_confirm=True,
2335
+ )
2336
+ ```
2337
+
2338
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2339
+
2340
+ ##### trade_id: `str`<a id="trade_id-str"></a>
2341
+
2342
+ Obtained from calling the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact)
2343
+
2344
+ ##### user_id: `str`<a id="user_id-str"></a>
2345
+
2346
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2347
+
2348
+ ##### wait_to_confirm: `Optional[bool]`<a id="wait_to_confirm-optionalbool"></a>
2349
+
2350
+ Optional, defaults to true. Determines if a wait is performed to check on order status. If false, latency will be reduced but orders returned will be more likely to be of status `PENDING` as we will not wait to check on the status before responding to the request.
2351
+
2352
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
2353
+
2354
+ [`ValidatedTradeBody`](./snaptrade_client/type/validated_trade_body.py)
2355
+ #### 🔄 Return<a id="🔄-return"></a>
2356
+
2357
+ [`AccountOrderRecord`](./snaptrade_client/type/account_order_record.py)
2358
+
2359
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2360
+
2361
+ `/trade/{tradeId}` `post`
2362
+
2363
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2364
+
2365
+ ---
2366
+
2367
+ ### `snaptrade.trading.preview_crypto_order`<a id="snaptradetradingpreview_crypto_order"></a>
2368
+
2369
+ Previews an order using the specified account.
2370
+
2371
+
2372
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2373
+
2374
+ ```python
2375
+ preview_crypto_order_response = snaptrade.trading.preview_crypto_order(
2376
+ instrument={
2377
+ "symbol": "BTC",
2378
+ "type": "CRYPTOCURRENCY",
2379
+ },
2380
+ side="BUY",
2381
+ type="MARKET",
2382
+ time_in_force="GTC",
2383
+ amount="123.45",
2384
+ user_id="snaptrade-user-123",
2385
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2386
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
2387
+ limit_price="123.45",
2388
+ stop_price="123.45",
2389
+ post_only=False,
2390
+ expiration_date="2024-01-01T00:00:00Z",
2391
+ )
2392
+ ```
2393
+
2394
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2395
+
2396
+ ##### instrument: [`CryptoTradingInstrument`](./snaptrade_client/type/crypto_trading_instrument.py)<a id="instrument-cryptotradinginstrumentsnaptrade_clienttypecrypto_trading_instrumentpy"></a>
2397
+
2398
+
2399
+ ##### side: [`ActionStrict`](./snaptrade_client/type/action_strict.py)<a id="side-actionstrictsnaptrade_clienttypeaction_strictpy"></a>
2400
+
2401
+ ##### type: `str`<a id="type-str"></a>
2402
+
2403
+ The type of order to place.
2404
+
2405
+ ##### time_in_force: `str`<a id="time_in_force-str"></a>
2406
+
2407
+ The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order must be executed immediately. Any portion of the order that cannot be filled immediately will be canceled. - `GTD` - Good Til Date. The order is valid until the specified date.
2408
+
2409
+ ##### amount: `str`<a id="amount-str"></a>
2410
+
2411
+ The amount of the base currency to buy or sell.
2412
+
2413
+ ##### user_id: `str`<a id="user_id-str"></a>
2414
+
2415
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2416
+
2417
+ ##### account_id: `str`<a id="account_id-str"></a>
2418
+
2419
+ ##### limit_price: `str`<a id="limit_price-str"></a>
2420
+
2421
+ The limit price. Required if the order type is LIMIT, STOP_LOSS_LIMIT or TAKE_PROFIT_LIMIT.
2422
+
2423
+ ##### stop_price: `str`<a id="stop_price-str"></a>
2424
+
2425
+ The stop price. Required if the order type is STOP_LOSS_MARKET, STOP_LOSS_LIMIT, TAKE_PROFIT_MARKET or TAKE_PROFIT_LIMIT.
2426
+
2427
+ ##### post_only: `bool`<a id="post_only-bool"></a>
2428
+
2429
+ Valid and required only for order type LIMIT. If true orders that would be filled immediately are rejected to avoid incurring TAKER fees.
2430
+
2431
+ ##### expiration_date: `datetime`<a id="expiration_date-datetime"></a>
2432
+
2433
+ The expiration date of the order. Required if the time_in_force is GTD.
2434
+
2435
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
2436
+
2437
+ [`CryptoOrderForm`](./snaptrade_client/type/crypto_order_form.py)
2438
+ #### 🔄 Return<a id="🔄-return"></a>
2439
+
2440
+ [`CryptoOrderPreview`](./snaptrade_client/type/crypto_order_preview.py)
2441
+
2442
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2443
+
2444
+ `/accounts/{accountId}/trading/crypto/preview` `post`
2445
+
2446
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2447
+
2448
+ ---
2449
+
2450
+ ### `snaptrade.trading.replace_order`<a id="snaptradetradingreplace_order"></a>
2451
+
2452
+ Replaces an existing pending order with a new one. The way this works is brokerage dependent, but usually involves cancelling
2453
+ the existing order and placing a new one. The order's brokerage_order_id may or may not change, be sure to use the one
2454
+ returned in the response going forward. Only supported on some brokerages
2455
+
2456
+
2457
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2458
+
2459
+ ```python
2460
+ replace_order_response = snaptrade.trading.replace_order(
2461
+ brokerage_order_id="66a033fa-da74-4fcf-b527-feefdec9257e",
2462
+ action="BUY",
2463
+ order_type="Market",
2464
+ time_in_force="Day",
2465
+ account_id="2bcd7cc3-e922-4976-bce1-9858296801c3",
2466
+ user_id="snaptrade-user-123",
2467
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2468
+ price=31.33,
2469
+ symbol="AAPL",
2470
+ stop=31.33,
2471
+ units=10.5,
2472
+ )
2473
+ ```
2474
+
2475
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2476
+
2477
+ ##### brokerage_order_id: `str`<a id="brokerage_order_id-str"></a>
2478
+
2479
+ Order ID returned by brokerage. This is the unique identifier for the order in the brokerage system.
2480
+
2481
+ ##### action: [`ActionStrict`](./snaptrade_client/type/action_strict.py)<a id="action-actionstrictsnaptrade_clienttypeaction_strictpy"></a>
2482
+
2483
+ ##### order_type: [`OrderTypeStrict`](./snaptrade_client/type/order_type_strict.py)<a id="order_type-ordertypestrictsnaptrade_clienttypeorder_type_strictpy"></a>
2484
+
2485
+ ##### time_in_force: [`TimeInForceStrict`](./snaptrade_client/type/time_in_force_strict.py)<a id="time_in_force-timeinforcestrictsnaptrade_clienttypetime_in_force_strictpy"></a>
2486
+
2487
+ ##### account_id: `str`<a id="account_id-str"></a>
2488
+
2489
+ The ID of the account to execute the trade on.
2490
+
2491
+ ##### user_id: `str`<a id="user_id-str"></a>
2492
+
2493
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2494
+
2495
+ ##### price: `Optional[Union[int, float]]`<a id="price-optionalunionint-float"></a>
2496
+
2497
+ The limit price for `Limit` and `StopLimit` orders.
2498
+
2499
+ ##### symbol: `str`<a id="symbol-str"></a>
2500
+
2501
+ The security's trading ticker symbol
2502
+
2503
+ ##### stop: `Optional[Union[int, float]]`<a id="stop-optionalunionint-float"></a>
2504
+
2505
+ The price at which a stop order is triggered for `Stop` and `StopLimit` orders.
2506
+
2507
+ ##### units: [`UnitsNullable`](./snaptrade_client/type/units_nullable.py)<a id="units-unitsnullablesnaptrade_clienttypeunits_nullablepy"></a>
2508
+
2509
+ #### ⚙️ Request Body<a id="⚙️-request-body"></a>
2510
+
2511
+ [`ManualTradeReplaceForm`](./snaptrade_client/type/manual_trade_replace_form.py)
2512
+ #### 🔄 Return<a id="🔄-return"></a>
2513
+
2514
+ [`AccountOrderRecord`](./snaptrade_client/type/account_order_record.py)
2515
+
2516
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2517
+
2518
+ `/accounts/{accountId}/trading/replace` `post`
2519
+
2520
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2521
+
2522
+ ---
2523
+
2524
+ ### `snaptrade.trading.search_cryptocurrency_pair_instruments`<a id="snaptradetradingsearch_cryptocurrency_pair_instruments"></a>
2525
+
2526
+ Searches cryptocurrency pairs instruments accessible to the specified account. Both `base` and `quote` are optional. Omit both for a full list of cryptocurrency pairs.
2527
+
2528
+
2529
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2530
+
2531
+ ```python
2532
+ search_cryptocurrency_pair_instruments_response = (
2533
+ snaptrade.trading.search_cryptocurrency_pair_instruments(
2534
+ user_id="snaptrade-user-123",
2535
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2536
+ account_id="917c8734-8470-4a3e-a18f-57c3f2ee6631",
2537
+ base="BTC",
2538
+ quote="USD",
2539
+ )
2540
+ )
2541
+ ```
2542
+
2543
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2544
+
2545
+ ##### user_id: `str`<a id="user_id-str"></a>
2546
+
2547
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2548
+
2549
+ ##### account_id: `str`<a id="account_id-str"></a>
2550
+
2551
+ ##### base: `str`<a id="base-str"></a>
2552
+
2553
+ ##### quote: `str`<a id="quote-str"></a>
2554
+
2555
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2556
+
2557
+ `/accounts/{accountId}/trading/instruments/cryptocurrencyPairs` `get`
2558
+
2559
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2560
+
2561
+ ---
2562
+
2563
+ ### `snaptrade.transactions_and_reporting.get_activities`<a id="snaptradetransactions_and_reportingget_activities"></a>
2564
+ ![Deprecated](https://img.shields.io/badge/deprecated-yellow)
2565
+
2566
+ This endpoint is being deprecated but will continue to be available for use via SDKs, please use [the account level endpoint](/reference/Account%20Information/AccountInformation_getAccountActivities) if possible
2567
+
2568
+ Returns all historical transactions for the specified user and filtering criteria. It's recommended to use `startDate` and `endDate` to paginate through the data, as the response may be very large for accounts with a long history and/or a lot of activity. There's a max number of 10000 transactions returned per request.
2569
+
2570
+ There is no guarantee to the ordering of the transactions returned. Please sort the transactions based on the `trade_date` field if you need them in a specific order.
2571
+
2572
+ The data returned here is always cached and refreshed once a day.
2573
+
2574
+
2575
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2576
+
2577
+ ```python
2578
+ get_activities_response = snaptrade.transactions_and_reporting.get_activities(
2579
+ user_id="snaptrade-user-123",
2580
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2581
+ start_date="2022-01-24",
2582
+ end_date="2022-01-24",
2583
+ accounts="917c8734-8470-4a3e-a18f-57c3f2ee6631,65e839a3-9103-4cfb-9b72-2071ef80c5f2",
2584
+ brokerage_authorizations="917c8734-8470-4a3e-a18f-57c3f2ee6631,65e839a3-9103-4cfb-9b72-2071ef80c5f2",
2585
+ type="BUY,SELL,DIVIDEND",
2586
+ )
2587
+ ```
2588
+
2589
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2590
+
2591
+ ##### user_id: `str`<a id="user_id-str"></a>
2592
+
2593
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2594
+
2595
+ ##### start_date: `date`<a id="start_date-date"></a>
2596
+
2597
+ The start date (inclusive) of the transaction history to retrieve. If not provided, the default is the first transaction known to SnapTrade based on `trade_date`.
2598
+
2599
+ ##### end_date: `date`<a id="end_date-date"></a>
2600
+
2601
+ The end date (inclusive) of the transaction history to retrieve. If not provided, the default is the last transaction known to SnapTrade based on `trade_date`.
2602
+
2603
+ ##### accounts: `str`<a id="accounts-str"></a>
2604
+
2605
+ Optional comma separated list of SnapTrade Account IDs used to filter the request to specific accounts. If not provided, the default is all known brokerage accounts for the user. The `brokerageAuthorizations` parameter takes precedence over this parameter.
2606
+
2607
+ ##### brokerage_authorizations: `str`<a id="brokerage_authorizations-str"></a>
2608
+
2609
+ Optional comma separated list of SnapTrade Connection (Brokerage Authorization) IDs used to filter the request to only accounts that belong to those connections. If not provided, the default is all connections for the user. This parameter takes precedence over the `accounts` parameter.
2610
+
2611
+ ##### type: `str`<a id="type-str"></a>
2612
+
2613
+ Optional comma separated list of transaction types to filter by. SnapTrade does a best effort to categorize brokerage transaction types into a common set of values. Here are some of the most popular values: - `BUY` - Asset bought. - `SELL` - Asset sold. - `DIVIDEND` - Dividend payout. - `CONTRIBUTION` - Cash contribution. - `WITHDRAWAL` - Cash withdrawal. - `REI` - Dividend reinvestment. - `INTEREST` - Interest deposited into the account. - `FEE` - Fee withdrawn from the account. - `OPTIONEXPIRATION` - Option expiration event. - `OPTIONASSIGNMENT` - Option assignment event. - `OPTIONEXERCISE` - Option exercise event. - `TRANSFER` - Transfer of assets from one account to another
2614
+
2615
+ #### 🔄 Return<a id="🔄-return"></a>
2616
+
2617
+ [`UniversalActivity`](./snaptrade_client/type/universal_activity.py)
2618
+
2619
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2620
+
2621
+ `/activities` `get`
2622
+
2623
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2624
+
2625
+ ---
2626
+
2627
+ ### `snaptrade.transactions_and_reporting.get_reporting_custom_range`<a id="snaptradetransactions_and_reportingget_reporting_custom_range"></a>
2628
+ ![Deprecated](https://img.shields.io/badge/deprecated-yellow)
2629
+
2630
+ Returns performance information (contributions, dividends, rate of return, etc) for a specific timeframe. Please note that Total Equity Timeframe and Rate of Returns are experimental features. Please contact support@snaptrade.com if you notice any inconsistencies.
2631
+
2632
+ #### 🛠️ Usage<a id="🛠️-usage"></a>
2633
+
2634
+ ```python
2635
+ get_reporting_custom_range_response = snaptrade.transactions_and_reporting.get_reporting_custom_range(
2636
+ start_date="2022-01-24",
2637
+ end_date="2022-01-24",
2638
+ user_id="snaptrade-user-123",
2639
+ user_secret="adf2aa34-8219-40f7-a6b3-60156985cc61",
2640
+ accounts="917c8734-8470-4a3e-a18f-57c3f2ee6631,65e839a3-9103-4cfb-9b72-2071ef80c5f2",
2641
+ detailed=True,
2642
+ frequency="monthly",
2643
+ )
2644
+ ```
2645
+
2646
+ #### ⚙️ Parameters<a id="⚙️-parameters"></a>
2647
+
2648
+ ##### start_date: `date`<a id="start_date-date"></a>
2649
+
2650
+ ##### end_date: `date`<a id="end_date-date"></a>
2651
+
2652
+ ##### user_id: `str`<a id="user_id-str"></a>
2653
+
2654
+ ##### user_secret: `str`<a id="user_secret-str"></a>
2655
+
2656
+ ##### accounts: `str`<a id="accounts-str"></a>
2657
+
2658
+ Optional comma separated list of account IDs used to filter the request on specific accounts
2659
+
2660
+ ##### detailed: `bool`<a id="detailed-bool"></a>
2661
+
2662
+ Optional, increases frequency of data points for the total value and contribution charts if set to true
2663
+
2664
+ ##### frequency: `str`<a id="frequency-str"></a>
2665
+
2666
+ Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.
2667
+
2668
+ #### 🔄 Return<a id="🔄-return"></a>
2669
+
2670
+ [`PerformanceCustom`](./snaptrade_client/type/performance_custom.py)
2671
+
2672
+ #### 🌐 Endpoint<a id="🌐-endpoint"></a>
2673
+
2674
+ `/performance/custom` `get`
2675
+
2676
+ [🔙 **Back to Table of Contents**](#table-of-contents)
2677
+
2678
+ ---
2679
+
2680
+
2681
+ ## Author<a id="author"></a>
2682
+ This Python package is automatically generated by [Konfig](https://konfigthis.com)
2683
+