@moovio/sdk 26.7.0-dev.3 → 26.7.0-dev.4

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 (301) hide show
  1. package/README.md +90 -86
  2. package/bin/mcp-server.js +664 -356
  3. package/bin/mcp-server.js.map +65 -63
  4. package/funcs/accountsCreate.d.ts +8 -10
  5. package/funcs/accountsCreate.d.ts.map +1 -1
  6. package/funcs/accountsCreate.js +8 -10
  7. package/funcs/accountsCreate.js.map +1 -1
  8. package/funcs/capabilitiesDisable.d.ts +1 -1
  9. package/funcs/capabilitiesDisable.js +1 -1
  10. package/funcs/capabilitiesGet.d.ts +1 -1
  11. package/funcs/capabilitiesGet.js +1 -1
  12. package/funcs/capabilitiesList.d.ts +1 -1
  13. package/funcs/capabilitiesList.js +1 -1
  14. package/funcs/capabilitiesRequest.d.ts +1 -1
  15. package/funcs/capabilitiesRequest.js +1 -1
  16. package/funcs/cardIssuingGet.js +1 -1
  17. package/funcs/cardIssuingGet.js.map +1 -1
  18. package/funcs/cardIssuingGetFull.js +1 -1
  19. package/funcs/cardIssuingGetFull.js.map +1 -1
  20. package/funcs/cardIssuingList.js +1 -1
  21. package/funcs/cardIssuingList.js.map +1 -1
  22. package/funcs/cardIssuingRequest.js +1 -1
  23. package/funcs/cardIssuingRequest.js.map +1 -1
  24. package/funcs/cardIssuingUpdate.js +1 -1
  25. package/funcs/cardIssuingUpdate.js.map +1 -1
  26. package/funcs/transfersListCancellations.d.ts +17 -0
  27. package/funcs/transfersListCancellations.d.ts.map +1 -0
  28. package/funcs/transfersListCancellations.js +129 -0
  29. package/funcs/transfersListCancellations.js.map +1 -0
  30. package/hooks/types.d.ts +1 -0
  31. package/hooks/types.d.ts.map +1 -1
  32. package/jsr.json +1 -1
  33. package/lib/config.d.ts +3 -3
  34. package/lib/config.js +3 -3
  35. package/lib/encodings.js +12 -12
  36. package/lib/encodings.js.map +1 -1
  37. package/lib/matchers.js +3 -3
  38. package/lib/matchers.js.map +1 -1
  39. package/lib/primitives.d.ts +1 -0
  40. package/lib/primitives.d.ts.map +1 -1
  41. package/lib/primitives.js +18 -0
  42. package/lib/primitives.js.map +1 -1
  43. package/lib/retries.js +7 -0
  44. package/lib/retries.js.map +1 -1
  45. package/lib/sdks.d.ts.map +1 -1
  46. package/lib/sdks.js +50 -16
  47. package/lib/sdks.js.map +1 -1
  48. package/mcp-server/mcp-server.js +1 -1
  49. package/mcp-server/server.d.ts.map +1 -1
  50. package/mcp-server/server.js +3 -1
  51. package/mcp-server/server.js.map +1 -1
  52. package/mcp-server/tools/accountsCreate.d.ts.map +1 -1
  53. package/mcp-server/tools/accountsCreate.js +8 -10
  54. package/mcp-server/tools/accountsCreate.js.map +1 -1
  55. package/mcp-server/tools/capabilitiesDisable.js +1 -1
  56. package/mcp-server/tools/capabilitiesGet.js +1 -1
  57. package/mcp-server/tools/capabilitiesList.js +1 -1
  58. package/mcp-server/tools/capabilitiesRequest.js +1 -1
  59. package/mcp-server/tools/transfersListCancellations.d.ts +8 -0
  60. package/mcp-server/tools/transfersListCancellations.d.ts.map +1 -0
  61. package/{models/components/authorizeduser.js → mcp-server/tools/transfersListCancellations.js} +27 -23
  62. package/mcp-server/tools/transfersListCancellations.js.map +1 -0
  63. package/models/components/addcapabilities.d.ts +9 -0
  64. package/models/components/addcapabilities.d.ts.map +1 -1
  65. package/models/components/addcapabilities.js.map +1 -1
  66. package/models/components/amountdecimalrange.d.ts +15 -4
  67. package/models/components/amountdecimalrange.d.ts.map +1 -1
  68. package/models/components/amountdecimalrange.js +5 -4
  69. package/models/components/amountdecimalrange.js.map +1 -1
  70. package/models/components/amountdecimalrangeupdate.d.ts +11 -0
  71. package/models/components/amountdecimalrangeupdate.d.ts.map +1 -1
  72. package/models/components/amountdecimalrangeupdate.js.map +1 -1
  73. package/models/components/capability.d.ts +7 -1
  74. package/models/components/capability.d.ts.map +1 -1
  75. package/models/components/capability.js.map +1 -1
  76. package/models/components/capabilityid.d.ts +14 -2
  77. package/models/components/capabilityid.d.ts.map +1 -1
  78. package/models/components/capabilityid.js +7 -1
  79. package/models/components/capabilityid.js.map +1 -1
  80. package/models/components/createaccount.d.ts +9 -0
  81. package/models/components/createaccount.d.ts.map +1 -1
  82. package/models/components/createaccount.js.map +1 -1
  83. package/models/components/createpaymentlink.d.ts +9 -3
  84. package/models/components/createpaymentlink.d.ts.map +1 -1
  85. package/models/components/createpaymentlink.js +4 -0
  86. package/models/components/createpaymentlink.js.map +1 -1
  87. package/models/components/customamountpaymentdetailserror.d.ts +29 -0
  88. package/models/components/customamountpaymentdetailserror.d.ts.map +1 -0
  89. package/models/components/customamountpaymentdetailserror.js +71 -0
  90. package/models/components/customamountpaymentdetailserror.js.map +1 -0
  91. package/models/components/fullissuedcard.d.ts +25 -9
  92. package/models/components/fullissuedcard.d.ts.map +1 -1
  93. package/models/components/fullissuedcard.js +11 -5
  94. package/models/components/fullissuedcard.js.map +1 -1
  95. package/models/components/index.d.ts +4 -4
  96. package/models/components/index.d.ts.map +1 -1
  97. package/models/components/index.js +4 -4
  98. package/models/components/index.js.map +1 -1
  99. package/models/components/issuedcard.d.ts +25 -9
  100. package/models/components/issuedcard.d.ts.map +1 -1
  101. package/models/components/issuedcard.js +11 -5
  102. package/models/components/issuedcard.js.map +1 -1
  103. package/models/components/onboardinginvite.d.ts +1 -1
  104. package/models/components/onboardinginviterequest.d.ts +1 -1
  105. package/models/components/paymentlink.d.ts +13 -2
  106. package/models/components/paymentlink.d.ts.map +1 -1
  107. package/models/components/paymentlink.js +4 -0
  108. package/models/components/paymentlink.js.map +1 -1
  109. package/models/components/paymentlinkcustomamountpaymentdetails.d.ts +70 -0
  110. package/models/components/paymentlinkcustomamountpaymentdetails.d.ts.map +1 -0
  111. package/models/components/paymentlinkcustomamountpaymentdetails.js +74 -0
  112. package/models/components/paymentlinkcustomamountpaymentdetails.js.map +1 -0
  113. package/models/components/paymentlinkcustomamountpaymentdetailsupdate.d.ts +70 -0
  114. package/models/components/paymentlinkcustomamountpaymentdetailsupdate.d.ts.map +1 -0
  115. package/models/components/paymentlinkcustomamountpaymentdetailsupdate.js +75 -0
  116. package/models/components/paymentlinkcustomamountpaymentdetailsupdate.js.map +1 -0
  117. package/models/components/paymentlinkpaymentdetails.d.ts +0 -33
  118. package/models/components/paymentlinkpaymentdetails.d.ts.map +1 -1
  119. package/models/components/paymentlinkpaymentdetails.js +1 -21
  120. package/models/components/paymentlinkpaymentdetails.js.map +1 -1
  121. package/models/components/paymentlinkpaymentdetailsupdate.d.ts +0 -33
  122. package/models/components/paymentlinkpaymentdetailsupdate.d.ts.map +1 -1
  123. package/models/components/paymentlinkpaymentdetailsupdate.js +1 -21
  124. package/models/components/paymentlinkpaymentdetailsupdate.js.map +1 -1
  125. package/models/components/paymentlinktype.d.ts +1 -0
  126. package/models/components/paymentlinktype.d.ts.map +1 -1
  127. package/models/components/paymentlinktype.js +1 -0
  128. package/models/components/paymentlinktype.js.map +1 -1
  129. package/models/components/requestcard.d.ts +14 -17
  130. package/models/components/requestcard.d.ts.map +1 -1
  131. package/models/components/requestcard.js +9 -10
  132. package/models/components/requestcard.js.map +1 -1
  133. package/models/components/updateissuedcard.d.ts +33 -8
  134. package/models/components/updateissuedcard.d.ts.map +1 -1
  135. package/models/components/updateissuedcard.js +35 -6
  136. package/models/components/updateissuedcard.js.map +1 -1
  137. package/models/components/updatepaymentlink.d.ts +6 -0
  138. package/models/components/updatepaymentlink.d.ts.map +1 -1
  139. package/models/components/updatepaymentlink.js +3 -0
  140. package/models/components/updatepaymentlink.js.map +1 -1
  141. package/models/components/webhookdata.d.ts +3 -2
  142. package/models/components/webhookdata.d.ts.map +1 -1
  143. package/models/components/webhookdata.js +7 -4
  144. package/models/components/webhookdata.js.map +1 -1
  145. package/models/components/webhookdataauthorizationexpiring.d.ts +23 -0
  146. package/models/components/webhookdataauthorizationexpiring.d.ts.map +1 -0
  147. package/models/components/{createauthorizedusererror.js → webhookdataauthorizationexpiring.js} +18 -17
  148. package/models/components/webhookdataauthorizationexpiring.js.map +1 -0
  149. package/models/components/webhookdatacapabilityrequested.d.ts +7 -1
  150. package/models/components/webhookdatacapabilityrequested.d.ts.map +1 -1
  151. package/models/components/webhookdatacapabilityrequested.js.map +1 -1
  152. package/models/components/webhookdatacapabilityupdated.d.ts +7 -1
  153. package/models/components/webhookdatacapabilityupdated.d.ts.map +1 -1
  154. package/models/components/webhookdatacapabilityupdated.js.map +1 -1
  155. package/models/components/webhookdatasweepcreated.d.ts +5 -0
  156. package/models/components/webhookdatasweepcreated.d.ts.map +1 -1
  157. package/models/components/webhookdatasweepcreated.js +2 -0
  158. package/models/components/webhookdatasweepcreated.js.map +1 -1
  159. package/models/components/webhookdatasweepupdated.d.ts +5 -0
  160. package/models/components/webhookdatasweepupdated.d.ts.map +1 -1
  161. package/models/components/webhookdatasweepupdated.js +2 -0
  162. package/models/components/webhookdatasweepupdated.js.map +1 -1
  163. package/models/components/webhookeventtype.d.ts +1 -0
  164. package/models/components/webhookeventtype.d.ts.map +1 -1
  165. package/models/components/webhookeventtype.js +1 -0
  166. package/models/components/webhookeventtype.js.map +1 -1
  167. package/models/errors/createpaymentlinkerror.d.ts +3 -0
  168. package/models/errors/createpaymentlinkerror.d.ts.map +1 -1
  169. package/models/errors/createpaymentlinkerror.js +6 -0
  170. package/models/errors/createpaymentlinkerror.js.map +1 -1
  171. package/models/errors/requestcarderror.d.ts +12 -12
  172. package/models/errors/requestcarderror.d.ts.map +1 -1
  173. package/models/errors/requestcarderror.js +17 -17
  174. package/models/errors/requestcarderror.js.map +1 -1
  175. package/models/errors/updateissuedcarderror.d.ts +9 -6
  176. package/models/errors/updateissuedcarderror.d.ts.map +1 -1
  177. package/models/errors/updateissuedcarderror.js +12 -9
  178. package/models/errors/updateissuedcarderror.js.map +1 -1
  179. package/models/errors/updatepaymentlinkerror.d.ts +3 -0
  180. package/models/errors/updatepaymentlinkerror.d.ts.map +1 -1
  181. package/models/errors/updatepaymentlinkerror.js +6 -0
  182. package/models/errors/updatepaymentlinkerror.js.map +1 -1
  183. package/models/operations/disablecapability.d.ts +7 -1
  184. package/models/operations/disablecapability.d.ts.map +1 -1
  185. package/models/operations/disablecapability.js.map +1 -1
  186. package/models/operations/getcapability.d.ts +7 -1
  187. package/models/operations/getcapability.d.ts.map +1 -1
  188. package/models/operations/getcapability.js.map +1 -1
  189. package/models/operations/index.d.ts +1 -0
  190. package/models/operations/index.d.ts.map +1 -1
  191. package/models/operations/index.js +1 -0
  192. package/models/operations/index.js.map +1 -1
  193. package/models/operations/listcancellations.d.ts +45 -0
  194. package/models/operations/listcancellations.d.ts.map +1 -0
  195. package/models/operations/listcancellations.js +91 -0
  196. package/models/operations/listcancellations.js.map +1 -0
  197. package/package.json +1 -1
  198. package/sdk/accounts.d.ts +8 -10
  199. package/sdk/accounts.d.ts.map +1 -1
  200. package/sdk/accounts.js +8 -10
  201. package/sdk/accounts.js.map +1 -1
  202. package/sdk/capabilities.d.ts +4 -4
  203. package/sdk/capabilities.js +4 -4
  204. package/sdk/transfers.d.ts +7 -0
  205. package/sdk/transfers.d.ts.map +1 -1
  206. package/sdk/transfers.js +10 -0
  207. package/sdk/transfers.js.map +1 -1
  208. package/src/funcs/accountsCreate.ts +8 -10
  209. package/src/funcs/capabilitiesDisable.ts +1 -1
  210. package/src/funcs/capabilitiesGet.ts +1 -1
  211. package/src/funcs/capabilitiesList.ts +1 -1
  212. package/src/funcs/capabilitiesRequest.ts +1 -1
  213. package/src/funcs/cardIssuingGet.ts +1 -1
  214. package/src/funcs/cardIssuingGetFull.ts +3 -3
  215. package/src/funcs/cardIssuingList.ts +1 -1
  216. package/src/funcs/cardIssuingRequest.ts +1 -1
  217. package/src/funcs/cardIssuingUpdate.ts +1 -1
  218. package/src/funcs/transfersListCancellations.ts +181 -0
  219. package/src/hooks/types.ts +1 -0
  220. package/src/lib/config.ts +3 -3
  221. package/src/lib/encodings.ts +1 -1
  222. package/src/lib/matchers.ts +1 -1
  223. package/src/lib/primitives.ts +16 -0
  224. package/src/lib/retries.ts +8 -0
  225. package/src/lib/sdks.ts +54 -17
  226. package/src/mcp-server/mcp-server.ts +1 -1
  227. package/src/mcp-server/server.ts +3 -1
  228. package/src/mcp-server/tools/accountsCreate.ts +8 -10
  229. package/src/mcp-server/tools/capabilitiesDisable.ts +1 -1
  230. package/src/mcp-server/tools/capabilitiesGet.ts +1 -1
  231. package/src/mcp-server/tools/capabilitiesList.ts +1 -1
  232. package/src/mcp-server/tools/capabilitiesRequest.ts +1 -1
  233. package/src/mcp-server/tools/transfersListCancellations.ts +38 -0
  234. package/src/models/components/addcapabilities.ts +9 -0
  235. package/src/models/components/amountdecimalrange.ts +20 -8
  236. package/src/models/components/amountdecimalrangeupdate.ts +11 -0
  237. package/src/models/components/capability.ts +7 -1
  238. package/src/models/components/capabilityid.ts +14 -2
  239. package/src/models/components/createaccount.ts +9 -0
  240. package/src/models/components/createpaymentlink.ts +21 -3
  241. package/src/models/components/customamountpaymentdetailserror.ts +86 -0
  242. package/src/models/components/fullissuedcard.ts +35 -17
  243. package/src/models/components/index.ts +4 -4
  244. package/src/models/components/issuedcard.ts +35 -17
  245. package/src/models/components/onboardinginvite.ts +1 -1
  246. package/src/models/components/onboardinginviterequest.ts +1 -1
  247. package/src/models/components/paymentlink.ts +25 -2
  248. package/src/models/components/paymentlinkcustomamountpaymentdetails.ts +138 -0
  249. package/src/models/components/paymentlinkcustomamountpaymentdetailsupdate.ts +149 -0
  250. package/src/models/components/paymentlinkpaymentdetails.ts +0 -60
  251. package/src/models/components/paymentlinkpaymentdetailsupdate.ts +0 -61
  252. package/src/models/components/paymentlinktype.ts +1 -0
  253. package/src/models/components/requestcard.ts +23 -34
  254. package/src/models/components/updateissuedcard.ts +73 -17
  255. package/src/models/components/updatepaymentlink.ts +18 -0
  256. package/src/models/components/webhookdata.ts +18 -8
  257. package/src/models/components/webhookdataauthorizationexpiring.ts +66 -0
  258. package/src/models/components/webhookdatacapabilityrequested.ts +7 -1
  259. package/src/models/components/webhookdatacapabilityupdated.ts +7 -1
  260. package/src/models/components/webhookdatasweepcreated.ts +7 -0
  261. package/src/models/components/webhookdatasweepupdated.ts +7 -0
  262. package/src/models/components/webhookeventtype.ts +1 -0
  263. package/src/models/errors/createpaymentlinkerror.ts +13 -0
  264. package/src/models/errors/requestcarderror.ts +26 -27
  265. package/src/models/errors/updateissuedcarderror.ts +18 -15
  266. package/src/models/errors/updatepaymentlinkerror.ts +13 -0
  267. package/src/models/operations/disablecapability.ts +7 -1
  268. package/src/models/operations/getcapability.ts +7 -1
  269. package/src/models/operations/index.ts +1 -0
  270. package/src/models/operations/listcancellations.ts +121 -0
  271. package/src/sdk/accounts.ts +8 -10
  272. package/src/sdk/capabilities.ts +4 -4
  273. package/src/sdk/transfers.ts +18 -0
  274. package/lib/dlv.d.ts +0 -14
  275. package/lib/dlv.d.ts.map +0 -1
  276. package/lib/dlv.js +0 -49
  277. package/lib/dlv.js.map +0 -1
  278. package/lib/is-plain-object.d.ts +0 -2
  279. package/lib/is-plain-object.d.ts.map +0 -1
  280. package/lib/is-plain-object.js +0 -41
  281. package/lib/is-plain-object.js.map +0 -1
  282. package/models/components/authorizeduser.d.ts +0 -22
  283. package/models/components/authorizeduser.d.ts.map +0 -1
  284. package/models/components/authorizeduser.js.map +0 -1
  285. package/models/components/createauthorizeduser.d.ts +0 -25
  286. package/models/components/createauthorizeduser.d.ts.map +0 -1
  287. package/models/components/createauthorizeduser.js +0 -64
  288. package/models/components/createauthorizeduser.js.map +0 -1
  289. package/models/components/createauthorizedusererror.d.ts +0 -22
  290. package/models/components/createauthorizedusererror.d.ts.map +0 -1
  291. package/models/components/createauthorizedusererror.js.map +0 -1
  292. package/models/components/createauthorizeduserupdate.d.ts +0 -25
  293. package/models/components/createauthorizeduserupdate.d.ts.map +0 -1
  294. package/models/components/createauthorizeduserupdate.js +0 -64
  295. package/models/components/createauthorizeduserupdate.js.map +0 -1
  296. package/src/lib/dlv.ts +0 -53
  297. package/src/lib/is-plain-object.ts +0 -43
  298. package/src/models/components/authorizeduser.ts +0 -55
  299. package/src/models/components/createauthorizeduser.ts +0 -69
  300. package/src/models/components/createauthorizedusererror.ts +0 -66
  301. package/src/models/components/createauthorizeduserupdate.ts +0 -69
@@ -5,6 +5,7 @@
5
5
  import * as z from "zod/v3";
6
6
  import { safeParse } from "../../lib/schemas.js";
7
7
  import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import * as types from "../../types/primitives.js";
8
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
10
  import {
10
11
  AmountDecimal,
@@ -13,15 +14,26 @@ import {
13
14
  AmountDecimal$outboundSchema,
14
15
  } from "./amountdecimal.js";
15
16
 
17
+ /**
18
+ * A range of values that an AmountDecimal can take.
19
+ *
20
+ * @remarks
21
+ *
22
+ * If either `minimum` or `maximum` is omitted, the range is "open" on that end:
23
+ *
24
+ * `minimum` specified: `amt >= minimum`
25
+ * `maximum` specified: `amt <= maximum`
26
+ * both specified: `minimum <= amt <= maximum`
27
+ */
16
28
  export type AmountDecimalRange = {
17
29
  /**
18
30
  * Minimum amount allowed in the range
19
31
  */
20
- minimum: AmountDecimal;
32
+ minimum?: AmountDecimal | undefined;
21
33
  /**
22
34
  * Maximum amount allowed in the range
23
35
  */
24
- maximum: AmountDecimal;
36
+ maximum?: AmountDecimal | undefined;
25
37
  };
26
38
 
27
39
  /** @internal */
@@ -30,13 +42,13 @@ export const AmountDecimalRange$inboundSchema: z.ZodType<
30
42
  z.ZodTypeDef,
31
43
  unknown
32
44
  > = z.object({
33
- minimum: AmountDecimal$inboundSchema,
34
- maximum: AmountDecimal$inboundSchema,
45
+ minimum: types.optional(AmountDecimal$inboundSchema),
46
+ maximum: types.optional(AmountDecimal$inboundSchema),
35
47
  });
36
48
  /** @internal */
37
49
  export type AmountDecimalRange$Outbound = {
38
- minimum: AmountDecimal$Outbound;
39
- maximum: AmountDecimal$Outbound;
50
+ minimum?: AmountDecimal$Outbound | undefined;
51
+ maximum?: AmountDecimal$Outbound | undefined;
40
52
  };
41
53
 
42
54
  /** @internal */
@@ -45,8 +57,8 @@ export const AmountDecimalRange$outboundSchema: z.ZodType<
45
57
  z.ZodTypeDef,
46
58
  AmountDecimalRange
47
59
  > = z.object({
48
- minimum: AmountDecimal$outboundSchema,
49
- maximum: AmountDecimal$outboundSchema,
60
+ minimum: AmountDecimal$outboundSchema.optional(),
61
+ maximum: AmountDecimal$outboundSchema.optional(),
50
62
  });
51
63
 
52
64
  export function amountDecimalRangeToJSON(
@@ -14,6 +14,17 @@ import {
14
14
  AmountDecimalUpdate$outboundSchema,
15
15
  } from "./amountdecimalupdate.js";
16
16
 
17
+ /**
18
+ * A range of values that an AmountDecimal can take.
19
+ *
20
+ * @remarks
21
+ *
22
+ * If either `minimum` or `maximum` is omitted, the range is "open" on that end:
23
+ *
24
+ * `minimum` specified: `amt >= minimum`
25
+ * `maximum` specified: `amt <= maximum`
26
+ * both specified: `minimum <= amt <= maximum`
27
+ */
17
28
  export type AmountDecimalRangeUpdate = {
18
29
  /**
19
30
  * Minimum amount allowed in the range
@@ -30,7 +30,13 @@ export type Capability = {
30
30
  *
31
31
  * @remarks
32
32
  *
33
- * The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
33
+ * **Deprecated capabilities**
34
+ *
35
+ * The `send-funds`, `collect-funds`, and `wallet` capability IDs are deprecated. Request granular capabilities instead (for example, `send-funds.ach`, `collect-funds.card-payments`, or `wallet.balance`). Deprecated values will be removed in a future API version.
36
+ *
37
+ * Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
38
+ *
39
+ * The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
34
40
  */
35
41
  capability: CapabilityID;
36
42
  accountID: string;
@@ -11,7 +11,13 @@ import { OpenEnum } from "../../types/enums.js";
11
11
  *
12
12
  * @remarks
13
13
  *
14
- * The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
14
+ * **Deprecated capabilities**
15
+ *
16
+ * The `send-funds`, `collect-funds`, and `wallet` capability IDs are deprecated. Request granular capabilities instead (for example, `send-funds.ach`, `collect-funds.card-payments`, or `wallet.balance`). Deprecated values will be removed in a future API version.
17
+ *
18
+ * Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
19
+ *
20
+ * The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
15
21
  */
16
22
  export const CapabilityID = {
17
23
  Transfers: "transfers",
@@ -37,7 +43,13 @@ export const CapabilityID = {
37
43
  *
38
44
  * @remarks
39
45
  *
40
- * The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
46
+ * **Deprecated capabilities**
47
+ *
48
+ * The `send-funds`, `collect-funds`, and `wallet` capability IDs are deprecated. Request granular capabilities instead (for example, `send-funds.ach`, `collect-funds.card-payments`, or `wallet.balance`). Deprecated values will be removed in a future API version.
49
+ *
50
+ * Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
51
+ *
52
+ * The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
41
53
  */
42
54
  export type CapabilityID = OpenEnum<typeof CapabilityID>;
43
55
 
@@ -66,6 +66,15 @@ export type CreateAccount = {
66
66
  * User provided settings to manage an account.
67
67
  */
68
68
  settings?: Settings | undefined;
69
+ /**
70
+ * Capabilities to request when the account is created. Request granular capability IDs that match your use case.
71
+ *
72
+ * @remarks
73
+ *
74
+ * Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
75
+ *
76
+ * The `send-funds`, `collect-funds`, and `wallet` capability IDs are deprecated. Use granular values such as `send-funds.ach`, `collect-funds.card-payments`, or `wallet.balance` instead.
77
+ */
69
78
  capabilities?: Array<CapabilityID> | undefined;
70
79
  /**
71
80
  * The operating mode for an account.
@@ -25,6 +25,12 @@ import {
25
25
  CreatePaymentLinkLineItems$Outbound,
26
26
  CreatePaymentLinkLineItems$outboundSchema,
27
27
  } from "./createpaymentlinklineitems.js";
28
+ import {
29
+ PaymentLinkCustomAmountPaymentDetails,
30
+ PaymentLinkCustomAmountPaymentDetails$inboundSchema,
31
+ PaymentLinkCustomAmountPaymentDetails$Outbound,
32
+ PaymentLinkCustomAmountPaymentDetails$outboundSchema,
33
+ } from "./paymentlinkcustomamountpaymentdetails.js";
28
34
  import {
29
35
  PaymentLinkCustomerOptions,
30
36
  PaymentLinkCustomerOptions$inboundSchema,
@@ -55,7 +61,7 @@ import {
55
61
  *
56
62
  * @remarks
57
63
  *
58
- * A payment link must include either `payment` or `payout` details, but not both. For payout payment links,
64
+ * A payment link must include exactly one of `payment`, `payout`, or `customAmountPayment` details. For payout payment links,
59
65
  * `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement
60
66
  * to a specific recipient.
61
67
  */
@@ -75,8 +81,8 @@ export type CreatePaymentLink = {
75
81
  *
76
82
  * In API versions before `2026.07.00`, this was a required field.
77
83
  *
78
- * In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
79
- * for `open` payment amount types.
84
+ * In API version `2026.07.00` and beyond, this field is required for `payment` and `payout` links and must be
85
+ * omitted for `customAmountPayment` links, where the payor chooses the amount.
80
86
  */
81
87
  amount?: Amount | undefined;
82
88
  /**
@@ -101,6 +107,10 @@ export type CreatePaymentLink = {
101
107
  */
102
108
  payment?: PaymentLinkPaymentDetails | undefined;
103
109
  payout?: PaymentLinkPayoutDetails | undefined;
110
+ /**
111
+ * Options for a custom amount payment link. Mutually exclusive with `payment` and `payout`.
112
+ */
113
+ customAmountPayment?: PaymentLinkCustomAmountPaymentDetails | undefined;
104
114
  /**
105
115
  * An optional collection of line items for a payment link.
106
116
  *
@@ -126,6 +136,9 @@ export const CreatePaymentLink$inboundSchema: z.ZodType<
126
136
  customer: types.optional(PaymentLinkCustomerOptions$inboundSchema),
127
137
  payment: types.optional(PaymentLinkPaymentDetails$inboundSchema),
128
138
  payout: types.optional(PaymentLinkPayoutDetails$inboundSchema),
139
+ customAmountPayment: types.optional(
140
+ PaymentLinkCustomAmountPaymentDetails$inboundSchema,
141
+ ),
129
142
  lineItems: types.optional(CreatePaymentLinkLineItems$inboundSchema),
130
143
  amountDetails: types.optional(CreatePaymentLinkAmountDetails$inboundSchema),
131
144
  });
@@ -140,6 +153,9 @@ export type CreatePaymentLink$Outbound = {
140
153
  customer?: PaymentLinkCustomerOptions$Outbound | undefined;
141
154
  payment?: PaymentLinkPaymentDetails$Outbound | undefined;
142
155
  payout?: PaymentLinkPayoutDetails$Outbound | undefined;
156
+ customAmountPayment?:
157
+ | PaymentLinkCustomAmountPaymentDetails$Outbound
158
+ | undefined;
143
159
  lineItems?: CreatePaymentLinkLineItems$Outbound | undefined;
144
160
  amountDetails?: CreatePaymentLinkAmountDetails$Outbound | undefined;
145
161
  };
@@ -159,6 +175,8 @@ export const CreatePaymentLink$outboundSchema: z.ZodType<
159
175
  customer: PaymentLinkCustomerOptions$outboundSchema.optional(),
160
176
  payment: PaymentLinkPaymentDetails$outboundSchema.optional(),
161
177
  payout: PaymentLinkPayoutDetails$outboundSchema.optional(),
178
+ customAmountPayment: PaymentLinkCustomAmountPaymentDetails$outboundSchema
179
+ .optional(),
162
180
  lineItems: CreatePaymentLinkLineItems$outboundSchema.optional(),
163
181
  amountDetails: CreatePaymentLinkAmountDetails$outboundSchema.optional(),
164
182
  });
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import * as types from "../../types/primitives.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ ACHPaymentDetailsError,
12
+ ACHPaymentDetailsError$inboundSchema,
13
+ ACHPaymentDetailsError$Outbound,
14
+ ACHPaymentDetailsError$outboundSchema,
15
+ } from "./achpaymentdetailserror.js";
16
+ import {
17
+ CardPaymentDetailsError,
18
+ CardPaymentDetailsError$inboundSchema,
19
+ CardPaymentDetailsError$Outbound,
20
+ CardPaymentDetailsError$outboundSchema,
21
+ } from "./cardpaymentdetailserror.js";
22
+
23
+ export type CustomAmountPaymentDetailsError = {
24
+ allowedMethods?: string | undefined;
25
+ cardDetails?: CardPaymentDetailsError | undefined;
26
+ achDetails?: ACHPaymentDetailsError | undefined;
27
+ metadata?: string | undefined;
28
+ amountRange?: string | undefined;
29
+ suggestedAmounts?: string | undefined;
30
+ };
31
+
32
+ /** @internal */
33
+ export const CustomAmountPaymentDetailsError$inboundSchema: z.ZodType<
34
+ CustomAmountPaymentDetailsError,
35
+ z.ZodTypeDef,
36
+ unknown
37
+ > = z.object({
38
+ allowedMethods: types.optional(types.string()),
39
+ cardDetails: types.optional(CardPaymentDetailsError$inboundSchema),
40
+ achDetails: types.optional(ACHPaymentDetailsError$inboundSchema),
41
+ metadata: types.optional(types.string()),
42
+ amountRange: types.optional(types.string()),
43
+ suggestedAmounts: types.optional(types.string()),
44
+ });
45
+ /** @internal */
46
+ export type CustomAmountPaymentDetailsError$Outbound = {
47
+ allowedMethods?: string | undefined;
48
+ cardDetails?: CardPaymentDetailsError$Outbound | undefined;
49
+ achDetails?: ACHPaymentDetailsError$Outbound | undefined;
50
+ metadata?: string | undefined;
51
+ amountRange?: string | undefined;
52
+ suggestedAmounts?: string | undefined;
53
+ };
54
+
55
+ /** @internal */
56
+ export const CustomAmountPaymentDetailsError$outboundSchema: z.ZodType<
57
+ CustomAmountPaymentDetailsError$Outbound,
58
+ z.ZodTypeDef,
59
+ CustomAmountPaymentDetailsError
60
+ > = z.object({
61
+ allowedMethods: z.string().optional(),
62
+ cardDetails: CardPaymentDetailsError$outboundSchema.optional(),
63
+ achDetails: ACHPaymentDetailsError$outboundSchema.optional(),
64
+ metadata: z.string().optional(),
65
+ amountRange: z.string().optional(),
66
+ suggestedAmounts: z.string().optional(),
67
+ });
68
+
69
+ export function customAmountPaymentDetailsErrorToJSON(
70
+ customAmountPaymentDetailsError: CustomAmountPaymentDetailsError,
71
+ ): string {
72
+ return JSON.stringify(
73
+ CustomAmountPaymentDetailsError$outboundSchema.parse(
74
+ customAmountPaymentDetailsError,
75
+ ),
76
+ );
77
+ }
78
+ export function customAmountPaymentDetailsErrorFromJSON(
79
+ jsonString: string,
80
+ ): SafeParseResult<CustomAmountPaymentDetailsError, SDKValidationError> {
81
+ return safeParse(
82
+ jsonString,
83
+ (x) => CustomAmountPaymentDetailsError$inboundSchema.parse(JSON.parse(x)),
84
+ `Failed to parse 'CustomAmountPaymentDetailsError' from JSON`,
85
+ );
86
+ }
@@ -8,11 +8,11 @@ import { Result as SafeParseResult } from "../../types/fp.js";
8
8
  import * as types from "../../types/primitives.js";
9
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
10
  import {
11
- AuthorizedUser,
12
- AuthorizedUser$inboundSchema,
13
- AuthorizedUser$Outbound,
14
- AuthorizedUser$outboundSchema,
15
- } from "./authorizeduser.js";
11
+ Address,
12
+ Address$inboundSchema,
13
+ Address$Outbound,
14
+ Address$outboundSchema,
15
+ } from "./address.js";
16
16
  import {
17
17
  CardBrand,
18
18
  CardBrand$inboundSchema,
@@ -56,17 +56,25 @@ export type FullIssuedCard = {
56
56
  */
57
57
  expiration: CardExpiration;
58
58
  /**
59
- * Fields for identifying an authorized individual.
59
+ * Unique identifier for the wallet funding the card.
60
60
  */
61
- authorizedUser: AuthorizedUser;
61
+ fundingWalletID: string;
62
62
  /**
63
- * Optional descriptor for the card.
63
+ * Identifier for the account of the card's authorized user.
64
64
  */
65
- memo?: string | undefined;
65
+ authorizedUserAccountID?: string | undefined;
66
66
  /**
67
- * Unique identifier for the wallet funding the card.
67
+ * An optional descriptive name for the card.
68
68
  */
69
- fundingWalletID: string;
69
+ nickname?: string | undefined;
70
+ /**
71
+ * Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
72
+ */
73
+ metadata?: { [k: string]: string } | undefined;
74
+ /**
75
+ * Billing address associated with the card.
76
+ */
77
+ billingAddress?: Address | undefined;
70
78
  /**
71
79
  * The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
72
80
  *
@@ -84,6 +92,7 @@ export type FullIssuedCard = {
84
92
  formFactor: IssuedCardFormFactor;
85
93
  controls?: IssuingControls | undefined;
86
94
  createdOn: Date;
95
+ updatedOn: Date;
87
96
  /**
88
97
  * The issued card's Primary Account Number (PAN)
89
98
  */
@@ -104,13 +113,16 @@ export const FullIssuedCard$inboundSchema: z.ZodType<
104
113
  brand: CardBrand$inboundSchema,
105
114
  lastFourCardNumber: types.string(),
106
115
  expiration: CardExpiration$inboundSchema,
107
- authorizedUser: AuthorizedUser$inboundSchema,
108
- memo: types.optional(types.string()),
109
116
  fundingWalletID: types.string(),
117
+ authorizedUserAccountID: types.optional(types.string()),
118
+ nickname: types.optional(types.string()),
119
+ metadata: types.optional(z.record(types.string())),
120
+ billingAddress: types.optional(Address$inboundSchema),
110
121
  state: IssuedCardState$inboundSchema,
111
122
  formFactor: IssuedCardFormFactor$inboundSchema,
112
123
  controls: types.optional(IssuingControls$inboundSchema),
113
124
  createdOn: types.date(),
125
+ updatedOn: types.date(),
114
126
  pan: types.string(),
115
127
  cvv: types.string(),
116
128
  });
@@ -120,13 +132,16 @@ export type FullIssuedCard$Outbound = {
120
132
  brand: string;
121
133
  lastFourCardNumber: string;
122
134
  expiration: CardExpiration$Outbound;
123
- authorizedUser: AuthorizedUser$Outbound;
124
- memo?: string | undefined;
125
135
  fundingWalletID: string;
136
+ authorizedUserAccountID?: string | undefined;
137
+ nickname?: string | undefined;
138
+ metadata?: { [k: string]: string } | undefined;
139
+ billingAddress?: Address$Outbound | undefined;
126
140
  state: string;
127
141
  formFactor: string;
128
142
  controls?: IssuingControls$Outbound | undefined;
129
143
  createdOn: string;
144
+ updatedOn: string;
130
145
  pan: string;
131
146
  cvv: string;
132
147
  };
@@ -141,13 +156,16 @@ export const FullIssuedCard$outboundSchema: z.ZodType<
141
156
  brand: CardBrand$outboundSchema,
142
157
  lastFourCardNumber: z.string(),
143
158
  expiration: CardExpiration$outboundSchema,
144
- authorizedUser: AuthorizedUser$outboundSchema,
145
- memo: z.string().optional(),
146
159
  fundingWalletID: z.string(),
160
+ authorizedUserAccountID: z.string().optional(),
161
+ nickname: z.string().optional(),
162
+ metadata: z.record(z.string()).optional(),
163
+ billingAddress: Address$outboundSchema.optional(),
147
164
  state: IssuedCardState$outboundSchema,
148
165
  formFactor: IssuedCardFormFactor$outboundSchema,
149
166
  controls: IssuingControls$outboundSchema.optional(),
150
167
  createdOn: z.date().transform(v => v.toISOString()),
168
+ updatedOn: z.date().transform(v => v.toISOString()),
151
169
  pan: z.string(),
152
170
  cvv: z.string(),
153
171
  });
@@ -57,7 +57,6 @@ export * from "./assignproductimage.js";
57
57
  export * from "./assignproductimagevalidationerror.js";
58
58
  export * from "./asynccreatedrefund.js";
59
59
  export * from "./asynctransfer.js";
60
- export * from "./authorizeduser.js";
61
60
  export * from "./authtoken.js";
62
61
  export * from "./authtokenrequest.js";
63
62
  export * from "./bankaccount.js";
@@ -148,9 +147,6 @@ export * from "./createaccount.js";
148
147
  export * from "./createaccountsettings.js";
149
148
  export * from "./createaccounttype.js";
150
149
  export * from "./createapplepaysession.js";
151
- export * from "./createauthorizeduser.js";
152
- export * from "./createauthorizedusererror.js";
153
- export * from "./createauthorizeduserupdate.js";
154
150
  export * from "./createbusinesserror.js";
155
151
  export * from "./createbusinessprofile.js";
156
152
  export * from "./createdtransfer.js";
@@ -216,6 +212,7 @@ export * from "./createtransfersourceach.js";
216
212
  export * from "./createtransfersourcecard.js";
217
213
  export * from "./createwallet.js";
218
214
  export * from "./createwebhook.js";
215
+ export * from "./customamountpaymentdetailserror.js";
219
216
  export * from "./customersupport.js";
220
217
  export * from "./customersupporterror.js";
221
218
  export * from "./debitholdperiod.js";
@@ -381,6 +378,8 @@ export * from "./patchwallet.js";
381
378
  export * from "./paymentdetailserror.js";
382
379
  export * from "./paymentlink.js";
383
380
  export * from "./paymentlinkamountdetails.js";
381
+ export * from "./paymentlinkcustomamountpaymentdetails.js";
382
+ export * from "./paymentlinkcustomamountpaymentdetailsupdate.js";
384
383
  export * from "./paymentlinkcustomeroptions.js";
385
384
  export * from "./paymentlinkdisplayoptions.js";
386
385
  export * from "./paymentlinkdisplayoptionsupdate.js";
@@ -589,6 +588,7 @@ export * from "./webhookdata.js";
589
588
  export * from "./webhookdataaccountcreated.js";
590
589
  export * from "./webhookdataaccountdisconnected.js";
591
590
  export * from "./webhookdataaccountupdated.js";
591
+ export * from "./webhookdataauthorizationexpiring.js";
592
592
  export * from "./webhookdatabalanceupdated.js";
593
593
  export * from "./webhookdatabankaccountcreated.js";
594
594
  export * from "./webhookdatabankaccountdeleted.js";
@@ -8,11 +8,11 @@ import { Result as SafeParseResult } from "../../types/fp.js";
8
8
  import * as types from "../../types/primitives.js";
9
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
10
  import {
11
- AuthorizedUser,
12
- AuthorizedUser$inboundSchema,
13
- AuthorizedUser$Outbound,
14
- AuthorizedUser$outboundSchema,
15
- } from "./authorizeduser.js";
11
+ Address,
12
+ Address$inboundSchema,
13
+ Address$Outbound,
14
+ Address$outboundSchema,
15
+ } from "./address.js";
16
16
  import {
17
17
  CardBrand,
18
18
  CardBrand$inboundSchema,
@@ -53,17 +53,25 @@ export type IssuedCard = {
53
53
  */
54
54
  expiration: CardExpiration;
55
55
  /**
56
- * Fields for identifying an authorized individual.
56
+ * Unique identifier for the wallet funding the card.
57
57
  */
58
- authorizedUser: AuthorizedUser;
58
+ fundingWalletID: string;
59
59
  /**
60
- * Optional descriptor for the card.
60
+ * Identifier for the account of the card's authorized user.
61
61
  */
62
- memo?: string | undefined;
62
+ authorizedUserAccountID?: string | undefined;
63
63
  /**
64
- * Unique identifier for the wallet funding the card.
64
+ * An optional descriptive name for the card.
65
65
  */
66
- fundingWalletID: string;
66
+ nickname?: string | undefined;
67
+ /**
68
+ * Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
69
+ */
70
+ metadata?: { [k: string]: string } | undefined;
71
+ /**
72
+ * Billing address associated with the card.
73
+ */
74
+ billingAddress?: Address | undefined;
67
75
  /**
68
76
  * The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
69
77
  *
@@ -81,6 +89,7 @@ export type IssuedCard = {
81
89
  formFactor: IssuedCardFormFactor;
82
90
  controls?: IssuingControls | undefined;
83
91
  createdOn: Date;
92
+ updatedOn: Date;
84
93
  };
85
94
 
86
95
  /** @internal */
@@ -93,13 +102,16 @@ export const IssuedCard$inboundSchema: z.ZodType<
93
102
  brand: CardBrand$inboundSchema,
94
103
  lastFourCardNumber: types.string(),
95
104
  expiration: CardExpiration$inboundSchema,
96
- authorizedUser: AuthorizedUser$inboundSchema,
97
- memo: types.optional(types.string()),
98
105
  fundingWalletID: types.string(),
106
+ authorizedUserAccountID: types.optional(types.string()),
107
+ nickname: types.optional(types.string()),
108
+ metadata: types.optional(z.record(types.string())),
109
+ billingAddress: types.optional(Address$inboundSchema),
99
110
  state: IssuedCardState$inboundSchema,
100
111
  formFactor: IssuedCardFormFactor$inboundSchema,
101
112
  controls: types.optional(IssuingControls$inboundSchema),
102
113
  createdOn: types.date(),
114
+ updatedOn: types.date(),
103
115
  });
104
116
  /** @internal */
105
117
  export type IssuedCard$Outbound = {
@@ -107,13 +119,16 @@ export type IssuedCard$Outbound = {
107
119
  brand: string;
108
120
  lastFourCardNumber: string;
109
121
  expiration: CardExpiration$Outbound;
110
- authorizedUser: AuthorizedUser$Outbound;
111
- memo?: string | undefined;
112
122
  fundingWalletID: string;
123
+ authorizedUserAccountID?: string | undefined;
124
+ nickname?: string | undefined;
125
+ metadata?: { [k: string]: string } | undefined;
126
+ billingAddress?: Address$Outbound | undefined;
113
127
  state: string;
114
128
  formFactor: string;
115
129
  controls?: IssuingControls$Outbound | undefined;
116
130
  createdOn: string;
131
+ updatedOn: string;
117
132
  };
118
133
 
119
134
  /** @internal */
@@ -126,13 +141,16 @@ export const IssuedCard$outboundSchema: z.ZodType<
126
141
  brand: CardBrand$outboundSchema,
127
142
  lastFourCardNumber: z.string(),
128
143
  expiration: CardExpiration$outboundSchema,
129
- authorizedUser: AuthorizedUser$outboundSchema,
130
- memo: z.string().optional(),
131
144
  fundingWalletID: z.string(),
145
+ authorizedUserAccountID: z.string().optional(),
146
+ nickname: z.string().optional(),
147
+ metadata: z.record(z.string()).optional(),
148
+ billingAddress: Address$outboundSchema.optional(),
132
149
  state: IssuedCardState$outboundSchema,
133
150
  formFactor: IssuedCardFormFactor$outboundSchema,
134
151
  controls: IssuingControls$outboundSchema.optional(),
135
152
  createdOn: z.date().transform(v => v.toISOString()),
153
+ updatedOn: z.date().transform(v => v.toISOString()),
136
154
  });
137
155
 
138
156
  export function issuedCardToJSON(issuedCard: IssuedCard): string {
@@ -62,7 +62,7 @@ export type OnboardingInvite = {
62
62
  */
63
63
  grantScopes?: Array<ApplicationScope> | undefined;
64
64
  /**
65
- * List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
65
+ * List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/reference/) you intend to request for this
66
66
  *
67
67
  * @remarks
68
68
  * account. These values are used to determine what information to collect from the user during onboarding.
@@ -51,7 +51,7 @@ export type OnboardingInviteRequest = {
51
51
  */
52
52
  grantScopes?: Array<ApplicationScope> | undefined;
53
53
  /**
54
- * List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
54
+ * List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/reference/) you intend to request for this
55
55
  *
56
56
  * @remarks
57
57
  * account. These values are used to determine what information to collect from the user during onboarding.
@@ -20,6 +20,12 @@ import {
20
20
  PaymentLinkAmountDetails$Outbound,
21
21
  PaymentLinkAmountDetails$outboundSchema,
22
22
  } from "./paymentlinkamountdetails.js";
23
+ import {
24
+ PaymentLinkCustomAmountPaymentDetails,
25
+ PaymentLinkCustomAmountPaymentDetails$inboundSchema,
26
+ PaymentLinkCustomAmountPaymentDetails$Outbound,
27
+ PaymentLinkCustomAmountPaymentDetails$outboundSchema,
28
+ } from "./paymentlinkcustomamountpaymentdetails.js";
23
29
  import {
24
30
  PaymentLinkCustomerOptions,
25
31
  PaymentLinkCustomerOptions$inboundSchema,
@@ -99,8 +105,8 @@ export type PaymentLink = {
99
105
  *
100
106
  * In API versions before `2026.07.00`, this was a required field.
101
107
  *
102
- * In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
103
- * for `open` payment amount types.
108
+ * In API version `2026.07.00` and beyond, this field is present for `payment` and `payout` links and omitted
109
+ * for `customAmountPayment` links, where the payor chooses the amount.
104
110
  */
105
111
  amount?: Amount | undefined;
106
112
  /**
@@ -133,6 +139,15 @@ export type PaymentLink = {
133
139
  */
134
140
  payment?: PaymentLinkPaymentDetails | undefined;
135
141
  payout?: PaymentLinkPayoutDetails | undefined;
142
+ /**
143
+ * Options for custom amount payment links.
144
+ *
145
+ * @remarks
146
+ *
147
+ * A custom amount payment link shares all the options of a `payment` link, but the payor chooses how much to
148
+ * pay rather than the merchant fixing the amount. The amount may optionally be constrained to a range.
149
+ */
150
+ customAmountPayment?: PaymentLinkCustomAmountPaymentDetails | undefined;
136
151
  /**
137
152
  * An optional collection of line items for a payment link.
138
153
  *
@@ -170,6 +185,9 @@ export const PaymentLink$inboundSchema: z.ZodType<
170
185
  customer: PaymentLinkCustomerOptions$inboundSchema,
171
186
  payment: types.optional(PaymentLinkPaymentDetails$inboundSchema),
172
187
  payout: types.optional(PaymentLinkPayoutDetails$inboundSchema),
188
+ customAmountPayment: types.optional(
189
+ PaymentLinkCustomAmountPaymentDetails$inboundSchema,
190
+ ),
173
191
  lineItems: types.optional(PaymentLinkLineItems$inboundSchema),
174
192
  createdOn: types.date(),
175
193
  updatedOn: types.date(),
@@ -196,6 +214,9 @@ export type PaymentLink$Outbound = {
196
214
  customer: PaymentLinkCustomerOptions$Outbound;
197
215
  payment?: PaymentLinkPaymentDetails$Outbound | undefined;
198
216
  payout?: PaymentLinkPayoutDetails$Outbound | undefined;
217
+ customAmountPayment?:
218
+ | PaymentLinkCustomAmountPaymentDetails$Outbound
219
+ | undefined;
199
220
  lineItems?: PaymentLinkLineItems$Outbound | undefined;
200
221
  createdOn: string;
201
222
  updatedOn: string;
@@ -227,6 +248,8 @@ export const PaymentLink$outboundSchema: z.ZodType<
227
248
  customer: PaymentLinkCustomerOptions$outboundSchema,
228
249
  payment: PaymentLinkPaymentDetails$outboundSchema.optional(),
229
250
  payout: PaymentLinkPayoutDetails$outboundSchema.optional(),
251
+ customAmountPayment: PaymentLinkCustomAmountPaymentDetails$outboundSchema
252
+ .optional(),
230
253
  lineItems: PaymentLinkLineItems$outboundSchema.optional(),
231
254
  createdOn: z.date().transform(v => v.toISOString()),
232
255
  updatedOn: z.date().transform(v => v.toISOString()),