@moovio/sdk 26.7.0-dev.6 → 26.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +121 -59
  2. package/bin/mcp-server.js +510 -183
  3. package/bin/mcp-server.js.map +35 -25
  4. package/funcs/avatarsDelete.d.ts +23 -0
  5. package/funcs/avatarsDelete.d.ts.map +1 -0
  6. package/funcs/avatarsDelete.js +135 -0
  7. package/funcs/avatarsDelete.js.map +1 -0
  8. package/funcs/avatarsUpload.d.ts +23 -0
  9. package/funcs/avatarsUpload.d.ts.map +1 -0
  10. package/funcs/avatarsUpload.js +155 -0
  11. package/funcs/avatarsUpload.js.map +1 -0
  12. package/funcs/productsList.js +1 -0
  13. package/funcs/productsList.js.map +1 -1
  14. package/funcs/productsListCategories.d.ts +14 -0
  15. package/funcs/productsListCategories.d.ts.map +1 -0
  16. package/funcs/productsListCategories.js +107 -0
  17. package/funcs/productsListCategories.js.map +1 -0
  18. package/hooks/oauth2scopes.d.ts +5 -0
  19. package/hooks/oauth2scopes.d.ts.map +1 -0
  20. package/hooks/oauth2scopes.js +6 -0
  21. package/hooks/oauth2scopes.js.map +1 -0
  22. package/jsr.json +1 -1
  23. package/lib/config.d.ts +3 -3
  24. package/lib/config.d.ts.map +1 -1
  25. package/lib/config.js +3 -3
  26. package/lib/config.js.map +1 -1
  27. package/mcp-server/mcp-server.js +1 -1
  28. package/mcp-server/mcp-server.js.map +1 -1
  29. package/mcp-server/server.d.ts.map +1 -1
  30. package/mcp-server/server.js +3 -1
  31. package/mcp-server/server.js.map +1 -1
  32. package/mcp-server/tools/productsListCategories.d.ts +3 -0
  33. package/mcp-server/tools/productsListCategories.d.ts.map +1 -0
  34. package/mcp-server/tools/productsListCategories.js +24 -0
  35. package/mcp-server/tools/productsListCategories.js.map +1 -0
  36. package/models/components/avataruploadrequest.d.ts +35 -0
  37. package/models/components/avataruploadrequest.d.ts.map +1 -0
  38. package/models/components/avataruploadrequest.js +88 -0
  39. package/models/components/avataruploadrequest.js.map +1 -0
  40. package/models/components/capabilityid.d.ts +1 -0
  41. package/models/components/capabilityid.d.ts.map +1 -1
  42. package/models/components/capabilityid.js +1 -0
  43. package/models/components/capabilityid.js.map +1 -1
  44. package/models/components/createtransfer.d.ts +6 -0
  45. package/models/components/createtransfer.d.ts.map +1 -1
  46. package/models/components/createtransfer.js +3 -0
  47. package/models/components/createtransfer.js.map +1 -1
  48. package/models/components/feepaidby.d.ts +18 -0
  49. package/models/components/feepaidby.d.ts.map +1 -0
  50. package/models/components/feepaidby.js +52 -0
  51. package/models/components/feepaidby.js.map +1 -0
  52. package/models/components/filedetails.d.ts +1 -1
  53. package/models/components/filepurpose.d.ts +2 -2
  54. package/models/components/filepurpose.js +1 -1
  55. package/models/components/incurredfee.d.ts +6 -0
  56. package/models/components/incurredfee.d.ts.map +1 -1
  57. package/models/components/incurredfee.js +3 -0
  58. package/models/components/incurredfee.js.map +1 -1
  59. package/models/components/index.d.ts +5 -0
  60. package/models/components/index.d.ts.map +1 -1
  61. package/models/components/index.js +5 -0
  62. package/models/components/index.js.map +1 -1
  63. package/models/components/issuingintervallimit.d.ts +2 -2
  64. package/models/components/issuingintervallimit.js +1 -1
  65. package/models/components/issuingvelocitylimit.d.ts +1 -1
  66. package/models/components/onboardinginvite.d.ts +1 -1
  67. package/models/components/paymentlinkpayoutdetails.d.ts +14 -0
  68. package/models/components/paymentlinkpayoutdetails.d.ts.map +1 -1
  69. package/models/components/paymentlinkpayoutdetails.js +3 -0
  70. package/models/components/paymentlinkpayoutdetails.js.map +1 -1
  71. package/models/components/paymentlinkpayoutdetailsupdate.d.ts +14 -0
  72. package/models/components/paymentlinkpayoutdetailsupdate.d.ts.map +1 -1
  73. package/models/components/paymentlinkpayoutdetailsupdate.js +3 -0
  74. package/models/components/paymentlinkpayoutdetailsupdate.js.map +1 -1
  75. package/models/components/payoutdetailserror.d.ts +2 -0
  76. package/models/components/payoutdetailserror.d.ts.map +1 -1
  77. package/models/components/payoutdetailserror.js +2 -0
  78. package/models/components/payoutdetailserror.js.map +1 -1
  79. package/models/components/product.d.ts +6 -0
  80. package/models/components/product.d.ts.map +1 -1
  81. package/models/components/product.js +3 -0
  82. package/models/components/product.js.map +1 -1
  83. package/models/components/productcategories.d.ts +21 -0
  84. package/models/components/productcategories.d.ts.map +1 -0
  85. package/models/components/productcategories.js +59 -0
  86. package/models/components/productcategories.js.map +1 -0
  87. package/models/components/productcategory.d.ts +43 -0
  88. package/models/components/productcategory.d.ts.map +1 -0
  89. package/models/components/productcategory.js +67 -0
  90. package/models/components/productcategory.js.map +1 -0
  91. package/models/components/productrequest.d.ts +5 -0
  92. package/models/components/productrequest.d.ts.map +1 -1
  93. package/models/components/productrequest.js +2 -0
  94. package/models/components/productrequest.js.map +1 -1
  95. package/models/components/transferfeepaidby.d.ts +24 -0
  96. package/models/components/transferfeepaidby.d.ts.map +1 -0
  97. package/models/components/transferfeepaidby.js +60 -0
  98. package/models/components/transferfeepaidby.js.map +1 -0
  99. package/models/errors/productrequestvalidationerror.d.ts +3 -0
  100. package/models/errors/productrequestvalidationerror.d.ts.map +1 -1
  101. package/models/errors/productrequestvalidationerror.js +4 -0
  102. package/models/errors/productrequestvalidationerror.js.map +1 -1
  103. package/models/operations/deleteavatar.d.ts +52 -0
  104. package/models/operations/deleteavatar.d.ts.map +1 -0
  105. package/models/operations/deleteavatar.js +102 -0
  106. package/models/operations/deleteavatar.js.map +1 -0
  107. package/models/operations/index.d.ts +3 -0
  108. package/models/operations/index.d.ts.map +1 -1
  109. package/models/operations/index.js +3 -0
  110. package/models/operations/index.js.map +1 -1
  111. package/models/operations/listproductcategories.d.ts +24 -0
  112. package/models/operations/listproductcategories.d.ts.map +1 -0
  113. package/models/operations/listproductcategories.js +72 -0
  114. package/models/operations/listproductcategories.js.map +1 -0
  115. package/models/operations/listproducts.d.ts +9 -0
  116. package/models/operations/listproducts.d.ts.map +1 -1
  117. package/models/operations/listproducts.js +2 -0
  118. package/models/operations/listproducts.js.map +1 -1
  119. package/models/operations/uploadavatar.d.ts +55 -0
  120. package/models/operations/uploadavatar.d.ts.map +1 -0
  121. package/models/operations/uploadavatar.js +113 -0
  122. package/models/operations/uploadavatar.js.map +1 -0
  123. package/package.json +1 -1
  124. package/sdk/avatars.d.ts +24 -0
  125. package/sdk/avatars.d.ts.map +1 -1
  126. package/sdk/avatars.js +30 -0
  127. package/sdk/avatars.js.map +1 -1
  128. package/sdk/products.d.ts +4 -0
  129. package/sdk/products.d.ts.map +1 -1
  130. package/sdk/products.js +7 -0
  131. package/sdk/products.js.map +1 -1
  132. package/src/funcs/avatarsDelete.ts +194 -0
  133. package/src/funcs/avatarsUpload.ts +231 -0
  134. package/src/funcs/productsList.ts +1 -0
  135. package/src/funcs/productsListCategories.ts +149 -0
  136. package/src/hooks/oauth2scopes.ts +8 -0
  137. package/src/lib/config.ts +3 -4
  138. package/src/mcp-server/mcp-server.ts +1 -1
  139. package/src/mcp-server/server.ts +3 -1
  140. package/src/mcp-server/tools/productsListCategories.ts +29 -0
  141. package/src/models/components/avataruploadrequest.ts +113 -0
  142. package/src/models/components/capabilityid.ts +1 -0
  143. package/src/models/components/createtransfer.ts +13 -0
  144. package/src/models/components/feepaidby.ts +32 -0
  145. package/src/models/components/filedetails.ts +1 -1
  146. package/src/models/components/filepurpose.ts +2 -2
  147. package/src/models/components/incurredfee.ts +12 -0
  148. package/src/models/components/index.ts +5 -0
  149. package/src/models/components/issuingintervallimit.ts +2 -2
  150. package/src/models/components/issuingvelocitylimit.ts +1 -1
  151. package/src/models/components/onboardinginvite.ts +1 -1
  152. package/src/models/components/paymentlinkpayoutdetails.ts +16 -0
  153. package/src/models/components/paymentlinkpayoutdetailsupdate.ts +16 -0
  154. package/src/models/components/payoutdetailserror.ts +4 -0
  155. package/src/models/components/product.ts +13 -0
  156. package/src/models/components/productcategories.ts +60 -0
  157. package/src/models/components/productcategory.ts +84 -0
  158. package/src/models/components/productrequest.ts +7 -0
  159. package/src/models/components/transferfeepaidby.ts +63 -0
  160. package/src/models/errors/productrequestvalidationerror.ts +6 -0
  161. package/src/models/operations/deleteavatar.ts +154 -0
  162. package/src/models/operations/index.ts +3 -0
  163. package/src/models/operations/listproductcategories.ts +69 -0
  164. package/src/models/operations/listproducts.ts +11 -0
  165. package/src/models/operations/uploadavatar.ts +167 -0
  166. package/src/sdk/avatars.ts +50 -0
  167. package/src/sdk/products.ts +13 -0
@@ -0,0 +1,113 @@
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 { blobLikeSchema } from "../../types/blobs.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import * as types from "../../types/primitives.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
11
+
12
+ export type AvatarUploadRequestFile = {
13
+ fileName: string;
14
+ content: ReadableStream<Uint8Array> | Blob | ArrayBuffer | Uint8Array;
15
+ };
16
+
17
+ export type AvatarUploadRequest = {
18
+ /**
19
+ * A JPEG, PNG, or WebP image file to upload as an avatar.
20
+ */
21
+ file: AvatarUploadRequestFile | Blob;
22
+ };
23
+
24
+ /** @internal */
25
+ export const AvatarUploadRequestFile$inboundSchema: z.ZodType<
26
+ AvatarUploadRequestFile,
27
+ z.ZodTypeDef,
28
+ unknown
29
+ > = z.object({
30
+ fileName: types.string(),
31
+ content: z.union([
32
+ z.instanceof(ReadableStream<Uint8Array>),
33
+ z.instanceof(Blob),
34
+ z.instanceof(ArrayBuffer),
35
+ z.instanceof(Uint8Array),
36
+ ]),
37
+ });
38
+ /** @internal */
39
+ export type AvatarUploadRequestFile$Outbound = {
40
+ fileName: string;
41
+ content: ReadableStream<Uint8Array> | Blob | ArrayBuffer | Uint8Array;
42
+ };
43
+
44
+ /** @internal */
45
+ export const AvatarUploadRequestFile$outboundSchema: z.ZodType<
46
+ AvatarUploadRequestFile$Outbound,
47
+ z.ZodTypeDef,
48
+ AvatarUploadRequestFile
49
+ > = z.object({
50
+ fileName: z.string(),
51
+ content: z.union([
52
+ z.instanceof(ReadableStream<Uint8Array>),
53
+ z.instanceof(Blob),
54
+ z.instanceof(ArrayBuffer),
55
+ z.instanceof(Uint8Array),
56
+ ]),
57
+ });
58
+
59
+ export function avatarUploadRequestFileToJSON(
60
+ avatarUploadRequestFile: AvatarUploadRequestFile,
61
+ ): string {
62
+ return JSON.stringify(
63
+ AvatarUploadRequestFile$outboundSchema.parse(avatarUploadRequestFile),
64
+ );
65
+ }
66
+ export function avatarUploadRequestFileFromJSON(
67
+ jsonString: string,
68
+ ): SafeParseResult<AvatarUploadRequestFile, SDKValidationError> {
69
+ return safeParse(
70
+ jsonString,
71
+ (x) => AvatarUploadRequestFile$inboundSchema.parse(JSON.parse(x)),
72
+ `Failed to parse 'AvatarUploadRequestFile' from JSON`,
73
+ );
74
+ }
75
+
76
+ /** @internal */
77
+ export const AvatarUploadRequest$inboundSchema: z.ZodType<
78
+ AvatarUploadRequest,
79
+ z.ZodTypeDef,
80
+ unknown
81
+ > = z.object({
82
+ file: z.lazy(() => AvatarUploadRequestFile$inboundSchema),
83
+ });
84
+ /** @internal */
85
+ export type AvatarUploadRequest$Outbound = {
86
+ file: AvatarUploadRequestFile$Outbound | Blob;
87
+ };
88
+
89
+ /** @internal */
90
+ export const AvatarUploadRequest$outboundSchema: z.ZodType<
91
+ AvatarUploadRequest$Outbound,
92
+ z.ZodTypeDef,
93
+ AvatarUploadRequest
94
+ > = z.object({
95
+ file: z.lazy(() => AvatarUploadRequestFile$outboundSchema).or(blobLikeSchema),
96
+ });
97
+
98
+ export function avatarUploadRequestToJSON(
99
+ avatarUploadRequest: AvatarUploadRequest,
100
+ ): string {
101
+ return JSON.stringify(
102
+ AvatarUploadRequest$outboundSchema.parse(avatarUploadRequest),
103
+ );
104
+ }
105
+ export function avatarUploadRequestFromJSON(
106
+ jsonString: string,
107
+ ): SafeParseResult<AvatarUploadRequest, SDKValidationError> {
108
+ return safeParse(
109
+ jsonString,
110
+ (x) => AvatarUploadRequest$inboundSchema.parse(JSON.parse(x)),
111
+ `Failed to parse 'AvatarUploadRequest' from JSON`,
112
+ );
113
+ }
@@ -27,6 +27,7 @@ export const CapabilityID = {
27
27
  SendFundsAch: "send-funds.ach",
28
28
  SendFundsRtp: "send-funds.rtp",
29
29
  SendFundsInstantBank: "send-funds.instant-bank",
30
+ SendFundsWire: "send-funds.wire",
30
31
  CollectFunds: "collect-funds",
31
32
  CollectFundsCardPayments: "collect-funds.card-payments",
32
33
  MoneyTransferPullFromCard: "money-transfer.pull-from-card",
@@ -43,6 +43,12 @@ import {
43
43
  FacilitatorFee$Outbound,
44
44
  FacilitatorFee$outboundSchema,
45
45
  } from "./facilitatorfee.js";
46
+ import {
47
+ TransferFeePaidBy,
48
+ TransferFeePaidBy$inboundSchema,
49
+ TransferFeePaidBy$Outbound,
50
+ TransferFeePaidBy$outboundSchema,
51
+ } from "./transferfeepaidby.js";
46
52
 
47
53
  export type CreateTransfer = {
48
54
  /**
@@ -78,6 +84,10 @@ export type CreateTransfer = {
78
84
  */
79
85
  lineItems?: CreateTransferLineItems | undefined;
80
86
  amountDetails?: CreateTransferAmountDetails | undefined;
87
+ /**
88
+ * Indicates which party bears fees for the transfer, keyed by fee type.
89
+ */
90
+ feePaidBy?: TransferFeePaidBy | undefined;
81
91
  };
82
92
 
83
93
  /** @internal */
@@ -95,6 +105,7 @@ export const CreateTransfer$inboundSchema: z.ZodType<
95
105
  foreignID: types.optional(types.string()),
96
106
  lineItems: types.optional(CreateTransferLineItems$inboundSchema),
97
107
  amountDetails: types.optional(CreateTransferAmountDetails$inboundSchema),
108
+ feePaidBy: types.optional(TransferFeePaidBy$inboundSchema),
98
109
  });
99
110
  /** @internal */
100
111
  export type CreateTransfer$Outbound = {
@@ -107,6 +118,7 @@ export type CreateTransfer$Outbound = {
107
118
  foreignID?: string | undefined;
108
119
  lineItems?: CreateTransferLineItems$Outbound | undefined;
109
120
  amountDetails?: CreateTransferAmountDetails$Outbound | undefined;
121
+ feePaidBy?: TransferFeePaidBy$Outbound | undefined;
110
122
  };
111
123
 
112
124
  /** @internal */
@@ -124,6 +136,7 @@ export const CreateTransfer$outboundSchema: z.ZodType<
124
136
  foreignID: z.string().optional(),
125
137
  lineItems: CreateTransferLineItems$outboundSchema.optional(),
126
138
  amountDetails: CreateTransferAmountDetails$outboundSchema.optional(),
139
+ feePaidBy: TransferFeePaidBy$outboundSchema.optional(),
127
140
  });
128
141
 
129
142
  export function createTransferToJSON(createTransfer: CreateTransfer): string {
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import * as openEnums from "../../types/enums.js";
7
+ import { OpenEnum } from "../../types/enums.js";
8
+
9
+ /**
10
+ * Indicates which party to a money movement bears an incurred fee.
11
+ */
12
+ export const FeePaidBy = {
13
+ Source: "source",
14
+ Destination: "destination",
15
+ } as const;
16
+ /**
17
+ * Indicates which party to a money movement bears an incurred fee.
18
+ */
19
+ export type FeePaidBy = OpenEnum<typeof FeePaidBy>;
20
+
21
+ /** @internal */
22
+ export const FeePaidBy$inboundSchema: z.ZodType<
23
+ FeePaidBy,
24
+ z.ZodTypeDef,
25
+ unknown
26
+ > = openEnums.inboundSchema(FeePaidBy);
27
+ /** @internal */
28
+ export const FeePaidBy$outboundSchema: z.ZodType<
29
+ string,
30
+ z.ZodTypeDef,
31
+ FeePaidBy
32
+ > = openEnums.outboundSchema(FeePaidBy);
@@ -26,7 +26,7 @@ export type FileDetails = {
26
26
  fileName: string;
27
27
  accountID: string;
28
28
  /**
29
- * The file's purpose.
29
+ * The purpose of the file being uploaded.
30
30
  */
31
31
  filePurpose: FilePurpose;
32
32
  /**
@@ -7,7 +7,7 @@ import * as openEnums from "../../types/enums.js";
7
7
  import { OpenEnum } from "../../types/enums.js";
8
8
 
9
9
  /**
10
- * The file's purpose.
10
+ * The purpose of the file being uploaded.
11
11
  */
12
12
  export const FilePurpose = {
13
13
  BusinessVerification: "business_verification",
@@ -18,7 +18,7 @@ export const FilePurpose = {
18
18
  IdentityVerification: "identity_verification",
19
19
  } as const;
20
20
  /**
21
- * The file's purpose.
21
+ * The purpose of the file being uploaded.
22
22
  */
23
23
  export type FilePurpose = OpenEnum<typeof FilePurpose>;
24
24
 
@@ -13,6 +13,11 @@ import {
13
13
  AmountDecimal$Outbound,
14
14
  AmountDecimal$outboundSchema,
15
15
  } from "./amountdecimal.js";
16
+ import {
17
+ FeePaidBy,
18
+ FeePaidBy$inboundSchema,
19
+ FeePaidBy$outboundSchema,
20
+ } from "./feepaidby.js";
16
21
  import {
17
22
  GeneratedBy,
18
23
  GeneratedBy$inboundSchema,
@@ -60,6 +65,10 @@ export type IncurredFee = {
60
65
  * Unique identifier for this residual payment calculation.
61
66
  */
62
67
  residualID?: string | undefined;
68
+ /**
69
+ * Indicates which party to the money movement bore this fee.
70
+ */
71
+ feePaidBy?: FeePaidBy | undefined;
63
72
  };
64
73
 
65
74
  /** @internal */
@@ -77,6 +86,7 @@ export const IncurredFee$inboundSchema: z.ZodType<
77
86
  generatedBy: types.optional(GeneratedBy$inboundSchema),
78
87
  feeGroup: types.optional(types.string()),
79
88
  residualID: types.optional(types.string()),
89
+ feePaidBy: types.optional(FeePaidBy$inboundSchema),
80
90
  });
81
91
  /** @internal */
82
92
  export type IncurredFee$Outbound = {
@@ -89,6 +99,7 @@ export type IncurredFee$Outbound = {
89
99
  generatedBy?: GeneratedBy$Outbound | undefined;
90
100
  feeGroup?: string | undefined;
91
101
  residualID?: string | undefined;
102
+ feePaidBy?: string | undefined;
92
103
  };
93
104
 
94
105
  /** @internal */
@@ -106,6 +117,7 @@ export const IncurredFee$outboundSchema: z.ZodType<
106
117
  generatedBy: GeneratedBy$outboundSchema.optional(),
107
118
  feeGroup: z.string().optional(),
108
119
  residualID: z.string().optional(),
120
+ feePaidBy: FeePaidBy$outboundSchema.optional(),
109
121
  });
110
122
 
111
123
  export function incurredFeeToJSON(incurredFee: IncurredFee): string {
@@ -59,6 +59,7 @@ export * from "./asynccreatedrefund.js";
59
59
  export * from "./asynctransfer.js";
60
60
  export * from "./authtoken.js";
61
61
  export * from "./authtokenrequest.js";
62
+ export * from "./avataruploadrequest.js";
62
63
  export * from "./bankaccount.js";
63
64
  export * from "./bankaccountexception.js";
64
65
  export * from "./bankaccountholdertype.js";
@@ -248,6 +249,7 @@ export * from "./fednowinstitution.js";
248
249
  export * from "./fednowservices.js";
249
250
  export * from "./feecategory.js";
250
251
  export * from "./feemodel.js";
252
+ export * from "./feepaidby.js";
251
253
  export * from "./feeplan.js";
252
254
  export * from "./feeplanagreement.js";
253
255
  export * from "./feeplanagreementstatus.js";
@@ -413,6 +415,8 @@ export * from "./plaidpayload.js";
413
415
  export * from "./platformfees.js";
414
416
  export * from "./primaryregulator.js";
415
417
  export * from "./product.js";
418
+ export * from "./productcategories.js";
419
+ export * from "./productcategory.js";
416
420
  export * from "./productimagemetadata.js";
417
421
  export * from "./productoption.js";
418
422
  export * from "./productoptiongroup.js";
@@ -537,6 +541,7 @@ export * from "./transfercontrols.js";
537
541
  export * from "./transferdestination.js";
538
542
  export * from "./transferentrymode.js";
539
543
  export * from "./transferfailurereason.js";
544
+ export * from "./transferfeepaidby.js";
540
545
  export * from "./transferlineitem.js";
541
546
  export * from "./transferlineitemimagemetadata.js";
542
547
  export * from "./transferlineitemoption.js";
@@ -6,13 +6,13 @@ import * as z from "zod/v3";
6
6
  import { ClosedEnum } from "../../types/enums.js";
7
7
 
8
8
  /**
9
- * Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
9
+ * Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
10
10
  */
11
11
  export const IssuingIntervalLimit = {
12
12
  PerTransaction: "per-transaction",
13
13
  } as const;
14
14
  /**
15
- * Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
15
+ * Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
16
16
  */
17
17
  export type IssuingIntervalLimit = ClosedEnum<typeof IssuingIntervalLimit>;
18
18
 
@@ -19,7 +19,7 @@ export type IssuingVelocityLimit = {
19
19
  */
20
20
  amount: number;
21
21
  /**
22
- * Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
22
+ * Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
23
23
  */
24
24
  interval: IssuingIntervalLimit;
25
25
  };
@@ -40,7 +40,7 @@ export type OnboardingInvite = {
40
40
  */
41
41
  link: string;
42
42
  /**
43
- * The scopes requested by the inviter.
43
+ * Optional URL to redirect the user to after they complete the onboarding process.
44
44
  */
45
45
  returnURL?: string | undefined;
46
46
  /**
@@ -12,6 +12,11 @@ import {
12
12
  DisbursementPaymentMethodType$inboundSchema,
13
13
  DisbursementPaymentMethodType$outboundSchema,
14
14
  } from "./disbursementpaymentmethodtype.js";
15
+ import {
16
+ FeePaidBy,
17
+ FeePaidBy$inboundSchema,
18
+ FeePaidBy$outboundSchema,
19
+ } from "./feepaidby.js";
15
20
  import {
16
21
  PayoutRecipient,
17
22
  PayoutRecipient$inboundSchema,
@@ -52,6 +57,14 @@ export type PaymentLinkPayoutDetails = {
52
57
  * (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
53
58
  */
54
59
  pushOptions?: PushOptions | undefined;
60
+ /**
61
+ * Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
62
+ *
63
+ * @remarks
64
+ *
65
+ * Sparse — include only the methods you want to attribute. Any method left unset defaults to `source`.
66
+ */
67
+ feePaidBy?: { [k: string]: FeePaidBy } | undefined;
55
68
  };
56
69
 
57
70
  /** @internal */
@@ -64,6 +77,7 @@ export const PaymentLinkPayoutDetails$inboundSchema: z.ZodType<
64
77
  recipient: PayoutRecipient$inboundSchema,
65
78
  metadata: types.optional(z.record(types.string())),
66
79
  pushOptions: types.optional(PushOptions$inboundSchema),
80
+ feePaidBy: types.optional(z.record(FeePaidBy$inboundSchema)),
67
81
  });
68
82
  /** @internal */
69
83
  export type PaymentLinkPayoutDetails$Outbound = {
@@ -71,6 +85,7 @@ export type PaymentLinkPayoutDetails$Outbound = {
71
85
  recipient: PayoutRecipient$Outbound;
72
86
  metadata?: { [k: string]: string } | undefined;
73
87
  pushOptions?: PushOptions$Outbound | undefined;
88
+ feePaidBy?: { [k: string]: string } | undefined;
74
89
  };
75
90
 
76
91
  /** @internal */
@@ -83,6 +98,7 @@ export const PaymentLinkPayoutDetails$outboundSchema: z.ZodType<
83
98
  recipient: PayoutRecipient$outboundSchema,
84
99
  metadata: z.record(z.string()).optional(),
85
100
  pushOptions: PushOptions$outboundSchema.optional(),
101
+ feePaidBy: z.record(FeePaidBy$outboundSchema).optional(),
86
102
  });
87
103
 
88
104
  export function paymentLinkPayoutDetailsToJSON(
@@ -12,6 +12,11 @@ import {
12
12
  DisbursementPaymentMethodType$inboundSchema,
13
13
  DisbursementPaymentMethodType$outboundSchema,
14
14
  } from "./disbursementpaymentmethodtype.js";
15
+ import {
16
+ FeePaidBy,
17
+ FeePaidBy$inboundSchema,
18
+ FeePaidBy$outboundSchema,
19
+ } from "./feepaidby.js";
15
20
  import {
16
21
  PayoutRecipient,
17
22
  PayoutRecipient$inboundSchema,
@@ -52,6 +57,14 @@ export type PaymentLinkPayoutDetailsUpdate = {
52
57
  * (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
53
58
  */
54
59
  pushOptions?: PushOptionsUpdate | undefined;
60
+ /**
61
+ * Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
62
+ *
63
+ * @remarks
64
+ *
65
+ * Sparse — include only the methods you want to attribute. Any method left unset defaults to `source`.
66
+ */
67
+ feePaidBy?: { [k: string]: FeePaidBy } | undefined;
55
68
  };
56
69
 
57
70
  /** @internal */
@@ -66,6 +79,7 @@ export const PaymentLinkPayoutDetailsUpdate$inboundSchema: z.ZodType<
66
79
  recipient: types.optional(PayoutRecipient$inboundSchema),
67
80
  metadata: types.optional(z.record(types.string())),
68
81
  pushOptions: types.optional(PushOptionsUpdate$inboundSchema),
82
+ feePaidBy: types.optional(z.record(FeePaidBy$inboundSchema)),
69
83
  });
70
84
  /** @internal */
71
85
  export type PaymentLinkPayoutDetailsUpdate$Outbound = {
@@ -73,6 +87,7 @@ export type PaymentLinkPayoutDetailsUpdate$Outbound = {
73
87
  recipient?: PayoutRecipient$Outbound | undefined;
74
88
  metadata?: { [k: string]: string } | undefined;
75
89
  pushOptions?: PushOptionsUpdate$Outbound | undefined;
90
+ feePaidBy?: { [k: string]: string } | undefined;
76
91
  };
77
92
 
78
93
  /** @internal */
@@ -86,6 +101,7 @@ export const PaymentLinkPayoutDetailsUpdate$outboundSchema: z.ZodType<
86
101
  recipient: PayoutRecipient$outboundSchema.optional(),
87
102
  metadata: z.record(z.string()).optional(),
88
103
  pushOptions: PushOptionsUpdate$outboundSchema.optional(),
104
+ feePaidBy: z.record(FeePaidBy$outboundSchema).optional(),
89
105
  });
90
106
 
91
107
  export function paymentLinkPayoutDetailsUpdateToJSON(
@@ -25,6 +25,7 @@ export type PayoutDetailsError = {
25
25
  recipient?: PayoutRecipientError | undefined;
26
26
  metadata?: string | undefined;
27
27
  pushOptions?: PushOptionsError | undefined;
28
+ feePaidBy?: string | undefined;
28
29
  };
29
30
 
30
31
  /** @internal */
@@ -37,6 +38,7 @@ export const PayoutDetailsError$inboundSchema: z.ZodType<
37
38
  recipient: types.optional(PayoutRecipientError$inboundSchema),
38
39
  metadata: types.optional(types.string()),
39
40
  pushOptions: types.optional(PushOptionsError$inboundSchema),
41
+ feePaidBy: types.optional(types.string()),
40
42
  });
41
43
  /** @internal */
42
44
  export type PayoutDetailsError$Outbound = {
@@ -44,6 +46,7 @@ export type PayoutDetailsError$Outbound = {
44
46
  recipient?: PayoutRecipientError$Outbound | undefined;
45
47
  metadata?: string | undefined;
46
48
  pushOptions?: PushOptionsError$Outbound | undefined;
49
+ feePaidBy?: string | undefined;
47
50
  };
48
51
 
49
52
  /** @internal */
@@ -56,6 +59,7 @@ export const PayoutDetailsError$outboundSchema: z.ZodType<
56
59
  recipient: PayoutRecipientError$outboundSchema.optional(),
57
60
  metadata: z.string().optional(),
58
61
  pushOptions: PushOptionsError$outboundSchema.optional(),
62
+ feePaidBy: z.string().optional(),
59
63
  });
60
64
 
61
65
  export function payoutDetailsErrorToJSON(
@@ -13,6 +13,12 @@ import {
13
13
  AmountDecimal$Outbound,
14
14
  AmountDecimal$outboundSchema,
15
15
  } from "./amountdecimal.js";
16
+ import {
17
+ ProductCategory,
18
+ ProductCategory$inboundSchema,
19
+ ProductCategory$Outbound,
20
+ ProductCategory$outboundSchema,
21
+ } from "./productcategory.js";
16
22
  import {
17
23
  ProductImageMetadata,
18
24
  ProductImageMetadata$inboundSchema,
@@ -57,6 +63,10 @@ export type Product = {
57
63
  * Optional images associated with the product.
58
64
  */
59
65
  images?: Array<ProductImageMetadata> | undefined;
66
+ /**
67
+ * The product taxonomy category associated with the product, if any.
68
+ */
69
+ category?: ProductCategory | undefined;
60
70
  /**
61
71
  * The date and time when the product was added.
62
72
  */
@@ -80,6 +90,7 @@ export const Product$inboundSchema: z.ZodType<Product, z.ZodTypeDef, unknown> =
80
90
  basePrice: AmountDecimal$inboundSchema,
81
91
  optionGroups: types.optional(z.array(ProductOptionGroup$inboundSchema)),
82
92
  images: types.optional(z.array(ProductImageMetadata$inboundSchema)),
93
+ category: types.optional(ProductCategory$inboundSchema),
83
94
  createdOn: types.date(),
84
95
  updatedOn: types.date(),
85
96
  disabledOn: types.optional(types.date()),
@@ -92,6 +103,7 @@ export type Product$Outbound = {
92
103
  basePrice: AmountDecimal$Outbound;
93
104
  optionGroups?: Array<ProductOptionGroup$Outbound> | undefined;
94
105
  images?: Array<ProductImageMetadata$Outbound> | undefined;
106
+ category?: ProductCategory$Outbound | undefined;
95
107
  createdOn: string;
96
108
  updatedOn: string;
97
109
  disabledOn?: string | undefined;
@@ -109,6 +121,7 @@ export const Product$outboundSchema: z.ZodType<
109
121
  basePrice: AmountDecimal$outboundSchema,
110
122
  optionGroups: z.array(ProductOptionGroup$outboundSchema).optional(),
111
123
  images: z.array(ProductImageMetadata$outboundSchema).optional(),
124
+ category: ProductCategory$outboundSchema.optional(),
112
125
  createdOn: z.date().transform(v => v.toISOString()),
113
126
  updatedOn: z.date().transform(v => v.toISOString()),
114
127
  disabledOn: z.date().transform(v => v.toISOString()).optional(),
@@ -0,0 +1,60 @@
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 { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ ProductCategory,
11
+ ProductCategory$inboundSchema,
12
+ ProductCategory$Outbound,
13
+ ProductCategory$outboundSchema,
14
+ } from "./productcategory.js";
15
+
16
+ /**
17
+ * A list of product categories from the product taxonomy.
18
+ */
19
+ export type ProductCategories = {
20
+ categories: Array<ProductCategory>;
21
+ };
22
+
23
+ /** @internal */
24
+ export const ProductCategories$inboundSchema: z.ZodType<
25
+ ProductCategories,
26
+ z.ZodTypeDef,
27
+ unknown
28
+ > = z.object({
29
+ categories: z.array(ProductCategory$inboundSchema),
30
+ });
31
+ /** @internal */
32
+ export type ProductCategories$Outbound = {
33
+ categories: Array<ProductCategory$Outbound>;
34
+ };
35
+
36
+ /** @internal */
37
+ export const ProductCategories$outboundSchema: z.ZodType<
38
+ ProductCategories$Outbound,
39
+ z.ZodTypeDef,
40
+ ProductCategories
41
+ > = z.object({
42
+ categories: z.array(ProductCategory$outboundSchema),
43
+ });
44
+
45
+ export function productCategoriesToJSON(
46
+ productCategories: ProductCategories,
47
+ ): string {
48
+ return JSON.stringify(
49
+ ProductCategories$outboundSchema.parse(productCategories),
50
+ );
51
+ }
52
+ export function productCategoriesFromJSON(
53
+ jsonString: string,
54
+ ): SafeParseResult<ProductCategories, SDKValidationError> {
55
+ return safeParse(
56
+ jsonString,
57
+ (x) => ProductCategories$inboundSchema.parse(JSON.parse(x)),
58
+ `Failed to parse 'ProductCategories' from JSON`,
59
+ );
60
+ }
@@ -0,0 +1,84 @@
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
+
11
+ /**
12
+ * A product category from the product taxonomy.
13
+ */
14
+ export type ProductCategory = {
15
+ /**
16
+ * The unique identifier for the category.
17
+ */
18
+ categoryID: string;
19
+ /**
20
+ * The short display name of the category.
21
+ */
22
+ name: string;
23
+ /**
24
+ * The full taxonomy path name of the category.
25
+ */
26
+ fullName: string;
27
+ /**
28
+ * The depth of the category in the taxonomy tree (1 = top-level).
29
+ */
30
+ level: number;
31
+ /**
32
+ * The identifier of the parent category, if any. Absent for top-level categories.
33
+ */
34
+ parentID?: string | undefined;
35
+ };
36
+
37
+ /** @internal */
38
+ export const ProductCategory$inboundSchema: z.ZodType<
39
+ ProductCategory,
40
+ z.ZodTypeDef,
41
+ unknown
42
+ > = z.object({
43
+ categoryID: types.string(),
44
+ name: types.string(),
45
+ fullName: types.string(),
46
+ level: types.number(),
47
+ parentID: types.optional(types.string()),
48
+ });
49
+ /** @internal */
50
+ export type ProductCategory$Outbound = {
51
+ categoryID: string;
52
+ name: string;
53
+ fullName: string;
54
+ level: number;
55
+ parentID?: string | undefined;
56
+ };
57
+
58
+ /** @internal */
59
+ export const ProductCategory$outboundSchema: z.ZodType<
60
+ ProductCategory$Outbound,
61
+ z.ZodTypeDef,
62
+ ProductCategory
63
+ > = z.object({
64
+ categoryID: z.string(),
65
+ name: z.string(),
66
+ fullName: z.string(),
67
+ level: z.number().int(),
68
+ parentID: z.string().optional(),
69
+ });
70
+
71
+ export function productCategoryToJSON(
72
+ productCategory: ProductCategory,
73
+ ): string {
74
+ return JSON.stringify(ProductCategory$outboundSchema.parse(productCategory));
75
+ }
76
+ export function productCategoryFromJSON(
77
+ jsonString: string,
78
+ ): SafeParseResult<ProductCategory, SDKValidationError> {
79
+ return safeParse(
80
+ jsonString,
81
+ (x) => ProductCategory$inboundSchema.parse(JSON.parse(x)),
82
+ `Failed to parse 'ProductCategory' from JSON`,
83
+ );
84
+ }