@moovio/sdk 0.0.0-dev.26 → 0.0.0-dev.28

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 (329) hide show
  1. package/README.md +133 -59
  2. package/bin/mcp-server.js +1317 -365
  3. package/bin/mcp-server.js.map +66 -35
  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/funcs/transfersGetRiskOutcomes.d.ts +19 -0
  19. package/funcs/transfersGetRiskOutcomes.d.ts.map +1 -0
  20. package/funcs/transfersGetRiskOutcomes.js +131 -0
  21. package/funcs/transfersGetRiskOutcomes.js.map +1 -0
  22. package/hooks/oauth2scopes.d.ts +5 -0
  23. package/hooks/oauth2scopes.d.ts.map +1 -0
  24. package/hooks/oauth2scopes.js +6 -0
  25. package/hooks/oauth2scopes.js.map +1 -0
  26. package/jsr.json +1 -1
  27. package/lib/config.d.ts +3 -3
  28. package/lib/config.js +3 -3
  29. package/lib/http.d.ts +1 -1
  30. package/lib/http.d.ts.map +1 -1
  31. package/lib/http.js +1 -1
  32. package/lib/http.js.map +1 -1
  33. package/lib/security.d.ts +5 -4
  34. package/lib/security.d.ts.map +1 -1
  35. package/lib/security.js +6 -7
  36. package/lib/security.js.map +1 -1
  37. package/mcp-server/mcp-server.js +1 -1
  38. package/mcp-server/server.d.ts.map +1 -1
  39. package/mcp-server/server.js +5 -1
  40. package/mcp-server/server.js.map +1 -1
  41. package/mcp-server/tools/productsListCategories.d.ts +3 -0
  42. package/mcp-server/tools/productsListCategories.d.ts.map +1 -0
  43. package/mcp-server/tools/productsListCategories.js +24 -0
  44. package/mcp-server/tools/productsListCategories.js.map +1 -0
  45. package/mcp-server/tools/transfersGetRiskOutcomes.d.ts +8 -0
  46. package/mcp-server/tools/transfersGetRiskOutcomes.d.ts.map +1 -0
  47. package/mcp-server/tools/transfersGetRiskOutcomes.js +67 -0
  48. package/mcp-server/tools/transfersGetRiskOutcomes.js.map +1 -0
  49. package/models/components/allowedscheduleerror.d.ts +24 -0
  50. package/models/components/allowedscheduleerror.d.ts.map +1 -0
  51. package/models/components/allowedscheduleerror.js +62 -0
  52. package/models/components/allowedscheduleerror.js.map +1 -0
  53. package/models/components/avataruploadrequest.d.ts +35 -0
  54. package/models/components/avataruploadrequest.d.ts.map +1 -0
  55. package/models/components/avataruploadrequest.js +88 -0
  56. package/models/components/avataruploadrequest.js.map +1 -0
  57. package/models/components/capabilityid.d.ts +1 -0
  58. package/models/components/capabilityid.d.ts.map +1 -1
  59. package/models/components/capabilityid.js +1 -0
  60. package/models/components/capabilityid.js.map +1 -1
  61. package/models/components/cardbrandfees.d.ts +5 -0
  62. package/models/components/cardbrandfees.d.ts.map +1 -1
  63. package/models/components/cardbrandfees.js +2 -0
  64. package/models/components/cardbrandfees.js.map +1 -1
  65. package/models/components/contributingrule.d.ts +23 -0
  66. package/models/components/contributingrule.d.ts.map +1 -0
  67. package/models/components/contributingrule.js +59 -0
  68. package/models/components/contributingrule.js.map +1 -0
  69. package/models/components/createtransfer.d.ts +6 -0
  70. package/models/components/createtransfer.d.ts.map +1 -1
  71. package/models/components/createtransfer.js +3 -0
  72. package/models/components/createtransfer.js.map +1 -1
  73. package/models/components/feepaidby.d.ts +18 -0
  74. package/models/components/feepaidby.d.ts.map +1 -0
  75. package/models/components/feepaidby.js +52 -0
  76. package/models/components/feepaidby.js.map +1 -0
  77. package/models/components/filedetails.d.ts +1 -1
  78. package/models/components/filepurpose.d.ts +2 -2
  79. package/models/components/filepurpose.js +1 -1
  80. package/models/components/fullissuedcard.d.ts +6 -3
  81. package/models/components/fullissuedcard.d.ts.map +1 -1
  82. package/models/components/fullissuedcard.js +3 -3
  83. package/models/components/fullissuedcard.js.map +1 -1
  84. package/models/components/incurredfee.d.ts +6 -0
  85. package/models/components/incurredfee.d.ts.map +1 -1
  86. package/models/components/incurredfee.js +3 -0
  87. package/models/components/incurredfee.js.map +1 -1
  88. package/models/components/index.d.ts +23 -0
  89. package/models/components/index.d.ts.map +1 -1
  90. package/models/components/index.js +23 -0
  91. package/models/components/index.js.map +1 -1
  92. package/models/components/issuedcard.d.ts +6 -3
  93. package/models/components/issuedcard.d.ts.map +1 -1
  94. package/models/components/issuedcard.js +3 -3
  95. package/models/components/issuedcard.js.map +1 -1
  96. package/models/components/issuedcontrols.d.ts +76 -0
  97. package/models/components/issuedcontrols.d.ts.map +1 -0
  98. package/models/components/issuedcontrols.js +92 -0
  99. package/models/components/issuedcontrols.js.map +1 -0
  100. package/models/components/issuedvelocitylimit.d.ts +59 -0
  101. package/models/components/issuedvelocitylimit.d.ts.map +1 -0
  102. package/models/components/issuedvelocitylimit.js +74 -0
  103. package/models/components/issuedvelocitylimit.js.map +1 -0
  104. package/models/components/issuingcontrols.d.ts +47 -0
  105. package/models/components/issuingcontrols.d.ts.map +1 -1
  106. package/models/components/issuingcontrols.js +33 -1
  107. package/models/components/issuingcontrols.js.map +1 -1
  108. package/models/components/issuingcontrolserror.d.ts +11 -0
  109. package/models/components/issuingcontrolserror.d.ts.map +1 -1
  110. package/models/components/issuingcontrolserror.js +12 -0
  111. package/models/components/issuingcontrolserror.js.map +1 -1
  112. package/models/components/issuingcontrolsrestrictionmode.d.ts +18 -0
  113. package/models/components/issuingcontrolsrestrictionmode.d.ts.map +1 -0
  114. package/models/components/issuingcontrolsrestrictionmode.js +52 -0
  115. package/models/components/issuingcontrolsrestrictionmode.js.map +1 -0
  116. package/models/components/issuingintervallimit.d.ts +9 -6
  117. package/models/components/issuingintervallimit.d.ts.map +1 -1
  118. package/models/components/issuingintervallimit.js +7 -4
  119. package/models/components/issuingintervallimit.js.map +1 -1
  120. package/models/components/issuingmerchantcategory.d.ts +42 -0
  121. package/models/components/issuingmerchantcategory.d.ts.map +1 -0
  122. package/models/components/issuingmerchantcategory.js +76 -0
  123. package/models/components/issuingmerchantcategory.js.map +1 -0
  124. package/models/components/issuingscheduleday.d.ts +17 -0
  125. package/models/components/issuingscheduleday.d.ts.map +1 -0
  126. package/models/components/issuingscheduleday.js +54 -0
  127. package/models/components/issuingscheduleday.js.map +1 -0
  128. package/models/components/issuingvelocitylimit.d.ts +8 -3
  129. package/models/components/issuingvelocitylimit.d.ts.map +1 -1
  130. package/models/components/issuingvelocitylimit.js +4 -2
  131. package/models/components/issuingvelocitylimit.js.map +1 -1
  132. package/models/components/issuingvelocitylimiterror.d.ts +2 -0
  133. package/models/components/issuingvelocitylimiterror.d.ts.map +1 -1
  134. package/models/components/issuingvelocitylimiterror.js +2 -0
  135. package/models/components/issuingvelocitylimiterror.js.map +1 -1
  136. package/models/components/merchantcategoryrestrictions.d.ts +41 -0
  137. package/models/components/merchantcategoryrestrictions.d.ts.map +1 -0
  138. package/models/components/merchantcategoryrestrictions.js +68 -0
  139. package/models/components/merchantcategoryrestrictions.js.map +1 -0
  140. package/models/components/merchantcategoryrestrictionserror.d.ts +36 -0
  141. package/models/components/merchantcategoryrestrictionserror.d.ts.map +1 -0
  142. package/models/components/merchantcategoryrestrictionserror.js +66 -0
  143. package/models/components/merchantcategoryrestrictionserror.js.map +1 -0
  144. package/models/components/merchantentry.d.ts +33 -0
  145. package/models/components/merchantentry.d.ts.map +1 -0
  146. package/models/components/merchantentry.js +63 -0
  147. package/models/components/merchantentry.js.map +1 -0
  148. package/models/components/merchantentryerror.d.ts +19 -0
  149. package/models/components/merchantentryerror.d.ts.map +1 -0
  150. package/models/components/merchantentryerror.js +61 -0
  151. package/models/components/merchantentryerror.js.map +1 -0
  152. package/models/components/merchantrestrictions.d.ts +30 -0
  153. package/models/components/merchantrestrictions.d.ts.map +1 -0
  154. package/models/components/merchantrestrictions.js +62 -0
  155. package/models/components/merchantrestrictions.js.map +1 -0
  156. package/models/components/merchantrestrictionserror.d.ts +24 -0
  157. package/models/components/merchantrestrictionserror.d.ts.map +1 -0
  158. package/models/components/merchantrestrictionserror.js +62 -0
  159. package/models/components/merchantrestrictionserror.js.map +1 -0
  160. package/models/components/onboardinginvite.d.ts +1 -1
  161. package/models/components/partnerriskoutcomesresponse.d.ts +33 -0
  162. package/models/components/partnerriskoutcomesresponse.d.ts.map +1 -0
  163. package/models/components/partnerriskoutcomesresponse.js +62 -0
  164. package/models/components/partnerriskoutcomesresponse.js.map +1 -0
  165. package/models/components/paymentlinkpayoutdetails.d.ts +14 -0
  166. package/models/components/paymentlinkpayoutdetails.d.ts.map +1 -1
  167. package/models/components/paymentlinkpayoutdetails.js +3 -0
  168. package/models/components/paymentlinkpayoutdetails.js.map +1 -1
  169. package/models/components/paymentlinkpayoutdetailsupdate.d.ts +14 -0
  170. package/models/components/paymentlinkpayoutdetailsupdate.d.ts.map +1 -1
  171. package/models/components/paymentlinkpayoutdetailsupdate.js +3 -0
  172. package/models/components/paymentlinkpayoutdetailsupdate.js.map +1 -1
  173. package/models/components/payoutdetailserror.d.ts +2 -0
  174. package/models/components/payoutdetailserror.d.ts.map +1 -1
  175. package/models/components/payoutdetailserror.js +2 -0
  176. package/models/components/payoutdetailserror.js.map +1 -1
  177. package/models/components/product.d.ts +6 -0
  178. package/models/components/product.d.ts.map +1 -1
  179. package/models/components/product.js +3 -0
  180. package/models/components/product.js.map +1 -1
  181. package/models/components/productcategories.d.ts +21 -0
  182. package/models/components/productcategories.d.ts.map +1 -0
  183. package/models/components/productcategories.js +59 -0
  184. package/models/components/productcategories.js.map +1 -0
  185. package/models/components/productcategory.d.ts +43 -0
  186. package/models/components/productcategory.d.ts.map +1 -0
  187. package/models/components/productcategory.js +67 -0
  188. package/models/components/productcategory.js.map +1 -0
  189. package/models/components/productrequest.d.ts +5 -0
  190. package/models/components/productrequest.d.ts.map +1 -1
  191. package/models/components/productrequest.js +2 -0
  192. package/models/components/productrequest.js.map +1 -1
  193. package/models/components/schedulewindow.d.ts +34 -0
  194. package/models/components/schedulewindow.d.ts.map +1 -0
  195. package/models/components/schedulewindow.js +64 -0
  196. package/models/components/schedulewindow.js.map +1 -0
  197. package/models/components/schedulewindowerror.d.ts +21 -0
  198. package/models/components/schedulewindowerror.d.ts.map +1 -0
  199. package/models/components/schedulewindowerror.js +63 -0
  200. package/models/components/schedulewindowerror.js.map +1 -0
  201. package/models/components/transferfeepaidby.d.ts +24 -0
  202. package/models/components/transferfeepaidby.d.ts.map +1 -0
  203. package/models/components/transferfeepaidby.js +60 -0
  204. package/models/components/transferfeepaidby.js.map +1 -0
  205. package/models/components/updateissuedcard.d.ts +6 -0
  206. package/models/components/updateissuedcard.d.ts.map +1 -1
  207. package/models/components/updateissuedcard.js +3 -0
  208. package/models/components/updateissuedcard.js.map +1 -1
  209. package/models/components/updateissuingcontrols.d.ts +130 -0
  210. package/models/components/updateissuingcontrols.d.ts.map +1 -0
  211. package/models/components/updateissuingcontrols.js +130 -0
  212. package/models/components/updateissuingcontrols.js.map +1 -0
  213. package/models/components/updateissuingcontrolserror.d.ts +33 -0
  214. package/models/components/updateissuingcontrolserror.d.ts.map +1 -0
  215. package/models/components/updateissuingcontrolserror.js +72 -0
  216. package/models/components/updateissuingcontrolserror.js.map +1 -0
  217. package/models/errors/productrequestvalidationerror.d.ts +3 -0
  218. package/models/errors/productrequestvalidationerror.d.ts.map +1 -1
  219. package/models/errors/productrequestvalidationerror.js +4 -0
  220. package/models/errors/productrequestvalidationerror.js.map +1 -1
  221. package/models/errors/updateissuedcarderror.d.ts +3 -0
  222. package/models/errors/updateissuedcarderror.d.ts.map +1 -1
  223. package/models/errors/updateissuedcarderror.js +4 -0
  224. package/models/errors/updateissuedcarderror.js.map +1 -1
  225. package/models/operations/deleteavatar.d.ts +52 -0
  226. package/models/operations/deleteavatar.d.ts.map +1 -0
  227. package/models/operations/deleteavatar.js +102 -0
  228. package/models/operations/deleteavatar.js.map +1 -0
  229. package/models/operations/gettransferriskoutcomes.d.ts +48 -0
  230. package/models/operations/gettransferriskoutcomes.d.ts.map +1 -0
  231. package/models/operations/gettransferriskoutcomes.js +99 -0
  232. package/models/operations/gettransferriskoutcomes.js.map +1 -0
  233. package/models/operations/index.d.ts +4 -0
  234. package/models/operations/index.d.ts.map +1 -1
  235. package/models/operations/index.js +4 -0
  236. package/models/operations/index.js.map +1 -1
  237. package/models/operations/listproductcategories.d.ts +24 -0
  238. package/models/operations/listproductcategories.d.ts.map +1 -0
  239. package/models/operations/listproductcategories.js +72 -0
  240. package/models/operations/listproductcategories.js.map +1 -0
  241. package/models/operations/listproducts.d.ts +9 -0
  242. package/models/operations/listproducts.d.ts.map +1 -1
  243. package/models/operations/listproducts.js +2 -0
  244. package/models/operations/listproducts.js.map +1 -1
  245. package/models/operations/uploadavatar.d.ts +55 -0
  246. package/models/operations/uploadavatar.d.ts.map +1 -0
  247. package/models/operations/uploadavatar.js +113 -0
  248. package/models/operations/uploadavatar.js.map +1 -0
  249. package/package.json +1 -1
  250. package/sdk/avatars.d.ts +24 -0
  251. package/sdk/avatars.d.ts.map +1 -1
  252. package/sdk/avatars.js +30 -0
  253. package/sdk/avatars.js.map +1 -1
  254. package/sdk/products.d.ts +4 -0
  255. package/sdk/products.d.ts.map +1 -1
  256. package/sdk/products.js +7 -0
  257. package/sdk/products.js.map +1 -1
  258. package/sdk/transfers.d.ts +9 -0
  259. package/sdk/transfers.d.ts.map +1 -1
  260. package/sdk/transfers.js +12 -0
  261. package/sdk/transfers.js.map +1 -1
  262. package/src/funcs/avatarsDelete.ts +194 -0
  263. package/src/funcs/avatarsUpload.ts +231 -0
  264. package/src/funcs/productsList.ts +1 -0
  265. package/src/funcs/productsListCategories.ts +149 -0
  266. package/src/funcs/transfersGetRiskOutcomes.ts +182 -0
  267. package/src/hooks/oauth2scopes.ts +8 -0
  268. package/src/lib/config.ts +3 -3
  269. package/src/lib/http.ts +3 -1
  270. package/src/lib/security.ts +10 -5
  271. package/src/mcp-server/mcp-server.ts +1 -1
  272. package/src/mcp-server/server.ts +5 -1
  273. package/src/mcp-server/tools/productsListCategories.ts +29 -0
  274. package/src/mcp-server/tools/transfersGetRiskOutcomes.ts +41 -0
  275. package/src/models/components/allowedscheduleerror.ts +62 -0
  276. package/src/models/components/avataruploadrequest.ts +113 -0
  277. package/src/models/components/capabilityid.ts +1 -0
  278. package/src/models/components/cardbrandfees.ts +7 -0
  279. package/src/models/components/contributingrule.ts +58 -0
  280. package/src/models/components/createtransfer.ts +13 -0
  281. package/src/models/components/feepaidby.ts +32 -0
  282. package/src/models/components/filedetails.ts +1 -1
  283. package/src/models/components/filepurpose.ts +2 -2
  284. package/src/models/components/fullissuedcard.ts +12 -9
  285. package/src/models/components/incurredfee.ts +12 -0
  286. package/src/models/components/index.ts +23 -0
  287. package/src/models/components/issuedcard.ts +12 -9
  288. package/src/models/components/issuedcontrols.ts +180 -0
  289. package/src/models/components/issuedvelocitylimit.ts +112 -0
  290. package/src/models/components/issuingcontrols.ts +107 -0
  291. package/src/models/components/issuingcontrolserror.ts +39 -0
  292. package/src/models/components/issuingcontrolsrestrictionmode.ts +34 -0
  293. package/src/models/components/issuingintervallimit.ts +18 -10
  294. package/src/models/components/issuingmerchantcategory.ts +56 -0
  295. package/src/models/components/issuingscheduleday.ts +26 -0
  296. package/src/models/components/issuingvelocitylimit.ts +12 -5
  297. package/src/models/components/issuingvelocitylimiterror.ts +4 -0
  298. package/src/models/components/merchantcategoryrestrictions.ts +97 -0
  299. package/src/models/components/merchantcategoryrestrictionserror.ts +72 -0
  300. package/src/models/components/merchantentry.ts +68 -0
  301. package/src/models/components/merchantentryerror.ts +56 -0
  302. package/src/models/components/merchantrestrictions.ts +75 -0
  303. package/src/models/components/merchantrestrictionserror.ts +62 -0
  304. package/src/models/components/onboardinginvite.ts +1 -1
  305. package/src/models/components/partnerriskoutcomesresponse.ts +77 -0
  306. package/src/models/components/paymentlinkpayoutdetails.ts +16 -0
  307. package/src/models/components/paymentlinkpayoutdetailsupdate.ts +16 -0
  308. package/src/models/components/payoutdetailserror.ts +4 -0
  309. package/src/models/components/product.ts +13 -0
  310. package/src/models/components/productcategories.ts +60 -0
  311. package/src/models/components/productcategory.ts +84 -0
  312. package/src/models/components/productrequest.ts +7 -0
  313. package/src/models/components/schedulewindow.ts +73 -0
  314. package/src/models/components/schedulewindowerror.ts +60 -0
  315. package/src/models/components/transferfeepaidby.ts +63 -0
  316. package/src/models/components/updateissuedcard.ts +13 -0
  317. package/src/models/components/updateissuingcontrols.ts +351 -0
  318. package/src/models/components/updateissuingcontrolserror.ts +101 -0
  319. package/src/models/errors/productrequestvalidationerror.ts +6 -0
  320. package/src/models/errors/updateissuedcarderror.ts +6 -0
  321. package/src/models/operations/deleteavatar.ts +154 -0
  322. package/src/models/operations/gettransferriskoutcomes.ts +136 -0
  323. package/src/models/operations/index.ts +4 -0
  324. package/src/models/operations/listproductcategories.ts +69 -0
  325. package/src/models/operations/listproducts.ts +11 -0
  326. package/src/models/operations/uploadavatar.ts +167 -0
  327. package/src/sdk/avatars.ts +50 -0
  328. package/src/sdk/products.ts +13 -0
  329. package/src/sdk/transfers.ts +20 -0
@@ -13,6 +13,38 @@ import {
13
13
  IssuingVelocityLimit$Outbound,
14
14
  IssuingVelocityLimit$outboundSchema,
15
15
  } from "./issuingvelocitylimit.js";
16
+ import {
17
+ MerchantCategoryRestrictions,
18
+ MerchantCategoryRestrictions$inboundSchema,
19
+ MerchantCategoryRestrictions$Outbound,
20
+ MerchantCategoryRestrictions$outboundSchema,
21
+ } from "./merchantcategoryrestrictions.js";
22
+ import {
23
+ MerchantRestrictions,
24
+ MerchantRestrictions$inboundSchema,
25
+ MerchantRestrictions$Outbound,
26
+ MerchantRestrictions$outboundSchema,
27
+ } from "./merchantrestrictions.js";
28
+ import {
29
+ ScheduleWindow,
30
+ ScheduleWindow$inboundSchema,
31
+ ScheduleWindow$Outbound,
32
+ ScheduleWindow$outboundSchema,
33
+ } from "./schedulewindow.js";
34
+
35
+ /**
36
+ * Limits card usage to specific days and times. Set to `null` to remove all schedule restrictions.
37
+ */
38
+ export type AllowedSchedule = {
39
+ /**
40
+ * IANA timezone string used to evaluate window boundaries against the authorization time.
41
+ */
42
+ timezone: string;
43
+ /**
44
+ * Time windows during which the card may authorize. Any matching window allows the transaction.
45
+ */
46
+ windows: Array<ScheduleWindow>;
47
+ };
16
48
 
17
49
  export type IssuingControls = {
18
50
  /**
@@ -23,8 +55,64 @@ export type IssuingControls = {
23
55
  * Sets the spending limit per time interval. Only one limit per interval is supported.
24
56
  */
25
57
  velocityLimits?: Array<IssuingVelocityLimit> | undefined;
58
+ /**
59
+ * Restricts card usage by merchant category. When not set, all categories are allowed.
60
+ */
61
+ merchantCategoryRestrictions?: MerchantCategoryRestrictions | undefined;
62
+ /**
63
+ * Restricts card usage to specific merchants, or blocks specific merchants.
64
+ */
65
+ merchantRestrictions?: MerchantRestrictions | undefined;
66
+ /**
67
+ * Limits card usage to specific days and times. Set to `null` to remove all schedule restrictions.
68
+ */
69
+ allowedSchedule?: AllowedSchedule | null | undefined;
70
+ /**
71
+ * A spend cutoff date and time. When set, all authorizations after this datetime are declined regardless of other controls. Set to `null` for no cutoff.
72
+ */
73
+ expiresOn?: Date | null | undefined;
26
74
  };
27
75
 
76
+ /** @internal */
77
+ export const AllowedSchedule$inboundSchema: z.ZodType<
78
+ AllowedSchedule,
79
+ z.ZodTypeDef,
80
+ unknown
81
+ > = z.object({
82
+ timezone: types.string(),
83
+ windows: z.array(ScheduleWindow$inboundSchema),
84
+ });
85
+ /** @internal */
86
+ export type AllowedSchedule$Outbound = {
87
+ timezone: string;
88
+ windows: Array<ScheduleWindow$Outbound>;
89
+ };
90
+
91
+ /** @internal */
92
+ export const AllowedSchedule$outboundSchema: z.ZodType<
93
+ AllowedSchedule$Outbound,
94
+ z.ZodTypeDef,
95
+ AllowedSchedule
96
+ > = z.object({
97
+ timezone: z.string(),
98
+ windows: z.array(ScheduleWindow$outboundSchema),
99
+ });
100
+
101
+ export function allowedScheduleToJSON(
102
+ allowedSchedule: AllowedSchedule,
103
+ ): string {
104
+ return JSON.stringify(AllowedSchedule$outboundSchema.parse(allowedSchedule));
105
+ }
106
+ export function allowedScheduleFromJSON(
107
+ jsonString: string,
108
+ ): SafeParseResult<AllowedSchedule, SDKValidationError> {
109
+ return safeParse(
110
+ jsonString,
111
+ (x) => AllowedSchedule$inboundSchema.parse(JSON.parse(x)),
112
+ `Failed to parse 'AllowedSchedule' from JSON`,
113
+ );
114
+ }
115
+
28
116
  /** @internal */
29
117
  export const IssuingControls$inboundSchema: z.ZodType<
30
118
  IssuingControls,
@@ -33,11 +121,24 @@ export const IssuingControls$inboundSchema: z.ZodType<
33
121
  > = z.object({
34
122
  singleUse: types.optional(types.boolean()),
35
123
  velocityLimits: types.optional(z.array(IssuingVelocityLimit$inboundSchema)),
124
+ merchantCategoryRestrictions: types.optional(
125
+ MerchantCategoryRestrictions$inboundSchema,
126
+ ),
127
+ merchantRestrictions: types.optional(MerchantRestrictions$inboundSchema),
128
+ allowedSchedule: z.nullable(z.lazy(() => AllowedSchedule$inboundSchema))
129
+ .optional(),
130
+ expiresOn: z.nullable(types.date()).optional(),
36
131
  });
37
132
  /** @internal */
38
133
  export type IssuingControls$Outbound = {
39
134
  singleUse?: boolean | undefined;
40
135
  velocityLimits?: Array<IssuingVelocityLimit$Outbound> | undefined;
136
+ merchantCategoryRestrictions?:
137
+ | MerchantCategoryRestrictions$Outbound
138
+ | undefined;
139
+ merchantRestrictions?: MerchantRestrictions$Outbound | undefined;
140
+ allowedSchedule?: AllowedSchedule$Outbound | null | undefined;
141
+ expiresOn?: string | null | undefined;
41
142
  };
42
143
 
43
144
  /** @internal */
@@ -48,6 +149,12 @@ export const IssuingControls$outboundSchema: z.ZodType<
48
149
  > = z.object({
49
150
  singleUse: z.boolean().optional(),
50
151
  velocityLimits: z.array(IssuingVelocityLimit$outboundSchema).optional(),
152
+ merchantCategoryRestrictions: MerchantCategoryRestrictions$outboundSchema
153
+ .optional(),
154
+ merchantRestrictions: MerchantRestrictions$outboundSchema.optional(),
155
+ allowedSchedule: z.nullable(z.lazy(() => AllowedSchedule$outboundSchema))
156
+ .optional(),
157
+ expiresOn: z.nullable(z.date().transform(v => v.toISOString())).optional(),
51
158
  });
52
159
 
53
160
  export function issuingControlsToJSON(
@@ -7,15 +7,37 @@ import { safeParse } from "../../lib/schemas.js";
7
7
  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
+ import {
11
+ AllowedScheduleError,
12
+ AllowedScheduleError$inboundSchema,
13
+ AllowedScheduleError$Outbound,
14
+ AllowedScheduleError$outboundSchema,
15
+ } from "./allowedscheduleerror.js";
10
16
  import {
11
17
  IssuingVelocityLimitError,
12
18
  IssuingVelocityLimitError$inboundSchema,
13
19
  IssuingVelocityLimitError$Outbound,
14
20
  IssuingVelocityLimitError$outboundSchema,
15
21
  } from "./issuingvelocitylimiterror.js";
22
+ import {
23
+ MerchantCategoryRestrictionsError,
24
+ MerchantCategoryRestrictionsError$inboundSchema,
25
+ MerchantCategoryRestrictionsError$Outbound,
26
+ MerchantCategoryRestrictionsError$outboundSchema,
27
+ } from "./merchantcategoryrestrictionserror.js";
28
+ import {
29
+ MerchantRestrictionsError,
30
+ MerchantRestrictionsError$inboundSchema,
31
+ MerchantRestrictionsError$Outbound,
32
+ MerchantRestrictionsError$outboundSchema,
33
+ } from "./merchantrestrictionserror.js";
16
34
 
17
35
  export type IssuingControlsError = {
18
36
  velocityLimits?: { [k: string]: IssuingVelocityLimitError } | undefined;
37
+ merchantCategoryRestrictions?: MerchantCategoryRestrictionsError | undefined;
38
+ merchantRestrictions?: MerchantRestrictionsError | undefined;
39
+ allowedSchedule?: AllowedScheduleError | undefined;
40
+ expiresOn?: string | undefined;
19
41
  };
20
42
 
21
43
  /** @internal */
@@ -27,12 +49,24 @@ export const IssuingControlsError$inboundSchema: z.ZodType<
27
49
  velocityLimits: types.optional(
28
50
  z.record(IssuingVelocityLimitError$inboundSchema),
29
51
  ),
52
+ merchantCategoryRestrictions: types.optional(
53
+ MerchantCategoryRestrictionsError$inboundSchema,
54
+ ),
55
+ merchantRestrictions: types.optional(MerchantRestrictionsError$inboundSchema),
56
+ allowedSchedule: types.optional(AllowedScheduleError$inboundSchema),
57
+ expiresOn: types.optional(types.string()),
30
58
  });
31
59
  /** @internal */
32
60
  export type IssuingControlsError$Outbound = {
33
61
  velocityLimits?:
34
62
  | { [k: string]: IssuingVelocityLimitError$Outbound }
35
63
  | undefined;
64
+ merchantCategoryRestrictions?:
65
+ | MerchantCategoryRestrictionsError$Outbound
66
+ | undefined;
67
+ merchantRestrictions?: MerchantRestrictionsError$Outbound | undefined;
68
+ allowedSchedule?: AllowedScheduleError$Outbound | undefined;
69
+ expiresOn?: string | undefined;
36
70
  };
37
71
 
38
72
  /** @internal */
@@ -42,6 +76,11 @@ export const IssuingControlsError$outboundSchema: z.ZodType<
42
76
  IssuingControlsError
43
77
  > = z.object({
44
78
  velocityLimits: z.record(IssuingVelocityLimitError$outboundSchema).optional(),
79
+ merchantCategoryRestrictions: MerchantCategoryRestrictionsError$outboundSchema
80
+ .optional(),
81
+ merchantRestrictions: MerchantRestrictionsError$outboundSchema.optional(),
82
+ allowedSchedule: AllowedScheduleError$outboundSchema.optional(),
83
+ expiresOn: z.string().optional(),
45
84
  });
46
85
 
47
86
  export function issuingControlsErrorToJSON(
@@ -0,0 +1,34 @@
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
+ * Whether the listed items are the only ones allowed (`allow`) or the ones to block (`block`).
11
+ */
12
+ export const IssuingControlsRestrictionMode = {
13
+ Allow: "allow",
14
+ Block: "block",
15
+ } as const;
16
+ /**
17
+ * Whether the listed items are the only ones allowed (`allow`) or the ones to block (`block`).
18
+ */
19
+ export type IssuingControlsRestrictionMode = OpenEnum<
20
+ typeof IssuingControlsRestrictionMode
21
+ >;
22
+
23
+ /** @internal */
24
+ export const IssuingControlsRestrictionMode$inboundSchema: z.ZodType<
25
+ IssuingControlsRestrictionMode,
26
+ z.ZodTypeDef,
27
+ unknown
28
+ > = openEnums.inboundSchema(IssuingControlsRestrictionMode);
29
+ /** @internal */
30
+ export const IssuingControlsRestrictionMode$outboundSchema: z.ZodType<
31
+ string,
32
+ z.ZodTypeDef,
33
+ IssuingControlsRestrictionMode
34
+ > = openEnums.outboundSchema(IssuingControlsRestrictionMode);
@@ -3,24 +3,32 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v3";
6
- import { ClosedEnum } from "../../types/enums.js";
6
+ import * as openEnums from "../../types/enums.js";
7
+ import { OpenEnum } from "../../types/enums.js";
7
8
 
8
9
  /**
9
- * Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
10
+ * 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
11
  */
11
12
  export const IssuingIntervalLimit = {
12
13
  PerTransaction: "per-transaction",
14
+ Daily: "daily",
15
+ Weekly: "weekly",
16
+ Monthly: "monthly",
13
17
  } as const;
14
18
  /**
15
- * Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
19
+ * 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
20
  */
17
- export type IssuingIntervalLimit = ClosedEnum<typeof IssuingIntervalLimit>;
21
+ export type IssuingIntervalLimit = OpenEnum<typeof IssuingIntervalLimit>;
18
22
 
19
23
  /** @internal */
20
- export const IssuingIntervalLimit$inboundSchema: z.ZodNativeEnum<
21
- typeof IssuingIntervalLimit
22
- > = z.nativeEnum(IssuingIntervalLimit);
24
+ export const IssuingIntervalLimit$inboundSchema: z.ZodType<
25
+ IssuingIntervalLimit,
26
+ z.ZodTypeDef,
27
+ unknown
28
+ > = openEnums.inboundSchema(IssuingIntervalLimit);
23
29
  /** @internal */
24
- export const IssuingIntervalLimit$outboundSchema: z.ZodNativeEnum<
25
- typeof IssuingIntervalLimit
26
- > = IssuingIntervalLimit$inboundSchema;
30
+ export const IssuingIntervalLimit$outboundSchema: z.ZodType<
31
+ string,
32
+ z.ZodTypeDef,
33
+ IssuingIntervalLimit
34
+ > = openEnums.outboundSchema(IssuingIntervalLimit);
@@ -0,0 +1,56 @@
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
+ * Predefined merchant category groups.
11
+ */
12
+ export const IssuingMerchantCategory = {
13
+ Advertising: "advertising",
14
+ Airlines: "airlines",
15
+ AlcoholAndBars: "alcohol-and-bars",
16
+ CarRental: "car-rental",
17
+ Education: "education",
18
+ Electronics: "electronics",
19
+ FuelAndGas: "fuel-and-gas",
20
+ Gambling: "gambling",
21
+ Groceries: "groceries",
22
+ GroundTransportation: "ground-transportation",
23
+ HardwareAndHome: "hardware-and-home",
24
+ Healthcare: "healthcare",
25
+ LiveEntertainment: "live-entertainment",
26
+ Lodging: "lodging",
27
+ Movies: "movies",
28
+ OfficeSupplies: "office-supplies",
29
+ Parking: "parking",
30
+ PersonalCare: "personal-care",
31
+ ProfessionalServices: "professional-services",
32
+ RestaurantsAndDining: "restaurants-and-dining",
33
+ RetailGeneral: "retail-general",
34
+ RideshareAndTaxis: "rideshare-and-taxis",
35
+ SoftwareAndSaas: "software-and-saas",
36
+ SportsAndRecreation: "sports-and-recreation",
37
+ Subscriptions: "subscriptions",
38
+ TravelAgencies: "travel-agencies",
39
+ } as const;
40
+ /**
41
+ * Predefined merchant category groups.
42
+ */
43
+ export type IssuingMerchantCategory = OpenEnum<typeof IssuingMerchantCategory>;
44
+
45
+ /** @internal */
46
+ export const IssuingMerchantCategory$inboundSchema: z.ZodType<
47
+ IssuingMerchantCategory,
48
+ z.ZodTypeDef,
49
+ unknown
50
+ > = openEnums.inboundSchema(IssuingMerchantCategory);
51
+ /** @internal */
52
+ export const IssuingMerchantCategory$outboundSchema: z.ZodType<
53
+ string,
54
+ z.ZodTypeDef,
55
+ IssuingMerchantCategory
56
+ > = openEnums.outboundSchema(IssuingMerchantCategory);
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../../types/enums.js";
7
+
8
+ export const IssuingScheduleDay = {
9
+ Monday: "monday",
10
+ Tuesday: "tuesday",
11
+ Wednesday: "wednesday",
12
+ Thursday: "thursday",
13
+ Friday: "friday",
14
+ Saturday: "saturday",
15
+ Sunday: "sunday",
16
+ } as const;
17
+ export type IssuingScheduleDay = ClosedEnum<typeof IssuingScheduleDay>;
18
+
19
+ /** @internal */
20
+ export const IssuingScheduleDay$inboundSchema: z.ZodNativeEnum<
21
+ typeof IssuingScheduleDay
22
+ > = z.nativeEnum(IssuingScheduleDay);
23
+ /** @internal */
24
+ export const IssuingScheduleDay$outboundSchema: z.ZodNativeEnum<
25
+ typeof IssuingScheduleDay
26
+ > = IssuingScheduleDay$inboundSchema;
@@ -17,9 +17,13 @@ export type IssuingVelocityLimit = {
17
17
  /**
18
18
  * The maximum amount in cents that can be spent in a given interval.
19
19
  */
20
- amount: number;
20
+ amount?: number | undefined;
21
21
  /**
22
- * Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
22
+ * The maximum number of transactions allowed in the given interval. At least one of `amount` or `count` must be set.
23
+ */
24
+ count?: number | undefined;
25
+ /**
26
+ * 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
27
  */
24
28
  interval: IssuingIntervalLimit;
25
29
  };
@@ -30,12 +34,14 @@ export const IssuingVelocityLimit$inboundSchema: z.ZodType<
30
34
  z.ZodTypeDef,
31
35
  unknown
32
36
  > = z.object({
33
- amount: types.number(),
37
+ amount: types.optional(types.number()),
38
+ count: types.optional(types.number()),
34
39
  interval: IssuingIntervalLimit$inboundSchema,
35
40
  });
36
41
  /** @internal */
37
42
  export type IssuingVelocityLimit$Outbound = {
38
- amount: number;
43
+ amount?: number | undefined;
44
+ count?: number | undefined;
39
45
  interval: string;
40
46
  };
41
47
 
@@ -45,7 +51,8 @@ export const IssuingVelocityLimit$outboundSchema: z.ZodType<
45
51
  z.ZodTypeDef,
46
52
  IssuingVelocityLimit
47
53
  > = z.object({
48
- amount: z.number().int(),
54
+ amount: z.number().int().optional(),
55
+ count: z.number().int().optional(),
49
56
  interval: IssuingIntervalLimit$outboundSchema,
50
57
  });
51
58
 
@@ -10,6 +10,7 @@ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
10
 
11
11
  export type IssuingVelocityLimitError = {
12
12
  amount?: string | undefined;
13
+ count?: string | undefined;
13
14
  interval?: string | undefined;
14
15
  };
15
16
 
@@ -20,11 +21,13 @@ export const IssuingVelocityLimitError$inboundSchema: z.ZodType<
20
21
  unknown
21
22
  > = z.object({
22
23
  amount: types.optional(types.string()),
24
+ count: types.optional(types.string()),
23
25
  interval: types.optional(types.string()),
24
26
  });
25
27
  /** @internal */
26
28
  export type IssuingVelocityLimitError$Outbound = {
27
29
  amount?: string | undefined;
30
+ count?: string | undefined;
28
31
  interval?: string | undefined;
29
32
  };
30
33
 
@@ -35,6 +38,7 @@ export const IssuingVelocityLimitError$outboundSchema: z.ZodType<
35
38
  IssuingVelocityLimitError
36
39
  > = z.object({
37
40
  amount: z.string().optional(),
41
+ count: z.string().optional(),
38
42
  interval: z.string().optional(),
39
43
  });
40
44
 
@@ -0,0 +1,97 @@
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
+ IssuingControlsRestrictionMode,
12
+ IssuingControlsRestrictionMode$inboundSchema,
13
+ IssuingControlsRestrictionMode$outboundSchema,
14
+ } from "./issuingcontrolsrestrictionmode.js";
15
+ import {
16
+ IssuingMerchantCategory,
17
+ IssuingMerchantCategory$inboundSchema,
18
+ IssuingMerchantCategory$outboundSchema,
19
+ } from "./issuingmerchantcategory.js";
20
+ import {
21
+ MerchantEntry,
22
+ MerchantEntry$inboundSchema,
23
+ MerchantEntry$Outbound,
24
+ MerchantEntry$outboundSchema,
25
+ } from "./merchantentry.js";
26
+
27
+ /**
28
+ * Restricts card usage by merchant category.
29
+ */
30
+ export type MerchantCategoryRestrictions = {
31
+ /**
32
+ * Whether the listed categories are the only ones allowed, or the ones to block.
33
+ */
34
+ mode: IssuingControlsRestrictionMode;
35
+ /**
36
+ * Predefined category groups to allow or block.
37
+ */
38
+ categories?: Array<IssuingMerchantCategory> | undefined;
39
+ /**
40
+ * Individual merchant category codes (MCCs) to allow or block, for codes not covered by a predefined category.
41
+ */
42
+ customMCCs?: Array<string> | undefined;
43
+ /**
44
+ * Merchants that are exempt from category restrictions regardless of their category.
45
+ */
46
+ exemptMerchants?: Array<MerchantEntry> | undefined;
47
+ };
48
+
49
+ /** @internal */
50
+ export const MerchantCategoryRestrictions$inboundSchema: z.ZodType<
51
+ MerchantCategoryRestrictions,
52
+ z.ZodTypeDef,
53
+ unknown
54
+ > = z.object({
55
+ mode: IssuingControlsRestrictionMode$inboundSchema,
56
+ categories: types.optional(z.array(IssuingMerchantCategory$inboundSchema)),
57
+ customMCCs: types.optional(z.array(types.string())),
58
+ exemptMerchants: types.optional(z.array(MerchantEntry$inboundSchema)),
59
+ });
60
+ /** @internal */
61
+ export type MerchantCategoryRestrictions$Outbound = {
62
+ mode: string;
63
+ categories?: Array<string> | undefined;
64
+ customMCCs?: Array<string> | undefined;
65
+ exemptMerchants?: Array<MerchantEntry$Outbound> | undefined;
66
+ };
67
+
68
+ /** @internal */
69
+ export const MerchantCategoryRestrictions$outboundSchema: z.ZodType<
70
+ MerchantCategoryRestrictions$Outbound,
71
+ z.ZodTypeDef,
72
+ MerchantCategoryRestrictions
73
+ > = z.object({
74
+ mode: IssuingControlsRestrictionMode$outboundSchema,
75
+ categories: z.array(IssuingMerchantCategory$outboundSchema).optional(),
76
+ customMCCs: z.array(z.string()).optional(),
77
+ exemptMerchants: z.array(MerchantEntry$outboundSchema).optional(),
78
+ });
79
+
80
+ export function merchantCategoryRestrictionsToJSON(
81
+ merchantCategoryRestrictions: MerchantCategoryRestrictions,
82
+ ): string {
83
+ return JSON.stringify(
84
+ MerchantCategoryRestrictions$outboundSchema.parse(
85
+ merchantCategoryRestrictions,
86
+ ),
87
+ );
88
+ }
89
+ export function merchantCategoryRestrictionsFromJSON(
90
+ jsonString: string,
91
+ ): SafeParseResult<MerchantCategoryRestrictions, SDKValidationError> {
92
+ return safeParse(
93
+ jsonString,
94
+ (x) => MerchantCategoryRestrictions$inboundSchema.parse(JSON.parse(x)),
95
+ `Failed to parse 'MerchantCategoryRestrictions' from JSON`,
96
+ );
97
+ }
@@ -0,0 +1,72 @@
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
+ MerchantEntryError,
12
+ MerchantEntryError$inboundSchema,
13
+ MerchantEntryError$Outbound,
14
+ MerchantEntryError$outboundSchema,
15
+ } from "./merchantentryerror.js";
16
+
17
+ export type MerchantCategoryRestrictionsError = {
18
+ mode?: string | undefined;
19
+ categories?: { [k: string]: string } | undefined;
20
+ customMCCs?: { [k: string]: string } | undefined;
21
+ exemptMerchants?: { [k: string]: MerchantEntryError } | undefined;
22
+ };
23
+
24
+ /** @internal */
25
+ export const MerchantCategoryRestrictionsError$inboundSchema: z.ZodType<
26
+ MerchantCategoryRestrictionsError,
27
+ z.ZodTypeDef,
28
+ unknown
29
+ > = z.object({
30
+ mode: types.optional(types.string()),
31
+ categories: types.optional(z.record(types.string())),
32
+ customMCCs: types.optional(z.record(types.string())),
33
+ exemptMerchants: types.optional(z.record(MerchantEntryError$inboundSchema)),
34
+ });
35
+ /** @internal */
36
+ export type MerchantCategoryRestrictionsError$Outbound = {
37
+ mode?: string | undefined;
38
+ categories?: { [k: string]: string } | undefined;
39
+ customMCCs?: { [k: string]: string } | undefined;
40
+ exemptMerchants?: { [k: string]: MerchantEntryError$Outbound } | undefined;
41
+ };
42
+
43
+ /** @internal */
44
+ export const MerchantCategoryRestrictionsError$outboundSchema: z.ZodType<
45
+ MerchantCategoryRestrictionsError$Outbound,
46
+ z.ZodTypeDef,
47
+ MerchantCategoryRestrictionsError
48
+ > = z.object({
49
+ mode: z.string().optional(),
50
+ categories: z.record(z.string()).optional(),
51
+ customMCCs: z.record(z.string()).optional(),
52
+ exemptMerchants: z.record(MerchantEntryError$outboundSchema).optional(),
53
+ });
54
+
55
+ export function merchantCategoryRestrictionsErrorToJSON(
56
+ merchantCategoryRestrictionsError: MerchantCategoryRestrictionsError,
57
+ ): string {
58
+ return JSON.stringify(
59
+ MerchantCategoryRestrictionsError$outboundSchema.parse(
60
+ merchantCategoryRestrictionsError,
61
+ ),
62
+ );
63
+ }
64
+ export function merchantCategoryRestrictionsErrorFromJSON(
65
+ jsonString: string,
66
+ ): SafeParseResult<MerchantCategoryRestrictionsError, SDKValidationError> {
67
+ return safeParse(
68
+ jsonString,
69
+ (x) => MerchantCategoryRestrictionsError$inboundSchema.parse(JSON.parse(x)),
70
+ `Failed to parse 'MerchantCategoryRestrictionsError' from JSON`,
71
+ );
72
+ }
@@ -0,0 +1,68 @@
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
+ * Identifies a merchant by ID, descriptor pattern, or both. At least one of `mid` or `descriptorPattern` must be set.
13
+ */
14
+ export type MerchantEntry = {
15
+ /**
16
+ * The merchant's unique identifier (ISO 8583 DE42), matched exactly.
17
+ */
18
+ mid?: string | undefined;
19
+ /**
20
+ * A case-insensitive RE2 regular expression matched against the merchant descriptor (ISO 8583 DE43).
21
+ */
22
+ descriptorPattern?: string | undefined;
23
+ /**
24
+ * An optional label for this entry.
25
+ */
26
+ name?: string | undefined;
27
+ };
28
+
29
+ /** @internal */
30
+ export const MerchantEntry$inboundSchema: z.ZodType<
31
+ MerchantEntry,
32
+ z.ZodTypeDef,
33
+ unknown
34
+ > = z.object({
35
+ mid: types.optional(types.string()),
36
+ descriptorPattern: types.optional(types.string()),
37
+ name: types.optional(types.string()),
38
+ });
39
+ /** @internal */
40
+ export type MerchantEntry$Outbound = {
41
+ mid?: string | undefined;
42
+ descriptorPattern?: string | undefined;
43
+ name?: string | undefined;
44
+ };
45
+
46
+ /** @internal */
47
+ export const MerchantEntry$outboundSchema: z.ZodType<
48
+ MerchantEntry$Outbound,
49
+ z.ZodTypeDef,
50
+ MerchantEntry
51
+ > = z.object({
52
+ mid: z.string().optional(),
53
+ descriptorPattern: z.string().optional(),
54
+ name: z.string().optional(),
55
+ });
56
+
57
+ export function merchantEntryToJSON(merchantEntry: MerchantEntry): string {
58
+ return JSON.stringify(MerchantEntry$outboundSchema.parse(merchantEntry));
59
+ }
60
+ export function merchantEntryFromJSON(
61
+ jsonString: string,
62
+ ): SafeParseResult<MerchantEntry, SDKValidationError> {
63
+ return safeParse(
64
+ jsonString,
65
+ (x) => MerchantEntry$inboundSchema.parse(JSON.parse(x)),
66
+ `Failed to parse 'MerchantEntry' from JSON`,
67
+ );
68
+ }