snaptrade-typescript-sdk 9.0.199 → 10.0.1

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 (427) hide show
  1. package/README.md +42 -2
  2. package/dist/chunk-e9Ob2GDo.mjs +26 -0
  3. package/dist/index.cjs +6594 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +1 -0
  6. package/dist/index.d.mts +10422 -0
  7. package/dist/index.d.ts +1 -5
  8. package/dist/index.mjs +6527 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/package.json +27 -13
  11. package/dist/api/account-information-api-generated.d.ts +0 -950
  12. package/dist/api/account-information-api-generated.js +0 -1372
  13. package/dist/api/account-information-api.d.ts +0 -4
  14. package/dist/api/account-information-api.js +0 -22
  15. package/dist/api/api-status-api-generated.d.ts +0 -59
  16. package/dist/api/api-status-api-generated.js +0 -133
  17. package/dist/api/api-status-api.d.ts +0 -4
  18. package/dist/api/api-status-api.js +0 -22
  19. package/dist/api/authentication-api-generated.d.ts +0 -241
  20. package/dist/api/authentication-api-generated.js +0 -482
  21. package/dist/api/authentication-api.d.ts +0 -4
  22. package/dist/api/authentication-api.js +0 -22
  23. package/dist/api/connections-api-generated.d.ts +0 -576
  24. package/dist/api/connections-api-generated.js +0 -868
  25. package/dist/api/connections-api.d.ts +0 -4
  26. package/dist/api/connections-api.js +0 -22
  27. package/dist/api/options-api-generated.d.ts +0 -90
  28. package/dist/api/options-api-generated.js +0 -158
  29. package/dist/api/options-api.d.ts +0 -4
  30. package/dist/api/options-api.js +0 -22
  31. package/dist/api/reference-data-api-generated.d.ts +0 -497
  32. package/dist/api/reference-data-api-generated.js +0 -973
  33. package/dist/api/reference-data-api.d.ts +0 -4
  34. package/dist/api/reference-data-api.js +0 -22
  35. package/dist/api/trading-api-generated.d.ts +0 -1054
  36. package/dist/api/trading-api-generated.js +0 -1684
  37. package/dist/api/trading-api.d.ts +0 -4
  38. package/dist/api/trading-api.js +0 -22
  39. package/dist/api/transactions-and-reporting-api-generated.d.ts +0 -215
  40. package/dist/api/transactions-and-reporting-api-generated.js +0 -299
  41. package/dist/api/transactions-and-reporting-api.d.ts +0 -4
  42. package/dist/api/transactions-and-reporting-api.js +0 -22
  43. package/dist/api.d.ts +0 -8
  44. package/dist/api.js +0 -36
  45. package/dist/base.d.ts +0 -44
  46. package/dist/base.js +0 -60
  47. package/dist/browser.js +0 -2
  48. package/dist/browser.js.LICENSE.txt +0 -1
  49. package/dist/client-custom.d.ts +0 -4
  50. package/dist/client-custom.js +0 -7
  51. package/dist/client.d.ts +0 -14
  52. package/dist/client.js +0 -31
  53. package/dist/common.d.ts +0 -61
  54. package/dist/common.js +0 -220
  55. package/dist/configuration.d.ts +0 -98
  56. package/dist/configuration.js +0 -53
  57. package/dist/error.d.ts +0 -46
  58. package/dist/error.js +0 -105
  59. package/dist/index.js +0 -33
  60. package/dist/jest.config.d.ts +0 -3
  61. package/dist/jest.config.js +0 -13
  62. package/dist/mock.test.d.ts +0 -1
  63. package/dist/mock.test.js +0 -29
  64. package/dist/models/account-balance-total.d.ts +0 -19
  65. package/dist/models/account-balance-total.js +0 -2
  66. package/dist/models/account-balance.d.ts +0 -14
  67. package/dist/models/account-balance.js +0 -2
  68. package/dist/models/account-holdings-account.d.ts +0 -51
  69. package/dist/models/account-holdings-account.js +0 -2
  70. package/dist/models/account-holdings.d.ts +0 -37
  71. package/dist/models/account-holdings.js +0 -2
  72. package/dist/models/account-information-get-user-account-order-detail-request.d.ts +0 -13
  73. package/dist/models/account-information-get-user-account-order-detail-request.js +0 -2
  74. package/dist/models/account-order-record-child-brokerage-order-ids.d.ts +0 -19
  75. package/dist/models/account-order-record-child-brokerage-order-ids.js +0 -2
  76. package/dist/models/account-order-record-leg-instrument.d.ts +0 -38
  77. package/dist/models/account-order-record-leg-instrument.js +0 -2
  78. package/dist/models/account-order-record-leg.d.ts +0 -58
  79. package/dist/models/account-order-record-leg.js +0 -2
  80. package/dist/models/account-order-record-option-symbol.d.ts +0 -52
  81. package/dist/models/account-order-record-option-symbol.js +0 -2
  82. package/dist/models/account-order-record-quote-currency.d.ts +0 -25
  83. package/dist/models/account-order-record-quote-currency.js +0 -2
  84. package/dist/models/account-order-record-quote-universal-symbol.d.ts +0 -73
  85. package/dist/models/account-order-record-quote-universal-symbol.js +0 -2
  86. package/dist/models/account-order-record-status-v2.d.ts +0 -6
  87. package/dist/models/account-order-record-status-v2.js +0 -2
  88. package/dist/models/account-order-record-status.d.ts +0 -6
  89. package/dist/models/account-order-record-status.js +0 -2
  90. package/dist/models/account-order-record-trailing-stop.d.ts +0 -21
  91. package/dist/models/account-order-record-trailing-stop.js +0 -2
  92. package/dist/models/account-order-record-universal-symbol.d.ts +0 -73
  93. package/dist/models/account-order-record-universal-symbol.js +0 -2
  94. package/dist/models/account-order-record-v2.d.ts +0 -97
  95. package/dist/models/account-order-record-v2.js +0 -2
  96. package/dist/models/account-order-record.d.ts +0 -168
  97. package/dist/models/account-order-record.js +0 -2
  98. package/dist/models/account-orders-v2-response.d.ts +0 -15
  99. package/dist/models/account-orders-v2-response.js +0 -2
  100. package/dist/models/account-position.d.ts +0 -52
  101. package/dist/models/account-position.js +0 -2
  102. package/dist/models/account-simple.d.ts +0 -39
  103. package/dist/models/account-simple.js +0 -2
  104. package/dist/models/account-sync-status.d.ts +0 -21
  105. package/dist/models/account-sync-status.js +0 -2
  106. package/dist/models/account-universal-activity-currency.d.ts +0 -25
  107. package/dist/models/account-universal-activity-currency.js +0 -2
  108. package/dist/models/account-universal-activity-option-symbol.d.ts +0 -52
  109. package/dist/models/account-universal-activity-option-symbol.js +0 -2
  110. package/dist/models/account-universal-activity-symbol.d.ts +0 -65
  111. package/dist/models/account-universal-activity-symbol.js +0 -2
  112. package/dist/models/account-universal-activity.d.ts +0 -107
  113. package/dist/models/account-universal-activity.js +0 -2
  114. package/dist/models/account-value-history-item.d.ts +0 -20
  115. package/dist/models/account-value-history-item.js +0 -2
  116. package/dist/models/account-value-history-response.d.ts +0 -21
  117. package/dist/models/account-value-history-response.js +0 -2
  118. package/dist/models/account.d.ts +0 -126
  119. package/dist/models/account.js +0 -2
  120. package/dist/models/action-strict-with-options.d.ts +0 -6
  121. package/dist/models/action-strict-with-options.js +0 -2
  122. package/dist/models/action-strict.d.ts +0 -6
  123. package/dist/models/action-strict.js +0 -2
  124. package/dist/models/adr-instrument.d.ts +0 -59
  125. package/dist/models/adr-instrument.js +0 -2
  126. package/dist/models/all-account-positions-response.d.ts +0 -15
  127. package/dist/models/all-account-positions-response.js +0 -2
  128. package/dist/models/authentication-login-snap-trade-user200-response.d.ts +0 -7
  129. package/dist/models/authentication-login-snap-trade-user200-response.js +0 -2
  130. package/dist/models/balance-currency.d.ts +0 -25
  131. package/dist/models/balance-currency.js +0 -2
  132. package/dist/models/balance.d.ts +0 -27
  133. package/dist/models/balance.js +0 -2
  134. package/dist/models/brokerage-authorization-disabled-confirmation.d.ts +0 -14
  135. package/dist/models/brokerage-authorization-disabled-confirmation.js +0 -2
  136. package/dist/models/brokerage-authorization-refresh-confirmation.d.ts +0 -14
  137. package/dist/models/brokerage-authorization-refresh-confirmation.js +0 -2
  138. package/dist/models/brokerage-authorization-transactions-sync-confirmation.d.ts +0 -14
  139. package/dist/models/brokerage-authorization-transactions-sync-confirmation.js +0 -2
  140. package/dist/models/brokerage-authorization-type-read-only-brokerage.d.ts +0 -26
  141. package/dist/models/brokerage-authorization-type-read-only-brokerage.js +0 -2
  142. package/dist/models/brokerage-authorization-type-read-only.d.ts +0 -36
  143. package/dist/models/brokerage-authorization-type-read-only.js +0 -2
  144. package/dist/models/brokerage-authorization.d.ts +0 -73
  145. package/dist/models/brokerage-authorization.js +0 -2
  146. package/dist/models/brokerage-instrument.d.ts +0 -38
  147. package/dist/models/brokerage-instrument.js +0 -2
  148. package/dist/models/brokerage-instruments-response.d.ts +0 -15
  149. package/dist/models/brokerage-instruments-response.js +0 -2
  150. package/dist/models/brokerage-type.d.ts +0 -20
  151. package/dist/models/brokerage-type.js +0 -2
  152. package/dist/models/brokerage.d.ts +0 -122
  153. package/dist/models/brokerage.js +0 -2
  154. package/dist/models/cancel-order-response.d.ts +0 -22
  155. package/dist/models/cancel-order-response.js +0 -2
  156. package/dist/models/cef-instrument.d.ts +0 -59
  157. package/dist/models/cef-instrument.js +0 -2
  158. package/dist/models/child-brokerage-order-ids.d.ts +0 -20
  159. package/dist/models/child-brokerage-order-ids.js +0 -2
  160. package/dist/models/complex-order-leg.d.ts +0 -62
  161. package/dist/models/complex-order-leg.js +0 -2
  162. package/dist/models/complex-order-response.d.ts +0 -22
  163. package/dist/models/complex-order-response.js +0 -2
  164. package/dist/models/connections-session-events200-response-inner.d.ts +0 -6
  165. package/dist/models/connections-session-events200-response-inner.js +0 -2
  166. package/dist/models/crypto-instrument.d.ts +0 -59
  167. package/dist/models/crypto-instrument.js +0 -2
  168. package/dist/models/crypto-order-form.d.ts +0 -66
  169. package/dist/models/crypto-order-form.js +0 -2
  170. package/dist/models/crypto-order-preview-estimated-fee.d.ts +0 -20
  171. package/dist/models/crypto-order-preview-estimated-fee.js +0 -2
  172. package/dist/models/crypto-order-preview.d.ts +0 -15
  173. package/dist/models/crypto-order-preview.js +0 -2
  174. package/dist/models/crypto-trading-instrument.d.ts +0 -22
  175. package/dist/models/crypto-trading-instrument.js +0 -2
  176. package/dist/models/cryptocurrency-pair-quote.d.ts +0 -32
  177. package/dist/models/cryptocurrency-pair-quote.js +0 -2
  178. package/dist/models/cryptocurrency-pair.d.ts +0 -32
  179. package/dist/models/cryptocurrency-pair.js +0 -2
  180. package/dist/models/currency.d.ts +0 -26
  181. package/dist/models/currency.js +0 -2
  182. package/dist/models/delete-connection-confirmation.d.ts +0 -20
  183. package/dist/models/delete-connection-confirmation.js +0 -2
  184. package/dist/models/delete-user-response.d.ts +0 -26
  185. package/dist/models/delete-user-response.js +0 -2
  186. package/dist/models/dividend-at-date.d.ts +0 -26
  187. package/dist/models/dividend-at-date.js +0 -2
  188. package/dist/models/encrypted-response-encrypted-message-data.d.ts +0 -26
  189. package/dist/models/encrypted-response-encrypted-message-data.js +0 -2
  190. package/dist/models/encrypted-response.d.ts +0 -20
  191. package/dist/models/encrypted-response.js +0 -2
  192. package/dist/models/etf-instrument.d.ts +0 -59
  193. package/dist/models/etf-instrument.js +0 -2
  194. package/dist/models/exchange-rate-pairs.d.ts +0 -27
  195. package/dist/models/exchange-rate-pairs.js +0 -2
  196. package/dist/models/exchange.d.ts +0 -56
  197. package/dist/models/exchange.js +0 -2
  198. package/dist/models/figi-instrument.d.ts +0 -20
  199. package/dist/models/figi-instrument.js +0 -2
  200. package/dist/models/future-instrument.d.ts +0 -64
  201. package/dist/models/future-instrument.js +0 -2
  202. package/dist/models/holdings-status.d.ts +0 -19
  203. package/dist/models/holdings-status.js +0 -2
  204. package/dist/models/index.d.ts +0 -173
  205. package/dist/models/index.js +0 -189
  206. package/dist/models/instrument.d.ts +0 -33
  207. package/dist/models/instrument.js +0 -2
  208. package/dist/models/login-redirect-uri.d.ts +0 -19
  209. package/dist/models/login-redirect-uri.js +0 -2
  210. package/dist/models/manual-trade-and-impact.d.ts +0 -29
  211. package/dist/models/manual-trade-and-impact.js +0 -2
  212. package/dist/models/manual-trade-balance.d.ts +0 -28
  213. package/dist/models/manual-trade-balance.js +0 -2
  214. package/dist/models/manual-trade-form-bracket.d.ts +0 -67
  215. package/dist/models/manual-trade-form-bracket.js +0 -2
  216. package/dist/models/manual-trade-form-complex.d.ts +0 -28
  217. package/dist/models/manual-trade-form-complex.js +0 -2
  218. package/dist/models/manual-trade-form-notional-value.d.ts +0 -6
  219. package/dist/models/manual-trade-form-notional-value.js +0 -2
  220. package/dist/models/manual-trade-form-with-options.d.ts +0 -78
  221. package/dist/models/manual-trade-form-with-options.js +0 -2
  222. package/dist/models/manual-trade-form.d.ts +0 -65
  223. package/dist/models/manual-trade-form.js +0 -2
  224. package/dist/models/manual-trade-impact.d.ts +0 -38
  225. package/dist/models/manual-trade-impact.js +0 -2
  226. package/dist/models/manual-trade-replace-form.d.ts +0 -58
  227. package/dist/models/manual-trade-replace-form.js +0 -2
  228. package/dist/models/manual-trade-symbol.d.ts +0 -49
  229. package/dist/models/manual-trade-symbol.js +0 -2
  230. package/dist/models/manual-trade.d.ts +0 -60
  231. package/dist/models/manual-trade.js +0 -2
  232. package/dist/models/mleg-action-strict.d.ts +0 -6
  233. package/dist/models/mleg-action-strict.js +0 -2
  234. package/dist/models/mleg-instrument-type.d.ts +0 -6
  235. package/dist/models/mleg-instrument-type.js +0 -2
  236. package/dist/models/mleg-leg.d.ts +0 -28
  237. package/dist/models/mleg-leg.js +0 -2
  238. package/dist/models/mleg-order-response.d.ts +0 -21
  239. package/dist/models/mleg-order-response.js +0 -2
  240. package/dist/models/mleg-order-type-strict.d.ts +0 -6
  241. package/dist/models/mleg-order-type-strict.js +0 -2
  242. package/dist/models/mleg-price-effect-strict.d.ts +0 -6
  243. package/dist/models/mleg-price-effect-strict.js +0 -2
  244. package/dist/models/mleg-trade-form.d.ts +0 -47
  245. package/dist/models/mleg-trade-form.js +0 -2
  246. package/dist/models/mleg-trading-instrument.d.ts +0 -21
  247. package/dist/models/mleg-trading-instrument.js +0 -2
  248. package/dist/models/model400-failed-request-response.d.ts +0 -20
  249. package/dist/models/model400-failed-request-response.js +0 -2
  250. package/dist/models/model401-failed-request-response.d.ts +0 -20
  251. package/dist/models/model401-failed-request-response.js +0 -2
  252. package/dist/models/model402-brokerage-auth-already-disabled-exception.d.ts +0 -20
  253. package/dist/models/model402-brokerage-auth-already-disabled-exception.js +0 -2
  254. package/dist/models/model402-brokerage-auth-disabled-response.d.ts +0 -20
  255. package/dist/models/model402-brokerage-auth-disabled-response.js +0 -2
  256. package/dist/models/model403-failed-request-response.d.ts +0 -20
  257. package/dist/models/model403-failed-request-response.js +0 -2
  258. package/dist/models/model403-feature-not-enabled-response.d.ts +0 -20
  259. package/dist/models/model403-feature-not-enabled-response.js +0 -2
  260. package/dist/models/model404-failed-request-response.d.ts +0 -20
  261. package/dist/models/model404-failed-request-response.js +0 -2
  262. package/dist/models/model425-failed-request-response.d.ts +0 -20
  263. package/dist/models/model425-failed-request-response.js +0 -2
  264. package/dist/models/model500-unexpected-exception-response.d.ts +0 -26
  265. package/dist/models/model500-unexpected-exception-response.js +0 -2
  266. package/dist/models/monthly-dividends.d.ts +0 -21
  267. package/dist/models/monthly-dividends.js +0 -2
  268. package/dist/models/mutual-fund-instrument.d.ts +0 -59
  269. package/dist/models/mutual-fund-instrument.js +0 -2
  270. package/dist/models/net-contributions.d.ts +0 -26
  271. package/dist/models/net-contributions.js +0 -2
  272. package/dist/models/net-dividend.d.ts +0 -27
  273. package/dist/models/net-dividend.js +0 -2
  274. package/dist/models/notional-value.d.ts +0 -6
  275. package/dist/models/notional-value.js +0 -2
  276. package/dist/models/option-brokerage-symbol.d.ts +0 -29
  277. package/dist/models/option-brokerage-symbol.js +0 -2
  278. package/dist/models/option-chain-inner-chain-per-root-inner-chain-per-strike-price-inner.d.ts +0 -26
  279. package/dist/models/option-chain-inner-chain-per-root-inner-chain-per-strike-price-inner.js +0 -2
  280. package/dist/models/option-chain-inner-chain-per-root-inner.d.ts +0 -27
  281. package/dist/models/option-chain-inner-chain-per-root-inner.js +0 -2
  282. package/dist/models/option-chain-inner.d.ts +0 -39
  283. package/dist/models/option-chain-inner.js +0 -2
  284. package/dist/models/option-impact.d.ts +0 -28
  285. package/dist/models/option-impact.js +0 -2
  286. package/dist/models/option-instrument.d.ts +0 -60
  287. package/dist/models/option-instrument.js +0 -2
  288. package/dist/models/option-leg.d.ts +0 -28
  289. package/dist/models/option-leg.js +0 -2
  290. package/dist/models/option-quote-greeks.d.ts +0 -32
  291. package/dist/models/option-quote-greeks.js +0 -2
  292. package/dist/models/option-quote.d.ts +0 -39
  293. package/dist/models/option-quote.js +0 -2
  294. package/dist/models/option-strategy-legs-inner.d.ts +0 -31
  295. package/dist/models/option-strategy-legs-inner.js +0 -2
  296. package/dist/models/option-strategy.d.ts +0 -40
  297. package/dist/models/option-strategy.js +0 -2
  298. package/dist/models/options-position-currency.d.ts +0 -25
  299. package/dist/models/options-position-currency.js +0 -2
  300. package/dist/models/options-position.d.ts +0 -41
  301. package/dist/models/options-position.js +0 -2
  302. package/dist/models/options-symbol.d.ts +0 -53
  303. package/dist/models/options-symbol.js +0 -2
  304. package/dist/models/order-type-strict.d.ts +0 -6
  305. package/dist/models/order-type-strict.js +0 -2
  306. package/dist/models/order-updated-response-order.d.ts +0 -167
  307. package/dist/models/order-updated-response-order.js +0 -2
  308. package/dist/models/order-updated-response.d.ts +0 -21
  309. package/dist/models/order-updated-response.js +0 -2
  310. package/dist/models/other-instrument.d.ts +0 -59
  311. package/dist/models/other-instrument.js +0 -2
  312. package/dist/models/paginated-universal-activity.d.ts +0 -22
  313. package/dist/models/paginated-universal-activity.js +0 -2
  314. package/dist/models/pagination-details.d.ts +0 -26
  315. package/dist/models/pagination-details.js +0 -2
  316. package/dist/models/partner-data.d.ts +0 -82
  317. package/dist/models/partner-data.js +0 -2
  318. package/dist/models/past-value.d.ts +0 -26
  319. package/dist/models/past-value.js +0 -2
  320. package/dist/models/performance-custom.d.ts +0 -127
  321. package/dist/models/performance-custom.js +0 -2
  322. package/dist/models/position-currency.d.ts +0 -25
  323. package/dist/models/position-currency.js +0 -2
  324. package/dist/models/position-symbol.d.ts +0 -50
  325. package/dist/models/position-symbol.js +0 -2
  326. package/dist/models/position.d.ts +0 -66
  327. package/dist/models/position.js +0 -2
  328. package/dist/models/rate-of-return-object.d.ts +0 -28
  329. package/dist/models/rate-of-return-object.js +0 -2
  330. package/dist/models/rate-of-return-response.d.ts +0 -15
  331. package/dist/models/rate-of-return-response.js +0 -2
  332. package/dist/models/recent-orders-response.d.ts +0 -15
  333. package/dist/models/recent-orders-response.js +0 -2
  334. package/dist/models/security-type.d.ts +0 -33
  335. package/dist/models/security-type.js +0 -2
  336. package/dist/models/session-event.d.ts +0 -52
  337. package/dist/models/session-event.js +0 -2
  338. package/dist/models/simple-order-form.d.ts +0 -67
  339. package/dist/models/simple-order-form.js +0 -2
  340. package/dist/models/snap-trade-holdings-account.d.ts +0 -60
  341. package/dist/models/snap-trade-holdings-account.js +0 -2
  342. package/dist/models/snap-trade-holdings-total-value.d.ts +0 -20
  343. package/dist/models/snap-trade-holdings-total-value.js +0 -2
  344. package/dist/models/snap-trade-login-user-request-body.d.ts +0 -58
  345. package/dist/models/snap-trade-login-user-request-body.js +0 -2
  346. package/dist/models/snap-trade-register-user-request-body.d.ts +0 -13
  347. package/dist/models/snap-trade-register-user-request-body.js +0 -2
  348. package/dist/models/status.d.ts +0 -26
  349. package/dist/models/status.js +0 -2
  350. package/dist/models/stock-instrument-figi-instrument.d.ts +0 -19
  351. package/dist/models/stock-instrument-figi-instrument.js +0 -2
  352. package/dist/models/stock-instrument.d.ts +0 -59
  353. package/dist/models/stock-instrument.js +0 -2
  354. package/dist/models/stop-loss.d.ts +0 -20
  355. package/dist/models/stop-loss.js +0 -2
  356. package/dist/models/strategy-order-record.d.ts +0 -77
  357. package/dist/models/strategy-order-record.js +0 -2
  358. package/dist/models/strategy-quotes-greek.d.ts +0 -38
  359. package/dist/models/strategy-quotes-greek.js +0 -2
  360. package/dist/models/strategy-quotes.d.ts +0 -46
  361. package/dist/models/strategy-quotes.js +0 -2
  362. package/dist/models/sub-period-return-rate.d.ts +0 -26
  363. package/dist/models/sub-period-return-rate.js +0 -2
  364. package/dist/models/symbol-currency.d.ts +0 -25
  365. package/dist/models/symbol-currency.js +0 -2
  366. package/dist/models/symbol-exchange.d.ts +0 -55
  367. package/dist/models/symbol-exchange.js +0 -2
  368. package/dist/models/symbol-query.d.ts +0 -13
  369. package/dist/models/symbol-query.js +0 -2
  370. package/dist/models/symbol.d.ts +0 -66
  371. package/dist/models/symbol.js +0 -2
  372. package/dist/models/symbols-quotes-inner.d.ts +0 -44
  373. package/dist/models/symbols-quotes-inner.js +0 -2
  374. package/dist/models/take-profit.d.ts +0 -14
  375. package/dist/models/take-profit.js +0 -2
  376. package/dist/models/tax-lot.d.ts +0 -50
  377. package/dist/models/tax-lot.js +0 -2
  378. package/dist/models/time-in-force-strict.d.ts +0 -6
  379. package/dist/models/time-in-force-strict.js +0 -2
  380. package/dist/models/trade-detection-cancel-subscription-response.d.ts +0 -14
  381. package/dist/models/trade-detection-cancel-subscription-response.js +0 -2
  382. package/dist/models/trade-detection-subscription.d.ts +0 -26
  383. package/dist/models/trade-detection-subscription.js +0 -2
  384. package/dist/models/trading-instrument.d.ts +0 -22
  385. package/dist/models/trading-instrument.js +0 -2
  386. package/dist/models/trading-search-cryptocurrency-pair-instruments200-response.d.ts +0 -15
  387. package/dist/models/trading-search-cryptocurrency-pair-instruments200-response.js +0 -2
  388. package/dist/models/trading-session.d.ts +0 -6
  389. package/dist/models/trading-session.js +0 -2
  390. package/dist/models/trailing-stop.d.ts +0 -22
  391. package/dist/models/trailing-stop.js +0 -2
  392. package/dist/models/transactions-status.d.ts +0 -25
  393. package/dist/models/transactions-status.js +0 -2
  394. package/dist/models/underlying-option-instrument.d.ts +0 -27
  395. package/dist/models/underlying-option-instrument.js +0 -2
  396. package/dist/models/underlying-symbol-exchange.d.ts +0 -61
  397. package/dist/models/underlying-symbol-exchange.js +0 -2
  398. package/dist/models/underlying-symbol-type.d.ts +0 -32
  399. package/dist/models/underlying-symbol-type.js +0 -2
  400. package/dist/models/underlying-symbol.d.ts +0 -74
  401. package/dist/models/underlying-symbol.js +0 -2
  402. package/dist/models/universal-activity.d.ts +0 -114
  403. package/dist/models/universal-activity.js +0 -2
  404. package/dist/models/universal-symbol.d.ts +0 -74
  405. package/dist/models/universal-symbol.js +0 -2
  406. package/dist/models/user-idand-secret.d.ts +0 -19
  407. package/dist/models/user-idand-secret.js +0 -2
  408. package/dist/models/usexchange.d.ts +0 -62
  409. package/dist/models/usexchange.js +0 -2
  410. package/dist/models/validated-trade-body.d.ts +0 -13
  411. package/dist/models/validated-trade-body.js +0 -2
  412. package/dist/operationParameterMap.d.ts +0 -8
  413. package/dist/operationParameterMap.js +0 -966
  414. package/dist/pagination/page-types.d.ts +0 -16
  415. package/dist/pagination/page-types.js +0 -12
  416. package/dist/pagination/page.d.ts +0 -25
  417. package/dist/pagination/page.js +0 -32
  418. package/dist/pagination/pageable.d.ts +0 -47
  419. package/dist/pagination/pageable.js +0 -70
  420. package/dist/pagination/paginate.d.ts +0 -6
  421. package/dist/pagination/paginate.js +0 -39
  422. package/dist/requestAfterHook.d.ts +0 -8
  423. package/dist/requestAfterHook.js +0 -82
  424. package/dist/requestBeforeHook.d.ts +0 -10
  425. package/dist/requestBeforeHook.js +0 -8
  426. package/dist/requestBeforeUrlHook.d.ts +0 -7
  427. package/dist/requestBeforeUrlHook.js +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../base.ts","../requestAfterHook.ts","../requestBeforeUrlHook.ts","../error.ts","../common.ts","../requestBeforeHook.ts","../api/account-information-api-generated.ts","../api/account-information-api.ts","../api/api-status-api-generated.ts","../api/api-status-api.ts","../api/authentication-api-generated.ts","../api/authentication-api.ts","../api/connections-api-generated.ts","../api/connections-api.ts","../api/options-api-generated.ts","../api/options-api.ts","../api/reference-data-api-generated.ts","../api/reference-data-api.ts","../api/trading-api-generated.ts","../api/trading-api.ts","../api/transactions-and-reporting-api-generated.ts","../api/transactions-and-reporting-api.ts","../configuration.ts","../client-custom.ts","../client.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\n\nexport const BASE_PATH = \"https://api.snaptrade.com/api/v1\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: AxiosRequestConfig;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","import * as crypto from \"crypto\";\nimport { RequestArgs } from \"./base\";\nimport { Configuration } from \"./configuration\";\n\n// Function to check if the code is running in a Node.js environment\nfunction isNodeEnvironment() {\n return (\n typeof process !== \"undefined\" && process.versions && process.versions.node\n );\n}\n\n// Compute HMAC SHA256\nasync function computeHmacSha256(\n message: string,\n key: string\n): Promise<string> {\n if (isNodeEnvironment()) {\n // Node.js environment\n const crypto = require(\"crypto\");\n const hmac = crypto.createHmac(\"sha256\", key);\n hmac.update(message);\n return hmac.digest(\"base64\"); // or return Buffer if you want raw bytes\n } else {\n // Browser environment\n const encoder = new TextEncoder();\n const keyBuffer = encoder.encode(key);\n const msgBuffer = encoder.encode(message);\n const cryptoKey = await globalThis.crypto.subtle.importKey(\n \"raw\",\n keyBuffer,\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n [\"sign\"]\n );\n const signature = await globalThis.crypto.subtle.sign(\n \"HMAC\",\n cryptoKey,\n msgBuffer\n );\n const byteArray = Array.from(new Uint8Array(signature));\n // Convert byte array to base64\n const base64 = btoa(String.fromCharCode.apply(null, byteArray));\n return base64;\n }\n}\n\nconst JSONstringifyOrder = (obj: any) => {\n var allKeys: any = [];\n var seen: any = {};\n JSON.stringify(obj, function (key, value) {\n if (!(key in seen)) {\n allKeys.push(key);\n seen[key] = null;\n }\n return value;\n });\n allKeys.sort();\n return JSON.stringify(obj, allKeys);\n};\n\nexport async function requestAfterHook(request: {\n axiosArgs: RequestArgs;\n basePath: string;\n url: string;\n configuration?: Configuration;\n}): Promise<void> {\n const { configuration, basePath, axiosArgs, url } = request;\n if (configuration?.consumerKey === undefined)\n throw Error(\"Consumer key is required\");\n const consumerKey = encodeURI(configuration.consumerKey);\n const requestData =\n axiosArgs.options.data === undefined || axiosArgs.options.data === \"{}\"\n ? null\n : JSON.parse(axiosArgs.options.data);\n const path =\n axiosArgs.url.indexOf(\"?\") === -1\n ? `${axiosArgs.url}`\n : `${axiosArgs.url.split(\"?\")[0]}`;\n const requestPath = `/api/v1${path}`;\n const requestQuery = url\n .replace(basePath, \"\")\n .replace(path, \"\")\n .replace(\"?\", \"\");\n const sigObject = {\n content: requestData,\n path: requestPath,\n query: requestQuery,\n };\n const sigContent = JSONstringifyOrder(sigObject);\n const signature = await computeHmacSha256(sigContent, consumerKey);\n\n if (axiosArgs.options.headers)\n axiosArgs.options.headers[\"Signature\"] = signature;\n}\n","import { RequestArgs } from \"./base\";\nimport { Configuration } from \"./configuration\";\n\nexport function requestBeforeUrlHook(request: {\n axiosArgs: RequestArgs;\n basePath: string;\n configuration?: Configuration;\n}): void {}\n","/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport type { AxiosError } from \"axios\";\n\n/**\n * This class provides a wrapper for network errors when making requests to SnapTrade\n */\nexport class SnaptradeError extends Error {\n /**\n * The response body\n */\n readonly responseBody: unknown;\n\n /**\n * The error code provided from the underlying \"axios\" library which can be\n * more descriptive than the HTTP status descriptions.\n */\n readonly code?: string;\n\n /**\n * The status code from the response.\n * For explanations, refer to https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n */\n readonly status?: number;\n\n /**\n * The status text from the response.\n * For explanations, refer to https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n */\n readonly statusText?: string;\n\n /**\n * The URL that the original request was sent to\n */\n readonly url?: string;\n\n /**\n * HTTP request method (see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)\n */\n readonly method?: string;\n\n constructor(axiosError: AxiosError, responseBody: unknown, headers: unknown) {\n const message = axiosError.message + \"\\nRESPONSE HEADERS:\\n\" + JSON.stringify(headers, null, 2);\n super(message);\n this.name = \"SnaptradeError\";\n this.code = axiosError.code;\n this.method = axiosError.config?.method?.toUpperCase();\n this.url = axiosError.config?.url;\n this.status = axiosError.response?.status;\n this.statusText = axiosError.response?.statusText;\n this.responseBody = responseBody;\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n method: this.method,\n url: this.url,\n code: this.code,\n status: this.status,\n statusText: this.statusText,\n responseBody: this.responseBody,\n };\n }\n}\n\nexport async function readableStreamToString(stream: ReadableStream) {\n // Step 1: Create a new TextDecoder\n const decoder = new TextDecoder();\n\n // Step 2: Create a new ReadableStreamDefaultReader\n const reader = stream.getReader();\n\n // Step 3: Initialize an empty string to hold the result\n let result = \"\";\n\n try {\n while (true) {\n // Step 4: Read data from the stream\n const { done, value } = await reader.read();\n\n // If there is no more data to read, break the loop\n if (done) break;\n\n // Convert the chunk of data to a string using the TextDecoder\n const chunk = decoder.decode(value, { stream: true });\n\n // Concatenate the chunk to the result\n result += chunk;\n }\n } finally {\n // Step 5: Release the ReadableStreamDefaultReader when done or in case of an error\n reader.releaseLock();\n }\n\n // Return the final result as a string\n return result;\n}\n\nexport function parseIfJson(input: unknown): object | unknown {\n if (typeof input !== \"string\") {\n // If the input is not a string, return the original input\n return input;\n }\n\n try {\n // Attempt to parse the input as JSON\n const parsedJSON = JSON.parse(input);\n\n // Check if the parsed result is an object (not an array or primitive value)\n if (typeof parsedJSON === \"object\" && parsedJSON !== null) {\n return parsedJSON;\n } else {\n // Return the original input if the parsed result is not an object\n return input;\n }\n } catch (error) {\n // Return the original input if parsing fails (invalid JSON)\n return input;\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport { Configuration } from \"./configuration\";\nimport { RequiredError, RequestArgs } from \"./base\";\nimport axios, { AxiosError, AxiosInstance, AxiosResponse } from 'axios';\nimport { requestAfterHook } from \"./requestAfterHook\";\nimport { requestBeforeUrlHook } from \"./requestBeforeUrlHook\";\nimport { readableStreamToString, SnaptradeError, parseIfJson } from \"./error\";\n\n/**\n *\n * @export\n */\nexport const DUMMY_BASE_URL = 'https://example.com'\n\n/**\n *\n * @throws {RequiredError}\n * @export\n */\nexport const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {\n if (paramValue === null || paramValue === undefined) {\n throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n }\n}\n\n/**\n *\n * @export\n */\nexport const setApiKeyToObject = async function ({\n object,\n key,\n type,\n keyParamName,\n configuration,\n prefix\n}: {\n object: any\n key?: string\n type?: \"Cookie\"\n keyParamName: string\n configuration?: Configuration\n prefix?: string\n}) {\n key = key ? key : keyParamName\n let apiKey: string | null | undefined = null\n if (configuration && configuration.apiKey) {\n if (typeof configuration.apiKey === 'function')\n apiKey = await configuration.apiKey(keyParamName)\n else if (typeof configuration.apiKey === 'string')\n apiKey = configuration.apiKey\n else if (typeof configuration.apiKey === 'object') {\n if (keyParamName in configuration.apiKey)\n apiKey = configuration.apiKey[keyParamName]\n } else\n throw Error(\n `Unexpected type ${typeof configuration.apiKey} for Configuration.apiKey`\n )\n }\n if (!apiKey) return\n object[key] = prefix !== undefined ? `${prefix}${apiKey}` : apiKey\n if (type === \"Cookie\")\n object[key] = `${keyParamName}=${object[key]}`\n}\n\n/**\n *\n * @export\n */\nexport const setBasicAuthToObject = function (object: any, configuration?: Configuration) {\n if (configuration && (configuration.username || configuration.password)) {\n object[\"auth\"] = { username: configuration.username, password: configuration.password };\n }\n}\n\n/**\n *\n * @export\n */\nexport const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const accessToken = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken()\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + accessToken;\n }\n}\n\nfunction setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = \"\"): void {\n if (typeof parameter === \"object\") {\n if (Array.isArray(parameter)) {\n (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));\n }\n else {\n Object.keys(parameter).forEach(currentKey =>\n setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)\n );\n }\n }\n else {\n if (urlSearchParams.has(key)) {\n urlSearchParams.append(key, parameter);\n }\n else {\n urlSearchParams.set(key, parameter);\n }\n }\n}\n\n/**\n *\n * @export\n */\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\n const searchParams = new URLSearchParams(url.search);\n setFlattenedQueryParams(searchParams, objects);\n url.search = searchParams.toString();\n}\n\n/**\n *\n * @export\n */\nexport const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {\n const nonString = typeof value !== 'string';\n const needsSerialization = nonString && configuration && configuration.isJsonMime\n ? configuration.isJsonMime(requestOptions.headers['Content-Type'])\n : nonString;\n return needsSerialization\n ? JSON.stringify(value !== undefined ? value : {})\n : (value || \"\");\n}\n\n/**\n *\n * @export\n */\nexport const toPathString = function (url: URL) {\n return removeTrailingSlash(url.pathname) + url.search + url.hash\n}\n\n/**\n * remove trailing slash from string\n */\nexport const removeTrailingSlash = function (url: string) {\n return url.replace(/\\/$/, \"\");\n}\n\n/**\n * Wrap an axios request in a try/catch block to catch network errors and parse the response body\n */\nasync function wrapAxiosRequest<R>(makeRequest: () => Promise<R>): Promise<R> {\n const maxAttempts = 3;\n let attempt = 0;\n let delay = 5000;\n while (attempt < maxAttempts) {\n try {\n return await makeRequest();\n } catch (e) {\n if (e instanceof AxiosError && e.isAxiosError) {\n if (e.response?.status == 429) {\n attempt++;\n console.log(`429 error encountered, retrying in ${delay / 1000} seconds...`);\n await new Promise(resolve => setTimeout(resolve, delay));\n delay *= 2;\n continue;\n }\n try {\n const responseBody =\n e.response?.data instanceof ReadableStream\n ? await readableStreamToString(e.response.data)\n : e.response?.data\n throw new SnaptradeError(e, parseIfJson(responseBody), e.response?.headers)\n } catch (innerError) {\n if (innerError instanceof ReferenceError) {\n // Got: \"ReferenceError: ReadableStream is not defined\"\n // This means we are in a Node environment so just throw the original error\n throw new SnaptradeError(e, e.response?.data, e.response?.headers)\n }\n if (innerError instanceof SnaptradeError) {\n // Got \"SnaptradeError\" from the above try block\n throw innerError;\n }\n // Something unexpected happened: propagate the error\n throw e\n }\n }\n throw e\n }\n }\n throw new Error(`Request failed after ${maxAttempts} retries due to 429 (rate limit) errors.`);\n}\n\n/**\n *\n * @export\n */\nexport const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {\n return async <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n requestBeforeUrlHook({axiosArgs, basePath, configuration})\n const url = (configuration?.basePath || basePath) + axiosArgs.url\n await requestAfterHook({axiosArgs, basePath, url, configuration})\n return wrapAxiosRequest(async () => await axios.request<T, R>({ ...axiosArgs.options, url }));\n };\n}\n\nexport function isBrowser() {\n return typeof window !== \"undefined\"\n}\n","import { Configuration } from \"./configuration\";\nimport { AxiosRequestConfig } from \"axios\";\n\nexport function requestBeforeHook(request: {\n requestBody?: any;\n queryParameters: Record<string, any>;\n path: string;\n requestConfig: AxiosRequestConfig;\n configuration?: Configuration;\n [key: string]: any;\n}): void {\n const { queryParameters } = request;\n queryParameters[\"timestamp\"] = Math.round(\n new Date().getTime() / 1000\n ).toString();\n}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { Account } from '../models';\n// @ts-ignore\nimport { AccountHoldings } from '../models';\n// @ts-ignore\nimport { AccountHoldingsAccount } from '../models';\n// @ts-ignore\nimport { AccountInformationGetUserAccountOrderDetailRequest } from '../models';\n// @ts-ignore\nimport { AccountOrderRecord } from '../models';\n// @ts-ignore\nimport { AccountValueHistoryResponse } from '../models';\n// @ts-ignore\nimport { AllAccountPositionsResponse } from '../models';\n// @ts-ignore\nimport { Balance } from '../models';\n// @ts-ignore\nimport { Model400FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model403FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model403FeatureNotEnabledResponse } from '../models';\n// @ts-ignore\nimport { Model404FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model425FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model500UnexpectedExceptionResponse } from '../models';\n// @ts-ignore\nimport { PaginatedUniversalActivity } from '../models';\n// @ts-ignore\nimport { Position } from '../models';\n// @ts-ignore\nimport { RateOfReturnResponse } from '../models';\n// @ts-ignore\nimport { RecentOrdersResponse } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * AccountInformationApi - axios parameter creator\n * @export\n */\nexport const AccountInformationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Returns all historical transactions for the specified account. 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. Transaction are returned in reverse chronological order, using the `trade_date` field. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. 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. \n * @summary List account activities\n * @param {string} accountId \n * @param {string} userId \n * @param {string} userSecret \n * @param {string | Date} [startDate] The start date (inclusive) of the transaction history to retrieve. If not provided, the default is the first transaction known to SnapTrade based on &#x60;trade_date&#x60;.\n * @param {string | Date} [endDate] The end date (inclusive) of the transaction history to retrieve. If not provided, the default is the last transaction known to SnapTrade based on &#x60;trade_date&#x60;.\n * @param {number} [offset] An integer that specifies the starting point of the paginated results. Default is 0.\n * @param {number} [limit] An integer that specifies the maximum number of transactions to return. Default of 1000.\n * @param {string} [type] 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: - &#x60;BUY&#x60; - Asset bought. - &#x60;SELL&#x60; - Asset sold. - &#x60;DIVIDEND&#x60; - Dividend payout. - &#x60;CONTRIBUTION&#x60; - Cash contribution. - &#x60;WITHDRAWAL&#x60; - Cash withdrawal. - &#x60;REI&#x60; - Dividend reinvestment. - &#x60;STOCK_DIVIDEND&#x60; - A type of dividend where a company distributes shares instead of cash - &#x60;INTEREST&#x60; - Interest deposited into the account. - &#x60;FEE&#x60; - Fee withdrawn from the account. - &#x60;TAX&#x60; - A tax related fee. - &#x60;OPTIONEXPIRATION&#x60; - Option expiration event. - &#x60;OPTIONASSIGNMENT&#x60; - Option assignment event. - &#x60;OPTIONEXERCISE&#x60; - Option exercise event. - &#x60;TRANSFER&#x60; - Transfer of assets from one account to another. - &#x60;SPLIT&#x60; - A stock share split. \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAccountActivities: async (accountId: string, userId: string, userSecret: string, startDate?: string | Date, endDate?: string | Date, offset?: number, limit?: number, type?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getAccountActivities', 'accountId', accountId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getAccountActivities', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getAccountActivities', 'userSecret', userSecret)\n const localVarPath = `/accounts/{accountId}/activities`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString().substr(0,10) :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString().substr(0,10) :\n endDate;\n }\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (type !== undefined) {\n localVarQueryParameter['type'] = type;\n }\n\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/activities',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * An experimental endpoint that returns estimated historical total account value for the specified account. Total account value is the sum of the market value of all positions and cash in the account at a given time. This endpoint is experimental, disabled by default, and has a maximum lookback of 1 year. \n * @summary List historical account total value\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAccountBalanceHistory: async (userId: string, userSecret: string, accountId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getAccountBalanceHistory', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getAccountBalanceHistory', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getAccountBalanceHistory', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/balanceHistory`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/balanceHistory',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of all positions in the specified account. The `results` list can contain multiple instrument types in the same response, including stocks, ADRs, ETFs, mutual funds, closed-end funds, crypto, futures, and option positions. Use the `instrument.kind` discriminator to determine the schema for each position\\'s `instrument`. `mutualfund` positions may also include `cash_equivalent`. `stock` positions may include `tax_lots` when tax lot data is enabled for the account. 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. \n * @summary List all account positions\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAllAccountPositions: async (userId: string, userSecret: string, accountId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getAllAccountPositions', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getAllAccountPositions', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getAllAccountPositions', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/positions/all`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/positions/all',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * **Deprecated, please use the account-specific holdings endpoint instead.** List all accounts for the user, plus balances, positions, and orders for each account. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary List all accounts for the user, plus balances, positions, and orders for each account.\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} [brokerageAuthorizations] Optional. Comma separated list of authorization IDs (only use if filtering is needed on one or more authorizations).\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getAllUserHoldings: async (userId: string, userSecret: string, brokerageAuthorizations?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getAllUserHoldings', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getAllUserHoldings', 'userSecret', userSecret)\n const localVarPath = `/holdings`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (brokerageAuthorizations !== undefined) {\n localVarQueryParameter['brokerage_authorizations'] = brokerageAuthorizations;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/holdings',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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). 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account balances\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountBalance: async (userId: string, userSecret: string, accountId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountBalance', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountBalance', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountBalance', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/balances`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/balances',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns account detail known to SnapTrade for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary Get account detail\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountDetails: async (userId: string, userSecret: string, accountId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountDetails', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountDetails', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountDetails', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns the detail of a single order using the external order ID provided in the request body. This endpoint only works for single-leg orders at this time. Support for multi-leg orders will be added in the future. This endpoint is always realtime and does not rely on cached data. This endpoint only returns orders placed through SnapTrade. In other words, orders placed outside of the SnapTrade network are not returned by this endpoint. \n * @summary Get account order detail\n * @param {string} accountId \n * @param {string} userId \n * @param {string} userSecret \n * @param {AccountInformationGetUserAccountOrderDetailRequest} accountInformationGetUserAccountOrderDetailRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountOrderDetail: async (accountId: string, userId: string, userSecret: string, accountInformationGetUserAccountOrderDetailRequest: AccountInformationGetUserAccountOrderDetailRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountOrderDetail', 'accountId', accountId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountOrderDetail', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountOrderDetail', 'userSecret', userSecret)\n // verify required parameter 'accountInformationGetUserAccountOrderDetailRequest' is not null or undefined\n assertParamExists('getUserAccountOrderDetail', 'accountInformationGetUserAccountOrderDetailRequest', accountInformationGetUserAccountOrderDetailRequest)\n const localVarPath = `/accounts/{accountId}/orders/details`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: accountInformationGetUserAccountOrderDetailRequest,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/orders/details',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(accountInformationGetUserAccountOrderDetailRequest, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of recent orders in the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account orders\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {'all' | 'open' | 'executed'} [state] defaults to \\&quot;all\\&quot;\n * @param {number} [days] Number of days in the past to fetch the most recent orders. Defaults to the last 30 days if no value is passed in. Values greater than 90 will be capped at 90.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountOrders: async (userId: string, userSecret: string, accountId: string, state?: 'all' | 'open' | 'executed', days?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountOrders', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountOrders', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountOrders', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/orders`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (state !== undefined) {\n localVarQueryParameter['state'] = state;\n }\n\n if (days !== undefined) {\n localVarQueryParameter['days'] = days;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/orders',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account positions\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountPositions: async (userId: string, userSecret: string, accountId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountPositions', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountPositions', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountPositions', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/positions`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/positions',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * A lightweight endpoint that returns the latest page of orders placed in the last 24 hours in the specified account. For most brokerages, the default page size is 100 meaning the endpoint will return a max of 100 orders. 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 Differs from /orders in that it is always realtime, and only checks the last 24 hours By default only returns executed orders, but that can be changed by setting *only_executed* to false \n * @summary List account recent orders (last 24 hours only)\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {boolean} [onlyExecuted] Defaults to true. Indicates if request should fetch only executed orders. Set to false to retrieve non executed orders as well\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountRecentOrders: async (userId: string, userSecret: string, accountId: string, onlyExecuted?: boolean, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountRecentOrders', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountRecentOrders', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountRecentOrders', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/recentOrders`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (onlyExecuted !== undefined) {\n localVarQueryParameter['only_executed'] = onlyExecuted;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/recentOrders',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of rate of return percents for a given account. \n * @summary List account rate of returns\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {string} [timeframes] Optional comma separated list of rate-of-return timeframes to return. Supported values are &#x60;ALL&#x60;, &#x60;1Y&#x60;, &#x60;YTD&#x60;, &#x60;1M&#x60;, &#x60;1W&#x60;, and &#x60;1D&#x60;. If omitted, SnapTrade returns all six supported timeframes.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountReturnRates: async (userId: string, userSecret: string, accountId: string, timeframes?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountReturnRates', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountReturnRates', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountReturnRates', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/returnRates`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (timeframes !== undefined) {\n localVarQueryParameter['timeframes'] = timeframes;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/returnRates',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * **Deprecated.** Use the finer-grained account data endpoints instead: [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getAllAccountPositions), and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders). Returns a list of balances, positions, and recent orders for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account holdings\n * @param {string} accountId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getUserHoldings: async (accountId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserHoldings', 'accountId', accountId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserHoldings', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserHoldings', 'userSecret', userSecret)\n const localVarPath = `/accounts/{accountId}/holdings`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/holdings',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * **Deprecated, please use the [list accounts for a connection endpoint](/reference/Connections/Connections_listBrokerageAuthorizationAccounts) instead.** Returns all brokerage accounts across all connections known to SnapTrade for the authenticated user. This endpoint returns Daily data regardless of the customer\\'s plan. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To get real-time data on Pay as you Go / Real-time, use the connection-scoped endpoint linked above. Customers on Pay as you Go / Daily can force a refresh with the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). \n * @summary List accounts\n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n listUserAccounts: async (userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('listUserAccounts', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('listUserAccounts', 'userSecret', userSecret)\n const localVarPath = `/accounts`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Updates various properties of a specified account.\n * @summary Update details of an investment account\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId The ID of the account to update.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateUserAccount: async (userId: string, userSecret: string, accountId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('updateUserAccount', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('updateUserAccount', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('updateUserAccount', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}',\n httpMethod: 'PUT'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountInformationApi - functional programming interface\n * @export\n */\nexport const AccountInformationApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = AccountInformationApiAxiosParamCreator(configuration)\n return {\n /**\n * Returns all historical transactions for the specified account. 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. Transaction are returned in reverse chronological order, using the `trade_date` field. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. 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. \n * @summary List account activities\n * @param {AccountInformationApiGetAccountActivitiesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAccountActivities(requestParameters: AccountInformationApiGetAccountActivitiesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedUniversalActivity>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountActivities(requestParameters.accountId, requestParameters.userId, requestParameters.userSecret, requestParameters.startDate, requestParameters.endDate, requestParameters.offset, requestParameters.limit, requestParameters.type, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * An experimental endpoint that returns estimated historical total account value for the specified account. Total account value is the sum of the market value of all positions and cash in the account at a given time. This endpoint is experimental, disabled by default, and has a maximum lookback of 1 year. \n * @summary List historical account total value\n * @param {AccountInformationApiGetAccountBalanceHistoryRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAccountBalanceHistory(requestParameters: AccountInformationApiGetAccountBalanceHistoryRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountValueHistoryResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountBalanceHistory(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of all positions in the specified account. The `results` list can contain multiple instrument types in the same response, including stocks, ADRs, ETFs, mutual funds, closed-end funds, crypto, futures, and option positions. Use the `instrument.kind` discriminator to determine the schema for each position\\'s `instrument`. `mutualfund` positions may also include `cash_equivalent`. `stock` positions may include `tax_lots` when tax lot data is enabled for the account. 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. \n * @summary List all account positions\n * @param {AccountInformationApiGetAllAccountPositionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAllAccountPositions(requestParameters: AccountInformationApiGetAllAccountPositionsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AllAccountPositionsResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAllAccountPositions(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * **Deprecated, please use the account-specific holdings endpoint instead.** List all accounts for the user, plus balances, positions, and orders for each account. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary List all accounts for the user, plus balances, positions, and orders for each account.\n * @param {AccountInformationApiGetAllUserHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n async getAllUserHoldings(requestParameters: AccountInformationApiGetAllUserHoldingsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<AccountHoldings>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAllUserHoldings(requestParameters.userId, requestParameters.userSecret, requestParameters.brokerageAuthorizations, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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). 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account balances\n * @param {AccountInformationApiGetUserAccountBalanceRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountBalance(requestParameters: AccountInformationApiGetUserAccountBalanceRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Balance>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountBalance(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns account detail known to SnapTrade for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary Get account detail\n * @param {AccountInformationApiGetUserAccountDetailsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountDetails(requestParameters: AccountInformationApiGetUserAccountDetailsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Account>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountDetails(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns the detail of a single order using the external order ID provided in the request body. This endpoint only works for single-leg orders at this time. Support for multi-leg orders will be added in the future. This endpoint is always realtime and does not rely on cached data. This endpoint only returns orders placed through SnapTrade. In other words, orders placed outside of the SnapTrade network are not returned by this endpoint. \n * @summary Get account order detail\n * @param {AccountInformationApiGetUserAccountOrderDetailRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountOrderDetail(requestParameters: AccountInformationApiGetUserAccountOrderDetailRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountOrderRecord>> {\n const accountInformationGetUserAccountOrderDetailRequest: AccountInformationGetUserAccountOrderDetailRequest = {\n brokerage_order_id: requestParameters.brokerage_order_id\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountOrderDetail(requestParameters.accountId, requestParameters.userId, requestParameters.userSecret, accountInformationGetUserAccountOrderDetailRequest, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of recent orders in the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account orders\n * @param {AccountInformationApiGetUserAccountOrdersRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountOrders(requestParameters: AccountInformationApiGetUserAccountOrdersRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<AccountOrderRecord>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountOrders(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, requestParameters.state, requestParameters.days, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account positions\n * @param {AccountInformationApiGetUserAccountPositionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountPositions(requestParameters: AccountInformationApiGetUserAccountPositionsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Position>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountPositions(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * A lightweight endpoint that returns the latest page of orders placed in the last 24 hours in the specified account. For most brokerages, the default page size is 100 meaning the endpoint will return a max of 100 orders. 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 Differs from /orders in that it is always realtime, and only checks the last 24 hours By default only returns executed orders, but that can be changed by setting *only_executed* to false \n * @summary List account recent orders (last 24 hours only)\n * @param {AccountInformationApiGetUserAccountRecentOrdersRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountRecentOrders(requestParameters: AccountInformationApiGetUserAccountRecentOrdersRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RecentOrdersResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountRecentOrders(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, requestParameters.onlyExecuted, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of rate of return percents for a given account. \n * @summary List account rate of returns\n * @param {AccountInformationApiGetUserAccountReturnRatesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountReturnRates(requestParameters: AccountInformationApiGetUserAccountReturnRatesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RateOfReturnResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountReturnRates(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, requestParameters.timeframes, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * **Deprecated.** Use the finer-grained account data endpoints instead: [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getAllAccountPositions), and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders). Returns a list of balances, positions, and recent orders for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account holdings\n * @param {AccountInformationApiGetUserHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n async getUserHoldings(requestParameters: AccountInformationApiGetUserHoldingsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountHoldingsAccount>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserHoldings(requestParameters.accountId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * **Deprecated, please use the [list accounts for a connection endpoint](/reference/Connections/Connections_listBrokerageAuthorizationAccounts) instead.** Returns all brokerage accounts across all connections known to SnapTrade for the authenticated user. This endpoint returns Daily data regardless of the customer\\'s plan. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To get real-time data on Pay as you Go / Real-time, use the connection-scoped endpoint linked above. Customers on Pay as you Go / Daily can force a refresh with the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). \n * @summary List accounts\n * @param {AccountInformationApiListUserAccountsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n async listUserAccounts(requestParameters: AccountInformationApiListUserAccountsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Account>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listUserAccounts(requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Updates various properties of a specified account.\n * @summary Update details of an investment account\n * @param {AccountInformationApiUpdateUserAccountRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async updateUserAccount(requestParameters: AccountInformationApiUpdateUserAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Account>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.updateUserAccount(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * AccountInformationApi - factory interface\n * @export\n */\nexport const AccountInformationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = AccountInformationApiFp(configuration)\n return {\n /**\n * Returns all historical transactions for the specified account. 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. Transaction are returned in reverse chronological order, using the `trade_date` field. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. 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. \n * @summary List account activities\n * @param {AccountInformationApiGetAccountActivitiesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAccountActivities(requestParameters: AccountInformationApiGetAccountActivitiesRequest, options?: AxiosRequestConfig): AxiosPromise<PaginatedUniversalActivity> {\n return localVarFp.getAccountActivities(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * An experimental endpoint that returns estimated historical total account value for the specified account. Total account value is the sum of the market value of all positions and cash in the account at a given time. This endpoint is experimental, disabled by default, and has a maximum lookback of 1 year. \n * @summary List historical account total value\n * @param {AccountInformationApiGetAccountBalanceHistoryRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAccountBalanceHistory(requestParameters: AccountInformationApiGetAccountBalanceHistoryRequest, options?: AxiosRequestConfig): AxiosPromise<AccountValueHistoryResponse> {\n return localVarFp.getAccountBalanceHistory(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of all positions in the specified account. The `results` list can contain multiple instrument types in the same response, including stocks, ADRs, ETFs, mutual funds, closed-end funds, crypto, futures, and option positions. Use the `instrument.kind` discriminator to determine the schema for each position\\'s `instrument`. `mutualfund` positions may also include `cash_equivalent`. `stock` positions may include `tax_lots` when tax lot data is enabled for the account. 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. \n * @summary List all account positions\n * @param {AccountInformationApiGetAllAccountPositionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAllAccountPositions(requestParameters: AccountInformationApiGetAllAccountPositionsRequest, options?: AxiosRequestConfig): AxiosPromise<AllAccountPositionsResponse> {\n return localVarFp.getAllAccountPositions(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * **Deprecated, please use the account-specific holdings endpoint instead.** List all accounts for the user, plus balances, positions, and orders for each account. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary List all accounts for the user, plus balances, positions, and orders for each account.\n * @param {AccountInformationApiGetAllUserHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getAllUserHoldings(requestParameters: AccountInformationApiGetAllUserHoldingsRequest, options?: AxiosRequestConfig): AxiosPromise<Array<AccountHoldings>> {\n return localVarFp.getAllUserHoldings(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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). 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account balances\n * @param {AccountInformationApiGetUserAccountBalanceRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountBalance(requestParameters: AccountInformationApiGetUserAccountBalanceRequest, options?: AxiosRequestConfig): AxiosPromise<Array<Balance>> {\n return localVarFp.getUserAccountBalance(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns account detail known to SnapTrade for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary Get account detail\n * @param {AccountInformationApiGetUserAccountDetailsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountDetails(requestParameters: AccountInformationApiGetUserAccountDetailsRequest, options?: AxiosRequestConfig): AxiosPromise<Account> {\n return localVarFp.getUserAccountDetails(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns the detail of a single order using the external order ID provided in the request body. This endpoint only works for single-leg orders at this time. Support for multi-leg orders will be added in the future. This endpoint is always realtime and does not rely on cached data. This endpoint only returns orders placed through SnapTrade. In other words, orders placed outside of the SnapTrade network are not returned by this endpoint. \n * @summary Get account order detail\n * @param {AccountInformationApiGetUserAccountOrderDetailRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountOrderDetail(requestParameters: AccountInformationApiGetUserAccountOrderDetailRequest, options?: AxiosRequestConfig): AxiosPromise<AccountOrderRecord> {\n return localVarFp.getUserAccountOrderDetail(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of recent orders in the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account orders\n * @param {AccountInformationApiGetUserAccountOrdersRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountOrders(requestParameters: AccountInformationApiGetUserAccountOrdersRequest, options?: AxiosRequestConfig): AxiosPromise<Array<AccountOrderRecord>> {\n return localVarFp.getUserAccountOrders(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account positions\n * @param {AccountInformationApiGetUserAccountPositionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountPositions(requestParameters: AccountInformationApiGetUserAccountPositionsRequest, options?: AxiosRequestConfig): AxiosPromise<Array<Position>> {\n return localVarFp.getUserAccountPositions(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * A lightweight endpoint that returns the latest page of orders placed in the last 24 hours in the specified account. For most brokerages, the default page size is 100 meaning the endpoint will return a max of 100 orders. 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 Differs from /orders in that it is always realtime, and only checks the last 24 hours By default only returns executed orders, but that can be changed by setting *only_executed* to false \n * @summary List account recent orders (last 24 hours only)\n * @param {AccountInformationApiGetUserAccountRecentOrdersRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountRecentOrders(requestParameters: AccountInformationApiGetUserAccountRecentOrdersRequest, options?: AxiosRequestConfig): AxiosPromise<RecentOrdersResponse> {\n return localVarFp.getUserAccountRecentOrders(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of rate of return percents for a given account. \n * @summary List account rate of returns\n * @param {AccountInformationApiGetUserAccountReturnRatesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountReturnRates(requestParameters: AccountInformationApiGetUserAccountReturnRatesRequest, options?: AxiosRequestConfig): AxiosPromise<RateOfReturnResponse> {\n return localVarFp.getUserAccountReturnRates(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * **Deprecated.** Use the finer-grained account data endpoints instead: [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getAllAccountPositions), and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders). Returns a list of balances, positions, and recent orders for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account holdings\n * @param {AccountInformationApiGetUserHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getUserHoldings(requestParameters: AccountInformationApiGetUserHoldingsRequest, options?: AxiosRequestConfig): AxiosPromise<AccountHoldingsAccount> {\n return localVarFp.getUserHoldings(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * **Deprecated, please use the [list accounts for a connection endpoint](/reference/Connections/Connections_listBrokerageAuthorizationAccounts) instead.** Returns all brokerage accounts across all connections known to SnapTrade for the authenticated user. This endpoint returns Daily data regardless of the customer\\'s plan. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To get real-time data on Pay as you Go / Real-time, use the connection-scoped endpoint linked above. Customers on Pay as you Go / Daily can force a refresh with the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). \n * @summary List accounts\n * @param {AccountInformationApiListUserAccountsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n listUserAccounts(requestParameters: AccountInformationApiListUserAccountsRequest, options?: AxiosRequestConfig): AxiosPromise<Array<Account>> {\n return localVarFp.listUserAccounts(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Updates various properties of a specified account.\n * @summary Update details of an investment account\n * @param {AccountInformationApiUpdateUserAccountRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateUserAccount(requestParameters: AccountInformationApiUpdateUserAccountRequest, options?: AxiosRequestConfig): AxiosPromise<Array<Account>> {\n return localVarFp.updateUserAccount(requestParameters, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for getAccountActivities operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetAccountActivitiesRequest\n */\nexport type AccountInformationApiGetAccountActivitiesRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly userSecret: string\n \n /**\n * 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`.\n * @type {string | Date}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly startDate?: string | Date\n \n /**\n * 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`.\n * @type {string | Date}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly endDate?: string | Date\n \n /**\n * An integer that specifies the starting point of the paginated results. Default is 0.\n * @type {number}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly offset?: number\n \n /**\n * An integer that specifies the maximum number of transactions to return. Default of 1000.\n * @type {number}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly limit?: number\n \n /**\n * 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. \n * @type {string}\n * @memberof AccountInformationApiGetAccountActivities\n */\n readonly type?: string\n \n}\n\n/**\n * Request parameters for getAccountBalanceHistory operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetAccountBalanceHistoryRequest\n */\nexport type AccountInformationApiGetAccountBalanceHistoryRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAccountBalanceHistory\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAccountBalanceHistory\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAccountBalanceHistory\n */\n readonly accountId: string\n \n}\n\n/**\n * Request parameters for getAllAccountPositions operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetAllAccountPositionsRequest\n */\nexport type AccountInformationApiGetAllAccountPositionsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAllAccountPositions\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAllAccountPositions\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAllAccountPositions\n */\n readonly accountId: string\n \n}\n\n/**\n * Request parameters for getAllUserHoldings operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetAllUserHoldingsRequest\n */\nexport type AccountInformationApiGetAllUserHoldingsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAllUserHoldings\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetAllUserHoldings\n */\n readonly userSecret: string\n \n /**\n * Optional. Comma separated list of authorization IDs (only use if filtering is needed on one or more authorizations).\n * @type {string}\n * @memberof AccountInformationApiGetAllUserHoldings\n */\n readonly brokerageAuthorizations?: string\n \n}\n\n/**\n * Request parameters for getUserAccountBalance operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserAccountBalanceRequest\n */\nexport type AccountInformationApiGetUserAccountBalanceRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountBalance\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountBalance\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountBalance\n */\n readonly accountId: string\n \n}\n\n/**\n * Request parameters for getUserAccountDetails operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserAccountDetailsRequest\n */\nexport type AccountInformationApiGetUserAccountDetailsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountDetails\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountDetails\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountDetails\n */\n readonly accountId: string\n \n}\n\n/**\n * Request parameters for getUserAccountOrderDetail operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserAccountOrderDetailRequest\n */\nexport type AccountInformationApiGetUserAccountOrderDetailRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountOrderDetail\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountOrderDetail\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountOrderDetail\n */\n readonly userSecret: string\n \n} & AccountInformationGetUserAccountOrderDetailRequest\n\n/**\n * Request parameters for getUserAccountOrders operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserAccountOrdersRequest\n */\nexport type AccountInformationApiGetUserAccountOrdersRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountOrders\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountOrders\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountOrders\n */\n readonly accountId: string\n \n /**\n * defaults to \\\"all\\\"\n * @type {'all' | 'open' | 'executed'}\n * @memberof AccountInformationApiGetUserAccountOrders\n */\n readonly state?: 'all' | 'open' | 'executed'\n \n /**\n * Number of days in the past to fetch the most recent orders. Defaults to the last 30 days if no value is passed in. Values greater than 90 will be capped at 90.\n * @type {number}\n * @memberof AccountInformationApiGetUserAccountOrders\n */\n readonly days?: number\n \n}\n\n/**\n * Request parameters for getUserAccountPositions operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserAccountPositionsRequest\n */\nexport type AccountInformationApiGetUserAccountPositionsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountPositions\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountPositions\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountPositions\n */\n readonly accountId: string\n \n}\n\n/**\n * Request parameters for getUserAccountRecentOrders operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserAccountRecentOrdersRequest\n */\nexport type AccountInformationApiGetUserAccountRecentOrdersRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountRecentOrders\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountRecentOrders\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountRecentOrders\n */\n readonly accountId: string\n \n /**\n * Defaults to true. Indicates if request should fetch only executed orders. Set to false to retrieve non executed orders as well\n * @type {boolean}\n * @memberof AccountInformationApiGetUserAccountRecentOrders\n */\n readonly onlyExecuted?: boolean\n \n}\n\n/**\n * Request parameters for getUserAccountReturnRates operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserAccountReturnRatesRequest\n */\nexport type AccountInformationApiGetUserAccountReturnRatesRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountReturnRates\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountReturnRates\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserAccountReturnRates\n */\n readonly accountId: string\n \n /**\n * Optional comma separated list of rate-of-return timeframes to return. Supported values are `ALL`, `1Y`, `YTD`, `1M`, `1W`, and `1D`. If omitted, SnapTrade returns all six supported timeframes.\n * @type {string}\n * @memberof AccountInformationApiGetUserAccountReturnRates\n */\n readonly timeframes?: string\n \n}\n\n/**\n * Request parameters for getUserHoldings operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiGetUserHoldingsRequest\n */\nexport type AccountInformationApiGetUserHoldingsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserHoldings\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserHoldings\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiGetUserHoldings\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for listUserAccounts operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiListUserAccountsRequest\n */\nexport type AccountInformationApiListUserAccountsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiListUserAccounts\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiListUserAccounts\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for updateUserAccount operation in AccountInformationApi.\n * @export\n * @interface AccountInformationApiUpdateUserAccountRequest\n */\nexport type AccountInformationApiUpdateUserAccountRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiUpdateUserAccount\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AccountInformationApiUpdateUserAccount\n */\n readonly userSecret: string\n \n /**\n * The ID of the account to update.\n * @type {string}\n * @memberof AccountInformationApiUpdateUserAccount\n */\n readonly accountId: string\n \n}\n\n/**\n * AccountInformationApiGenerated - object-oriented interface\n * @export\n * @class AccountInformationApiGenerated\n * @extends {BaseAPI}\n */\nexport class AccountInformationApiGenerated extends BaseAPI {\n /**\n * Returns all historical transactions for the specified account. 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. Transaction are returned in reverse chronological order, using the `trade_date` field. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. 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. \n * @summary List account activities\n * @param {AccountInformationApiGetAccountActivitiesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getAccountActivities(requestParameters: AccountInformationApiGetAccountActivitiesRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getAccountActivities(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * An experimental endpoint that returns estimated historical total account value for the specified account. Total account value is the sum of the market value of all positions and cash in the account at a given time. This endpoint is experimental, disabled by default, and has a maximum lookback of 1 year. \n * @summary List historical account total value\n * @param {AccountInformationApiGetAccountBalanceHistoryRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getAccountBalanceHistory(requestParameters: AccountInformationApiGetAccountBalanceHistoryRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getAccountBalanceHistory(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of all positions in the specified account. The `results` list can contain multiple instrument types in the same response, including stocks, ADRs, ETFs, mutual funds, closed-end funds, crypto, futures, and option positions. Use the `instrument.kind` discriminator to determine the schema for each position\\'s `instrument`. `mutualfund` positions may also include `cash_equivalent`. `stock` positions may include `tax_lots` when tax lot data is enabled for the account. 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. \n * @summary List all account positions\n * @param {AccountInformationApiGetAllAccountPositionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getAllAccountPositions(requestParameters: AccountInformationApiGetAllAccountPositionsRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getAllAccountPositions(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * **Deprecated, please use the account-specific holdings endpoint instead.** List all accounts for the user, plus balances, positions, and orders for each account. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary List all accounts for the user, plus balances, positions, and orders for each account.\n * @param {AccountInformationApiGetAllUserHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getAllUserHoldings(requestParameters: AccountInformationApiGetAllUserHoldingsRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getAllUserHoldings(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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). 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account balances\n * @param {AccountInformationApiGetUserAccountBalanceRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserAccountBalance(requestParameters: AccountInformationApiGetUserAccountBalanceRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserAccountBalance(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns account detail known to SnapTrade for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary Get account detail\n * @param {AccountInformationApiGetUserAccountDetailsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserAccountDetails(requestParameters: AccountInformationApiGetUserAccountDetailsRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserAccountDetails(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns the detail of a single order using the external order ID provided in the request body. This endpoint only works for single-leg orders at this time. Support for multi-leg orders will be added in the future. This endpoint is always realtime and does not rely on cached data. This endpoint only returns orders placed through SnapTrade. In other words, orders placed outside of the SnapTrade network are not returned by this endpoint. \n * @summary Get account order detail\n * @param {AccountInformationApiGetUserAccountOrderDetailRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserAccountOrderDetail(requestParameters: AccountInformationApiGetUserAccountOrderDetailRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserAccountOrderDetail(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of recent orders in the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account orders\n * @param {AccountInformationApiGetUserAccountOrdersRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserAccountOrders(requestParameters: AccountInformationApiGetUserAccountOrdersRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserAccountOrders(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account positions\n * @param {AccountInformationApiGetUserAccountPositionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserAccountPositions(requestParameters: AccountInformationApiGetUserAccountPositionsRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserAccountPositions(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * A lightweight endpoint that returns the latest page of orders placed in the last 24 hours in the specified account. For most brokerages, the default page size is 100 meaning the endpoint will return a max of 100 orders. 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 Differs from /orders in that it is always realtime, and only checks the last 24 hours By default only returns executed orders, but that can be changed by setting *only_executed* to false \n * @summary List account recent orders (last 24 hours only)\n * @param {AccountInformationApiGetUserAccountRecentOrdersRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserAccountRecentOrders(requestParameters: AccountInformationApiGetUserAccountRecentOrdersRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserAccountRecentOrders(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of rate of return percents for a given account. \n * @summary List account rate of returns\n * @param {AccountInformationApiGetUserAccountReturnRatesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserAccountReturnRates(requestParameters: AccountInformationApiGetUserAccountReturnRatesRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserAccountReturnRates(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * **Deprecated.** Use the finer-grained account data endpoints instead: [balances](/reference/Account%20Information/AccountInformation_getUserAccountBalance), [positions](/reference/Account%20Information/AccountInformation_getAllAccountPositions), and [orders](/reference/Account%20Information/AccountInformation_getUserAccountOrders). Returns a list of balances, positions, and recent orders for the specified account. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. 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. \n * @summary List account holdings\n * @param {AccountInformationApiGetUserHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public getUserHoldings(requestParameters: AccountInformationApiGetUserHoldingsRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).getUserHoldings(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * **Deprecated, please use the [list accounts for a connection endpoint](/reference/Connections/Connections_listBrokerageAuthorizationAccounts) instead.** Returns all brokerage accounts across all connections known to SnapTrade for the authenticated user. This endpoint returns Daily data regardless of the customer\\'s plan. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To get real-time data on Pay as you Go / Real-time, use the connection-scoped endpoint linked above. Customers on Pay as you Go / Daily can force a refresh with the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). \n * @summary List accounts\n * @param {AccountInformationApiListUserAccountsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public listUserAccounts(requestParameters: AccountInformationApiListUserAccountsRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).listUserAccounts(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Updates various properties of a specified account.\n * @summary Update details of an investment account\n * @param {AccountInformationApiUpdateUserAccountRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountInformationApiGenerated\n */\n public updateUserAccount(requestParameters: AccountInformationApiUpdateUserAccountRequest, options?: AxiosRequestConfig) {\n return AccountInformationApiFp(this.configuration).updateUserAccount(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { AccountInformationApiGenerated } from \"./account-information-api-generated\";\nexport * from \"./account-information-api-generated\";\n\nexport class AccountInformationApi extends AccountInformationApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { Status } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * ApiStatusApi - axios parameter creator\n * @export\n */\nexport const ApiStatusApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Check whether the API is operational and verify timestamps.\n * @summary Get API Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n check: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ApiStatusApi - functional programming interface\n * @export\n */\nexport const ApiStatusApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = ApiStatusApiAxiosParamCreator(configuration)\n return {\n /**\n * Check whether the API is operational and verify timestamps.\n * @summary Get API Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async check(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Status>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.check(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * ApiStatusApi - factory interface\n * @export\n */\nexport const ApiStatusApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = ApiStatusApiFp(configuration)\n return {\n /**\n * Check whether the API is operational and verify timestamps.\n * @summary Get API Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n check(options?: AxiosRequestConfig): AxiosPromise<Status> {\n return localVarFp.check(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ApiStatusApiGenerated - object-oriented interface\n * @export\n * @class ApiStatusApiGenerated\n * @extends {BaseAPI}\n */\nexport class ApiStatusApiGenerated extends BaseAPI {\n /**\n * Check whether the API is operational and verify timestamps.\n * @summary Get API Status\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ApiStatusApiGenerated\n */\n public check(options?: AxiosRequestConfig) {\n return ApiStatusApiFp(this.configuration).check(options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { ApiStatusApiGenerated } from \"./api-status-api-generated\";\nexport * from \"./api-status-api-generated\";\n\nexport class ApiStatusApi extends ApiStatusApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { AuthenticationLoginSnapTradeUser200Response } from '../models';\n// @ts-ignore\nimport { DeleteUserResponse } from '../models';\n// @ts-ignore\nimport { Model400FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model401FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model403FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model404FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model500UnexpectedExceptionResponse } from '../models';\n// @ts-ignore\nimport { SnapTradeLoginUserRequestBody } from '../models';\n// @ts-ignore\nimport { SnapTradeRegisterUserRequestBody } from '../models';\n// @ts-ignore\nimport { UserIDandSecret } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * AuthenticationApi - axios parameter creator\n * @export\n */\nexport const AuthenticationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * 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.\n * @summary Delete user\n * @param {string} userId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteSnapTradeUser: async (userId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('deleteSnapTradeUser', 'userId', userId)\n const localVarPath = `/snapTrade/deleteUser`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/snapTrade/deleteUser',\n httpMethod: 'DELETE'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of all registered user IDs. Please note that the response is not currently paginated.\n * @summary List all users\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listSnapTradeUsers: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/snapTrade/listUsers`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/snapTrade/listUsers',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. Please note that the returned URL expires in 5 minutes. \n * @summary Generate Connection Portal URL\n * @param {string} userId \n * @param {string} userSecret \n * @param {SnapTradeLoginUserRequestBody} [snapTradeLoginUserRequestBody] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n loginSnapTradeUser: async (userId: string, userSecret: string, snapTradeLoginUserRequestBody?: SnapTradeLoginUserRequestBody, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('loginSnapTradeUser', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('loginSnapTradeUser', 'userSecret', userSecret)\n const localVarPath = `/snapTrade/login`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: snapTradeLoginUserRequestBody,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/snapTrade/login',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(snapTradeLoginUserRequestBody, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. Most SnapTrade operations require a user ID and user secret to be passed in as parameters. \n * @summary Register user\n * @param {SnapTradeRegisterUserRequestBody} snapTradeRegisterUserRequestBody \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n registerSnapTradeUser: async (snapTradeRegisterUserRequestBody: SnapTradeRegisterUserRequestBody, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'snapTradeRegisterUserRequestBody' is not null or undefined\n assertParamExists('registerSnapTradeUser', 'snapTradeRegisterUserRequestBody', snapTradeRegisterUserRequestBody)\n const localVarPath = `/snapTrade/registerUser`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: snapTradeRegisterUserRequestBody,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/snapTrade/registerUser',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(snapTradeRegisterUserRequestBody, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. \n * @summary Rotate user secret\n * @param {UserIDandSecret} userIDandSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetSnapTradeUserSecret: async (userIDandSecret: UserIDandSecret, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userIDandSecret' is not null or undefined\n assertParamExists('resetSnapTradeUserSecret', 'userIDandSecret', userIDandSecret)\n const localVarPath = `/snapTrade/resetUserSecret`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: userIDandSecret,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/snapTrade/resetUserSecret',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(userIDandSecret, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AuthenticationApi - functional programming interface\n * @export\n */\nexport const AuthenticationApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = AuthenticationApiAxiosParamCreator(configuration)\n return {\n /**\n * 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.\n * @summary Delete user\n * @param {AuthenticationApiDeleteSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteSnapTradeUser(requestParameters: AuthenticationApiDeleteSnapTradeUserRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteUserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSnapTradeUser(requestParameters.userId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of all registered user IDs. Please note that the response is not currently paginated.\n * @summary List all users\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listSnapTradeUsers(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<string>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listSnapTradeUsers(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. Please note that the returned URL expires in 5 minutes. \n * @summary Generate Connection Portal URL\n * @param {AuthenticationApiLoginSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async loginSnapTradeUser(requestParameters: AuthenticationApiLoginSnapTradeUserRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AuthenticationLoginSnapTradeUser200Response>> {\n const snapTradeLoginUserRequestBody: SnapTradeLoginUserRequestBody = {\n broker: requestParameters.broker,\n immediateRedirect: requestParameters.immediateRedirect,\n customRedirect: requestParameters.customRedirect,\n reconnect: requestParameters.reconnect,\n connectionType: requestParameters.connectionType,\n showCloseButton: requestParameters.showCloseButton,\n darkMode: requestParameters.darkMode,\n connectionPortalVersion: requestParameters.connectionPortalVersion\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.loginSnapTradeUser(requestParameters.userId, requestParameters.userSecret, snapTradeLoginUserRequestBody, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. Most SnapTrade operations require a user ID and user secret to be passed in as parameters. \n * @summary Register user\n * @param {AuthenticationApiRegisterSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async registerSnapTradeUser(requestParameters: AuthenticationApiRegisterSnapTradeUserRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserIDandSecret>> {\n const snapTradeRegisterUserRequestBody: SnapTradeRegisterUserRequestBody = {\n userId: requestParameters.userId\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.registerSnapTradeUser(snapTradeRegisterUserRequestBody, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. \n * @summary Rotate user secret\n * @param {AuthenticationApiResetSnapTradeUserSecretRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async resetSnapTradeUserSecret(requestParameters: AuthenticationApiResetSnapTradeUserSecretRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserIDandSecret>> {\n const userIDandSecret: UserIDandSecret = {\n userId: requestParameters.userId,\n userSecret: requestParameters.userSecret\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.resetSnapTradeUserSecret(userIDandSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * AuthenticationApi - factory interface\n * @export\n */\nexport const AuthenticationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = AuthenticationApiFp(configuration)\n return {\n /**\n * 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.\n * @summary Delete user\n * @param {AuthenticationApiDeleteSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteSnapTradeUser(requestParameters: AuthenticationApiDeleteSnapTradeUserRequest, options?: AxiosRequestConfig): AxiosPromise<DeleteUserResponse> {\n return localVarFp.deleteSnapTradeUser(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of all registered user IDs. Please note that the response is not currently paginated.\n * @summary List all users\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listSnapTradeUsers(options?: AxiosRequestConfig): AxiosPromise<Array<string>> {\n return localVarFp.listSnapTradeUsers(options).then((request) => request(axios, basePath));\n },\n /**\n * 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. Please note that the returned URL expires in 5 minutes. \n * @summary Generate Connection Portal URL\n * @param {AuthenticationApiLoginSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n loginSnapTradeUser(requestParameters: AuthenticationApiLoginSnapTradeUserRequest, options?: AxiosRequestConfig): AxiosPromise<AuthenticationLoginSnapTradeUser200Response> {\n return localVarFp.loginSnapTradeUser(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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. Most SnapTrade operations require a user ID and user secret to be passed in as parameters. \n * @summary Register user\n * @param {AuthenticationApiRegisterSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n registerSnapTradeUser(requestParameters: AuthenticationApiRegisterSnapTradeUserRequest, options?: AxiosRequestConfig): AxiosPromise<UserIDandSecret> {\n return localVarFp.registerSnapTradeUser(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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. \n * @summary Rotate user secret\n * @param {AuthenticationApiResetSnapTradeUserSecretRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetSnapTradeUserSecret(requestParameters: AuthenticationApiResetSnapTradeUserSecretRequest, options?: AxiosRequestConfig): AxiosPromise<UserIDandSecret> {\n return localVarFp.resetSnapTradeUserSecret(requestParameters, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for deleteSnapTradeUser operation in AuthenticationApi.\n * @export\n * @interface AuthenticationApiDeleteSnapTradeUserRequest\n */\nexport type AuthenticationApiDeleteSnapTradeUserRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AuthenticationApiDeleteSnapTradeUser\n */\n readonly userId: string\n \n}\n\n/**\n * Request parameters for loginSnapTradeUser operation in AuthenticationApi.\n * @export\n * @interface AuthenticationApiLoginSnapTradeUserRequest\n */\nexport type AuthenticationApiLoginSnapTradeUserRequest = {\n \n /**\n * \n * @type {string}\n * @memberof AuthenticationApiLoginSnapTradeUser\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof AuthenticationApiLoginSnapTradeUser\n */\n readonly userSecret: string\n \n} & SnapTradeLoginUserRequestBody\n\n/**\n * Request parameters for registerSnapTradeUser operation in AuthenticationApi.\n * @export\n * @interface AuthenticationApiRegisterSnapTradeUserRequest\n */\nexport type AuthenticationApiRegisterSnapTradeUserRequest = {\n \n} & SnapTradeRegisterUserRequestBody\n\n/**\n * Request parameters for resetSnapTradeUserSecret operation in AuthenticationApi.\n * @export\n * @interface AuthenticationApiResetSnapTradeUserSecretRequest\n */\nexport type AuthenticationApiResetSnapTradeUserSecretRequest = {\n \n} & UserIDandSecret\n\n/**\n * AuthenticationApiGenerated - object-oriented interface\n * @export\n * @class AuthenticationApiGenerated\n * @extends {BaseAPI}\n */\nexport class AuthenticationApiGenerated extends BaseAPI {\n /**\n * 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.\n * @summary Delete user\n * @param {AuthenticationApiDeleteSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AuthenticationApiGenerated\n */\n public deleteSnapTradeUser(requestParameters: AuthenticationApiDeleteSnapTradeUserRequest, options?: AxiosRequestConfig) {\n return AuthenticationApiFp(this.configuration).deleteSnapTradeUser(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of all registered user IDs. Please note that the response is not currently paginated.\n * @summary List all users\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AuthenticationApiGenerated\n */\n public listSnapTradeUsers(options?: AxiosRequestConfig) {\n return AuthenticationApiFp(this.configuration).listSnapTradeUsers(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. Please note that the returned URL expires in 5 minutes. \n * @summary Generate Connection Portal URL\n * @param {AuthenticationApiLoginSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AuthenticationApiGenerated\n */\n public loginSnapTradeUser(requestParameters: AuthenticationApiLoginSnapTradeUserRequest, options?: AxiosRequestConfig) {\n return AuthenticationApiFp(this.configuration).loginSnapTradeUser(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. Most SnapTrade operations require a user ID and user secret to be passed in as parameters. \n * @summary Register user\n * @param {AuthenticationApiRegisterSnapTradeUserRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AuthenticationApiGenerated\n */\n public registerSnapTradeUser(requestParameters: AuthenticationApiRegisterSnapTradeUserRequest, options?: AxiosRequestConfig) {\n return AuthenticationApiFp(this.configuration).registerSnapTradeUser(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. \n * @summary Rotate user secret\n * @param {AuthenticationApiResetSnapTradeUserSecretRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AuthenticationApiGenerated\n */\n public resetSnapTradeUserSecret(requestParameters: AuthenticationApiResetSnapTradeUserSecretRequest, options?: AxiosRequestConfig) {\n return AuthenticationApiFp(this.configuration).resetSnapTradeUserSecret(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { AuthenticationApiGenerated } from \"./authentication-api-generated\";\nexport * from \"./authentication-api-generated\";\n\nexport class AuthenticationApi extends AuthenticationApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { Account } from '../models';\n// @ts-ignore\nimport { BrokerageAuthorization } from '../models';\n// @ts-ignore\nimport { BrokerageAuthorizationDisabledConfirmation } from '../models';\n// @ts-ignore\nimport { BrokerageAuthorizationRefreshConfirmation } from '../models';\n// @ts-ignore\nimport { BrokerageAuthorizationTransactionsSyncConfirmation } from '../models';\n// @ts-ignore\nimport { ConnectionsSessionEvents200ResponseInner } from '../models';\n// @ts-ignore\nimport { DeleteConnectionConfirmation } from '../models';\n// @ts-ignore\nimport { Model401FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model402BrokerageAuthAlreadyDisabledException } from '../models';\n// @ts-ignore\nimport { Model402BrokerageAuthDisabledResponse } from '../models';\n// @ts-ignore\nimport { Model403FeatureNotEnabledResponse } from '../models';\n// @ts-ignore\nimport { Model404FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model500UnexpectedExceptionResponse } from '../models';\n// @ts-ignore\nimport { RateOfReturnResponse } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * ConnectionsApi - axios parameter creator\n * @export\n */\nexport const ConnectionsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is asynchronous, a 200 response indicates that a task has been queued to delete the connection. Listen for the [`CONNECTION_DELETED` webhook](https://docs.snaptrade.com/docs/webhooks#webhooks-connection_deleted) webhook to know when the deletion has been completed and the data has been removed.\n * @summary Delete connection\n * @param {string} connectionId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteConnection: async (connectionId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'connectionId' is not null or undefined\n assertParamExists('deleteConnection', 'connectionId', connectionId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('deleteConnection', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('deleteConnection', 'userSecret', userSecret)\n const localVarPath = `/connection/{connectionId}`\n .replace(`{${\"connectionId\"}}`, encodeURIComponent(String(connectionId !== undefined ? connectionId : `-connectionId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/connection/{connectionId}',\n httpMethod: 'DELETE'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a single connection for the specified ID.\n * @summary Get connection detail\n * @param {string} authorizationId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n detailBrokerageAuthorization: async (authorizationId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'authorizationId' is not null or undefined\n assertParamExists('detailBrokerageAuthorization', 'authorizationId', authorizationId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('detailBrokerageAuthorization', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('detailBrokerageAuthorization', 'userSecret', userSecret)\n const localVarPath = `/authorizations/{authorizationId}`\n .replace(`{${\"authorizationId\"}}`, encodeURIComponent(String(authorizationId !== undefined ? authorizationId : `-authorizationId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations/{authorizationId}',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Manually force the specified connection to become disabled. This should only be used for testing a reconnect flow, and never used on production connections. Will trigger a disconnect as if it happened naturally, and send a [`CONNECTION_BROKEN` webhook](/docs/webhooks#webhooks-connection_broken) for the connection. 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. \n * @summary Force disable connection\n * @param {string} authorizationId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n disableBrokerageAuthorization: async (authorizationId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'authorizationId' is not null or undefined\n assertParamExists('disableBrokerageAuthorization', 'authorizationId', authorizationId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('disableBrokerageAuthorization', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('disableBrokerageAuthorization', 'userSecret', userSecret)\n const localVarPath = `/authorizations/{authorizationId}/disable`\n .replace(`{${\"authorizationId\"}}`, encodeURIComponent(String(authorizationId !== undefined ? authorizationId : `-authorizationId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations/{authorizationId}/disable',\n httpMethod: 'POST'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns all brokerage accounts that belong to the specified connection for the authenticated user. On Pay as you Go / Real-time, this endpoint refreshes each account\\'s opening date, funding date, and total value live from the brokerage on each call. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data. \n * @summary List accounts for a connection\n * @param {string} authorizationId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listBrokerageAuthorizationAccounts: async (authorizationId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'authorizationId' is not null or undefined\n assertParamExists('listBrokerageAuthorizationAccounts', 'authorizationId', authorizationId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('listBrokerageAuthorizationAccounts', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('listBrokerageAuthorizationAccounts', 'userSecret', userSecret)\n const localVarPath = `/authorizations/{authorizationId}/accounts`\n .replace(`{${\"authorizationId\"}}`, encodeURIComponent(String(authorizationId !== undefined ? authorizationId : `-authorizationId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations/{authorizationId}/accounts',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. A connection is usually tied to a single login at a brokerage. A single connection can contain multiple brokerage accounts. 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. \n * @summary List all connections\n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listBrokerageAuthorizations: async (userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('listBrokerageAuthorizations', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('listBrokerageAuthorizations', 'userSecret', userSecret)\n const localVarPath = `/authorizations`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. This endpoint will also trigger a transaction sync for the past day if one has not yet occurred. **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)** **Please note this endpoint is disabled for Pay as you Go / Real-time plans. Pay as you Go / Real-time plans do not benefit from this feature since data is refreshed when calls are made** \n * @summary Refresh holdings for a connection\n * @param {string} authorizationId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n refreshBrokerageAuthorization: async (authorizationId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'authorizationId' is not null or undefined\n assertParamExists('refreshBrokerageAuthorization', 'authorizationId', authorizationId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('refreshBrokerageAuthorization', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('refreshBrokerageAuthorization', 'userSecret', userSecret)\n const localVarPath = `/authorizations/{authorizationId}/refresh`\n .replace(`{${\"authorizationId\"}}`, encodeURIComponent(String(authorizationId !== undefined ? authorizationId : `-authorizationId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations/{authorizationId}/refresh',\n httpMethod: 'POST'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is synchronous, a 204 response indicates that the data has been successfully deleted.\n * @summary Delete connection\n * @param {string} authorizationId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeBrokerageAuthorization: async (authorizationId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'authorizationId' is not null or undefined\n assertParamExists('removeBrokerageAuthorization', 'authorizationId', authorizationId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('removeBrokerageAuthorization', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('removeBrokerageAuthorization', 'userSecret', userSecret)\n const localVarPath = `/authorizations/{authorizationId}`\n .replace(`{${\"authorizationId\"}}`, encodeURIComponent(String(authorizationId !== undefined ? authorizationId : `-authorizationId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations/{authorizationId}',\n httpMethod: 'DELETE'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of rate of return percents for a given connection. \n * @summary List connection rate of returns\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} authorizationId \n * @param {string} [timeframes] Optional comma separated list of rate-of-return timeframes to return. Supported values are &#x60;ALL&#x60;, &#x60;1Y&#x60;, &#x60;YTD&#x60;, &#x60;1M&#x60;, &#x60;1W&#x60;, and &#x60;1D&#x60;. If omitted, SnapTrade returns all six supported timeframes.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n returnRates: async (userId: string, userSecret: string, authorizationId: string, timeframes?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('returnRates', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('returnRates', 'userSecret', userSecret)\n // verify required parameter 'authorizationId' is not null or undefined\n assertParamExists('returnRates', 'authorizationId', authorizationId)\n const localVarPath = `/authorizations/{authorizationId}/returnRates`\n .replace(`{${\"authorizationId\"}}`, encodeURIComponent(String(authorizationId !== undefined ? authorizationId : `-authorizationId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (timeframes !== undefined) {\n localVarQueryParameter['timeframes'] = timeframes;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations/{authorizationId}/returnRates',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of session events associated with a user.\n * @summary Get all session events for a user\n * @param {string} partnerClientId \n * @param {string} [userId] Optional comma separated list of user IDs used to filter the request on specific users\n * @param {string} [sessionId] Optional comma separated list of session IDs used to filter the request on specific users\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n sessionEvents: async (partnerClientId: string, userId?: string, sessionId?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'partnerClientId' is not null or undefined\n assertParamExists('sessionEvents', 'partnerClientId', partnerClientId)\n const localVarPath = `/sessionEvents`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (partnerClientId !== undefined) {\n localVarQueryParameter['PartnerClientId'] = partnerClientId;\n }\n\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (sessionId !== undefined) {\n localVarQueryParameter['sessionId'] = sessionId;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/sessionEvents',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Trigger a transactions sync for all accounts under this connection. Updates will be queued asynchronously. Transactions are not updated intra-day, but calling this endpoint can ensure that the previous day\\'s transactions have been synced. For more information on sync behaviour, see: https://docs.snaptrade.com/docs/syncing \n * @summary Sync transactions for a connection\n * @param {string} authorizationId \n * @param {string} userId \n * @param {string} userSecret \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n syncBrokerageAuthorizationTransactions: async (authorizationId: string, userId: string, userSecret: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'authorizationId' is not null or undefined\n assertParamExists('syncBrokerageAuthorizationTransactions', 'authorizationId', authorizationId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('syncBrokerageAuthorizationTransactions', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('syncBrokerageAuthorizationTransactions', 'userSecret', userSecret)\n const localVarPath = `/authorizations/{authorizationId}/transactions/sync`\n .replace(`{${\"authorizationId\"}}`, encodeURIComponent(String(authorizationId !== undefined ? authorizationId : `-authorizationId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/authorizations/{authorizationId}/transactions/sync',\n httpMethod: 'POST'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ConnectionsApi - functional programming interface\n * @export\n */\nexport const ConnectionsApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = ConnectionsApiAxiosParamCreator(configuration)\n return {\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is asynchronous, a 200 response indicates that a task has been queued to delete the connection. Listen for the [`CONNECTION_DELETED` webhook](https://docs.snaptrade.com/docs/webhooks#webhooks-connection_deleted) webhook to know when the deletion has been completed and the data has been removed.\n * @summary Delete connection\n * @param {ConnectionsApiDeleteConnectionRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteConnection(requestParameters: ConnectionsApiDeleteConnectionRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteConnectionConfirmation>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.deleteConnection(requestParameters.connectionId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a single connection for the specified ID.\n * @summary Get connection detail\n * @param {ConnectionsApiDetailBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async detailBrokerageAuthorization(requestParameters: ConnectionsApiDetailBrokerageAuthorizationRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BrokerageAuthorization>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.detailBrokerageAuthorization(requestParameters.authorizationId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Manually force the specified connection to become disabled. This should only be used for testing a reconnect flow, and never used on production connections. Will trigger a disconnect as if it happened naturally, and send a [`CONNECTION_BROKEN` webhook](/docs/webhooks#webhooks-connection_broken) for the connection. 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. \n * @summary Force disable connection\n * @param {ConnectionsApiDisableBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async disableBrokerageAuthorization(requestParameters: ConnectionsApiDisableBrokerageAuthorizationRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BrokerageAuthorizationDisabledConfirmation>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.disableBrokerageAuthorization(requestParameters.authorizationId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns all brokerage accounts that belong to the specified connection for the authenticated user. On Pay as you Go / Real-time, this endpoint refreshes each account\\'s opening date, funding date, and total value live from the brokerage on each call. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data. \n * @summary List accounts for a connection\n * @param {ConnectionsApiListBrokerageAuthorizationAccountsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listBrokerageAuthorizationAccounts(requestParameters: ConnectionsApiListBrokerageAuthorizationAccountsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Account>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listBrokerageAuthorizationAccounts(requestParameters.authorizationId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. A connection is usually tied to a single login at a brokerage. A single connection can contain multiple brokerage accounts. 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. \n * @summary List all connections\n * @param {ConnectionsApiListBrokerageAuthorizationsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listBrokerageAuthorizations(requestParameters: ConnectionsApiListBrokerageAuthorizationsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<BrokerageAuthorization>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listBrokerageAuthorizations(requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. This endpoint will also trigger a transaction sync for the past day if one has not yet occurred. **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)** **Please note this endpoint is disabled for Pay as you Go / Real-time plans. Pay as you Go / Real-time plans do not benefit from this feature since data is refreshed when calls are made** \n * @summary Refresh holdings for a connection\n * @param {ConnectionsApiRefreshBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async refreshBrokerageAuthorization(requestParameters: ConnectionsApiRefreshBrokerageAuthorizationRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BrokerageAuthorizationRefreshConfirmation>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.refreshBrokerageAuthorization(requestParameters.authorizationId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is synchronous, a 204 response indicates that the data has been successfully deleted.\n * @summary Delete connection\n * @param {ConnectionsApiRemoveBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async removeBrokerageAuthorization(requestParameters: ConnectionsApiRemoveBrokerageAuthorizationRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.removeBrokerageAuthorization(requestParameters.authorizationId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of rate of return percents for a given connection. \n * @summary List connection rate of returns\n * @param {ConnectionsApiReturnRatesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async returnRates(requestParameters: ConnectionsApiReturnRatesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RateOfReturnResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.returnRates(requestParameters.userId, requestParameters.userSecret, requestParameters.authorizationId, requestParameters.timeframes, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of session events associated with a user.\n * @summary Get all session events for a user\n * @param {ConnectionsApiSessionEventsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async sessionEvents(requestParameters: ConnectionsApiSessionEventsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ConnectionsSessionEvents200ResponseInner>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.sessionEvents(requestParameters.partnerClientId, requestParameters.userId, requestParameters.sessionId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Trigger a transactions sync for all accounts under this connection. Updates will be queued asynchronously. Transactions are not updated intra-day, but calling this endpoint can ensure that the previous day\\'s transactions have been synced. For more information on sync behaviour, see: https://docs.snaptrade.com/docs/syncing \n * @summary Sync transactions for a connection\n * @param {ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async syncBrokerageAuthorizationTransactions(requestParameters: ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BrokerageAuthorizationTransactionsSyncConfirmation>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.syncBrokerageAuthorizationTransactions(requestParameters.authorizationId, requestParameters.userId, requestParameters.userSecret, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * ConnectionsApi - factory interface\n * @export\n */\nexport const ConnectionsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = ConnectionsApiFp(configuration)\n return {\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is asynchronous, a 200 response indicates that a task has been queued to delete the connection. Listen for the [`CONNECTION_DELETED` webhook](https://docs.snaptrade.com/docs/webhooks#webhooks-connection_deleted) webhook to know when the deletion has been completed and the data has been removed.\n * @summary Delete connection\n * @param {ConnectionsApiDeleteConnectionRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteConnection(requestParameters: ConnectionsApiDeleteConnectionRequest, options?: AxiosRequestConfig): AxiosPromise<DeleteConnectionConfirmation> {\n return localVarFp.deleteConnection(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a single connection for the specified ID.\n * @summary Get connection detail\n * @param {ConnectionsApiDetailBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n detailBrokerageAuthorization(requestParameters: ConnectionsApiDetailBrokerageAuthorizationRequest, options?: AxiosRequestConfig): AxiosPromise<BrokerageAuthorization> {\n return localVarFp.detailBrokerageAuthorization(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Manually force the specified connection to become disabled. This should only be used for testing a reconnect flow, and never used on production connections. Will trigger a disconnect as if it happened naturally, and send a [`CONNECTION_BROKEN` webhook](/docs/webhooks#webhooks-connection_broken) for the connection. 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. \n * @summary Force disable connection\n * @param {ConnectionsApiDisableBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n disableBrokerageAuthorization(requestParameters: ConnectionsApiDisableBrokerageAuthorizationRequest, options?: AxiosRequestConfig): AxiosPromise<BrokerageAuthorizationDisabledConfirmation> {\n return localVarFp.disableBrokerageAuthorization(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns all brokerage accounts that belong to the specified connection for the authenticated user. On Pay as you Go / Real-time, this endpoint refreshes each account\\'s opening date, funding date, and total value live from the brokerage on each call. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data. \n * @summary List accounts for a connection\n * @param {ConnectionsApiListBrokerageAuthorizationAccountsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listBrokerageAuthorizationAccounts(requestParameters: ConnectionsApiListBrokerageAuthorizationAccountsRequest, options?: AxiosRequestConfig): AxiosPromise<Array<Account>> {\n return localVarFp.listBrokerageAuthorizationAccounts(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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. A connection is usually tied to a single login at a brokerage. A single connection can contain multiple brokerage accounts. 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. \n * @summary List all connections\n * @param {ConnectionsApiListBrokerageAuthorizationsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listBrokerageAuthorizations(requestParameters: ConnectionsApiListBrokerageAuthorizationsRequest, options?: AxiosRequestConfig): AxiosPromise<Array<BrokerageAuthorization>> {\n return localVarFp.listBrokerageAuthorizations(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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. This endpoint will also trigger a transaction sync for the past day if one has not yet occurred. **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)** **Please note this endpoint is disabled for Pay as you Go / Real-time plans. Pay as you Go / Real-time plans do not benefit from this feature since data is refreshed when calls are made** \n * @summary Refresh holdings for a connection\n * @param {ConnectionsApiRefreshBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n refreshBrokerageAuthorization(requestParameters: ConnectionsApiRefreshBrokerageAuthorizationRequest, options?: AxiosRequestConfig): AxiosPromise<BrokerageAuthorizationRefreshConfirmation> {\n return localVarFp.refreshBrokerageAuthorization(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is synchronous, a 204 response indicates that the data has been successfully deleted.\n * @summary Delete connection\n * @param {ConnectionsApiRemoveBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeBrokerageAuthorization(requestParameters: ConnectionsApiRemoveBrokerageAuthorizationRequest, options?: AxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.removeBrokerageAuthorization(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of rate of return percents for a given connection. \n * @summary List connection rate of returns\n * @param {ConnectionsApiReturnRatesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n returnRates(requestParameters: ConnectionsApiReturnRatesRequest, options?: AxiosRequestConfig): AxiosPromise<RateOfReturnResponse> {\n return localVarFp.returnRates(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of session events associated with a user.\n * @summary Get all session events for a user\n * @param {ConnectionsApiSessionEventsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n sessionEvents(requestParameters: ConnectionsApiSessionEventsRequest, options?: AxiosRequestConfig): AxiosPromise<Array<ConnectionsSessionEvents200ResponseInner>> {\n return localVarFp.sessionEvents(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Trigger a transactions sync for all accounts under this connection. Updates will be queued asynchronously. Transactions are not updated intra-day, but calling this endpoint can ensure that the previous day\\'s transactions have been synced. For more information on sync behaviour, see: https://docs.snaptrade.com/docs/syncing \n * @summary Sync transactions for a connection\n * @param {ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n syncBrokerageAuthorizationTransactions(requestParameters: ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest, options?: AxiosRequestConfig): AxiosPromise<BrokerageAuthorizationTransactionsSyncConfirmation> {\n return localVarFp.syncBrokerageAuthorizationTransactions(requestParameters, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for deleteConnection operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiDeleteConnectionRequest\n */\nexport type ConnectionsApiDeleteConnectionRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDeleteConnection\n */\n readonly connectionId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDeleteConnection\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDeleteConnection\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for detailBrokerageAuthorization operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiDetailBrokerageAuthorizationRequest\n */\nexport type ConnectionsApiDetailBrokerageAuthorizationRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDetailBrokerageAuthorization\n */\n readonly authorizationId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDetailBrokerageAuthorization\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDetailBrokerageAuthorization\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for disableBrokerageAuthorization operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiDisableBrokerageAuthorizationRequest\n */\nexport type ConnectionsApiDisableBrokerageAuthorizationRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDisableBrokerageAuthorization\n */\n readonly authorizationId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDisableBrokerageAuthorization\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiDisableBrokerageAuthorization\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for listBrokerageAuthorizationAccounts operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiListBrokerageAuthorizationAccountsRequest\n */\nexport type ConnectionsApiListBrokerageAuthorizationAccountsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiListBrokerageAuthorizationAccounts\n */\n readonly authorizationId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiListBrokerageAuthorizationAccounts\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiListBrokerageAuthorizationAccounts\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for listBrokerageAuthorizations operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiListBrokerageAuthorizationsRequest\n */\nexport type ConnectionsApiListBrokerageAuthorizationsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiListBrokerageAuthorizations\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiListBrokerageAuthorizations\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for refreshBrokerageAuthorization operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiRefreshBrokerageAuthorizationRequest\n */\nexport type ConnectionsApiRefreshBrokerageAuthorizationRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiRefreshBrokerageAuthorization\n */\n readonly authorizationId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiRefreshBrokerageAuthorization\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiRefreshBrokerageAuthorization\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for removeBrokerageAuthorization operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiRemoveBrokerageAuthorizationRequest\n */\nexport type ConnectionsApiRemoveBrokerageAuthorizationRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiRemoveBrokerageAuthorization\n */\n readonly authorizationId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiRemoveBrokerageAuthorization\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiRemoveBrokerageAuthorization\n */\n readonly userSecret: string\n \n}\n\n/**\n * Request parameters for returnRates operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiReturnRatesRequest\n */\nexport type ConnectionsApiReturnRatesRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiReturnRates\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiReturnRates\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiReturnRates\n */\n readonly authorizationId: string\n \n /**\n * Optional comma separated list of rate-of-return timeframes to return. Supported values are `ALL`, `1Y`, `YTD`, `1M`, `1W`, and `1D`. If omitted, SnapTrade returns all six supported timeframes.\n * @type {string}\n * @memberof ConnectionsApiReturnRates\n */\n readonly timeframes?: string\n \n}\n\n/**\n * Request parameters for sessionEvents operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiSessionEventsRequest\n */\nexport type ConnectionsApiSessionEventsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiSessionEvents\n */\n readonly partnerClientId: string\n \n /**\n * Optional comma separated list of user IDs used to filter the request on specific users\n * @type {string}\n * @memberof ConnectionsApiSessionEvents\n */\n readonly userId?: string\n \n /**\n * Optional comma separated list of session IDs used to filter the request on specific users\n * @type {string}\n * @memberof ConnectionsApiSessionEvents\n */\n readonly sessionId?: string\n \n}\n\n/**\n * Request parameters for syncBrokerageAuthorizationTransactions operation in ConnectionsApi.\n * @export\n * @interface ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest\n */\nexport type ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiSyncBrokerageAuthorizationTransactions\n */\n readonly authorizationId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiSyncBrokerageAuthorizationTransactions\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ConnectionsApiSyncBrokerageAuthorizationTransactions\n */\n readonly userSecret: string\n \n}\n\n/**\n * ConnectionsApiGenerated - object-oriented interface\n * @export\n * @class ConnectionsApiGenerated\n * @extends {BaseAPI}\n */\nexport class ConnectionsApiGenerated extends BaseAPI {\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is asynchronous, a 200 response indicates that a task has been queued to delete the connection. Listen for the [`CONNECTION_DELETED` webhook](https://docs.snaptrade.com/docs/webhooks#webhooks-connection_deleted) webhook to know when the deletion has been completed and the data has been removed.\n * @summary Delete connection\n * @param {ConnectionsApiDeleteConnectionRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public deleteConnection(requestParameters: ConnectionsApiDeleteConnectionRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).deleteConnection(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a single connection for the specified ID.\n * @summary Get connection detail\n * @param {ConnectionsApiDetailBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public detailBrokerageAuthorization(requestParameters: ConnectionsApiDetailBrokerageAuthorizationRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).detailBrokerageAuthorization(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Manually force the specified connection to become disabled. This should only be used for testing a reconnect flow, and never used on production connections. Will trigger a disconnect as if it happened naturally, and send a [`CONNECTION_BROKEN` webhook](/docs/webhooks#webhooks-connection_broken) for the connection. 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. \n * @summary Force disable connection\n * @param {ConnectionsApiDisableBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public disableBrokerageAuthorization(requestParameters: ConnectionsApiDisableBrokerageAuthorizationRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).disableBrokerageAuthorization(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns all brokerage accounts that belong to the specified connection for the authenticated user. On Pay as you Go / Real-time, this endpoint refreshes each account\\'s opening date, funding date, and total value live from the brokerage on each call. On Pay as you Go / Daily, this endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. To force a refresh, use the [manual refresh endpoint](/reference/Connections/Connections_refreshBrokerageAuthorization). Check your API key on the [Customer Dashboard billing page](https://dashboard.snaptrade.com/settings/billing) to see whether your plan includes real-time data. \n * @summary List accounts for a connection\n * @param {ConnectionsApiListBrokerageAuthorizationAccountsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public listBrokerageAuthorizationAccounts(requestParameters: ConnectionsApiListBrokerageAuthorizationAccountsRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).listBrokerageAuthorizationAccounts(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. A connection is usually tied to a single login at a brokerage. A single connection can contain multiple brokerage accounts. 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. \n * @summary List all connections\n * @param {ConnectionsApiListBrokerageAuthorizationsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public listBrokerageAuthorizations(requestParameters: ConnectionsApiListBrokerageAuthorizationsRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).listBrokerageAuthorizations(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. This endpoint will also trigger a transaction sync for the past day if one has not yet occurred. **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)** **Please note this endpoint is disabled for Pay as you Go / Real-time plans. Pay as you Go / Real-time plans do not benefit from this feature since data is refreshed when calls are made** \n * @summary Refresh holdings for a connection\n * @param {ConnectionsApiRefreshBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public refreshBrokerageAuthorization(requestParameters: ConnectionsApiRefreshBrokerageAuthorizationRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).refreshBrokerageAuthorization(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Deletes the SnapTrade connection specified by the ID. This will also remove the accounts and holdings data associated with the connection from SnapTrade. This action is irreversible. This endpoint is synchronous, a 204 response indicates that the data has been successfully deleted.\n * @summary Delete connection\n * @param {ConnectionsApiRemoveBrokerageAuthorizationRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public removeBrokerageAuthorization(requestParameters: ConnectionsApiRemoveBrokerageAuthorizationRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).removeBrokerageAuthorization(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of rate of return percents for a given connection. \n * @summary List connection rate of returns\n * @param {ConnectionsApiReturnRatesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public returnRates(requestParameters: ConnectionsApiReturnRatesRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).returnRates(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of session events associated with a user.\n * @summary Get all session events for a user\n * @param {ConnectionsApiSessionEventsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public sessionEvents(requestParameters: ConnectionsApiSessionEventsRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).sessionEvents(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Trigger a transactions sync for all accounts under this connection. Updates will be queued asynchronously. Transactions are not updated intra-day, but calling this endpoint can ensure that the previous day\\'s transactions have been synced. For more information on sync behaviour, see: https://docs.snaptrade.com/docs/syncing \n * @summary Sync transactions for a connection\n * @param {ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConnectionsApiGenerated\n */\n public syncBrokerageAuthorizationTransactions(requestParameters: ConnectionsApiSyncBrokerageAuthorizationTransactionsRequest, options?: AxiosRequestConfig) {\n return ConnectionsApiFp(this.configuration).syncBrokerageAuthorizationTransactions(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { ConnectionsApiGenerated } from \"./connections-api-generated\";\nexport * from \"./connections-api-generated\";\n\nexport class ConnectionsApi extends ConnectionsApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { Model500UnexpectedExceptionResponse } from '../models';\n// @ts-ignore\nimport { OptionsPosition } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * OptionsApi - axios parameter creator\n * @export\n */\nexport const OptionsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. \n * @summary List account option positions\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listOptionHoldings: async (userId: string, userSecret: string, accountId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('listOptionHoldings', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('listOptionHoldings', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('listOptionHoldings', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/options`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/options',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * OptionsApi - functional programming interface\n * @export\n */\nexport const OptionsApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = OptionsApiAxiosParamCreator(configuration)\n return {\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. \n * @summary List account option positions\n * @param {OptionsApiListOptionHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listOptionHoldings(requestParameters: OptionsApiListOptionHoldingsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<OptionsPosition>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listOptionHoldings(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * OptionsApi - factory interface\n * @export\n */\nexport const OptionsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = OptionsApiFp(configuration)\n return {\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. \n * @summary List account option positions\n * @param {OptionsApiListOptionHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listOptionHoldings(requestParameters: OptionsApiListOptionHoldingsRequest, options?: AxiosRequestConfig): AxiosPromise<Array<OptionsPosition>> {\n return localVarFp.listOptionHoldings(requestParameters, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for listOptionHoldings operation in OptionsApi.\n * @export\n * @interface OptionsApiListOptionHoldingsRequest\n */\nexport type OptionsApiListOptionHoldingsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof OptionsApiListOptionHoldings\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof OptionsApiListOptionHoldings\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof OptionsApiListOptionHoldings\n */\n readonly accountId: string\n \n}\n\n/**\n * OptionsApiGenerated - object-oriented interface\n * @export\n * @class OptionsApiGenerated\n * @extends {BaseAPI}\n */\nexport class OptionsApiGenerated extends BaseAPI {\n /**\n * 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). Consider using the newer [unified positions endpoint](/reference/Account%20Information/AccountInformation_getAllAccountPositions). This will allow you to get both equity and option positions in a single call, as well as additional asset classes such as futures. 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: - If you do, this endpoint returns real-time data. - If you don\\'t, Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. If you need real-time, use the [manual refresh](/reference/Connections/Connections_refreshBrokerageAuthorization) endpoint. \n * @summary List account option positions\n * @param {OptionsApiListOptionHoldingsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OptionsApiGenerated\n */\n public listOptionHoldings(requestParameters: OptionsApiListOptionHoldingsRequest, options?: AxiosRequestConfig) {\n return OptionsApiFp(this.configuration).listOptionHoldings(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { OptionsApiGenerated } from \"./options-api-generated\";\nexport * from \"./options-api-generated\";\n\nexport class OptionsApi extends OptionsApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { Brokerage } from '../models';\n// @ts-ignore\nimport { BrokerageAuthorizationTypeReadOnly } from '../models';\n// @ts-ignore\nimport { BrokerageInstrumentsResponse } from '../models';\n// @ts-ignore\nimport { Currency } from '../models';\n// @ts-ignore\nimport { Exchange } from '../models';\n// @ts-ignore\nimport { ExchangeRatePairs } from '../models';\n// @ts-ignore\nimport { Model400FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model401FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model404FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { PartnerData } from '../models';\n// @ts-ignore\nimport { SecurityType } from '../models';\n// @ts-ignore\nimport { SymbolQuery } from '../models';\n// @ts-ignore\nimport { UniversalSymbol } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * ReferenceDataApi - axios parameter creator\n * @export\n */\nexport const ReferenceDataApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Returns an Exchange Rate Pair object for the specified Currency Pair.\n * @summary Get exchange rate of a currency pair\n * @param {string} currencyPair A currency pair based on currency code for example, {CAD-USD}\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCurrencyExchangeRatePair: async (currencyPair: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'currencyPair' is not null or undefined\n assertParamExists('getCurrencyExchangeRatePair', 'currencyPair', currencyPair)\n const localVarPath = `/currencies/rates/{currencyPair}`\n .replace(`{${\"currencyPair\"}}`, encodeURIComponent(String(currencyPair !== undefined ? currencyPair : `-currencyPair-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/currencies/rates/{currencyPair}',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns configurations for your SnapTrade Client ID, including allowed brokerages and data access.\n * @summary Get Client Info\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getPartnerInfo: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/snapTrade/partners`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/snapTrade/partners',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Return all available security types supported by SnapTrade.\n * @summary List security types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSecurityTypes: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/securityTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/securityTypes',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of all supported Exchanges.\n * @summary Get exchanges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getStockExchanges: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/exchanges`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/exchanges',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. \n * @summary Search symbols\n * @param {SymbolQuery} [symbolQuery] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSymbols: async (symbolQuery?: SymbolQuery, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/symbols`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: symbolQuery,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/symbols',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(symbolQuery, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. \n * @summary Get symbol detail\n * @param {string} query The ticker or Universal Symbol ID to look up the symbol with.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSymbolsByTicker: async (query: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'query' is not null or undefined\n assertParamExists('getSymbolsByTicker', 'query', query)\n const localVarPath = `/symbols/{query}`\n .replace(`{${\"query\"}}`, encodeURIComponent(String(query !== undefined ? query : `-query-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/symbols/{query}',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of all defined Brokerage authorization Type objects.\n * @summary Get all brokerage authorization types\n * @param {string} [brokerage] Comma separated value of brokerage slugs\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllBrokerageAuthorizationType: async (brokerage?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/brokerageAuthorizationTypes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (brokerage !== undefined) {\n localVarQueryParameter['brokerage'] = brokerage;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/brokerageAuthorizationTypes',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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.\n * @summary Get brokerage instruments\n * @param {string} slug A short, unique identifier for the brokerage. It is usually the name of the brokerage in capital letters and will never change.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllBrokerageInstruments: async (slug: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'slug' is not null or undefined\n assertParamExists('listAllBrokerageInstruments', 'slug', slug)\n const localVarPath = `/brokerages/{slug}/instruments`\n .replace(`{${\"slug\"}}`, encodeURIComponent(String(slug !== undefined ? slug : `-slug-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/brokerages/{slug}/instruments',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of all defined Brokerage objects.\n * @summary Get brokerages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllBrokerages: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/brokerages`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/brokerages',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of all defined Currency objects.\n * @summary Get currencies\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllCurrencies: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/currencies`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/currencies',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a list of all Exchange Rate Pairs for all supported Currencies.\n * @summary Get currency exchange rates\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllCurrenciesRates: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/currencies/rates`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/currencies/rates',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. The search results are further limited to the symbols supported by the brokerage for which the account is under. \n * @summary Search account symbols\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {SymbolQuery} [symbolQuery] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n symbolSearchUserAccount: async (userId: string, userSecret: string, accountId: string, symbolQuery?: SymbolQuery, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('symbolSearchUserAccount', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('symbolSearchUserAccount', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('symbolSearchUserAccount', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/symbols`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: symbolQuery,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/symbols',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(symbolQuery, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ReferenceDataApi - functional programming interface\n * @export\n */\nexport const ReferenceDataApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = ReferenceDataApiAxiosParamCreator(configuration)\n return {\n /**\n * Returns an Exchange Rate Pair object for the specified Currency Pair.\n * @summary Get exchange rate of a currency pair\n * @param {ReferenceDataApiGetCurrencyExchangeRatePairRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getCurrencyExchangeRatePair(requestParameters: ReferenceDataApiGetCurrencyExchangeRatePairRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ExchangeRatePairs>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCurrencyExchangeRatePair(requestParameters.currencyPair, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns configurations for your SnapTrade Client ID, including allowed brokerages and data access.\n * @summary Get Client Info\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getPartnerInfo(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PartnerData>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getPartnerInfo(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Return all available security types supported by SnapTrade.\n * @summary List security types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getSecurityTypes(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SecurityType>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSecurityTypes(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of all supported Exchanges.\n * @summary Get exchanges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getStockExchanges(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Exchange>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getStockExchanges(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. \n * @summary Search symbols\n * @param {ReferenceDataApiGetSymbolsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getSymbols(requestParameters: ReferenceDataApiGetSymbolsRequest = {}, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<UniversalSymbol>>> {\n const symbolQuery: SymbolQuery = {\n substring: requestParameters.substring\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSymbols(symbolQuery, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. \n * @summary Get symbol detail\n * @param {ReferenceDataApiGetSymbolsByTickerRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getSymbolsByTicker(requestParameters: ReferenceDataApiGetSymbolsByTickerRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UniversalSymbol>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSymbolsByTicker(requestParameters.query, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of all defined Brokerage authorization Type objects.\n * @summary Get all brokerage authorization types\n * @param {ReferenceDataApiListAllBrokerageAuthorizationTypeRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listAllBrokerageAuthorizationType(requestParameters: ReferenceDataApiListAllBrokerageAuthorizationTypeRequest = {}, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<BrokerageAuthorizationTypeReadOnly>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listAllBrokerageAuthorizationType(requestParameters.brokerage, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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.\n * @summary Get brokerage instruments\n * @param {ReferenceDataApiListAllBrokerageInstrumentsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listAllBrokerageInstruments(requestParameters: ReferenceDataApiListAllBrokerageInstrumentsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BrokerageInstrumentsResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listAllBrokerageInstruments(requestParameters.slug, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of all defined Brokerage objects.\n * @summary Get brokerages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listAllBrokerages(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Brokerage>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listAllBrokerages(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of all defined Currency objects.\n * @summary Get currencies\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listAllCurrencies(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Currency>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listAllCurrencies(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a list of all Exchange Rate Pairs for all supported Currencies.\n * @summary Get currency exchange rates\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async listAllCurrenciesRates(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ExchangeRatePairs>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.listAllCurrenciesRates(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. The search results are further limited to the symbols supported by the brokerage for which the account is under. \n * @summary Search account symbols\n * @param {ReferenceDataApiSymbolSearchUserAccountRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async symbolSearchUserAccount(requestParameters: ReferenceDataApiSymbolSearchUserAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<UniversalSymbol>>> {\n const symbolQuery: SymbolQuery = {\n substring: requestParameters.substring\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.symbolSearchUserAccount(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, symbolQuery, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * ReferenceDataApi - factory interface\n * @export\n */\nexport const ReferenceDataApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = ReferenceDataApiFp(configuration)\n return {\n /**\n * Returns an Exchange Rate Pair object for the specified Currency Pair.\n * @summary Get exchange rate of a currency pair\n * @param {ReferenceDataApiGetCurrencyExchangeRatePairRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCurrencyExchangeRatePair(requestParameters: ReferenceDataApiGetCurrencyExchangeRatePairRequest, options?: AxiosRequestConfig): AxiosPromise<ExchangeRatePairs> {\n return localVarFp.getCurrencyExchangeRatePair(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns configurations for your SnapTrade Client ID, including allowed brokerages and data access.\n * @summary Get Client Info\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getPartnerInfo(options?: AxiosRequestConfig): AxiosPromise<PartnerData> {\n return localVarFp.getPartnerInfo(options).then((request) => request(axios, basePath));\n },\n /**\n * Return all available security types supported by SnapTrade.\n * @summary List security types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSecurityTypes(options?: AxiosRequestConfig): AxiosPromise<Array<SecurityType>> {\n return localVarFp.getSecurityTypes(options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of all supported Exchanges.\n * @summary Get exchanges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getStockExchanges(options?: AxiosRequestConfig): AxiosPromise<Array<Exchange>> {\n return localVarFp.getStockExchanges(options).then((request) => request(axios, basePath));\n },\n /**\n * 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. \n * @summary Search symbols\n * @param {ReferenceDataApiGetSymbolsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSymbols(requestParameters: ReferenceDataApiGetSymbolsRequest = {}, options?: AxiosRequestConfig): AxiosPromise<Array<UniversalSymbol>> {\n return localVarFp.getSymbols(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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. \n * @summary Get symbol detail\n * @param {ReferenceDataApiGetSymbolsByTickerRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSymbolsByTicker(requestParameters: ReferenceDataApiGetSymbolsByTickerRequest, options?: AxiosRequestConfig): AxiosPromise<UniversalSymbol> {\n return localVarFp.getSymbolsByTicker(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of all defined Brokerage authorization Type objects.\n * @summary Get all brokerage authorization types\n * @param {ReferenceDataApiListAllBrokerageAuthorizationTypeRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllBrokerageAuthorizationType(requestParameters: ReferenceDataApiListAllBrokerageAuthorizationTypeRequest = {}, options?: AxiosRequestConfig): AxiosPromise<Array<BrokerageAuthorizationTypeReadOnly>> {\n return localVarFp.listAllBrokerageAuthorizationType(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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.\n * @summary Get brokerage instruments\n * @param {ReferenceDataApiListAllBrokerageInstrumentsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllBrokerageInstruments(requestParameters: ReferenceDataApiListAllBrokerageInstrumentsRequest, options?: AxiosRequestConfig): AxiosPromise<BrokerageInstrumentsResponse> {\n return localVarFp.listAllBrokerageInstruments(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of all defined Brokerage objects.\n * @summary Get brokerages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllBrokerages(options?: AxiosRequestConfig): AxiosPromise<Array<Brokerage>> {\n return localVarFp.listAllBrokerages(options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of all defined Currency objects.\n * @summary Get currencies\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllCurrencies(options?: AxiosRequestConfig): AxiosPromise<Array<Currency>> {\n return localVarFp.listAllCurrencies(options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a list of all Exchange Rate Pairs for all supported Currencies.\n * @summary Get currency exchange rates\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n listAllCurrenciesRates(options?: AxiosRequestConfig): AxiosPromise<Array<ExchangeRatePairs>> {\n return localVarFp.listAllCurrenciesRates(options).then((request) => request(axios, basePath));\n },\n /**\n * 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. The search results are further limited to the symbols supported by the brokerage for which the account is under. \n * @summary Search account symbols\n * @param {ReferenceDataApiSymbolSearchUserAccountRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n symbolSearchUserAccount(requestParameters: ReferenceDataApiSymbolSearchUserAccountRequest, options?: AxiosRequestConfig): AxiosPromise<Array<UniversalSymbol>> {\n return localVarFp.symbolSearchUserAccount(requestParameters, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for getCurrencyExchangeRatePair operation in ReferenceDataApi.\n * @export\n * @interface ReferenceDataApiGetCurrencyExchangeRatePairRequest\n */\nexport type ReferenceDataApiGetCurrencyExchangeRatePairRequest = {\n \n /**\n * A currency pair based on currency code for example, {CAD-USD}\n * @type {string}\n * @memberof ReferenceDataApiGetCurrencyExchangeRatePair\n */\n readonly currencyPair: string\n \n}\n\n/**\n * Request parameters for getSymbols operation in ReferenceDataApi.\n * @export\n * @interface ReferenceDataApiGetSymbolsRequest\n */\nexport type ReferenceDataApiGetSymbolsRequest = {\n \n} & SymbolQuery\n\n/**\n * Request parameters for getSymbolsByTicker operation in ReferenceDataApi.\n * @export\n * @interface ReferenceDataApiGetSymbolsByTickerRequest\n */\nexport type ReferenceDataApiGetSymbolsByTickerRequest = {\n \n /**\n * The ticker or Universal Symbol ID to look up the symbol with.\n * @type {string}\n * @memberof ReferenceDataApiGetSymbolsByTicker\n */\n readonly query: string\n \n}\n\n/**\n * Request parameters for listAllBrokerageAuthorizationType operation in ReferenceDataApi.\n * @export\n * @interface ReferenceDataApiListAllBrokerageAuthorizationTypeRequest\n */\nexport type ReferenceDataApiListAllBrokerageAuthorizationTypeRequest = {\n \n /**\n * Comma separated value of brokerage slugs\n * @type {string}\n * @memberof ReferenceDataApiListAllBrokerageAuthorizationType\n */\n readonly brokerage?: string\n \n}\n\n/**\n * Request parameters for listAllBrokerageInstruments operation in ReferenceDataApi.\n * @export\n * @interface ReferenceDataApiListAllBrokerageInstrumentsRequest\n */\nexport type ReferenceDataApiListAllBrokerageInstrumentsRequest = {\n \n /**\n * A short, unique identifier for the brokerage. It is usually the name of the brokerage in capital letters and will never change.\n * @type {string}\n * @memberof ReferenceDataApiListAllBrokerageInstruments\n */\n readonly slug: string\n \n}\n\n/**\n * Request parameters for symbolSearchUserAccount operation in ReferenceDataApi.\n * @export\n * @interface ReferenceDataApiSymbolSearchUserAccountRequest\n */\nexport type ReferenceDataApiSymbolSearchUserAccountRequest = {\n \n /**\n * \n * @type {string}\n * @memberof ReferenceDataApiSymbolSearchUserAccount\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof ReferenceDataApiSymbolSearchUserAccount\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof ReferenceDataApiSymbolSearchUserAccount\n */\n readonly accountId: string\n \n} & SymbolQuery\n\n/**\n * ReferenceDataApiGenerated - object-oriented interface\n * @export\n * @class ReferenceDataApiGenerated\n * @extends {BaseAPI}\n */\nexport class ReferenceDataApiGenerated extends BaseAPI {\n /**\n * Returns an Exchange Rate Pair object for the specified Currency Pair.\n * @summary Get exchange rate of a currency pair\n * @param {ReferenceDataApiGetCurrencyExchangeRatePairRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public getCurrencyExchangeRatePair(requestParameters: ReferenceDataApiGetCurrencyExchangeRatePairRequest, options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).getCurrencyExchangeRatePair(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns configurations for your SnapTrade Client ID, including allowed brokerages and data access.\n * @summary Get Client Info\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public getPartnerInfo(options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).getPartnerInfo(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Return all available security types supported by SnapTrade.\n * @summary List security types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public getSecurityTypes(options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).getSecurityTypes(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of all supported Exchanges.\n * @summary Get exchanges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public getStockExchanges(options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).getStockExchanges(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. \n * @summary Search symbols\n * @param {ReferenceDataApiGetSymbolsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public getSymbols(requestParameters: ReferenceDataApiGetSymbolsRequest = {}, options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).getSymbols(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. \n * @summary Get symbol detail\n * @param {ReferenceDataApiGetSymbolsByTickerRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public getSymbolsByTicker(requestParameters: ReferenceDataApiGetSymbolsByTickerRequest, options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).getSymbolsByTicker(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of all defined Brokerage authorization Type objects.\n * @summary Get all brokerage authorization types\n * @param {ReferenceDataApiListAllBrokerageAuthorizationTypeRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public listAllBrokerageAuthorizationType(requestParameters: ReferenceDataApiListAllBrokerageAuthorizationTypeRequest = {}, options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).listAllBrokerageAuthorizationType(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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.\n * @summary Get brokerage instruments\n * @param {ReferenceDataApiListAllBrokerageInstrumentsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public listAllBrokerageInstruments(requestParameters: ReferenceDataApiListAllBrokerageInstrumentsRequest, options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).listAllBrokerageInstruments(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of all defined Brokerage objects.\n * @summary Get brokerages\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public listAllBrokerages(options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).listAllBrokerages(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of all defined Currency objects.\n * @summary Get currencies\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public listAllCurrencies(options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).listAllCurrencies(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a list of all Exchange Rate Pairs for all supported Currencies.\n * @summary Get currency exchange rates\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public listAllCurrenciesRates(options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).listAllCurrenciesRates(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. The search results are further limited to the symbols supported by the brokerage for which the account is under. \n * @summary Search account symbols\n * @param {ReferenceDataApiSymbolSearchUserAccountRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ReferenceDataApiGenerated\n */\n public symbolSearchUserAccount(requestParameters: ReferenceDataApiSymbolSearchUserAccountRequest, options?: AxiosRequestConfig) {\n return ReferenceDataApiFp(this.configuration).symbolSearchUserAccount(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { ReferenceDataApiGenerated } from \"./reference-data-api-generated\";\nexport * from \"./reference-data-api-generated\";\n\nexport class ReferenceDataApi extends ReferenceDataApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { AccountInformationGetUserAccountOrderDetailRequest } from '../models';\n// @ts-ignore\nimport { AccountOrderRecord } from '../models';\n// @ts-ignore\nimport { ActionStrict } from '../models';\n// @ts-ignore\nimport { ActionStrictWithOptions } from '../models';\n// @ts-ignore\nimport { CancelOrderResponse } from '../models';\n// @ts-ignore\nimport { ComplexOrderLeg } from '../models';\n// @ts-ignore\nimport { ComplexOrderResponse } from '../models';\n// @ts-ignore\nimport { CryptoOrderForm } from '../models';\n// @ts-ignore\nimport { CryptoOrderPreview } from '../models';\n// @ts-ignore\nimport { CryptoTradingInstrument } from '../models';\n// @ts-ignore\nimport { CryptocurrencyPairQuote } from '../models';\n// @ts-ignore\nimport { ManualTradeAndImpact } from '../models';\n// @ts-ignore\nimport { ManualTradeForm } from '../models';\n// @ts-ignore\nimport { ManualTradeFormBracket } from '../models';\n// @ts-ignore\nimport { ManualTradeFormComplex } from '../models';\n// @ts-ignore\nimport { ManualTradeFormNotionalValue } from '../models';\n// @ts-ignore\nimport { ManualTradeFormWithOptions } from '../models';\n// @ts-ignore\nimport { ManualTradeReplaceForm } from '../models';\n// @ts-ignore\nimport { MlegLeg } from '../models';\n// @ts-ignore\nimport { MlegOrderResponse } from '../models';\n// @ts-ignore\nimport { MlegOrderTypeStrict } from '../models';\n// @ts-ignore\nimport { MlegPriceEffectStrict } from '../models';\n// @ts-ignore\nimport { MlegTradeForm } from '../models';\n// @ts-ignore\nimport { Model400FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model403FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model404FailedRequestResponse } from '../models';\n// @ts-ignore\nimport { Model500UnexpectedExceptionResponse } from '../models';\n// @ts-ignore\nimport { OptionImpact } from '../models';\n// @ts-ignore\nimport { OptionQuote } from '../models';\n// @ts-ignore\nimport { OrderTypeStrict } from '../models';\n// @ts-ignore\nimport { OrderUpdatedResponse } from '../models';\n// @ts-ignore\nimport { StopLoss } from '../models';\n// @ts-ignore\nimport { SymbolsQuotesInner } from '../models';\n// @ts-ignore\nimport { TakeProfit } from '../models';\n// @ts-ignore\nimport { TimeInForceStrict } from '../models';\n// @ts-ignore\nimport { TradingInstrument } from '../models';\n// @ts-ignore\nimport { TradingSearchCryptocurrencyPairInstruments200Response } from '../models';\n// @ts-ignore\nimport { TradingSession } from '../models';\n// @ts-ignore\nimport { ValidatedTradeBody } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * TradingApi - axios parameter creator\n * @export\n */\nexport const TradingApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Cancels an order in the specified account. Accepts order IDs for all asset types. \n * @summary Cancel order\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {AccountInformationGetUserAccountOrderDetailRequest} accountInformationGetUserAccountOrderDetailRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n cancelOrder: async (userId: string, userSecret: string, accountId: string, accountInformationGetUserAccountOrderDetailRequest: AccountInformationGetUserAccountOrderDetailRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('cancelOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('cancelOrder', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('cancelOrder', 'accountId', accountId)\n // verify required parameter 'accountInformationGetUserAccountOrderDetailRequest' is not null or undefined\n assertParamExists('cancelOrder', 'accountInformationGetUserAccountOrderDetailRequest', accountInformationGetUserAccountOrderDetailRequest)\n const localVarPath = `/accounts/{accountId}/trading/cancel`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: accountInformationGetUserAccountOrderDetailRequest,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/cancel',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(accountInformationGetUserAccountOrderDetailRequest, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * **This endpoint is deprecated. Please switch to [the new cancel order endpoint](/reference/Trading/Trading_cancelOrder) ** Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected. \n * @summary Cancel equity order\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {AccountInformationGetUserAccountOrderDetailRequest} accountInformationGetUserAccountOrderDetailRequest \n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n cancelUserAccountOrder: async (userId: string, userSecret: string, accountId: string, accountInformationGetUserAccountOrderDetailRequest: AccountInformationGetUserAccountOrderDetailRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('cancelUserAccountOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('cancelUserAccountOrder', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('cancelUserAccountOrder', 'accountId', accountId)\n // verify required parameter 'accountInformationGetUserAccountOrderDetailRequest' is not null or undefined\n assertParamExists('cancelUserAccountOrder', 'accountInformationGetUserAccountOrderDetailRequest', accountInformationGetUserAccountOrderDetailRequest)\n const localVarPath = `/accounts/{accountId}/orders/cancel`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: accountInformationGetUserAccountOrderDetailRequest,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/orders/cancel',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(accountInformationGetUserAccountOrderDetailRequest, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Gets a quote for the specified account. \n * @summary Get crypto pair quote\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {string} instrumentSymbol \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCryptocurrencyPairQuote: async (userId: string, userSecret: string, accountId: string, instrumentSymbol: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getCryptocurrencyPairQuote', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getCryptocurrencyPairQuote', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getCryptocurrencyPairQuote', 'accountId', accountId)\n // verify required parameter 'instrumentSymbol' is not null or undefined\n assertParamExists('getCryptocurrencyPairQuote', 'instrumentSymbol', instrumentSymbol)\n const localVarPath = `/accounts/{accountId}/trading/instruments/cryptocurrencyPairs/{instrumentSymbol}/quote`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)))\n .replace(`{${\"instrumentSymbol\"}}`, encodeURIComponent(String(instrumentSymbol !== undefined ? instrumentSymbol : `-instrumentSymbol-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/instruments/cryptocurrencyPairs/{instrumentSymbol}/quote',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Simulates an option order with up to 4 legs and returns the estimated cost and transaction fees without placing it. Only supported for certain enabled brokerages. Please refer to the [brokerage trading support page](https://support.snaptrade.com/brokerages) for more information on which brokerages support this endpoint. \n * @summary Get option order impact\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {MlegTradeForm} mlegTradeForm \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getOptionImpact: async (userId: string, userSecret: string, accountId: string, mlegTradeForm: MlegTradeForm, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getOptionImpact', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getOptionImpact', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getOptionImpact', 'accountId', accountId)\n // verify required parameter 'mlegTradeForm' is not null or undefined\n assertParamExists('getOptionImpact', 'mlegTradeForm', mlegTradeForm)\n const localVarPath = `/accounts/{accountId}/trading/options/impact`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: mlegTradeForm,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/options/impact',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(mlegTradeForm, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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.\n * @summary Check equity order impact\n * @param {string} userId \n * @param {string} userSecret \n * @param {ManualTradeForm} manualTradeForm \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getOrderImpact: async (userId: string, userSecret: string, manualTradeForm: ManualTradeForm, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getOrderImpact', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getOrderImpact', 'userSecret', userSecret)\n // verify required parameter 'manualTradeForm' is not null or undefined\n assertParamExists('getOrderImpact', 'manualTradeForm', manualTradeForm)\n const localVarPath = `/trade/impact`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: manualTradeForm,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/trade/impact',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(manualTradeForm, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a quote for a single option contract. The option contract is specified using in the 21 character OCC format. For example `AAPL 251114C00240000` represents a call option on AAPL expiring on 2025-11-14 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format) **Note:** These are derived values and are not suitable for trading purposes. \n * @summary Get option quote\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {string} symbol The OCC-formatted option symbol.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountOptionQuotes: async (userId: string, userSecret: string, accountId: string, symbol: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountOptionQuotes', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountOptionQuotes', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountOptionQuotes', 'accountId', accountId)\n // verify required parameter 'symbol' is not null or undefined\n assertParamExists('getUserAccountOptionQuotes', 'symbol', symbol)\n const localVarPath = `/accounts/{accountId}/quotes/options`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (symbol !== undefined) {\n localVarQueryParameter['symbol'] = symbol;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/quotes/options',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Returns a maximum of 10 quotes from the brokerage for the specified symbols and account. 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. **This endpoint is not a substitute for a market data provider. Frequent polling of this endpoint may result in the disabling of your keys** This endpoint does not work for options quotes. This endpoint is disabled for free plans by default. Please contact support to enable this endpoint if needed. \n * @summary Get equity symbol quotes\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} symbols List of Universal Symbol IDs or tickers to get quotes for. When providing multiple values, use a comma as separator. Maximum of 10 values allowed\n * @param {string} accountId \n * @param {boolean} [useTicker] Should be set to &#x60;True&#x60; if &#x60;symbols&#x60; are comprised of tickers. Defaults to &#x60;False&#x60; if not provided.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountQuotes: async (userId: string, userSecret: string, symbols: string, accountId: string, useTicker?: boolean, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getUserAccountQuotes', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getUserAccountQuotes', 'userSecret', userSecret)\n // verify required parameter 'symbols' is not null or undefined\n assertParamExists('getUserAccountQuotes', 'symbols', symbols)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('getUserAccountQuotes', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/quotes`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (symbols !== undefined) {\n localVarQueryParameter['symbols'] = symbols;\n }\n\n if (useTicker !== undefined) {\n localVarQueryParameter['use_ticker'] = useTicker;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/quotes',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * **This endpoint is deprecated. Please switch to [the new complex order endpoint](/reference/Trading/Trading_placeComplexOrder) ** Places a bracket order (entry order + OCO of stop loss and take profit). Disabled by default please contact support for use. Only supported on certain brokerages \n * @summary Place bracket order\n * @param {string} accountId The ID of the account to execute the trade on.\n * @param {string} userId \n * @param {string} userSecret \n * @param {ManualTradeFormBracket} manualTradeFormBracket \n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n placeBracketOrder: async (accountId: string, userId: string, userSecret: string, manualTradeFormBracket: ManualTradeFormBracket, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('placeBracketOrder', 'accountId', accountId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('placeBracketOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('placeBracketOrder', 'userSecret', userSecret)\n // verify required parameter 'manualTradeFormBracket' is not null or undefined\n assertParamExists('placeBracketOrder', 'manualTradeFormBracket', manualTradeFormBracket)\n const localVarPath = `/accounts/{accountId}/trading/bracket`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: manualTradeFormBracket,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/bracket',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(manualTradeFormBracket, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Places a complex conditional order (OCO, OTO, or OTOCO). Disabled by default — contact support to enable. Only supported on certain brokerages. - **OCO** (One Cancels the Other): Two peer orders; when one fills the other is cancelled. - **OTO** (One Triggers the Other): A trigger order that, when filled, activates a conditional order. - **OTOCO** (One Triggers a One Cancels the Other): A trigger order that, when filled, activates an OCO pair of two peer orders. \n * @summary Place complex order\n * @param {string} accountId The ID of the account to execute the trade on.\n * @param {string} userId \n * @param {string} userSecret \n * @param {ManualTradeFormComplex} manualTradeFormComplex \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeComplexOrder: async (accountId: string, userId: string, userSecret: string, manualTradeFormComplex: ManualTradeFormComplex, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('placeComplexOrder', 'accountId', accountId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('placeComplexOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('placeComplexOrder', 'userSecret', userSecret)\n // verify required parameter 'manualTradeFormComplex' is not null or undefined\n assertParamExists('placeComplexOrder', 'manualTradeFormComplex', manualTradeFormComplex)\n const localVarPath = `/accounts/{accountId}/trading/complex`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: manualTradeFormComplex,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/complex',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(manualTradeFormComplex, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Places an order in the specified account. This endpoint does not compute the impact to the account balance from the order before submitting the order. \n * @summary Place crypto order\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {CryptoOrderForm} cryptoOrderForm \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeCryptoOrder: async (userId: string, userSecret: string, accountId: string, cryptoOrderForm: CryptoOrderForm, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('placeCryptoOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('placeCryptoOrder', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('placeCryptoOrder', 'accountId', accountId)\n // verify required parameter 'cryptoOrderForm' is not null or undefined\n assertParamExists('placeCryptoOrder', 'cryptoOrderForm', cryptoOrderForm)\n const localVarPath = `/accounts/{accountId}/trading/crypto`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: cryptoOrderForm,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/crypto',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(cryptoOrderForm, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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. 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). 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. \n * @summary Place equity order\n * @param {string} userId \n * @param {string} userSecret \n * @param {ManualTradeFormWithOptions} manualTradeFormWithOptions \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeForceOrder: async (userId: string, userSecret: string, manualTradeFormWithOptions: ManualTradeFormWithOptions, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('placeForceOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('placeForceOrder', 'userSecret', userSecret)\n // verify required parameter 'manualTradeFormWithOptions' is not null or undefined\n assertParamExists('placeForceOrder', 'manualTradeFormWithOptions', manualTradeFormWithOptions)\n const localVarPath = `/trade/place`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: manualTradeFormWithOptions,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/trade/place',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(manualTradeFormWithOptions, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Places a multi-leg option order. Only supported on certain option trading brokerages. https://support.snaptrade.com/brokerages has information on brokerage trading support \n * @summary Place option order\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {MlegTradeForm} mlegTradeForm \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeMlegOrder: async (userId: string, userSecret: string, accountId: string, mlegTradeForm: MlegTradeForm, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('placeMlegOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('placeMlegOrder', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('placeMlegOrder', 'accountId', accountId)\n // verify required parameter 'mlegTradeForm' is not null or undefined\n assertParamExists('placeMlegOrder', 'mlegTradeForm', mlegTradeForm)\n const localVarPath = `/accounts/{accountId}/trading/options`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: mlegTradeForm,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/options',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(mlegTradeForm, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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). 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. \n * @summary Place checked equity order\n * @param {string} tradeId Obtained from calling the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact)\n * @param {string} userId \n * @param {string} userSecret \n * @param {ValidatedTradeBody} [validatedTradeBody] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeOrder: async (tradeId: string, userId: string, userSecret: string, validatedTradeBody?: ValidatedTradeBody, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'tradeId' is not null or undefined\n assertParamExists('placeOrder', 'tradeId', tradeId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('placeOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('placeOrder', 'userSecret', userSecret)\n const localVarPath = `/trade/{tradeId}`\n .replace(`{${\"tradeId\"}}`, encodeURIComponent(String(tradeId !== undefined ? tradeId : `-tradeId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: validatedTradeBody,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/trade/{tradeId}',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(validatedTradeBody, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Previews an order using the specified account. \n * @summary Preview crypto order\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {CryptoOrderForm} cryptoOrderForm \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n previewCryptoOrder: async (userId: string, userSecret: string, accountId: string, cryptoOrderForm: CryptoOrderForm, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('previewCryptoOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('previewCryptoOrder', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('previewCryptoOrder', 'accountId', accountId)\n // verify required parameter 'cryptoOrderForm' is not null or undefined\n assertParamExists('previewCryptoOrder', 'cryptoOrderForm', cryptoOrderForm)\n const localVarPath = `/accounts/{accountId}/trading/crypto/preview`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: cryptoOrderForm,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/crypto/preview',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(cryptoOrderForm, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Replaces an existing pending order with a new one. The way this works is brokerage dependent, but usually involves cancelling 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 returned in the response going forward. Only supported on some brokerages \n * @summary Replace order\n * @param {string} accountId The ID of the account to execute the trade on.\n * @param {string} userId \n * @param {string} userSecret \n * @param {ManualTradeReplaceForm} manualTradeReplaceForm \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n replaceOrder: async (accountId: string, userId: string, userSecret: string, manualTradeReplaceForm: ManualTradeReplaceForm, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('replaceOrder', 'accountId', accountId)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('replaceOrder', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('replaceOrder', 'userSecret', userSecret)\n // verify required parameter 'manualTradeReplaceForm' is not null or undefined\n assertParamExists('replaceOrder', 'manualTradeReplaceForm', manualTradeReplaceForm)\n const localVarPath = `/accounts/{accountId}/trading/replace`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n requestBody: manualTradeReplaceForm,\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/replace',\n httpMethod: 'POST'\n });\n localVarRequestOptions.data = serializeDataIfNeeded(manualTradeReplaceForm, localVarRequestOptions, configuration)\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Searches cryptocurrency pairs instruments accessible to the specified account. Both `base` and `quote` are optional. Omit both for a full list of cryptocurrency pairs. \n * @summary Get crypto pairs\n * @param {string} userId \n * @param {string} userSecret \n * @param {string} accountId \n * @param {string} [base] \n * @param {string} [quote] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchCryptocurrencyPairInstruments: async (userId: string, userSecret: string, accountId: string, base?: string, quote?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('searchCryptocurrencyPairInstruments', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('searchCryptocurrencyPairInstruments', 'userSecret', userSecret)\n // verify required parameter 'accountId' is not null or undefined\n assertParamExists('searchCryptocurrencyPairInstruments', 'accountId', accountId)\n const localVarPath = `/accounts/{accountId}/trading/instruments/cryptocurrencyPairs`\n .replace(`{${\"accountId\"}}`, encodeURIComponent(String(accountId !== undefined ? accountId : `-accountId-`)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n if (base !== undefined) {\n localVarQueryParameter['base'] = base;\n }\n\n if (quote !== undefined) {\n localVarQueryParameter['quote'] = quote;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/accounts/{accountId}/trading/instruments/cryptocurrencyPairs',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TradingApi - functional programming interface\n * @export\n */\nexport const TradingApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = TradingApiAxiosParamCreator(configuration)\n return {\n /**\n * Cancels an order in the specified account. Accepts order IDs for all asset types. \n * @summary Cancel order\n * @param {TradingApiCancelOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async cancelOrder(requestParameters: TradingApiCancelOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CancelOrderResponse>> {\n const accountInformationGetUserAccountOrderDetailRequest: AccountInformationGetUserAccountOrderDetailRequest = {\n brokerage_order_id: requestParameters.brokerage_order_id\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.cancelOrder(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, accountInformationGetUserAccountOrderDetailRequest, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * **This endpoint is deprecated. Please switch to [the new cancel order endpoint](/reference/Trading/Trading_cancelOrder) ** Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected. \n * @summary Cancel equity order\n * @param {TradingApiCancelUserAccountOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n async cancelUserAccountOrder(requestParameters: TradingApiCancelUserAccountOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountOrderRecord>> {\n const accountInformationGetUserAccountOrderDetailRequest: AccountInformationGetUserAccountOrderDetailRequest = {\n brokerage_order_id: requestParameters.brokerage_order_id\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.cancelUserAccountOrder(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, accountInformationGetUserAccountOrderDetailRequest, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Gets a quote for the specified account. \n * @summary Get crypto pair quote\n * @param {TradingApiGetCryptocurrencyPairQuoteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getCryptocurrencyPairQuote(requestParameters: TradingApiGetCryptocurrencyPairQuoteRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CryptocurrencyPairQuote>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCryptocurrencyPairQuote(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, requestParameters.instrumentSymbol, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Simulates an option order with up to 4 legs and returns the estimated cost and transaction fees without placing it. Only supported for certain enabled brokerages. Please refer to the [brokerage trading support page](https://support.snaptrade.com/brokerages) for more information on which brokerages support this endpoint. \n * @summary Get option order impact\n * @param {TradingApiGetOptionImpactRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getOptionImpact(requestParameters: TradingApiGetOptionImpactRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OptionImpact>> {\n const mlegTradeForm: MlegTradeForm = {\n order_type: requestParameters.order_type,\n time_in_force: requestParameters.time_in_force,\n limit_price: requestParameters.limit_price,\n stop_price: requestParameters.stop_price,\n price_effect: requestParameters.price_effect,\n legs: requestParameters.legs\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOptionImpact(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, mlegTradeForm, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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.\n * @summary Check equity order impact\n * @param {TradingApiGetOrderImpactRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getOrderImpact(requestParameters: TradingApiGetOrderImpactRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ManualTradeAndImpact>> {\n const manualTradeForm: ManualTradeForm = {\n account_id: requestParameters.account_id,\n action: requestParameters.action,\n universal_symbol_id: requestParameters.universal_symbol_id,\n order_type: requestParameters.order_type,\n time_in_force: requestParameters.time_in_force,\n price: requestParameters.price,\n stop: requestParameters.stop,\n units: requestParameters.units,\n notional_value: requestParameters.notional_value\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.getOrderImpact(requestParameters.userId, requestParameters.userSecret, manualTradeForm, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a quote for a single option contract. The option contract is specified using in the 21 character OCC format. For example `AAPL 251114C00240000` represents a call option on AAPL expiring on 2025-11-14 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format) **Note:** These are derived values and are not suitable for trading purposes. \n * @summary Get option quote\n * @param {TradingApiGetUserAccountOptionQuotesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountOptionQuotes(requestParameters: TradingApiGetUserAccountOptionQuotesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OptionQuote>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountOptionQuotes(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, requestParameters.symbol, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Returns a maximum of 10 quotes from the brokerage for the specified symbols and account. 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. **This endpoint is not a substitute for a market data provider. Frequent polling of this endpoint may result in the disabling of your keys** This endpoint does not work for options quotes. This endpoint is disabled for free plans by default. Please contact support to enable this endpoint if needed. \n * @summary Get equity symbol quotes\n * @param {TradingApiGetUserAccountQuotesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserAccountQuotes(requestParameters: TradingApiGetUserAccountQuotesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<SymbolsQuotesInner>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserAccountQuotes(requestParameters.userId, requestParameters.userSecret, requestParameters.symbols, requestParameters.accountId, requestParameters.useTicker, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * **This endpoint is deprecated. Please switch to [the new complex order endpoint](/reference/Trading/Trading_placeComplexOrder) ** Places a bracket order (entry order + OCO of stop loss and take profit). Disabled by default please contact support for use. Only supported on certain brokerages \n * @summary Place bracket order\n * @param {TradingApiPlaceBracketOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n async placeBracketOrder(requestParameters: TradingApiPlaceBracketOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountOrderRecord>> {\n const manualTradeFormBracket: ManualTradeFormBracket = {\n action: requestParameters.action,\n instrument: requestParameters.instrument,\n order_type: requestParameters.order_type,\n time_in_force: requestParameters.time_in_force,\n price: requestParameters.price,\n stop: requestParameters.stop,\n units: requestParameters.units,\n stop_loss: requestParameters.stop_loss,\n take_profit: requestParameters.take_profit\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.placeBracketOrder(requestParameters.accountId, requestParameters.userId, requestParameters.userSecret, manualTradeFormBracket, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Places a complex conditional order (OCO, OTO, or OTOCO). Disabled by default — contact support to enable. Only supported on certain brokerages. - **OCO** (One Cancels the Other): Two peer orders; when one fills the other is cancelled. - **OTO** (One Triggers the Other): A trigger order that, when filled, activates a conditional order. - **OTOCO** (One Triggers a One Cancels the Other): A trigger order that, when filled, activates an OCO pair of two peer orders. \n * @summary Place complex order\n * @param {TradingApiPlaceComplexOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async placeComplexOrder(requestParameters: TradingApiPlaceComplexOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ComplexOrderResponse>> {\n const manualTradeFormComplex: ManualTradeFormComplex = {\n type: requestParameters.type,\n orders: requestParameters.orders,\n client_order_id: requestParameters.client_order_id\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.placeComplexOrder(requestParameters.accountId, requestParameters.userId, requestParameters.userSecret, manualTradeFormComplex, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Places an order in the specified account. This endpoint does not compute the impact to the account balance from the order before submitting the order. \n * @summary Place crypto order\n * @param {TradingApiPlaceCryptoOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async placeCryptoOrder(requestParameters: TradingApiPlaceCryptoOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderUpdatedResponse>> {\n const cryptoOrderForm: CryptoOrderForm = {\n instrument: requestParameters.instrument,\n side: requestParameters.side,\n type: requestParameters.type,\n time_in_force: requestParameters.time_in_force,\n amount: requestParameters.amount,\n limit_price: requestParameters.limit_price,\n stop_price: requestParameters.stop_price,\n post_only: requestParameters.post_only,\n expiration_date: requestParameters.expiration_date\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.placeCryptoOrder(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, cryptoOrderForm, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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. 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). 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. \n * @summary Place equity order\n * @param {TradingApiPlaceForceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async placeForceOrder(requestParameters: TradingApiPlaceForceOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountOrderRecord>> {\n const manualTradeFormWithOptions: ManualTradeFormWithOptions = {\n account_id: requestParameters.account_id,\n action: requestParameters.action,\n universal_symbol_id: requestParameters.universal_symbol_id,\n symbol: requestParameters.symbol,\n order_type: requestParameters.order_type,\n time_in_force: requestParameters.time_in_force,\n trading_session: requestParameters.trading_session,\n price: requestParameters.price,\n stop: requestParameters.stop,\n units: requestParameters.units,\n notional_value: requestParameters.notional_value\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.placeForceOrder(requestParameters.userId, requestParameters.userSecret, manualTradeFormWithOptions, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Places a multi-leg option order. Only supported on certain option trading brokerages. https://support.snaptrade.com/brokerages has information on brokerage trading support \n * @summary Place option order\n * @param {TradingApiPlaceMlegOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async placeMlegOrder(requestParameters: TradingApiPlaceMlegOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MlegOrderResponse>> {\n const mlegTradeForm: MlegTradeForm = {\n order_type: requestParameters.order_type,\n time_in_force: requestParameters.time_in_force,\n limit_price: requestParameters.limit_price,\n stop_price: requestParameters.stop_price,\n price_effect: requestParameters.price_effect,\n legs: requestParameters.legs\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.placeMlegOrder(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, mlegTradeForm, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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). 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. \n * @summary Place checked equity order\n * @param {TradingApiPlaceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async placeOrder(requestParameters: TradingApiPlaceOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountOrderRecord>> {\n const validatedTradeBody: ValidatedTradeBody = {\n wait_to_confirm: requestParameters.wait_to_confirm\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.placeOrder(requestParameters.tradeId, requestParameters.userId, requestParameters.userSecret, validatedTradeBody, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Previews an order using the specified account. \n * @summary Preview crypto order\n * @param {TradingApiPreviewCryptoOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async previewCryptoOrder(requestParameters: TradingApiPreviewCryptoOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CryptoOrderPreview>> {\n const cryptoOrderForm: CryptoOrderForm = {\n instrument: requestParameters.instrument,\n side: requestParameters.side,\n type: requestParameters.type,\n time_in_force: requestParameters.time_in_force,\n amount: requestParameters.amount,\n limit_price: requestParameters.limit_price,\n stop_price: requestParameters.stop_price,\n post_only: requestParameters.post_only,\n expiration_date: requestParameters.expiration_date\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.previewCryptoOrder(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, cryptoOrderForm, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Replaces an existing pending order with a new one. The way this works is brokerage dependent, but usually involves cancelling 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 returned in the response going forward. Only supported on some brokerages \n * @summary Replace order\n * @param {TradingApiReplaceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async replaceOrder(requestParameters: TradingApiReplaceOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountOrderRecord>> {\n const manualTradeReplaceForm: ManualTradeReplaceForm = {\n brokerage_order_id: requestParameters.brokerage_order_id,\n action: requestParameters.action,\n order_type: requestParameters.order_type,\n time_in_force: requestParameters.time_in_force,\n price: requestParameters.price,\n symbol: requestParameters.symbol,\n stop: requestParameters.stop,\n units: requestParameters.units\n };\n const localVarAxiosArgs = await localVarAxiosParamCreator.replaceOrder(requestParameters.accountId, requestParameters.userId, requestParameters.userSecret, manualTradeReplaceForm, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * Searches cryptocurrency pairs instruments accessible to the specified account. Both `base` and `quote` are optional. Omit both for a full list of cryptocurrency pairs. \n * @summary Get crypto pairs\n * @param {TradingApiSearchCryptocurrencyPairInstrumentsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async searchCryptocurrencyPairInstruments(requestParameters: TradingApiSearchCryptocurrencyPairInstrumentsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TradingSearchCryptocurrencyPairInstruments200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.searchCryptocurrencyPairInstruments(requestParameters.userId, requestParameters.userSecret, requestParameters.accountId, requestParameters.base, requestParameters.quote, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * TradingApi - factory interface\n * @export\n */\nexport const TradingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = TradingApiFp(configuration)\n return {\n /**\n * Cancels an order in the specified account. Accepts order IDs for all asset types. \n * @summary Cancel order\n * @param {TradingApiCancelOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n cancelOrder(requestParameters: TradingApiCancelOrderRequest, options?: AxiosRequestConfig): AxiosPromise<CancelOrderResponse> {\n return localVarFp.cancelOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * **This endpoint is deprecated. Please switch to [the new cancel order endpoint](/reference/Trading/Trading_cancelOrder) ** Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected. \n * @summary Cancel equity order\n * @param {TradingApiCancelUserAccountOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n cancelUserAccountOrder(requestParameters: TradingApiCancelUserAccountOrderRequest, options?: AxiosRequestConfig): AxiosPromise<AccountOrderRecord> {\n return localVarFp.cancelUserAccountOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Gets a quote for the specified account. \n * @summary Get crypto pair quote\n * @param {TradingApiGetCryptocurrencyPairQuoteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCryptocurrencyPairQuote(requestParameters: TradingApiGetCryptocurrencyPairQuoteRequest, options?: AxiosRequestConfig): AxiosPromise<CryptocurrencyPairQuote> {\n return localVarFp.getCryptocurrencyPairQuote(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Simulates an option order with up to 4 legs and returns the estimated cost and transaction fees without placing it. Only supported for certain enabled brokerages. Please refer to the [brokerage trading support page](https://support.snaptrade.com/brokerages) for more information on which brokerages support this endpoint. \n * @summary Get option order impact\n * @param {TradingApiGetOptionImpactRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getOptionImpact(requestParameters: TradingApiGetOptionImpactRequest, options?: AxiosRequestConfig): AxiosPromise<OptionImpact> {\n return localVarFp.getOptionImpact(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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.\n * @summary Check equity order impact\n * @param {TradingApiGetOrderImpactRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getOrderImpact(requestParameters: TradingApiGetOrderImpactRequest, options?: AxiosRequestConfig): AxiosPromise<ManualTradeAndImpact> {\n return localVarFp.getOrderImpact(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a quote for a single option contract. The option contract is specified using in the 21 character OCC format. For example `AAPL 251114C00240000` represents a call option on AAPL expiring on 2025-11-14 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format) **Note:** These are derived values and are not suitable for trading purposes. \n * @summary Get option quote\n * @param {TradingApiGetUserAccountOptionQuotesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountOptionQuotes(requestParameters: TradingApiGetUserAccountOptionQuotesRequest, options?: AxiosRequestConfig): AxiosPromise<OptionQuote> {\n return localVarFp.getUserAccountOptionQuotes(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Returns a maximum of 10 quotes from the brokerage for the specified symbols and account. 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. **This endpoint is not a substitute for a market data provider. Frequent polling of this endpoint may result in the disabling of your keys** This endpoint does not work for options quotes. This endpoint is disabled for free plans by default. Please contact support to enable this endpoint if needed. \n * @summary Get equity symbol quotes\n * @param {TradingApiGetUserAccountQuotesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserAccountQuotes(requestParameters: TradingApiGetUserAccountQuotesRequest, options?: AxiosRequestConfig): AxiosPromise<Array<SymbolsQuotesInner>> {\n return localVarFp.getUserAccountQuotes(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * **This endpoint is deprecated. Please switch to [the new complex order endpoint](/reference/Trading/Trading_placeComplexOrder) ** Places a bracket order (entry order + OCO of stop loss and take profit). Disabled by default please contact support for use. Only supported on certain brokerages \n * @summary Place bracket order\n * @param {TradingApiPlaceBracketOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n placeBracketOrder(requestParameters: TradingApiPlaceBracketOrderRequest, options?: AxiosRequestConfig): AxiosPromise<AccountOrderRecord> {\n return localVarFp.placeBracketOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Places a complex conditional order (OCO, OTO, or OTOCO). Disabled by default — contact support to enable. Only supported on certain brokerages. - **OCO** (One Cancels the Other): Two peer orders; when one fills the other is cancelled. - **OTO** (One Triggers the Other): A trigger order that, when filled, activates a conditional order. - **OTOCO** (One Triggers a One Cancels the Other): A trigger order that, when filled, activates an OCO pair of two peer orders. \n * @summary Place complex order\n * @param {TradingApiPlaceComplexOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeComplexOrder(requestParameters: TradingApiPlaceComplexOrderRequest, options?: AxiosRequestConfig): AxiosPromise<ComplexOrderResponse> {\n return localVarFp.placeComplexOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Places an order in the specified account. This endpoint does not compute the impact to the account balance from the order before submitting the order. \n * @summary Place crypto order\n * @param {TradingApiPlaceCryptoOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeCryptoOrder(requestParameters: TradingApiPlaceCryptoOrderRequest, options?: AxiosRequestConfig): AxiosPromise<OrderUpdatedResponse> {\n return localVarFp.placeCryptoOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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. 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). 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. \n * @summary Place equity order\n * @param {TradingApiPlaceForceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeForceOrder(requestParameters: TradingApiPlaceForceOrderRequest, options?: AxiosRequestConfig): AxiosPromise<AccountOrderRecord> {\n return localVarFp.placeForceOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Places a multi-leg option order. Only supported on certain option trading brokerages. https://support.snaptrade.com/brokerages has information on brokerage trading support \n * @summary Place option order\n * @param {TradingApiPlaceMlegOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeMlegOrder(requestParameters: TradingApiPlaceMlegOrderRequest, options?: AxiosRequestConfig): AxiosPromise<MlegOrderResponse> {\n return localVarFp.placeMlegOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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). 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. \n * @summary Place checked equity order\n * @param {TradingApiPlaceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n placeOrder(requestParameters: TradingApiPlaceOrderRequest, options?: AxiosRequestConfig): AxiosPromise<AccountOrderRecord> {\n return localVarFp.placeOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Previews an order using the specified account. \n * @summary Preview crypto order\n * @param {TradingApiPreviewCryptoOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n previewCryptoOrder(requestParameters: TradingApiPreviewCryptoOrderRequest, options?: AxiosRequestConfig): AxiosPromise<CryptoOrderPreview> {\n return localVarFp.previewCryptoOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Replaces an existing pending order with a new one. The way this works is brokerage dependent, but usually involves cancelling 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 returned in the response going forward. Only supported on some brokerages \n * @summary Replace order\n * @param {TradingApiReplaceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n replaceOrder(requestParameters: TradingApiReplaceOrderRequest, options?: AxiosRequestConfig): AxiosPromise<AccountOrderRecord> {\n return localVarFp.replaceOrder(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * Searches cryptocurrency pairs instruments accessible to the specified account. Both `base` and `quote` are optional. Omit both for a full list of cryptocurrency pairs. \n * @summary Get crypto pairs\n * @param {TradingApiSearchCryptocurrencyPairInstrumentsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchCryptocurrencyPairInstruments(requestParameters: TradingApiSearchCryptocurrencyPairInstrumentsRequest, options?: AxiosRequestConfig): AxiosPromise<TradingSearchCryptocurrencyPairInstruments200Response> {\n return localVarFp.searchCryptocurrencyPairInstruments(requestParameters, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for cancelOrder operation in TradingApi.\n * @export\n * @interface TradingApiCancelOrderRequest\n */\nexport type TradingApiCancelOrderRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiCancelOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiCancelOrder\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiCancelOrder\n */\n readonly accountId: string\n \n} & AccountInformationGetUserAccountOrderDetailRequest\n\n/**\n * Request parameters for cancelUserAccountOrder operation in TradingApi.\n * @export\n * @interface TradingApiCancelUserAccountOrderRequest\n */\nexport type TradingApiCancelUserAccountOrderRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiCancelUserAccountOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiCancelUserAccountOrder\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiCancelUserAccountOrder\n */\n readonly accountId: string\n \n} & AccountInformationGetUserAccountOrderDetailRequest\n\n/**\n * Request parameters for getCryptocurrencyPairQuote operation in TradingApi.\n * @export\n * @interface TradingApiGetCryptocurrencyPairQuoteRequest\n */\nexport type TradingApiGetCryptocurrencyPairQuoteRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetCryptocurrencyPairQuote\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetCryptocurrencyPairQuote\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetCryptocurrencyPairQuote\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetCryptocurrencyPairQuote\n */\n readonly instrumentSymbol: string\n \n}\n\n/**\n * Request parameters for getOptionImpact operation in TradingApi.\n * @export\n * @interface TradingApiGetOptionImpactRequest\n */\nexport type TradingApiGetOptionImpactRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetOptionImpact\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetOptionImpact\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetOptionImpact\n */\n readonly accountId: string\n \n} & MlegTradeForm\n\n/**\n * Request parameters for getOrderImpact operation in TradingApi.\n * @export\n * @interface TradingApiGetOrderImpactRequest\n */\nexport type TradingApiGetOrderImpactRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetOrderImpact\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetOrderImpact\n */\n readonly userSecret: string\n \n} & ManualTradeForm\n\n/**\n * Request parameters for getUserAccountOptionQuotes operation in TradingApi.\n * @export\n * @interface TradingApiGetUserAccountOptionQuotesRequest\n */\nexport type TradingApiGetUserAccountOptionQuotesRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetUserAccountOptionQuotes\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetUserAccountOptionQuotes\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetUserAccountOptionQuotes\n */\n readonly accountId: string\n \n /**\n * The OCC-formatted option symbol.\n * @type {string}\n * @memberof TradingApiGetUserAccountOptionQuotes\n */\n readonly symbol: string\n \n}\n\n/**\n * Request parameters for getUserAccountQuotes operation in TradingApi.\n * @export\n * @interface TradingApiGetUserAccountQuotesRequest\n */\nexport type TradingApiGetUserAccountQuotesRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetUserAccountQuotes\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetUserAccountQuotes\n */\n readonly userSecret: string\n \n /**\n * List of Universal Symbol IDs or tickers to get quotes for. When providing multiple values, use a comma as separator. Maximum of 10 values allowed\n * @type {string}\n * @memberof TradingApiGetUserAccountQuotes\n */\n readonly symbols: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiGetUserAccountQuotes\n */\n readonly accountId: string\n \n /**\n * Should be set to `True` if `symbols` are comprised of tickers. Defaults to `False` if not provided.\n * @type {boolean}\n * @memberof TradingApiGetUserAccountQuotes\n */\n readonly useTicker?: boolean\n \n}\n\n/**\n * Request parameters for placeBracketOrder operation in TradingApi.\n * @export\n * @interface TradingApiPlaceBracketOrderRequest\n */\nexport type TradingApiPlaceBracketOrderRequest = {\n \n /**\n * The ID of the account to execute the trade on.\n * @type {string}\n * @memberof TradingApiPlaceBracketOrder\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceBracketOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceBracketOrder\n */\n readonly userSecret: string\n \n} & ManualTradeFormBracket\n\n/**\n * Request parameters for placeComplexOrder operation in TradingApi.\n * @export\n * @interface TradingApiPlaceComplexOrderRequest\n */\nexport type TradingApiPlaceComplexOrderRequest = {\n \n /**\n * The ID of the account to execute the trade on.\n * @type {string}\n * @memberof TradingApiPlaceComplexOrder\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceComplexOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceComplexOrder\n */\n readonly userSecret: string\n \n} & ManualTradeFormComplex\n\n/**\n * Request parameters for placeCryptoOrder operation in TradingApi.\n * @export\n * @interface TradingApiPlaceCryptoOrderRequest\n */\nexport type TradingApiPlaceCryptoOrderRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceCryptoOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceCryptoOrder\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceCryptoOrder\n */\n readonly accountId: string\n \n} & CryptoOrderForm\n\n/**\n * Request parameters for placeForceOrder operation in TradingApi.\n * @export\n * @interface TradingApiPlaceForceOrderRequest\n */\nexport type TradingApiPlaceForceOrderRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceForceOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceForceOrder\n */\n readonly userSecret: string\n \n} & ManualTradeFormWithOptions\n\n/**\n * Request parameters for placeMlegOrder operation in TradingApi.\n * @export\n * @interface TradingApiPlaceMlegOrderRequest\n */\nexport type TradingApiPlaceMlegOrderRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceMlegOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceMlegOrder\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceMlegOrder\n */\n readonly accountId: string\n \n} & MlegTradeForm\n\n/**\n * Request parameters for placeOrder operation in TradingApi.\n * @export\n * @interface TradingApiPlaceOrderRequest\n */\nexport type TradingApiPlaceOrderRequest = {\n \n /**\n * Obtained from calling the [check order impact endpoint](/reference/Trading/Trading_getOrderImpact)\n * @type {string}\n * @memberof TradingApiPlaceOrder\n */\n readonly tradeId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPlaceOrder\n */\n readonly userSecret: string\n \n} & ValidatedTradeBody\n\n/**\n * Request parameters for previewCryptoOrder operation in TradingApi.\n * @export\n * @interface TradingApiPreviewCryptoOrderRequest\n */\nexport type TradingApiPreviewCryptoOrderRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPreviewCryptoOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPreviewCryptoOrder\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiPreviewCryptoOrder\n */\n readonly accountId: string\n \n} & CryptoOrderForm\n\n/**\n * Request parameters for replaceOrder operation in TradingApi.\n * @export\n * @interface TradingApiReplaceOrderRequest\n */\nexport type TradingApiReplaceOrderRequest = {\n \n /**\n * The ID of the account to execute the trade on.\n * @type {string}\n * @memberof TradingApiReplaceOrder\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiReplaceOrder\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiReplaceOrder\n */\n readonly userSecret: string\n \n} & ManualTradeReplaceForm\n\n/**\n * Request parameters for searchCryptocurrencyPairInstruments operation in TradingApi.\n * @export\n * @interface TradingApiSearchCryptocurrencyPairInstrumentsRequest\n */\nexport type TradingApiSearchCryptocurrencyPairInstrumentsRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TradingApiSearchCryptocurrencyPairInstruments\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiSearchCryptocurrencyPairInstruments\n */\n readonly userSecret: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiSearchCryptocurrencyPairInstruments\n */\n readonly accountId: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiSearchCryptocurrencyPairInstruments\n */\n readonly base?: string\n \n /**\n * \n * @type {string}\n * @memberof TradingApiSearchCryptocurrencyPairInstruments\n */\n readonly quote?: string\n \n}\n\n/**\n * TradingApiGenerated - object-oriented interface\n * @export\n * @class TradingApiGenerated\n * @extends {BaseAPI}\n */\nexport class TradingApiGenerated extends BaseAPI {\n /**\n * Cancels an order in the specified account. Accepts order IDs for all asset types. \n * @summary Cancel order\n * @param {TradingApiCancelOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public cancelOrder(requestParameters: TradingApiCancelOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).cancelOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * **This endpoint is deprecated. Please switch to [the new cancel order endpoint](/reference/Trading/Trading_cancelOrder) ** Attempts to cancel an open order with the brokerage. If the order is no longer cancellable, the request will be rejected. \n * @summary Cancel equity order\n * @param {TradingApiCancelUserAccountOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public cancelUserAccountOrder(requestParameters: TradingApiCancelUserAccountOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).cancelUserAccountOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Gets a quote for the specified account. \n * @summary Get crypto pair quote\n * @param {TradingApiGetCryptocurrencyPairQuoteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public getCryptocurrencyPairQuote(requestParameters: TradingApiGetCryptocurrencyPairQuoteRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).getCryptocurrencyPairQuote(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Simulates an option order with up to 4 legs and returns the estimated cost and transaction fees without placing it. Only supported for certain enabled brokerages. Please refer to the [brokerage trading support page](https://support.snaptrade.com/brokerages) for more information on which brokerages support this endpoint. \n * @summary Get option order impact\n * @param {TradingApiGetOptionImpactRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public getOptionImpact(requestParameters: TradingApiGetOptionImpactRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).getOptionImpact(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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.\n * @summary Check equity order impact\n * @param {TradingApiGetOrderImpactRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public getOrderImpact(requestParameters: TradingApiGetOrderImpactRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).getOrderImpact(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a quote for a single option contract. The option contract is specified using in the 21 character OCC format. For example `AAPL 251114C00240000` represents a call option on AAPL expiring on 2025-11-14 with a strike price of $240. For more information on the OCC format, see [here](https://en.wikipedia.org/wiki/Option_symbol#OCC_format) **Note:** These are derived values and are not suitable for trading purposes. \n * @summary Get option quote\n * @param {TradingApiGetUserAccountOptionQuotesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public getUserAccountOptionQuotes(requestParameters: TradingApiGetUserAccountOptionQuotesRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).getUserAccountOptionQuotes(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Returns a maximum of 10 quotes from the brokerage for the specified symbols and account. 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. **This endpoint is not a substitute for a market data provider. Frequent polling of this endpoint may result in the disabling of your keys** This endpoint does not work for options quotes. This endpoint is disabled for free plans by default. Please contact support to enable this endpoint if needed. \n * @summary Get equity symbol quotes\n * @param {TradingApiGetUserAccountQuotesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public getUserAccountQuotes(requestParameters: TradingApiGetUserAccountQuotesRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).getUserAccountQuotes(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * **This endpoint is deprecated. Please switch to [the new complex order endpoint](/reference/Trading/Trading_placeComplexOrder) ** Places a bracket order (entry order + OCO of stop loss and take profit). Disabled by default please contact support for use. Only supported on certain brokerages \n * @summary Place bracket order\n * @param {TradingApiPlaceBracketOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public placeBracketOrder(requestParameters: TradingApiPlaceBracketOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).placeBracketOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Places a complex conditional order (OCO, OTO, or OTOCO). Disabled by default — contact support to enable. Only supported on certain brokerages. - **OCO** (One Cancels the Other): Two peer orders; when one fills the other is cancelled. - **OTO** (One Triggers the Other): A trigger order that, when filled, activates a conditional order. - **OTOCO** (One Triggers a One Cancels the Other): A trigger order that, when filled, activates an OCO pair of two peer orders. \n * @summary Place complex order\n * @param {TradingApiPlaceComplexOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public placeComplexOrder(requestParameters: TradingApiPlaceComplexOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).placeComplexOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Places an order in the specified account. This endpoint does not compute the impact to the account balance from the order before submitting the order. \n * @summary Place crypto order\n * @param {TradingApiPlaceCryptoOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public placeCryptoOrder(requestParameters: TradingApiPlaceCryptoOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).placeCryptoOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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. 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). 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. \n * @summary Place equity order\n * @param {TradingApiPlaceForceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public placeForceOrder(requestParameters: TradingApiPlaceForceOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).placeForceOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Places a multi-leg option order. Only supported on certain option trading brokerages. https://support.snaptrade.com/brokerages has information on brokerage trading support \n * @summary Place option order\n * @param {TradingApiPlaceMlegOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public placeMlegOrder(requestParameters: TradingApiPlaceMlegOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).placeMlegOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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). 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. \n * @summary Place checked equity order\n * @param {TradingApiPlaceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public placeOrder(requestParameters: TradingApiPlaceOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).placeOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Previews an order using the specified account. \n * @summary Preview crypto order\n * @param {TradingApiPreviewCryptoOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public previewCryptoOrder(requestParameters: TradingApiPreviewCryptoOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).previewCryptoOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Replaces an existing pending order with a new one. The way this works is brokerage dependent, but usually involves cancelling 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 returned in the response going forward. Only supported on some brokerages \n * @summary Replace order\n * @param {TradingApiReplaceOrderRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public replaceOrder(requestParameters: TradingApiReplaceOrderRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).replaceOrder(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Searches cryptocurrency pairs instruments accessible to the specified account. Both `base` and `quote` are optional. Omit both for a full list of cryptocurrency pairs. \n * @summary Get crypto pairs\n * @param {TradingApiSearchCryptocurrencyPairInstrumentsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TradingApiGenerated\n */\n public searchCryptocurrencyPairInstruments(requestParameters: TradingApiSearchCryptocurrencyPairInstrumentsRequest, options?: AxiosRequestConfig) {\n return TradingApiFp(this.configuration).searchCryptocurrencyPairInstruments(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { TradingApiGenerated } from \"./trading-api-generated\";\nexport * from \"./trading-api-generated\";\n\nexport class TradingApi extends TradingApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, isBrowser } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { PerformanceCustom } from '../models';\n// @ts-ignore\nimport { UniversalActivity } from '../models';\nimport { paginate } from \"../pagination/paginate\";\nimport type * as buffer from \"buffer\"\nimport { requestBeforeHook } from '../requestBeforeHook';\n/**\n * TransactionsAndReportingApi - axios parameter creator\n * @export\n */\nexport const TransactionsAndReportingApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * 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 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. 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. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary Get transaction history for a user\n * @param {string} userId \n * @param {string} userSecret \n * @param {string | Date} [startDate] The start date (inclusive) of the transaction history to retrieve. If not provided, the default is the first transaction known to SnapTrade based on &#x60;trade_date&#x60;.\n * @param {string | Date} [endDate] The end date (inclusive) of the transaction history to retrieve. If not provided, the default is the last transaction known to SnapTrade based on &#x60;trade_date&#x60;.\n * @param {string} [accounts] 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 &#x60;brokerageAuthorizations&#x60; parameter takes precedence over this parameter.\n * @param {string} [brokerageAuthorizations] 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 &#x60;accounts&#x60; parameter.\n * @param {string} [type] 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: - &#x60;BUY&#x60; - Asset bought. - &#x60;SELL&#x60; - Asset sold. - &#x60;DIVIDEND&#x60; - Dividend payout. - &#x60;CONTRIBUTION&#x60; - Cash contribution. - &#x60;WITHDRAWAL&#x60; - Cash withdrawal. - &#x60;REI&#x60; - Dividend reinvestment. - &#x60;INTEREST&#x60; - Interest deposited into the account. - &#x60;FEE&#x60; - Fee withdrawn from the account. - &#x60;OPTIONEXPIRATION&#x60; - Option expiration event. - &#x60;OPTIONASSIGNMENT&#x60; - Option assignment event. - &#x60;OPTIONEXERCISE&#x60; - Option exercise event. - &#x60;TRANSFER&#x60; - Transfer of assets from one account to another \n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getActivities: async (userId: string, userSecret: string, startDate?: string | Date, endDate?: string | Date, accounts?: string, brokerageAuthorizations?: string, type?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getActivities', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getActivities', 'userSecret', userSecret)\n const localVarPath = `/activities`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString().substr(0,10) :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString().substr(0,10) :\n endDate;\n }\n\n if (accounts !== undefined) {\n localVarQueryParameter['accounts'] = accounts;\n }\n\n if (brokerageAuthorizations !== undefined) {\n localVarQueryParameter['brokerageAuthorizations'] = brokerageAuthorizations;\n }\n\n if (type !== undefined) {\n localVarQueryParameter['type'] = type;\n }\n\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/activities',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * 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.\n * @summary Get performance information for a specific timeframe\n * @param {string | Date} startDate \n * @param {string | Date} endDate \n * @param {string} userId \n * @param {string} userSecret \n * @param {string} [accounts] Optional comma separated list of account IDs used to filter the request on specific accounts\n * @param {boolean} [detailed] Optional, increases frequency of data points for the total value and contribution charts if set to true\n * @param {string} [frequency] Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getReportingCustomRange: async (startDate: string | Date, endDate: string | Date, userId: string, userSecret: string, accounts?: string, detailed?: boolean, frequency?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'startDate' is not null or undefined\n assertParamExists('getReportingCustomRange', 'startDate', startDate)\n // verify required parameter 'endDate' is not null or undefined\n assertParamExists('getReportingCustomRange', 'endDate', endDate)\n // verify required parameter 'userId' is not null or undefined\n assertParamExists('getReportingCustomRange', 'userId', userId)\n // verify required parameter 'userSecret' is not null or undefined\n assertParamExists('getReportingCustomRange', 'userSecret', userSecret)\n const localVarPath = `/performance/custom`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions: AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = configuration && !isBrowser() ? { \"User-Agent\": configuration.userAgent } : {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication PartnerClientId required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"clientId\", keyParamName: \"clientId\", configuration})\n // authentication PartnerSignature required\n await setApiKeyToObject({ object: localVarHeaderParameter, key: \"Signature\", keyParamName: \"signature\", configuration })\n // authentication PartnerTimestamp required\n await setApiKeyToObject({object: localVarQueryParameter, key: \"timestamp\", keyParamName: \"timestamp\", configuration})\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString().substr(0,10) :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString().substr(0,10) :\n endDate;\n }\n\n if (accounts !== undefined) {\n localVarQueryParameter['accounts'] = accounts;\n }\n\n if (detailed !== undefined) {\n localVarQueryParameter['detailed'] = detailed;\n }\n\n if (frequency !== undefined) {\n localVarQueryParameter['frequency'] = frequency;\n }\n\n if (userId !== undefined) {\n localVarQueryParameter['userId'] = userId;\n }\n\n if (userSecret !== undefined) {\n localVarQueryParameter['userSecret'] = userSecret;\n }\n\n\n \n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n requestBeforeHook({\n queryParameters: localVarQueryParameter,\n requestConfig: localVarRequestOptions,\n path: localVarPath,\n configuration,\n pathTemplate: '/performance/custom',\n httpMethod: 'GET'\n });\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TransactionsAndReportingApi - functional programming interface\n * @export\n */\nexport const TransactionsAndReportingApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = TransactionsAndReportingApiAxiosParamCreator(configuration)\n return {\n /**\n * 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 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. 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. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary Get transaction history for a user\n * @param {TransactionsAndReportingApiGetActivitiesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n async getActivities(requestParameters: TransactionsAndReportingApiGetActivitiesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<UniversalActivity>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getActivities(requestParameters.userId, requestParameters.userSecret, requestParameters.startDate, requestParameters.endDate, requestParameters.accounts, requestParameters.brokerageAuthorizations, requestParameters.type, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * 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.\n * @summary Get performance information for a specific timeframe\n * @param {TransactionsAndReportingApiGetReportingCustomRangeRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n async getReportingCustomRange(requestParameters: TransactionsAndReportingApiGetReportingCustomRangeRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PerformanceCustom>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getReportingCustomRange(requestParameters.startDate, requestParameters.endDate, requestParameters.userId, requestParameters.userSecret, requestParameters.accounts, requestParameters.detailed, requestParameters.frequency, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * TransactionsAndReportingApi - factory interface\n * @export\n */\nexport const TransactionsAndReportingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = TransactionsAndReportingApiFp(configuration)\n return {\n /**\n * 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 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. 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. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary Get transaction history for a user\n * @param {TransactionsAndReportingApiGetActivitiesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getActivities(requestParameters: TransactionsAndReportingApiGetActivitiesRequest, options?: AxiosRequestConfig): AxiosPromise<Array<UniversalActivity>> {\n return localVarFp.getActivities(requestParameters, options).then((request) => request(axios, basePath));\n },\n /**\n * 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.\n * @summary Get performance information for a specific timeframe\n * @param {TransactionsAndReportingApiGetReportingCustomRangeRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n */\n getReportingCustomRange(requestParameters: TransactionsAndReportingApiGetReportingCustomRangeRequest, options?: AxiosRequestConfig): AxiosPromise<PerformanceCustom> {\n return localVarFp.getReportingCustomRange(requestParameters, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for getActivities operation in TransactionsAndReportingApi.\n * @export\n * @interface TransactionsAndReportingApiGetActivitiesRequest\n */\nexport type TransactionsAndReportingApiGetActivitiesRequest = {\n \n /**\n * \n * @type {string}\n * @memberof TransactionsAndReportingApiGetActivities\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TransactionsAndReportingApiGetActivities\n */\n readonly userSecret: string\n \n /**\n * 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`.\n * @type {string | Date}\n * @memberof TransactionsAndReportingApiGetActivities\n */\n readonly startDate?: string | Date\n \n /**\n * 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`.\n * @type {string | Date}\n * @memberof TransactionsAndReportingApiGetActivities\n */\n readonly endDate?: string | Date\n \n /**\n * 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.\n * @type {string}\n * @memberof TransactionsAndReportingApiGetActivities\n */\n readonly accounts?: string\n \n /**\n * 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.\n * @type {string}\n * @memberof TransactionsAndReportingApiGetActivities\n */\n readonly brokerageAuthorizations?: string\n \n /**\n * 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 \n * @type {string}\n * @memberof TransactionsAndReportingApiGetActivities\n */\n readonly type?: string\n \n}\n\n/**\n * Request parameters for getReportingCustomRange operation in TransactionsAndReportingApi.\n * @export\n * @interface TransactionsAndReportingApiGetReportingCustomRangeRequest\n */\nexport type TransactionsAndReportingApiGetReportingCustomRangeRequest = {\n \n /**\n * \n * @type {string | Date}\n * @memberof TransactionsAndReportingApiGetReportingCustomRange\n */\n readonly startDate: string | Date\n \n /**\n * \n * @type {string | Date}\n * @memberof TransactionsAndReportingApiGetReportingCustomRange\n */\n readonly endDate: string | Date\n \n /**\n * \n * @type {string}\n * @memberof TransactionsAndReportingApiGetReportingCustomRange\n */\n readonly userId: string\n \n /**\n * \n * @type {string}\n * @memberof TransactionsAndReportingApiGetReportingCustomRange\n */\n readonly userSecret: string\n \n /**\n * Optional comma separated list of account IDs used to filter the request on specific accounts\n * @type {string}\n * @memberof TransactionsAndReportingApiGetReportingCustomRange\n */\n readonly accounts?: string\n \n /**\n * Optional, increases frequency of data points for the total value and contribution charts if set to true\n * @type {boolean}\n * @memberof TransactionsAndReportingApiGetReportingCustomRange\n */\n readonly detailed?: boolean\n \n /**\n * Optional frequency for the rate of return chart (defaults to monthly). Possible values are daily, weekly, monthly, quarterly, yearly.\n * @type {string}\n * @memberof TransactionsAndReportingApiGetReportingCustomRange\n */\n readonly frequency?: string\n \n}\n\n/**\n * TransactionsAndReportingApiGenerated - object-oriented interface\n * @export\n * @class TransactionsAndReportingApiGenerated\n * @extends {BaseAPI}\n */\nexport class TransactionsAndReportingApiGenerated extends BaseAPI {\n /**\n * 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 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. 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. This endpoint returns Daily data. Daily data is cached and refreshed once a day. Exact refresh timing may vary by brokerage. **Note:** This endpoint will return HTTP 410 Gone for all customers that sign up after April 25, 2026. \n * @summary Get transaction history for a user\n * @param {TransactionsAndReportingApiGetActivitiesRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n * @memberof TransactionsAndReportingApiGenerated\n */\n public getActivities(requestParameters: TransactionsAndReportingApiGetActivitiesRequest, options?: AxiosRequestConfig) {\n return TransactionsAndReportingApiFp(this.configuration).getActivities(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * 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.\n * @summary Get performance information for a specific timeframe\n * @param {TransactionsAndReportingApiGetReportingCustomRangeRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @deprecated\n * @throws {RequiredError}\n * @memberof TransactionsAndReportingApiGenerated\n */\n public getReportingCustomRange(requestParameters: TransactionsAndReportingApiGetReportingCustomRangeRequest, options?: AxiosRequestConfig) {\n return TransactionsAndReportingApiFp(this.configuration).getReportingCustomRange(requestParameters, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { TransactionsAndReportingApiGenerated } from \"./transactions-and-reporting-api-generated\";\nexport * from \"./transactions-and-reporting-api-generated\";\n\nexport class TransactionsAndReportingApi extends TransactionsAndReportingApiGenerated {}\n","/* tslint:disable */\n/* eslint-disable */\n/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\n\ntype ApiKey =\n | string\n | ((keyParamName: string) => string)\n | ((keyParamName: string) => Promise<string>)\n | { [apiKeyName: string]: string | undefined };\n\nexport interface ConfigurationParameters {\n consumerKey?: string;\n clientId?: string;\n signature?: string;\n timestamp?: string;\n\n /**\n * parameter for apiKey security\n * @param name security name\n * @memberof Configuration\n */\n apiKey?: ApiKey;\n username?: string;\n password?: string;\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n basePath?: string;\n baseOptions?: any;\n userAgent?: string;\n formDataCtor?: new () => any;\n}\n\nexport class Configuration {\n /**\n * Client state\n */\n consumerKey?: string;\n /**\n * parameter for apiKey security\n * @param name security name\n * @memberof Configuration\n */\n apiKey?: ApiKey;\n /**\n * parameter for basic security\n *\n * @type {string}\n * @memberof Configuration\n */\n username?: string;\n /**\n * parameter for basic security\n *\n * @type {string}\n * @memberof Configuration\n */\n password?: string;\n /**\n * parameter for oauth2 security\n * @param name security name\n * @param scopes oauth2 scope\n * @memberof Configuration\n */\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n /**\n * When the access token expires, measured in Unix time in seconds\n */\n accessTokenExpiresIn?: number;\n /**\n * override base path\n *\n * @type {string}\n * @memberof Configuration\n */\n basePath?: string;\n /**\n * base options for axios calls\n *\n * @type {any}\n * @memberof Configuration\n */\n baseOptions?: any;\n /**\n * The FormData constructor that will be used to create multipart form data\n * requests. You can inject this here so that execution environments that\n * do not support the FormData class can still run the generated client.\n *\n * @type {new () => FormData}\n */\n formDataCtor?: new () => any;\n /**\n * Default User-Agent header\n */\n userAgent: string;\n\n constructor(param: ConfigurationParameters = {}) {\n this.consumerKey = param.consumerKey\n\n this.apiKey = param.apiKey\n if (this.apiKey === undefined) {\n this.apiKey = {}\n if (param.clientId !== undefined)\n this.apiKey[\"clientId\"] = param.clientId\n if (param.signature !== undefined)\n this.apiKey[\"signature\"] = param.signature\n if (param.timestamp !== undefined)\n this.apiKey[\"timestamp\"] = param.timestamp\n }\n this.username = param.username;\n this.password = param.password;\n this.accessToken = param.accessToken;\n this.basePath = param.basePath;\n this.baseOptions = param.baseOptions ?? {};\n this.userAgent = param.userAgent === undefined ? \"Konfig/10.0.1/typescript\" : param.userAgent;\n this.formDataCtor = param.formDataCtor;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n}\n","import { ConfigurationParameters } from \"./configuration\";\n\nexport class SnaptradeCustom {\n constructor(configurationParameters: ConfigurationParameters) {}\n}\n","/*\nSnapTrade\n\nConnect brokerage accounts to your app for live positions and trading\n\nThe version of the OpenAPI document: 1.0.0\nContact: api@snaptrade.com\n\nNOTE: This file is auto generated by Konfig (https://konfigthis.com).\n*/\n\nimport { AxiosRequestConfig } from \"axios\";\nimport {\n AccountInformationApi,\n ApiStatusApi,\n AuthenticationApi,\n ConnectionsApi,\n OptionsApi,\n ReferenceDataApi,\n TradingApi,\n TransactionsAndReportingApi,\n} from \"./api\";\nimport { Configuration, ConfigurationParameters } from \"./configuration\";\nimport { SnaptradeCustom } from \"./client-custom\";\n\nexport class Snaptrade extends SnaptradeCustom {\n readonly accountInformation: AccountInformationApi;\n readonly apiStatus: ApiStatusApi;\n readonly authentication: AuthenticationApi;\n readonly connections: ConnectionsApi;\n readonly options: OptionsApi;\n readonly referenceData: ReferenceDataApi;\n readonly trading: TradingApi;\n readonly transactionsAndReporting: TransactionsAndReportingApi;\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n super(configurationParameters);\n const configuration = new Configuration(configurationParameters);\n this.accountInformation = new AccountInformationApi(configuration);\n this.apiStatus = new ApiStatusApi(configuration);\n this.authentication = new AuthenticationApi(configuration);\n this.connections = new ConnectionsApi(configuration);\n this.options = new OptionsApi(configuration);\n this.referenceData = new ReferenceDataApi(configuration);\n this.trading = new TradingApi(configuration);\n this.transactionsAndReporting = new TransactionsAndReportingApi(configuration);\n }\n\n}\n"],"mappings":"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"}