@lightsparkdev/grid 0.2.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 (610) hide show
  1. package/.DS_Store +0 -0
  2. package/CHANGELOG.md +85 -0
  3. package/LICENSE +201 -0
  4. package/README.md +516 -0
  5. package/api-promise.d.mts +2 -0
  6. package/api-promise.d.mts.map +1 -0
  7. package/api-promise.d.ts +2 -0
  8. package/api-promise.d.ts.map +1 -0
  9. package/api-promise.js +6 -0
  10. package/api-promise.js.map +1 -0
  11. package/api-promise.mjs +2 -0
  12. package/api-promise.mjs.map +1 -0
  13. package/client.d.mts +302 -0
  14. package/client.d.mts.map +1 -0
  15. package/client.d.ts +302 -0
  16. package/client.d.ts.map +1 -0
  17. package/client.js +588 -0
  18. package/client.js.map +1 -0
  19. package/client.mjs +584 -0
  20. package/client.mjs.map +1 -0
  21. package/core/api-promise.d.mts +46 -0
  22. package/core/api-promise.d.mts.map +1 -0
  23. package/core/api-promise.d.ts +46 -0
  24. package/core/api-promise.d.ts.map +1 -0
  25. package/core/api-promise.js +74 -0
  26. package/core/api-promise.js.map +1 -0
  27. package/core/api-promise.mjs +70 -0
  28. package/core/api-promise.mjs.map +1 -0
  29. package/core/error.d.mts +2055 -0
  30. package/core/error.d.mts.map +1 -0
  31. package/core/error.d.ts +2055 -0
  32. package/core/error.d.ts.map +1 -0
  33. package/core/error.js +857 -0
  34. package/core/error.js.map +1 -0
  35. package/core/error.mjs +787 -0
  36. package/core/error.mjs.map +1 -0
  37. package/core/pagination.d.mts +58 -0
  38. package/core/pagination.d.mts.map +1 -0
  39. package/core/pagination.d.ts +58 -0
  40. package/core/pagination.d.ts.map +1 -0
  41. package/core/pagination.js +109 -0
  42. package/core/pagination.js.map +1 -0
  43. package/core/pagination.mjs +103 -0
  44. package/core/pagination.mjs.map +1 -0
  45. package/core/resource.d.mts +6 -0
  46. package/core/resource.d.mts.map +1 -0
  47. package/core/resource.d.ts +6 -0
  48. package/core/resource.d.ts.map +1 -0
  49. package/core/resource.js +11 -0
  50. package/core/resource.js.map +1 -0
  51. package/core/resource.mjs +7 -0
  52. package/core/resource.mjs.map +1 -0
  53. package/core/uploads.d.mts +3 -0
  54. package/core/uploads.d.mts.map +1 -0
  55. package/core/uploads.d.ts +3 -0
  56. package/core/uploads.d.ts.map +1 -0
  57. package/core/uploads.js +6 -0
  58. package/core/uploads.js.map +1 -0
  59. package/core/uploads.mjs +2 -0
  60. package/core/uploads.mjs.map +1 -0
  61. package/error.d.mts +2 -0
  62. package/error.d.mts.map +1 -0
  63. package/error.d.ts +2 -0
  64. package/error.d.ts.map +1 -0
  65. package/error.js +6 -0
  66. package/error.js.map +1 -0
  67. package/error.mjs +2 -0
  68. package/error.mjs.map +1 -0
  69. package/index.d.mts +7 -0
  70. package/index.d.mts.map +1 -0
  71. package/index.d.ts +7 -0
  72. package/index.d.ts.map +1 -0
  73. package/index.js +86 -0
  74. package/index.js.map +1 -0
  75. package/index.mjs +8 -0
  76. package/index.mjs.map +1 -0
  77. package/internal/.DS_Store +0 -0
  78. package/internal/builtin-types.d.mts +73 -0
  79. package/internal/builtin-types.d.mts.map +1 -0
  80. package/internal/builtin-types.d.ts +73 -0
  81. package/internal/builtin-types.d.ts.map +1 -0
  82. package/internal/builtin-types.js +4 -0
  83. package/internal/builtin-types.js.map +1 -0
  84. package/internal/builtin-types.mjs +3 -0
  85. package/internal/builtin-types.mjs.map +1 -0
  86. package/internal/detect-platform.d.mts +15 -0
  87. package/internal/detect-platform.d.mts.map +1 -0
  88. package/internal/detect-platform.d.ts +15 -0
  89. package/internal/detect-platform.d.ts.map +1 -0
  90. package/internal/detect-platform.js +162 -0
  91. package/internal/detect-platform.js.map +1 -0
  92. package/internal/detect-platform.mjs +157 -0
  93. package/internal/detect-platform.mjs.map +1 -0
  94. package/internal/errors.d.mts +3 -0
  95. package/internal/errors.d.mts.map +1 -0
  96. package/internal/errors.d.ts +3 -0
  97. package/internal/errors.d.ts.map +1 -0
  98. package/internal/errors.js +41 -0
  99. package/internal/errors.js.map +1 -0
  100. package/internal/errors.mjs +36 -0
  101. package/internal/errors.mjs.map +1 -0
  102. package/internal/headers.d.mts +20 -0
  103. package/internal/headers.d.mts.map +1 -0
  104. package/internal/headers.d.ts +20 -0
  105. package/internal/headers.d.ts.map +1 -0
  106. package/internal/headers.js +79 -0
  107. package/internal/headers.js.map +1 -0
  108. package/internal/headers.mjs +74 -0
  109. package/internal/headers.mjs.map +1 -0
  110. package/internal/parse.d.mts +12 -0
  111. package/internal/parse.d.mts.map +1 -0
  112. package/internal/parse.d.ts +12 -0
  113. package/internal/parse.d.ts.map +1 -0
  114. package/internal/parse.js +40 -0
  115. package/internal/parse.js.map +1 -0
  116. package/internal/parse.mjs +37 -0
  117. package/internal/parse.mjs.map +1 -0
  118. package/internal/qs/formats.d.mts +7 -0
  119. package/internal/qs/formats.d.mts.map +1 -0
  120. package/internal/qs/formats.d.ts +7 -0
  121. package/internal/qs/formats.d.ts.map +1 -0
  122. package/internal/qs/formats.js +13 -0
  123. package/internal/qs/formats.js.map +1 -0
  124. package/internal/qs/formats.mjs +9 -0
  125. package/internal/qs/formats.mjs.map +1 -0
  126. package/internal/qs/index.d.mts +10 -0
  127. package/internal/qs/index.d.mts.map +1 -0
  128. package/internal/qs/index.d.ts +10 -0
  129. package/internal/qs/index.d.ts.map +1 -0
  130. package/internal/qs/index.js +14 -0
  131. package/internal/qs/index.js.map +1 -0
  132. package/internal/qs/index.mjs +10 -0
  133. package/internal/qs/index.mjs.map +1 -0
  134. package/internal/qs/stringify.d.mts +3 -0
  135. package/internal/qs/stringify.d.mts.map +1 -0
  136. package/internal/qs/stringify.d.ts +3 -0
  137. package/internal/qs/stringify.d.ts.map +1 -0
  138. package/internal/qs/stringify.js +277 -0
  139. package/internal/qs/stringify.js.map +1 -0
  140. package/internal/qs/stringify.mjs +274 -0
  141. package/internal/qs/stringify.mjs.map +1 -0
  142. package/internal/qs/types.d.mts +57 -0
  143. package/internal/qs/types.d.mts.map +1 -0
  144. package/internal/qs/types.d.ts +57 -0
  145. package/internal/qs/types.d.ts.map +1 -0
  146. package/internal/qs/types.js +3 -0
  147. package/internal/qs/types.js.map +1 -0
  148. package/internal/qs/types.mjs +2 -0
  149. package/internal/qs/types.mjs.map +1 -0
  150. package/internal/qs/utils.d.mts +15 -0
  151. package/internal/qs/utils.d.mts.map +1 -0
  152. package/internal/qs/utils.d.ts +15 -0
  153. package/internal/qs/utils.d.ts.map +1 -0
  154. package/internal/qs/utils.js +230 -0
  155. package/internal/qs/utils.js.map +1 -0
  156. package/internal/qs/utils.mjs +217 -0
  157. package/internal/qs/utils.mjs.map +1 -0
  158. package/internal/request-options.d.mts +75 -0
  159. package/internal/request-options.d.mts.map +1 -0
  160. package/internal/request-options.d.ts +75 -0
  161. package/internal/request-options.d.ts.map +1 -0
  162. package/internal/request-options.js +14 -0
  163. package/internal/request-options.js.map +1 -0
  164. package/internal/request-options.mjs +10 -0
  165. package/internal/request-options.mjs.map +1 -0
  166. package/internal/shim-types.d.mts +17 -0
  167. package/internal/shim-types.d.mts.map +1 -0
  168. package/internal/shim-types.d.ts +17 -0
  169. package/internal/shim-types.d.ts.map +1 -0
  170. package/internal/shim-types.js +4 -0
  171. package/internal/shim-types.js.map +1 -0
  172. package/internal/shim-types.mjs +3 -0
  173. package/internal/shim-types.mjs.map +1 -0
  174. package/internal/shims.d.mts +20 -0
  175. package/internal/shims.d.mts.map +1 -0
  176. package/internal/shims.d.ts +20 -0
  177. package/internal/shims.d.ts.map +1 -0
  178. package/internal/shims.js +92 -0
  179. package/internal/shims.js.map +1 -0
  180. package/internal/shims.mjs +85 -0
  181. package/internal/shims.mjs.map +1 -0
  182. package/internal/to-file.d.mts +45 -0
  183. package/internal/to-file.d.mts.map +1 -0
  184. package/internal/to-file.d.ts +45 -0
  185. package/internal/to-file.d.ts.map +1 -0
  186. package/internal/to-file.js +91 -0
  187. package/internal/to-file.js.map +1 -0
  188. package/internal/to-file.mjs +88 -0
  189. package/internal/to-file.mjs.map +1 -0
  190. package/internal/tslib.js +81 -0
  191. package/internal/tslib.mjs +17 -0
  192. package/internal/types.d.mts +69 -0
  193. package/internal/types.d.mts.map +1 -0
  194. package/internal/types.d.ts +69 -0
  195. package/internal/types.d.ts.map +1 -0
  196. package/internal/types.js +4 -0
  197. package/internal/types.js.map +1 -0
  198. package/internal/types.mjs +3 -0
  199. package/internal/types.mjs.map +1 -0
  200. package/internal/uploads.d.mts +42 -0
  201. package/internal/uploads.d.mts.map +1 -0
  202. package/internal/uploads.d.ts +42 -0
  203. package/internal/uploads.d.ts.map +1 -0
  204. package/internal/uploads.js +141 -0
  205. package/internal/uploads.js.map +1 -0
  206. package/internal/uploads.mjs +131 -0
  207. package/internal/uploads.mjs.map +1 -0
  208. package/internal/utils/base64.d.mts +3 -0
  209. package/internal/utils/base64.d.mts.map +1 -0
  210. package/internal/utils/base64.d.ts +3 -0
  211. package/internal/utils/base64.d.ts.map +1 -0
  212. package/internal/utils/base64.js +38 -0
  213. package/internal/utils/base64.js.map +1 -0
  214. package/internal/utils/base64.mjs +33 -0
  215. package/internal/utils/base64.mjs.map +1 -0
  216. package/internal/utils/bytes.d.mts +4 -0
  217. package/internal/utils/bytes.d.mts.map +1 -0
  218. package/internal/utils/bytes.d.ts +4 -0
  219. package/internal/utils/bytes.d.ts.map +1 -0
  220. package/internal/utils/bytes.js +31 -0
  221. package/internal/utils/bytes.js.map +1 -0
  222. package/internal/utils/bytes.mjs +26 -0
  223. package/internal/utils/bytes.mjs.map +1 -0
  224. package/internal/utils/env.d.mts +9 -0
  225. package/internal/utils/env.d.mts.map +1 -0
  226. package/internal/utils/env.d.ts +9 -0
  227. package/internal/utils/env.d.ts.map +1 -0
  228. package/internal/utils/env.js +22 -0
  229. package/internal/utils/env.js.map +1 -0
  230. package/internal/utils/env.mjs +18 -0
  231. package/internal/utils/env.mjs.map +1 -0
  232. package/internal/utils/log.d.mts +37 -0
  233. package/internal/utils/log.d.mts.map +1 -0
  234. package/internal/utils/log.d.ts +37 -0
  235. package/internal/utils/log.d.ts.map +1 -0
  236. package/internal/utils/log.js +86 -0
  237. package/internal/utils/log.js.map +1 -0
  238. package/internal/utils/log.mjs +80 -0
  239. package/internal/utils/log.mjs.map +1 -0
  240. package/internal/utils/path.d.mts +15 -0
  241. package/internal/utils/path.d.mts.map +1 -0
  242. package/internal/utils/path.d.ts +15 -0
  243. package/internal/utils/path.d.ts.map +1 -0
  244. package/internal/utils/path.js +79 -0
  245. package/internal/utils/path.js.map +1 -0
  246. package/internal/utils/path.mjs +74 -0
  247. package/internal/utils/path.mjs.map +1 -0
  248. package/internal/utils/sleep.d.mts +2 -0
  249. package/internal/utils/sleep.d.mts.map +1 -0
  250. package/internal/utils/sleep.d.ts +2 -0
  251. package/internal/utils/sleep.d.ts.map +1 -0
  252. package/internal/utils/sleep.js +7 -0
  253. package/internal/utils/sleep.js.map +1 -0
  254. package/internal/utils/sleep.mjs +3 -0
  255. package/internal/utils/sleep.mjs.map +1 -0
  256. package/internal/utils/uuid.d.mts +5 -0
  257. package/internal/utils/uuid.d.mts.map +1 -0
  258. package/internal/utils/uuid.d.ts +5 -0
  259. package/internal/utils/uuid.d.ts.map +1 -0
  260. package/internal/utils/uuid.js +19 -0
  261. package/internal/utils/uuid.js.map +1 -0
  262. package/internal/utils/uuid.mjs +15 -0
  263. package/internal/utils/uuid.mjs.map +1 -0
  264. package/internal/utils/values.d.mts +18 -0
  265. package/internal/utils/values.d.mts.map +1 -0
  266. package/internal/utils/values.d.ts +18 -0
  267. package/internal/utils/values.d.ts.map +1 -0
  268. package/internal/utils/values.js +112 -0
  269. package/internal/utils/values.js.map +1 -0
  270. package/internal/utils/values.mjs +94 -0
  271. package/internal/utils/values.mjs.map +1 -0
  272. package/internal/utils.d.mts +7 -0
  273. package/internal/utils.d.mts.map +1 -0
  274. package/internal/utils.d.ts +7 -0
  275. package/internal/utils.d.ts.map +1 -0
  276. package/internal/utils.js +11 -0
  277. package/internal/utils.js.map +1 -0
  278. package/internal/utils.mjs +8 -0
  279. package/internal/utils.mjs.map +1 -0
  280. package/package.json +147 -0
  281. package/pagination.d.mts +2 -0
  282. package/pagination.d.mts.map +1 -0
  283. package/pagination.d.ts +2 -0
  284. package/pagination.d.ts.map +1 -0
  285. package/pagination.js +6 -0
  286. package/pagination.js.map +1 -0
  287. package/pagination.mjs +2 -0
  288. package/pagination.mjs.map +1 -0
  289. package/resource.d.mts +2 -0
  290. package/resource.d.mts.map +1 -0
  291. package/resource.d.ts +2 -0
  292. package/resource.d.ts.map +1 -0
  293. package/resource.js +6 -0
  294. package/resource.js.map +1 -0
  295. package/resource.mjs +2 -0
  296. package/resource.mjs.map +1 -0
  297. package/resources/.DS_Store +0 -0
  298. package/resources/config.d.mts +130 -0
  299. package/resources/config.d.mts.map +1 -0
  300. package/resources/config.d.ts +130 -0
  301. package/resources/config.d.ts.map +1 -0
  302. package/resources/config.js +47 -0
  303. package/resources/config.js.map +1 -0
  304. package/resources/config.mjs +43 -0
  305. package/resources/config.mjs.map +1 -0
  306. package/resources/customers/bulk.d.mts +170 -0
  307. package/resources/customers/bulk.d.mts.map +1 -0
  308. package/resources/customers/bulk.d.ts +170 -0
  309. package/resources/customers/bulk.d.ts.map +1 -0
  310. package/resources/customers/bulk.js +103 -0
  311. package/resources/customers/bulk.js.map +1 -0
  312. package/resources/customers/bulk.mjs +99 -0
  313. package/resources/customers/bulk.mjs.map +1 -0
  314. package/resources/customers/customers.d.mts +1238 -0
  315. package/resources/customers/customers.d.mts.map +1 -0
  316. package/resources/customers/customers.d.ts +1238 -0
  317. package/resources/customers/customers.d.ts.map +1 -0
  318. package/resources/customers/customers.js +130 -0
  319. package/resources/customers/customers.js.map +1 -0
  320. package/resources/customers/customers.mjs +125 -0
  321. package/resources/customers/customers.mjs.map +1 -0
  322. package/resources/customers/external-accounts.d.mts +461 -0
  323. package/resources/customers/external-accounts.d.mts.map +1 -0
  324. package/resources/customers/external-accounts.d.ts +461 -0
  325. package/resources/customers/external-accounts.d.ts.map +1 -0
  326. package/resources/customers/external-accounts.js +83 -0
  327. package/resources/customers/external-accounts.js.map +1 -0
  328. package/resources/customers/external-accounts.mjs +79 -0
  329. package/resources/customers/external-accounts.mjs.map +1 -0
  330. package/resources/customers/index.d.mts +4 -0
  331. package/resources/customers/index.d.mts.map +1 -0
  332. package/resources/customers/index.d.ts +4 -0
  333. package/resources/customers/index.d.ts.map +1 -0
  334. package/resources/customers/index.js +11 -0
  335. package/resources/customers/index.js.map +1 -0
  336. package/resources/customers/index.mjs +5 -0
  337. package/resources/customers/index.mjs.map +1 -0
  338. package/resources/customers.d.mts +2 -0
  339. package/resources/customers.d.mts.map +1 -0
  340. package/resources/customers.d.ts +2 -0
  341. package/resources/customers.d.ts.map +1 -0
  342. package/resources/customers.js +6 -0
  343. package/resources/customers.js.map +1 -0
  344. package/resources/customers.mjs +3 -0
  345. package/resources/customers.mjs.map +1 -0
  346. package/resources/exchange-rates.d.mts +101 -0
  347. package/resources/exchange-rates.d.mts.map +1 -0
  348. package/resources/exchange-rates.d.ts +101 -0
  349. package/resources/exchange-rates.d.ts.map +1 -0
  350. package/resources/exchange-rates.js +23 -0
  351. package/resources/exchange-rates.js.map +1 -0
  352. package/resources/exchange-rates.mjs +19 -0
  353. package/resources/exchange-rates.mjs.map +1 -0
  354. package/resources/index.d.mts +16 -0
  355. package/resources/index.d.mts.map +1 -0
  356. package/resources/index.d.ts +16 -0
  357. package/resources/index.d.ts.map +1 -0
  358. package/resources/index.js +35 -0
  359. package/resources/index.js.map +1 -0
  360. package/resources/index.mjs +17 -0
  361. package/resources/index.mjs.map +1 -0
  362. package/resources/invitations.d.mts +166 -0
  363. package/resources/invitations.d.mts.map +1 -0
  364. package/resources/invitations.d.ts +166 -0
  365. package/resources/invitations.d.ts.map +1 -0
  366. package/resources/invitations.js +83 -0
  367. package/resources/invitations.js.map +1 -0
  368. package/resources/invitations.mjs +79 -0
  369. package/resources/invitations.mjs.map +1 -0
  370. package/resources/plaid.d.mts +101 -0
  371. package/resources/plaid.d.mts.map +1 -0
  372. package/resources/plaid.d.ts +101 -0
  373. package/resources/plaid.d.ts.map +1 -0
  374. package/resources/plaid.js +64 -0
  375. package/resources/plaid.js.map +1 -0
  376. package/resources/plaid.mjs +60 -0
  377. package/resources/plaid.mjs.map +1 -0
  378. package/resources/platform/external-accounts.d.mts +111 -0
  379. package/resources/platform/external-accounts.d.mts.map +1 -0
  380. package/resources/platform/external-accounts.d.ts +111 -0
  381. package/resources/platform/external-accounts.d.ts.map +1 -0
  382. package/resources/platform/external-accounts.js +74 -0
  383. package/resources/platform/external-accounts.js.map +1 -0
  384. package/resources/platform/external-accounts.mjs +70 -0
  385. package/resources/platform/external-accounts.mjs.map +1 -0
  386. package/resources/platform/index.d.mts +3 -0
  387. package/resources/platform/index.d.mts.map +1 -0
  388. package/resources/platform/index.d.ts +3 -0
  389. package/resources/platform/index.d.ts.map +1 -0
  390. package/resources/platform/index.js +9 -0
  391. package/resources/platform/index.js.map +1 -0
  392. package/resources/platform/index.mjs +4 -0
  393. package/resources/platform/index.mjs.map +1 -0
  394. package/resources/platform/platform.d.mts +41 -0
  395. package/resources/platform/platform.d.mts.map +1 -0
  396. package/resources/platform/platform.d.ts +41 -0
  397. package/resources/platform/platform.d.ts.map +1 -0
  398. package/resources/platform/platform.js +34 -0
  399. package/resources/platform/platform.js.map +1 -0
  400. package/resources/platform/platform.mjs +29 -0
  401. package/resources/platform/platform.mjs.map +1 -0
  402. package/resources/platform.d.mts +2 -0
  403. package/resources/platform.d.mts.map +1 -0
  404. package/resources/platform.d.ts +2 -0
  405. package/resources/platform.d.ts.map +1 -0
  406. package/resources/platform.js +6 -0
  407. package/resources/platform.js.map +1 -0
  408. package/resources/platform.mjs +3 -0
  409. package/resources/platform.mjs.map +1 -0
  410. package/resources/quotes.d.mts +580 -0
  411. package/resources/quotes.d.mts.map +1 -0
  412. package/resources/quotes.d.ts +580 -0
  413. package/resources/quotes.d.ts.map +1 -0
  414. package/resources/quotes.js +122 -0
  415. package/resources/quotes.js.map +1 -0
  416. package/resources/quotes.mjs +118 -0
  417. package/resources/quotes.mjs.map +1 -0
  418. package/resources/receiver.d.mts +100 -0
  419. package/resources/receiver.d.mts.map +1 -0
  420. package/resources/receiver.d.ts +100 -0
  421. package/resources/receiver.d.ts.map +1 -0
  422. package/resources/receiver.js +27 -0
  423. package/resources/receiver.js.map +1 -0
  424. package/resources/receiver.mjs +23 -0
  425. package/resources/receiver.mjs.map +1 -0
  426. package/resources/sandbox/index.d.mts +4 -0
  427. package/resources/sandbox/index.d.mts.map +1 -0
  428. package/resources/sandbox/index.d.ts +4 -0
  429. package/resources/sandbox/index.d.ts.map +1 -0
  430. package/resources/sandbox/index.js +11 -0
  431. package/resources/sandbox/index.js.map +1 -0
  432. package/resources/sandbox/index.mjs +5 -0
  433. package/resources/sandbox/index.mjs.map +1 -0
  434. package/resources/sandbox/internal-accounts.d.mts +61 -0
  435. package/resources/sandbox/internal-accounts.d.mts.map +1 -0
  436. package/resources/sandbox/internal-accounts.d.ts +61 -0
  437. package/resources/sandbox/internal-accounts.d.ts.map +1 -0
  438. package/resources/sandbox/internal-accounts.js +29 -0
  439. package/resources/sandbox/internal-accounts.js.map +1 -0
  440. package/resources/sandbox/internal-accounts.mjs +25 -0
  441. package/resources/sandbox/internal-accounts.mjs.map +1 -0
  442. package/resources/sandbox/sandbox.d.mts +116 -0
  443. package/resources/sandbox/sandbox.d.mts.map +1 -0
  444. package/resources/sandbox/sandbox.d.ts +116 -0
  445. package/resources/sandbox/sandbox.d.ts.map +1 -0
  446. package/resources/sandbox/sandbox.js +37 -0
  447. package/resources/sandbox/sandbox.js.map +1 -0
  448. package/resources/sandbox/sandbox.mjs +32 -0
  449. package/resources/sandbox/sandbox.mjs.map +1 -0
  450. package/resources/sandbox/uma.d.mts +48 -0
  451. package/resources/sandbox/uma.d.mts.map +1 -0
  452. package/resources/sandbox/uma.d.ts +48 -0
  453. package/resources/sandbox/uma.d.ts.map +1 -0
  454. package/resources/sandbox/uma.js +27 -0
  455. package/resources/sandbox/uma.js.map +1 -0
  456. package/resources/sandbox/uma.mjs +23 -0
  457. package/resources/sandbox/uma.mjs.map +1 -0
  458. package/resources/sandbox.d.mts +2 -0
  459. package/resources/sandbox.d.mts.map +1 -0
  460. package/resources/sandbox.d.ts +2 -0
  461. package/resources/sandbox.d.ts.map +1 -0
  462. package/resources/sandbox.js +6 -0
  463. package/resources/sandbox.js.map +1 -0
  464. package/resources/sandbox.mjs +3 -0
  465. package/resources/sandbox.mjs.map +1 -0
  466. package/resources/tokens.d.mts +131 -0
  467. package/resources/tokens.d.mts.map +1 -0
  468. package/resources/tokens.d.ts +131 -0
  469. package/resources/tokens.d.ts.map +1 -0
  470. package/resources/tokens.js +67 -0
  471. package/resources/tokens.js.map +1 -0
  472. package/resources/tokens.mjs +63 -0
  473. package/resources/tokens.mjs.map +1 -0
  474. package/resources/transactions.d.mts +226 -0
  475. package/resources/transactions.d.mts.map +1 -0
  476. package/resources/transactions.d.ts +226 -0
  477. package/resources/transactions.d.ts.map +1 -0
  478. package/resources/transactions.js +71 -0
  479. package/resources/transactions.js.map +1 -0
  480. package/resources/transactions.mjs +67 -0
  481. package/resources/transactions.mjs.map +1 -0
  482. package/resources/transfer-in.d.mts +154 -0
  483. package/resources/transfer-in.d.mts.map +1 -0
  484. package/resources/transfer-in.d.ts +154 -0
  485. package/resources/transfer-in.d.ts.map +1 -0
  486. package/resources/transfer-in.js +42 -0
  487. package/resources/transfer-in.js.map +1 -0
  488. package/resources/transfer-in.mjs +38 -0
  489. package/resources/transfer-in.mjs.map +1 -0
  490. package/resources/transfer-out.d.mts +70 -0
  491. package/resources/transfer-out.d.mts.map +1 -0
  492. package/resources/transfer-out.d.ts +70 -0
  493. package/resources/transfer-out.d.ts.map +1 -0
  494. package/resources/transfer-out.js +40 -0
  495. package/resources/transfer-out.js.map +1 -0
  496. package/resources/transfer-out.mjs +36 -0
  497. package/resources/transfer-out.mjs.map +1 -0
  498. package/resources/uma-providers.d.mts +70 -0
  499. package/resources/uma-providers.d.mts.map +1 -0
  500. package/resources/uma-providers.d.ts +70 -0
  501. package/resources/uma-providers.d.ts.map +1 -0
  502. package/resources/uma-providers.js +21 -0
  503. package/resources/uma-providers.js.map +1 -0
  504. package/resources/uma-providers.mjs +17 -0
  505. package/resources/uma-providers.mjs.map +1 -0
  506. package/resources/webhooks.d.mts +27 -0
  507. package/resources/webhooks.d.mts.map +1 -0
  508. package/resources/webhooks.d.ts +27 -0
  509. package/resources/webhooks.d.ts.map +1 -0
  510. package/resources/webhooks.js +15 -0
  511. package/resources/webhooks.js.map +1 -0
  512. package/resources/webhooks.mjs +11 -0
  513. package/resources/webhooks.mjs.map +1 -0
  514. package/resources.d.mts +2 -0
  515. package/resources.d.mts.map +1 -0
  516. package/resources.d.ts +2 -0
  517. package/resources.d.ts.map +1 -0
  518. package/resources.js +5 -0
  519. package/resources.js.map +1 -0
  520. package/resources.mjs +2 -0
  521. package/resources.mjs.map +1 -0
  522. package/src/.DS_Store +0 -0
  523. package/src/api-promise.ts +2 -0
  524. package/src/client.ts +1111 -0
  525. package/src/core/README.md +3 -0
  526. package/src/core/api-promise.ts +92 -0
  527. package/src/core/error.ts +2936 -0
  528. package/src/core/pagination.ts +173 -0
  529. package/src/core/resource.ts +11 -0
  530. package/src/core/uploads.ts +2 -0
  531. package/src/error.ts +2 -0
  532. package/src/index.ts +76 -0
  533. package/src/internal/README.md +3 -0
  534. package/src/internal/builtin-types.ts +93 -0
  535. package/src/internal/detect-platform.ts +196 -0
  536. package/src/internal/errors.ts +33 -0
  537. package/src/internal/headers.ts +97 -0
  538. package/src/internal/parse.ts +56 -0
  539. package/src/internal/qs/LICENSE.md +13 -0
  540. package/src/internal/qs/README.md +3 -0
  541. package/src/internal/qs/formats.ts +10 -0
  542. package/src/internal/qs/index.ts +13 -0
  543. package/src/internal/qs/stringify.ts +385 -0
  544. package/src/internal/qs/types.ts +71 -0
  545. package/src/internal/qs/utils.ts +265 -0
  546. package/src/internal/request-options.ts +91 -0
  547. package/src/internal/shim-types.ts +26 -0
  548. package/src/internal/shims.ts +107 -0
  549. package/src/internal/to-file.ts +154 -0
  550. package/src/internal/types.ts +95 -0
  551. package/src/internal/uploads.ts +187 -0
  552. package/src/internal/utils/base64.ts +40 -0
  553. package/src/internal/utils/bytes.ts +32 -0
  554. package/src/internal/utils/env.ts +18 -0
  555. package/src/internal/utils/log.ts +127 -0
  556. package/src/internal/utils/path.ts +88 -0
  557. package/src/internal/utils/sleep.ts +3 -0
  558. package/src/internal/utils/uuid.ts +17 -0
  559. package/src/internal/utils/values.ts +105 -0
  560. package/src/internal/utils.ts +8 -0
  561. package/src/lib/.keep +4 -0
  562. package/src/pagination.ts +2 -0
  563. package/src/resource.ts +2 -0
  564. package/src/resources/config.ts +178 -0
  565. package/src/resources/customers/bulk.ts +201 -0
  566. package/src/resources/customers/customers.ts +1687 -0
  567. package/src/resources/customers/external-accounts.ts +630 -0
  568. package/src/resources/customers/index.ts +51 -0
  569. package/src/resources/customers.ts +3 -0
  570. package/src/resources/exchange-rates.ts +127 -0
  571. package/src/resources/index.ts +104 -0
  572. package/src/resources/invitations.ts +207 -0
  573. package/src/resources/plaid.ts +128 -0
  574. package/src/resources/platform/external-accounts.ts +136 -0
  575. package/src/resources/platform/index.ts +13 -0
  576. package/src/resources/platform/platform.ts +70 -0
  577. package/src/resources/platform.ts +3 -0
  578. package/src/resources/quotes.ts +726 -0
  579. package/src/resources/receiver.ts +139 -0
  580. package/src/resources/sandbox/index.ts +10 -0
  581. package/src/resources/sandbox/internal-accounts.ts +82 -0
  582. package/src/resources/sandbox/sandbox.ts +159 -0
  583. package/src/resources/sandbox/uma.ts +61 -0
  584. package/src/resources/sandbox.ts +3 -0
  585. package/src/resources/tokens.ts +176 -0
  586. package/src/resources/transactions.ts +312 -0
  587. package/src/resources/transfer-in.ts +193 -0
  588. package/src/resources/transfer-out.ts +90 -0
  589. package/src/resources/uma-providers.ts +98 -0
  590. package/src/resources/webhooks.ts +35 -0
  591. package/src/resources.ts +1 -0
  592. package/src/tsconfig.json +11 -0
  593. package/src/uploads.ts +2 -0
  594. package/src/version.ts +1 -0
  595. package/uploads.d.mts +2 -0
  596. package/uploads.d.mts.map +1 -0
  597. package/uploads.d.ts +2 -0
  598. package/uploads.d.ts.map +1 -0
  599. package/uploads.js +6 -0
  600. package/uploads.js.map +1 -0
  601. package/uploads.mjs +2 -0
  602. package/uploads.mjs.map +1 -0
  603. package/version.d.mts +2 -0
  604. package/version.d.mts.map +1 -0
  605. package/version.d.ts +2 -0
  606. package/version.d.ts.map +1 -0
  607. package/version.js +5 -0
  608. package/version.js.map +1 -0
  609. package/version.mjs +2 -0
  610. package/version.mjs.map +1 -0
@@ -0,0 +1,127 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as QuotesAPI from './quotes';
5
+ import { APIPromise } from '../core/api-promise';
6
+ import { RequestOptions } from '../internal/request-options';
7
+
8
+ export class ExchangeRates extends APIResource {
9
+ /**
10
+ * Retrieve cached exchange rates for currency corridors. Returns FX rates that are
11
+ * cached for approximately 5 minutes. Rates include fees specific to your platform
12
+ * for authenticated requests.
13
+ *
14
+ * **Filtering Options:**
15
+ *
16
+ * - Filter by source currency to get all available destination corridors
17
+ * - Filter by specific destination currency or currencies
18
+ * - Provide a sending amount to get calculated receiving amounts
19
+ */
20
+ list(
21
+ query: ExchangeRateListParams | null | undefined = {},
22
+ options?: RequestOptions,
23
+ ): APIPromise<ExchangeRateListResponse> {
24
+ return this._client.get('/exchange-rates', { query, ...options });
25
+ }
26
+ }
27
+
28
+ export interface ExchangeRateListResponse {
29
+ /**
30
+ * List of exchange rates matching the filter criteria
31
+ */
32
+ data: Array<ExchangeRateListResponse.Data>;
33
+ }
34
+
35
+ export namespace ExchangeRateListResponse {
36
+ /**
37
+ * Exchange rate information for a currency corridor
38
+ */
39
+ export interface Data {
40
+ destinationCurrency: QuotesAPI.Currency;
41
+
42
+ /**
43
+ * The payment rail used for the destination (e.g., UPI, SEPA_INSTANT,
44
+ * MOBILE_MONEY, FASTER_PAYMENTS)
45
+ */
46
+ destinationPaymentRail: string;
47
+
48
+ /**
49
+ * Number of sending currency units per receiving currency unit.
50
+ */
51
+ exchangeRate: number;
52
+
53
+ /**
54
+ * Fees associated with an exchange rate
55
+ */
56
+ fees: Data.Fees;
57
+
58
+ /**
59
+ * The maximum supported sending amount in the smallest unit of the source
60
+ * currency.
61
+ */
62
+ maxSendingAmount: number;
63
+
64
+ /**
65
+ * The minimum supported sending amount in the smallest unit of the source
66
+ * currency.
67
+ */
68
+ minSendingAmount: number;
69
+
70
+ /**
71
+ * The receiving amount in the smallest unit of the destination currency
72
+ */
73
+ receivingAmount: number;
74
+
75
+ /**
76
+ * The sending amount in the smallest unit of the source currency (e.g., cents for
77
+ * USD). Echoed back from the request if provided.
78
+ */
79
+ sendingAmount: number;
80
+
81
+ sourceCurrency: QuotesAPI.Currency;
82
+
83
+ /**
84
+ * Timestamp when this exchange rate was last refreshed
85
+ */
86
+ updatedAt: string;
87
+ }
88
+
89
+ export namespace Data {
90
+ /**
91
+ * Fees associated with an exchange rate
92
+ */
93
+ export interface Fees {
94
+ /**
95
+ * Fixed fee in the smallest unit of the sending currency (e.g., cents for USD)
96
+ */
97
+ fixed?: number;
98
+ }
99
+ }
100
+ }
101
+
102
+ export interface ExchangeRateListParams {
103
+ /**
104
+ * Filter by destination currency code(s). Can be repeated for multiple currencies
105
+ * (e.g., &destinationCurrency=INR&destinationCurrency=GBP)
106
+ */
107
+ destinationCurrency?: Array<string>;
108
+
109
+ /**
110
+ * Sending amount in the smallest unit of the source currency (e.g., cents for
111
+ * USD). If no amount is provided, the default is 10000 in the sending currency
112
+ * smallest unit.
113
+ */
114
+ sendingAmount?: number;
115
+
116
+ /**
117
+ * Filter by source currency code (e.g., USD)
118
+ */
119
+ sourceCurrency?: string;
120
+ }
121
+
122
+ export declare namespace ExchangeRates {
123
+ export {
124
+ type ExchangeRateListResponse as ExchangeRateListResponse,
125
+ type ExchangeRateListParams as ExchangeRateListParams,
126
+ };
127
+ }
@@ -0,0 +1,104 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Config,
5
+ type CustomerInfoFieldName,
6
+ type PlatformConfig,
7
+ type PlatformCurrencyConfig,
8
+ type ConfigUpdateParams,
9
+ } from './config';
10
+ export {
11
+ Customers,
12
+ type Customer,
13
+ type CustomerCreate,
14
+ type CustomerOneOf,
15
+ type CustomerUpdate,
16
+ type CustomerRetrieveResponse,
17
+ type CustomerUpdateResponse,
18
+ type CustomerDeleteResponse,
19
+ type CustomerGetKYCLinkResponse,
20
+ type CustomerCreateParams,
21
+ type CustomerUpdateParams,
22
+ type CustomerListParams,
23
+ type CustomerGetKYCLinkParams,
24
+ type CustomerListInternalAccountsParams,
25
+ type CustomerOneovesDefaultPagination,
26
+ } from './customers/customers';
27
+ export { ExchangeRates, type ExchangeRateListResponse, type ExchangeRateListParams } from './exchange-rates';
28
+ export {
29
+ Invitations,
30
+ type CurrencyAmount,
31
+ type UmaInvitation,
32
+ type InvitationCreateParams,
33
+ type InvitationClaimParams,
34
+ } from './invitations';
35
+ export {
36
+ Plaid,
37
+ type PlaidCreateLinkTokenResponse,
38
+ type PlaidCreateLinkTokenParams,
39
+ type PlaidSubmitPublicTokenParams,
40
+ } from './plaid';
41
+ export {
42
+ Platform,
43
+ type PlatformListInternalAccountsResponse,
44
+ type PlatformListInternalAccountsParams,
45
+ } from './platform/platform';
46
+ export {
47
+ Quotes,
48
+ type BaseDestination,
49
+ type BasePaymentAccountInfo,
50
+ type BaseQuoteSource,
51
+ type Currency,
52
+ type OutgoingRateDetails,
53
+ type PaymentInstructions,
54
+ type Quote,
55
+ type QuoteDestinationOneOf,
56
+ type QuoteSourceOneOf,
57
+ type QuoteCreateParams,
58
+ type QuoteListParams,
59
+ type QuotesDefaultPagination,
60
+ } from './quotes';
61
+ export {
62
+ Receiver,
63
+ type CounterpartyFieldDefinition,
64
+ type LookupResponse,
65
+ type ReceiverLookupExternalAccountResponse,
66
+ type ReceiverLookupUmaResponse,
67
+ type ReceiverLookupExternalAccountParams,
68
+ type ReceiverLookupUmaParams,
69
+ } from './receiver';
70
+ export { Sandbox, type SandboxSendFundsResponse, type SandboxSendFundsParams } from './sandbox/sandbox';
71
+ export {
72
+ Tokens,
73
+ type APIToken,
74
+ type Permission,
75
+ type TokenCreateParams,
76
+ type TokenListParams,
77
+ type APITokensDefaultPagination,
78
+ } from './tokens';
79
+ export {
80
+ Transactions,
81
+ type BaseTransactionSource,
82
+ type IncomingTransaction,
83
+ type TransactionSourceOneOf,
84
+ type TransactionStatus,
85
+ type TransactionType,
86
+ type TransactionListParams,
87
+ type TransactionApproveParams,
88
+ type TransactionRejectParams,
89
+ } from './transactions';
90
+ export {
91
+ TransferIn,
92
+ type BaseTransactionDestination,
93
+ type Transaction,
94
+ type TransferInCreateParams,
95
+ type TransactionsDefaultPagination,
96
+ } from './transfer-in';
97
+ export { TransferOut, type TransferOutCreateParams } from './transfer-out';
98
+ export {
99
+ UmaProviders,
100
+ type UmaProviderListResponse,
101
+ type UmaProviderListParams,
102
+ type UmaProviderListResponsesDefaultPagination,
103
+ } from './uma-providers';
104
+ export { Webhooks, type WebhookSendTestResponse } from './webhooks';
@@ -0,0 +1,207 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as QuotesAPI from './quotes';
5
+ import { APIPromise } from '../core/api-promise';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ export class Invitations extends APIResource {
10
+ /**
11
+ * Create an UMA invitation from a given platform customer.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const umaInvitation = await client.invitations.create({
16
+ * inviterUma: '$inviter@uma.domain',
17
+ * });
18
+ * ```
19
+ */
20
+ create(body: InvitationCreateParams, options?: RequestOptions): APIPromise<UmaInvitation> {
21
+ return this._client.post('/invitations', { body, ...options });
22
+ }
23
+
24
+ /**
25
+ * Retrieve details about an UMA invitation by its invitation code.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const umaInvitation = await client.invitations.retrieve(
30
+ * 'invitationCode',
31
+ * );
32
+ * ```
33
+ */
34
+ retrieve(invitationCode: string, options?: RequestOptions): APIPromise<UmaInvitation> {
35
+ return this._client.get(path`/invitations/${invitationCode}`, options);
36
+ }
37
+
38
+ /**
39
+ * Cancel a pending UMA invitation. Only the inviter or platform can cancel an
40
+ * invitation.
41
+ *
42
+ * When an invitation is cancelled:
43
+ *
44
+ * 1. The invitation status changes from PENDING to CANCELLED
45
+ * 2. The invitation can no longer be claimed
46
+ * 3. The invitation URL will show as cancelled when accessed
47
+ *
48
+ * Only pending invitations can be cancelled. Attempting to cancel an invitation
49
+ * that is already claimed, expired, or cancelled will result in an error.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const umaInvitation = await client.invitations.cancel(
54
+ * 'invitationCode',
55
+ * );
56
+ * ```
57
+ */
58
+ cancel(invitationCode: string, options?: RequestOptions): APIPromise<UmaInvitation> {
59
+ return this._client.post(path`/invitations/${invitationCode}/cancel`, options);
60
+ }
61
+
62
+ /**
63
+ * Claim an UMA invitation by associating it with an invitee UMA address.
64
+ *
65
+ * When an invitation is successfully claimed:
66
+ *
67
+ * 1. The invitation status changes from PENDING to CLAIMED
68
+ * 2. The invitee UMA address is associated with the invitation
69
+ * 3. An INVITATION_CLAIMED webhook is triggered to notify the platform that
70
+ * created the invitation
71
+ *
72
+ * This endpoint allows customers to accept invitations sent to them by other UMA
73
+ * customers.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const umaInvitation = await client.invitations.claim(
78
+ * 'invitationCode',
79
+ * { inviteeUma: '$invitee@uma.domain' },
80
+ * );
81
+ * ```
82
+ */
83
+ claim(
84
+ invitationCode: string,
85
+ body: InvitationClaimParams,
86
+ options?: RequestOptions,
87
+ ): APIPromise<UmaInvitation> {
88
+ return this._client.post(path`/invitations/${invitationCode}/claim`, { body, ...options });
89
+ }
90
+ }
91
+
92
+ export interface CurrencyAmount {
93
+ /**
94
+ * Amount in the smallest unit of the currency (e.g., cents for USD/EUR, satoshis
95
+ * for BTC)
96
+ */
97
+ amount: number;
98
+
99
+ currency: QuotesAPI.Currency;
100
+ }
101
+
102
+ export interface UmaInvitation {
103
+ /**
104
+ * The unique code of the invitation
105
+ */
106
+ code: string;
107
+
108
+ /**
109
+ * When the invitation was created
110
+ */
111
+ createdAt: string;
112
+
113
+ /**
114
+ * The UMA address of the inviter
115
+ */
116
+ inviterUma: string;
117
+
118
+ /**
119
+ * The status of the invitation
120
+ */
121
+ status: 'PENDING' | 'CLAIMED' | 'EXPIRED' | 'CANCELLED';
122
+
123
+ /**
124
+ * The URL where this invitation can be claimed.
125
+ */
126
+ url: string;
127
+
128
+ /**
129
+ * The amount to send to the invitee when the invitation is claimed. This is
130
+ * optional and if not provided, the invitee will not receive any amount. Note that
131
+ * the actual sending of the amount must be done by the inviter platform once the
132
+ * INVITATION_CLAIMED webhook is received. If the inviter platform either does not
133
+ * send the payment or the payment fails, the invitee will not receive this amount.
134
+ * This field is primarily used for display purposes on the claiming side of the
135
+ * invitation. This field is useful for "send-by-link" style customer flows where
136
+ * an inviter can send a payment simply by sharing a link without knowing the
137
+ * receiver's UMA address. Note that these sends can only be sender-locked, meaning
138
+ * that the sender will not know ahead of time how much the receiver will receive
139
+ * in the receiving currency.
140
+ */
141
+ amountToSend?: CurrencyAmount;
142
+
143
+ /**
144
+ * When the invitation was claimed if it has been claimed
145
+ */
146
+ claimedAt?: string;
147
+
148
+ /**
149
+ * When the invitation expires (if at all)
150
+ */
151
+ expiresAt?: string;
152
+
153
+ /**
154
+ * The inviter's first name. Will be displayed when the recipient clicks the invite
155
+ * link
156
+ */
157
+ firstName?: string;
158
+
159
+ /**
160
+ * The UMA address of the invitee
161
+ */
162
+ inviteeUma?: string;
163
+ }
164
+
165
+ export interface InvitationCreateParams {
166
+ /**
167
+ * The UMA address of the customer creating the invitation
168
+ */
169
+ inviterUma: string;
170
+
171
+ /**
172
+ * An amount to send (in the smallest unit of the customer's currency) to the
173
+ * invitee when the invitation is claimed. This is optional and if not provided,
174
+ * the invitee will not receive any amount. Note that the actual sending of the
175
+ * amount must be done by the inviter platform once the INVITATION_CLAIMED webhook
176
+ * is received. If the inviter platform either does not send the payment or the
177
+ * payment fails, the invitee will not receive this amount. This field is primarily
178
+ * used for display purposes on the claiming side of the invitation.
179
+ */
180
+ amountToSend?: number;
181
+
182
+ /**
183
+ * When the invitation expires (if at all)
184
+ */
185
+ expiresAt?: string;
186
+
187
+ /**
188
+ * First name of the invitee to show as part of the invite
189
+ */
190
+ firstName?: string;
191
+ }
192
+
193
+ export interface InvitationClaimParams {
194
+ /**
195
+ * The UMA address of the customer claiming the invitation
196
+ */
197
+ inviteeUma: string;
198
+ }
199
+
200
+ export declare namespace Invitations {
201
+ export {
202
+ type CurrencyAmount as CurrencyAmount,
203
+ type UmaInvitation as UmaInvitation,
204
+ type InvitationCreateParams as InvitationCreateParams,
205
+ type InvitationClaimParams as InvitationClaimParams,
206
+ };
207
+ }
@@ -0,0 +1,128 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as ExternalAccountsAPI from './customers/external-accounts';
5
+ import { APIPromise } from '../core/api-promise';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ export class Plaid extends APIResource {
10
+ /**
11
+ * Creates a Plaid Link token that can be used to initialize Plaid Link in your
12
+ * application. The Link token is used to authenticate the customer and allow them
13
+ * to select their bank account.
14
+ *
15
+ * **Async Flow:**
16
+ *
17
+ * 1. Platform calls this endpoint to get a link_token and callbackUrl
18
+ * 2. Platform displays Plaid Link UI to the end customer using the link_token
19
+ * 3. End customer authenticates with their bank and selects an account
20
+ * 4. Plaid returns a public_token to the platform
21
+ * 5. Platform POSTs the public_token to the callbackUrl
22
+ * 6. Lightspark exchanges the public_token with Plaid and creates the external
23
+ * account asynchronously
24
+ * 7. Platform receives a webhook notification when the external account is ready
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const response = await client.plaid.createLinkToken({
29
+ * customerId:
30
+ * 'Customer:019542f5-b3e7-1d02-0000-000000000001',
31
+ * });
32
+ * ```
33
+ */
34
+ createLinkToken(
35
+ body: PlaidCreateLinkTokenParams,
36
+ options?: RequestOptions,
37
+ ): APIPromise<PlaidCreateLinkTokenResponse> {
38
+ return this._client.post('/plaid/link-tokens', { body, ...options });
39
+ }
40
+
41
+ /**
42
+ * After the customer completes Plaid Link authentication, the platform should POST
43
+ * the public_token to this callback URL (provided in the link token response).
44
+ *
45
+ * This will trigger asynchronous processing:
46
+ *
47
+ * 1. Lightspark exchanges the public_token for an access_token with Plaid
48
+ * 2. Lightspark retrieves and verifies the account details
49
+ * 3. An external account is created
50
+ * 4. A webhook notification is sent to the platform when complete
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const externalAccount =
55
+ * await client.plaid.submitPublicToken(
56
+ * 'link-sandbox-abc123xyz-1234-5678',
57
+ * {
58
+ * publicToken:
59
+ * 'public-sandbox-12345678-1234-1234-1234-123456789012',
60
+ * accountId: 'plaid_account_id_123',
61
+ * },
62
+ * );
63
+ * ```
64
+ */
65
+ submitPublicToken(
66
+ plaidLinkToken: string,
67
+ body: PlaidSubmitPublicTokenParams,
68
+ options?: RequestOptions,
69
+ ): APIPromise<ExternalAccountsAPI.ExternalAccount> {
70
+ return this._client.post(path`/plaid/callback/${plaidLinkToken}`, { body, ...options });
71
+ }
72
+ }
73
+
74
+ export interface PlaidCreateLinkTokenResponse {
75
+ /**
76
+ * The URL where the platform should POST the public_token after the customer
77
+ * completes Plaid Link authentication. This will trigger asynchronous external
78
+ * account creation. The URL includes the linkToken as the path parameter.
79
+ */
80
+ callbackUrl: string;
81
+
82
+ /**
83
+ * The ISO 8601 timestamp when this link token expires. Link tokens typically
84
+ * expire after 4 hours.
85
+ */
86
+ expiration: string;
87
+
88
+ /**
89
+ * The Plaid Link token to be used to initialize Plaid Link in your application.
90
+ * This token is single-use and expires after the specified expiration time.
91
+ */
92
+ linkToken: string;
93
+
94
+ /**
95
+ * A unique identifier for this request, useful for debugging
96
+ */
97
+ requestId?: string;
98
+ }
99
+
100
+ export interface PlaidCreateLinkTokenParams {
101
+ /**
102
+ * The ID of the customer for whom to create the Plaid Link token and external
103
+ * account
104
+ */
105
+ customerId: string;
106
+ }
107
+
108
+ export interface PlaidSubmitPublicTokenParams {
109
+ /**
110
+ * The public token returned by Plaid Link after the customer successfully
111
+ * authenticates and selects an account.
112
+ */
113
+ publicToken: string;
114
+
115
+ /**
116
+ * Optional Plaid account ID if the customer selected a specific account. If not
117
+ * provided, the default account will be used.
118
+ */
119
+ accountId?: string;
120
+ }
121
+
122
+ export declare namespace Plaid {
123
+ export {
124
+ type PlaidCreateLinkTokenResponse as PlaidCreateLinkTokenResponse,
125
+ type PlaidCreateLinkTokenParams as PlaidCreateLinkTokenParams,
126
+ type PlaidSubmitPublicTokenParams as PlaidSubmitPublicTokenParams,
127
+ };
128
+ }
@@ -0,0 +1,136 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as ExternalAccountsAPI from '../customers/external-accounts';
5
+ import { APIPromise } from '../../core/api-promise';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+
8
+ export class ExternalAccounts extends APIResource {
9
+ /**
10
+ * Register a new external bank account for the platform.
11
+ *
12
+ * **Sandbox Testing:** In sandbox mode, use these account number patterns to test
13
+ * different transfer scenarios. These patterns should be used with the primary
14
+ * alias, address, or identifier of whatever account type you're testing. For
15
+ * example, the US account number, a CLABE, an IBAN, a spark wallet address, etc.
16
+ * The failure patterns are:
17
+ *
18
+ * - Account numbers ending in **002**: Insufficient funds (transfer-in will fail)
19
+ * - Account numbers ending in **003**: Account closed/invalid (transfers will
20
+ * fail)
21
+ * - Account numbers ending in **004**: Transfer rejected (bank rejects the
22
+ * transfer)
23
+ * - Account numbers ending in **005**: Timeout/delayed failure (stays pending
24
+ * ~30s, then fails)
25
+ * - Any other account number: Success (transfers complete normally)
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const externalAccount =
30
+ * await client.platform.externalAccounts.create({
31
+ * accountInfo: {
32
+ * accountType: 'US_ACCOUNT',
33
+ * accountNumber: '12345678901',
34
+ * routingNumber: '123456789',
35
+ * accountCategory: 'CHECKING',
36
+ * bankName: 'Chase Bank',
37
+ * beneficiary: {
38
+ * beneficiaryType: 'INDIVIDUAL',
39
+ * fullName: 'John Doe',
40
+ * birthDate: '1990-01-15',
41
+ * nationality: 'US',
42
+ * address: {
43
+ * line1: '123 Main Street',
44
+ * city: 'San Francisco',
45
+ * state: 'CA',
46
+ * postalCode: '94105',
47
+ * country: 'US',
48
+ * },
49
+ * },
50
+ * },
51
+ * currency: 'USD',
52
+ * });
53
+ * ```
54
+ */
55
+ create(
56
+ body: ExternalAccountCreateParams,
57
+ options?: RequestOptions,
58
+ ): APIPromise<ExternalAccountsAPI.ExternalAccount> {
59
+ return this._client.post('/platform/external-accounts', { body, ...options });
60
+ }
61
+
62
+ /**
63
+ * Retrieve a list of all external accounts that belong to the platform, as opposed
64
+ * to an individual customer.
65
+ *
66
+ * These accounts are used for platform-wide operations such as receiving funds
67
+ * from external sources or managing platform-level payment destinations.
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * const externalAccounts =
72
+ * await client.platform.externalAccounts.list();
73
+ * ```
74
+ */
75
+ list(
76
+ query: ExternalAccountListParams | null | undefined = {},
77
+ options?: RequestOptions,
78
+ ): APIPromise<ExternalAccountListResponse> {
79
+ return this._client.get('/platform/external-accounts', { query, ...options });
80
+ }
81
+ }
82
+
83
+ export interface ExternalAccountListResponse {
84
+ /**
85
+ * List of external accounts matching the filter criteria
86
+ */
87
+ data: Array<ExternalAccountsAPI.ExternalAccount>;
88
+ }
89
+
90
+ export interface ExternalAccountCreateParams {
91
+ accountInfo: ExternalAccountsAPI.ExternalAccountInfoOneOf;
92
+
93
+ /**
94
+ * The ISO 4217 currency code
95
+ */
96
+ currency: string;
97
+
98
+ /**
99
+ * The ID of the customer for whom to create the external account. If not provided,
100
+ * the external account will be created on behalf of the platform.
101
+ */
102
+ customerId?: string;
103
+
104
+ /**
105
+ * Whether to set the external account as the default UMA deposit account. When set
106
+ * to true, incoming payments to this customer's UMA address will be automatically
107
+ * deposited into this external account. False if not provided. Note that only one
108
+ * external account can be set as the default UMA deposit account for a customer,
109
+ * so if there is already a default UMA deposit account, this will override the
110
+ * existing default UMA deposit account. If there is no default UMA deposit
111
+ * account, incoming UMA payments will be deposited into the primary internal
112
+ * account for the customer.
113
+ */
114
+ defaultUmaDepositAccount?: boolean;
115
+
116
+ /**
117
+ * Your platform's identifier for the account in your system. This can be used to
118
+ * reference the account by your own identifier.
119
+ */
120
+ platformAccountId?: string;
121
+ }
122
+
123
+ export interface ExternalAccountListParams {
124
+ /**
125
+ * Filter by currency code
126
+ */
127
+ currency?: string;
128
+ }
129
+
130
+ export declare namespace ExternalAccounts {
131
+ export {
132
+ type ExternalAccountListResponse as ExternalAccountListResponse,
133
+ type ExternalAccountCreateParams as ExternalAccountCreateParams,
134
+ type ExternalAccountListParams as ExternalAccountListParams,
135
+ };
136
+ }