@revenexx/node 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/README.md +3 -0
  2. package/dist/client.d.mts +25 -0
  3. package/dist/client.d.ts +25 -0
  4. package/dist/client.js +39 -18
  5. package/dist/client.js.map +1 -1
  6. package/dist/client.mjs +35 -14
  7. package/dist/client.mjs.map +1 -1
  8. package/dist/enums/approval-rule-approver-type.d.mts +7 -0
  9. package/dist/enums/approval-rule-approver-type.d.ts +7 -0
  10. package/dist/enums/approval-rule-approver-type.js +12 -0
  11. package/dist/enums/approval-rule-approver-type.js.map +1 -0
  12. package/dist/enums/approval-rule-approver-type.mjs +11 -0
  13. package/dist/enums/approval-rule-approver-type.mjs.map +1 -0
  14. package/dist/enums/approval-rule-condition.d.mts +10 -0
  15. package/dist/enums/approval-rule-condition.d.ts +10 -0
  16. package/dist/enums/approval-rule-condition.js +15 -0
  17. package/dist/enums/approval-rule-condition.js.map +1 -0
  18. package/dist/enums/approval-rule-condition.mjs +14 -0
  19. package/dist/enums/approval-rule-condition.mjs.map +1 -0
  20. package/dist/enums/approval-rule-create-request-approver-type.d.mts +7 -0
  21. package/dist/enums/approval-rule-create-request-approver-type.d.ts +7 -0
  22. package/dist/enums/approval-rule-create-request-approver-type.js +12 -0
  23. package/dist/enums/approval-rule-create-request-approver-type.js.map +1 -0
  24. package/dist/enums/approval-rule-create-request-approver-type.mjs +11 -0
  25. package/dist/enums/approval-rule-create-request-approver-type.mjs.map +1 -0
  26. package/dist/enums/approval-rule-create-request-condition.d.mts +10 -0
  27. package/dist/enums/approval-rule-create-request-condition.d.ts +10 -0
  28. package/dist/enums/approval-rule-create-request-condition.js +15 -0
  29. package/dist/enums/approval-rule-create-request-condition.js.map +1 -0
  30. package/dist/enums/approval-rule-create-request-condition.mjs +14 -0
  31. package/dist/enums/approval-rule-create-request-condition.mjs.map +1 -0
  32. package/dist/enums/approval-rule-create-request-effect.d.mts +7 -0
  33. package/dist/enums/approval-rule-create-request-effect.d.ts +7 -0
  34. package/dist/enums/approval-rule-create-request-effect.js +12 -0
  35. package/dist/enums/approval-rule-create-request-effect.js.map +1 -0
  36. package/dist/enums/approval-rule-create-request-effect.mjs +11 -0
  37. package/dist/enums/approval-rule-create-request-effect.mjs.map +1 -0
  38. package/dist/enums/approval-rule-effect.d.mts +7 -0
  39. package/dist/enums/approval-rule-effect.d.ts +7 -0
  40. package/dist/enums/approval-rule-effect.js +12 -0
  41. package/dist/enums/approval-rule-effect.js.map +1 -0
  42. package/dist/enums/approval-rule-effect.mjs +11 -0
  43. package/dist/enums/approval-rule-effect.mjs.map +1 -0
  44. package/dist/enums/approval-rule-update-request-approver-type.d.mts +7 -0
  45. package/dist/enums/approval-rule-update-request-approver-type.d.ts +7 -0
  46. package/dist/enums/approval-rule-update-request-approver-type.js +12 -0
  47. package/dist/enums/approval-rule-update-request-approver-type.js.map +1 -0
  48. package/dist/enums/approval-rule-update-request-approver-type.mjs +11 -0
  49. package/dist/enums/approval-rule-update-request-approver-type.mjs.map +1 -0
  50. package/dist/enums/approval-rule-update-request-condition.d.mts +10 -0
  51. package/dist/enums/approval-rule-update-request-condition.d.ts +10 -0
  52. package/dist/enums/approval-rule-update-request-condition.js +15 -0
  53. package/dist/enums/approval-rule-update-request-condition.js.map +1 -0
  54. package/dist/enums/approval-rule-update-request-condition.mjs +14 -0
  55. package/dist/enums/approval-rule-update-request-condition.mjs.map +1 -0
  56. package/dist/enums/approval-rule-update-request-effect.d.mts +7 -0
  57. package/dist/enums/approval-rule-update-request-effect.d.ts +7 -0
  58. package/dist/enums/approval-rule-update-request-effect.js +12 -0
  59. package/dist/enums/approval-rule-update-request-effect.js.map +1 -0
  60. package/dist/enums/approval-rule-update-request-effect.mjs +11 -0
  61. package/dist/enums/approval-rule-update-request-effect.mjs.map +1 -0
  62. package/dist/enums/approver-type.d.mts +7 -0
  63. package/dist/enums/approver-type.d.ts +7 -0
  64. package/dist/enums/approver-type.js +12 -0
  65. package/dist/enums/approver-type.js.map +1 -0
  66. package/dist/enums/approver-type.mjs +11 -0
  67. package/dist/enums/approver-type.mjs.map +1 -0
  68. package/dist/enums/condition.d.mts +10 -0
  69. package/dist/enums/condition.d.ts +10 -0
  70. package/dist/enums/condition.js +15 -0
  71. package/dist/enums/condition.js.map +1 -0
  72. package/dist/enums/condition.mjs +14 -0
  73. package/dist/enums/condition.mjs.map +1 -0
  74. package/dist/enums/effect.d.mts +7 -0
  75. package/dist/enums/effect.d.ts +7 -0
  76. package/dist/enums/effect.js +12 -0
  77. package/dist/enums/effect.js.map +1 -0
  78. package/dist/enums/effect.mjs +11 -0
  79. package/dist/enums/effect.mjs.map +1 -0
  80. package/dist/enums/pending-approval-approver-type.d.mts +7 -0
  81. package/dist/enums/pending-approval-approver-type.d.ts +7 -0
  82. package/dist/enums/pending-approval-approver-type.js +12 -0
  83. package/dist/enums/pending-approval-approver-type.js.map +1 -0
  84. package/dist/enums/pending-approval-approver-type.mjs +11 -0
  85. package/dist/enums/pending-approval-approver-type.mjs.map +1 -0
  86. package/dist/enums/pending-approval-status.d.mts +7 -0
  87. package/dist/enums/pending-approval-status.d.ts +7 -0
  88. package/dist/enums/pending-approval-status.js +12 -0
  89. package/dist/enums/pending-approval-status.js.map +1 -0
  90. package/dist/enums/pending-approval-status.mjs +11 -0
  91. package/dist/enums/pending-approval-status.mjs.map +1 -0
  92. package/dist/enums/procurement-purchase-request-items-create-type.d.mts +7 -0
  93. package/dist/enums/procurement-purchase-request-items-create-type.d.ts +7 -0
  94. package/dist/enums/procurement-purchase-request-items-create-type.js +12 -0
  95. package/dist/enums/procurement-purchase-request-items-create-type.js.map +1 -0
  96. package/dist/enums/procurement-purchase-request-items-create-type.mjs +11 -0
  97. package/dist/enums/procurement-purchase-request-items-create-type.mjs.map +1 -0
  98. package/dist/enums/purchase-request-event-name.d.mts +12 -0
  99. package/dist/enums/purchase-request-event-name.d.ts +12 -0
  100. package/dist/enums/purchase-request-event-name.js +17 -0
  101. package/dist/enums/purchase-request-event-name.js.map +1 -0
  102. package/dist/enums/purchase-request-event-name.mjs +16 -0
  103. package/dist/enums/purchase-request-event-name.mjs.map +1 -0
  104. package/dist/enums/purchase-request-item-create-request-type.d.mts +7 -0
  105. package/dist/enums/purchase-request-item-create-request-type.d.ts +7 -0
  106. package/dist/enums/purchase-request-item-create-request-type.js +12 -0
  107. package/dist/enums/purchase-request-item-create-request-type.js.map +1 -0
  108. package/dist/enums/purchase-request-item-create-request-type.mjs +11 -0
  109. package/dist/enums/purchase-request-item-create-request-type.mjs.map +1 -0
  110. package/dist/enums/purchase-request-item-type.d.mts +7 -0
  111. package/dist/enums/purchase-request-item-type.d.ts +7 -0
  112. package/dist/enums/purchase-request-item-type.js +12 -0
  113. package/dist/enums/purchase-request-item-type.js.map +1 -0
  114. package/dist/enums/purchase-request-item-type.mjs +11 -0
  115. package/dist/enums/purchase-request-item-type.mjs.map +1 -0
  116. package/dist/enums/purchase-request-item-update-request-type.d.mts +7 -0
  117. package/dist/enums/purchase-request-item-update-request-type.d.ts +7 -0
  118. package/dist/enums/purchase-request-item-update-request-type.js +12 -0
  119. package/dist/enums/purchase-request-item-update-request-type.js.map +1 -0
  120. package/dist/enums/purchase-request-item-update-request-type.mjs +11 -0
  121. package/dist/enums/purchase-request-item-update-request-type.mjs.map +1 -0
  122. package/dist/enums/purchase-request-status.d.mts +9 -0
  123. package/dist/enums/purchase-request-status.d.ts +9 -0
  124. package/dist/enums/purchase-request-status.js +14 -0
  125. package/dist/enums/purchase-request-status.js.map +1 -0
  126. package/dist/enums/purchase-request-status.mjs +13 -0
  127. package/dist/enums/purchase-request-status.mjs.map +1 -0
  128. package/dist/enums/submit-item-type.d.mts +7 -0
  129. package/dist/enums/submit-item-type.d.ts +7 -0
  130. package/dist/enums/submit-item-type.js +12 -0
  131. package/dist/enums/submit-item-type.js.map +1 -0
  132. package/dist/enums/submit-item-type.mjs +11 -0
  133. package/dist/enums/submit-item-type.mjs.map +1 -0
  134. package/dist/enums/submit-result-outcome.d.mts +9 -0
  135. package/dist/enums/submit-result-outcome.d.ts +9 -0
  136. package/dist/enums/submit-result-outcome.js +14 -0
  137. package/dist/enums/submit-result-outcome.js.map +1 -0
  138. package/dist/enums/submit-result-outcome.mjs +13 -0
  139. package/dist/enums/submit-result-outcome.mjs.map +1 -0
  140. package/dist/index.d.mts +23 -0
  141. package/dist/index.d.ts +23 -0
  142. package/dist/index.js +115 -0
  143. package/dist/index.js.map +1 -1
  144. package/dist/index.mjs +23 -0
  145. package/dist/index.mjs.map +1 -1
  146. package/dist/inputFile.js +1 -2
  147. package/dist/inputFile.js.map +1 -1
  148. package/dist/inputFile.mjs +0 -1
  149. package/dist/inputFile.mjs.map +1 -1
  150. package/dist/models.d.mts +1027 -36
  151. package/dist/models.d.ts +1027 -36
  152. package/dist/operator.js +243 -204
  153. package/dist/operator.js.map +1 -1
  154. package/dist/operator.mjs +242 -203
  155. package/dist/operator.mjs.map +1 -1
  156. package/dist/permission.js +58 -48
  157. package/dist/permission.js.map +1 -1
  158. package/dist/permission.mjs +58 -48
  159. package/dist/permission.mjs.map +1 -1
  160. package/dist/query.js +525 -422
  161. package/dist/query.js.map +1 -1
  162. package/dist/query.mjs +524 -421
  163. package/dist/query.mjs.map +1 -1
  164. package/dist/services/apps.d.mts +18 -0
  165. package/dist/services/apps.d.ts +18 -0
  166. package/dist/services/avatars.d.mts +18 -0
  167. package/dist/services/avatars.d.ts +18 -0
  168. package/dist/services/carts-io.d.mts +46 -28
  169. package/dist/services/carts-io.d.ts +46 -28
  170. package/dist/services/carts-io.js.map +1 -1
  171. package/dist/services/carts-io.mjs.map +1 -1
  172. package/dist/services/carts-items.d.mts +42 -24
  173. package/dist/services/carts-items.d.ts +42 -24
  174. package/dist/services/carts-items.js.map +1 -1
  175. package/dist/services/carts-items.mjs.map +1 -1
  176. package/dist/services/carts.d.mts +70 -52
  177. package/dist/services/carts.d.ts +70 -52
  178. package/dist/services/carts.js.map +1 -1
  179. package/dist/services/carts.mjs.map +1 -1
  180. package/dist/services/channels.d.mts +64 -46
  181. package/dist/services/channels.d.ts +64 -46
  182. package/dist/services/channels.js +1 -1
  183. package/dist/services/channels.js.map +1 -1
  184. package/dist/services/channels.mjs +1 -1
  185. package/dist/services/channels.mjs.map +1 -1
  186. package/dist/services/cost-centers.d.mts +18 -0
  187. package/dist/services/cost-centers.d.ts +18 -0
  188. package/dist/services/customers-contacts.d.mts +62 -44
  189. package/dist/services/customers-contacts.d.ts +62 -44
  190. package/dist/services/customers-contacts.js.map +1 -1
  191. package/dist/services/customers-contacts.mjs.map +1 -1
  192. package/dist/services/customers-organizations.d.mts +58 -40
  193. package/dist/services/customers-organizations.d.ts +58 -40
  194. package/dist/services/customers-organizations.js.map +1 -1
  195. package/dist/services/customers-organizations.mjs.map +1 -1
  196. package/dist/services/customers-roles.d.mts +26 -8
  197. package/dist/services/customers-roles.d.ts +26 -8
  198. package/dist/services/customers-roles.js.map +1 -1
  199. package/dist/services/customers-roles.mjs.map +1 -1
  200. package/dist/services/customers-segments.d.mts +62 -44
  201. package/dist/services/customers-segments.d.ts +62 -44
  202. package/dist/services/customers-segments.js.map +1 -1
  203. package/dist/services/customers-segments.mjs.map +1 -1
  204. package/dist/services/customers-value-lists.d.mts +90 -72
  205. package/dist/services/customers-value-lists.d.ts +90 -72
  206. package/dist/services/customers-value-lists.js.map +1 -1
  207. package/dist/services/customers-value-lists.mjs.map +1 -1
  208. package/dist/services/customers.d.mts +78 -60
  209. package/dist/services/customers.d.ts +78 -60
  210. package/dist/services/customers.js.map +1 -1
  211. package/dist/services/customers.mjs.map +1 -1
  212. package/dist/services/events.d.mts +18 -0
  213. package/dist/services/events.d.ts +18 -0
  214. package/dist/services/forms.d.mts +66 -48
  215. package/dist/services/forms.d.ts +66 -48
  216. package/dist/services/forms.js.map +1 -1
  217. package/dist/services/forms.mjs.map +1 -1
  218. package/dist/services/health.d.mts +18 -0
  219. package/dist/services/health.d.ts +18 -0
  220. package/dist/services/inventories-locations.d.mts +38 -20
  221. package/dist/services/inventories-locations.d.ts +38 -20
  222. package/dist/services/inventories-locations.js.map +1 -1
  223. package/dist/services/inventories-locations.mjs.map +1 -1
  224. package/dist/services/inventories-reservations.d.mts +38 -20
  225. package/dist/services/inventories-reservations.d.ts +38 -20
  226. package/dist/services/inventories-reservations.js.map +1 -1
  227. package/dist/services/inventories-reservations.mjs.map +1 -1
  228. package/dist/services/inventories-stock.d.mts +70 -52
  229. package/dist/services/inventories-stock.d.ts +70 -52
  230. package/dist/services/inventories-stock.js.map +1 -1
  231. package/dist/services/inventories-stock.mjs.map +1 -1
  232. package/dist/services/io.d.mts +66 -48
  233. package/dist/services/io.d.ts +66 -48
  234. package/dist/services/io.js +2 -2
  235. package/dist/services/io.js.map +1 -1
  236. package/dist/services/io.mjs +2 -2
  237. package/dist/services/io.mjs.map +1 -1
  238. package/dist/services/locale.d.mts +18 -0
  239. package/dist/services/locale.d.ts +18 -0
  240. package/dist/services/markets.d.mts +122 -104
  241. package/dist/services/markets.d.ts +122 -104
  242. package/dist/services/markets.js.map +1 -1
  243. package/dist/services/markets.mjs.map +1 -1
  244. package/dist/services/messaging.d.mts +194 -176
  245. package/dist/services/messaging.d.ts +194 -176
  246. package/dist/services/messaging.js +3 -3
  247. package/dist/services/messaging.js.map +1 -1
  248. package/dist/services/messaging.mjs +3 -3
  249. package/dist/services/messaging.mjs.map +1 -1
  250. package/dist/services/orderlists.d.mts +96 -78
  251. package/dist/services/orderlists.d.ts +96 -78
  252. package/dist/services/orderlists.js +1 -1
  253. package/dist/services/orderlists.js.map +1 -1
  254. package/dist/services/orderlists.mjs +1 -1
  255. package/dist/services/orderlists.mjs.map +1 -1
  256. package/dist/services/orders.d.mts +114 -96
  257. package/dist/services/orders.d.ts +114 -96
  258. package/dist/services/orders.js.map +1 -1
  259. package/dist/services/orders.mjs.map +1 -1
  260. package/dist/services/pages-collaboration.d.mts +34 -16
  261. package/dist/services/pages-collaboration.d.ts +34 -16
  262. package/dist/services/pages-collaboration.js.map +1 -1
  263. package/dist/services/pages-collaboration.mjs.map +1 -1
  264. package/dist/services/pages-delivery.d.mts +26 -8
  265. package/dist/services/pages-delivery.d.ts +26 -8
  266. package/dist/services/pages-delivery.js.map +1 -1
  267. package/dist/services/pages-delivery.mjs.map +1 -1
  268. package/dist/services/pages-editor.d.mts +34 -16
  269. package/dist/services/pages-editor.d.ts +34 -16
  270. package/dist/services/pages-editor.js.map +1 -1
  271. package/dist/services/pages-editor.mjs.map +1 -1
  272. package/dist/services/pages.d.mts +82 -64
  273. package/dist/services/pages.d.ts +82 -64
  274. package/dist/services/pages.js.map +1 -1
  275. package/dist/services/pages.mjs.map +1 -1
  276. package/dist/services/payments-ledger.d.mts +54 -36
  277. package/dist/services/payments-ledger.d.ts +54 -36
  278. package/dist/services/payments-ledger.js.map +1 -1
  279. package/dist/services/payments-ledger.mjs.map +1 -1
  280. package/dist/services/payments-methods.d.mts +34 -16
  281. package/dist/services/payments-methods.d.ts +34 -16
  282. package/dist/services/payments-methods.js.map +1 -1
  283. package/dist/services/payments-methods.mjs.map +1 -1
  284. package/dist/services/payments-providers.d.mts +38 -20
  285. package/dist/services/payments-providers.d.ts +38 -20
  286. package/dist/services/payments-providers.js.map +1 -1
  287. package/dist/services/payments-providers.mjs.map +1 -1
  288. package/dist/services/prices.d.mts +86 -68
  289. package/dist/services/prices.d.ts +86 -68
  290. package/dist/services/prices.js.map +1 -1
  291. package/dist/services/prices.mjs.map +1 -1
  292. package/dist/services/procurement.d.mts +991 -0
  293. package/dist/services/procurement.d.ts +991 -0
  294. package/dist/services/procurement.js +1185 -0
  295. package/dist/services/procurement.js.map +1 -0
  296. package/dist/services/procurement.mjs +1184 -0
  297. package/dist/services/procurement.mjs.map +1 -0
  298. package/dist/services/products-assets.d.mts +34 -16
  299. package/dist/services/products-assets.d.ts +34 -16
  300. package/dist/services/products-assets.js.map +1 -1
  301. package/dist/services/products-assets.mjs.map +1 -1
  302. package/dist/services/products-categories.d.mts +66 -48
  303. package/dist/services/products-categories.d.ts +66 -48
  304. package/dist/services/products-categories.js.map +1 -1
  305. package/dist/services/products-categories.mjs.map +1 -1
  306. package/dist/services/products-data-model.d.mts +166 -148
  307. package/dist/services/products-data-model.d.ts +166 -148
  308. package/dist/services/products-data-model.js.map +1 -1
  309. package/dist/services/products-data-model.mjs.map +1 -1
  310. package/dist/services/products-references.d.mts +50 -32
  311. package/dist/services/products-references.d.ts +50 -32
  312. package/dist/services/products-references.js.map +1 -1
  313. package/dist/services/products-references.mjs.map +1 -1
  314. package/dist/services/products.d.mts +70 -52
  315. package/dist/services/products.d.ts +70 -52
  316. package/dist/services/products.js.map +1 -1
  317. package/dist/services/products.mjs.map +1 -1
  318. package/dist/services/search.d.mts +40 -22
  319. package/dist/services/search.d.ts +40 -22
  320. package/dist/services/search.js +1 -1
  321. package/dist/services/search.js.map +1 -1
  322. package/dist/services/search.mjs +1 -1
  323. package/dist/services/search.mjs.map +1 -1
  324. package/dist/services/settings.d.mts +18 -0
  325. package/dist/services/settings.d.ts +18 -0
  326. package/dist/services/shipping-carriers.d.mts +42 -24
  327. package/dist/services/shipping-carriers.d.ts +42 -24
  328. package/dist/services/shipping-carriers.js.map +1 -1
  329. package/dist/services/shipping-carriers.mjs.map +1 -1
  330. package/dist/services/shipping-methods.d.mts +70 -52
  331. package/dist/services/shipping-methods.d.ts +70 -52
  332. package/dist/services/shipping-methods.js.map +1 -1
  333. package/dist/services/shipping-methods.mjs.map +1 -1
  334. package/dist/services/shipping-value-lists.d.mts +62 -44
  335. package/dist/services/shipping-value-lists.d.ts +62 -44
  336. package/dist/services/shipping-value-lists.js.map +1 -1
  337. package/dist/services/shipping-value-lists.mjs.map +1 -1
  338. package/dist/services/sites.d.mts +18 -0
  339. package/dist/services/sites.d.ts +18 -0
  340. package/dist/services/storage.d.mts +18 -0
  341. package/dist/services/storage.d.ts +18 -0
  342. package/package.json +6 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/procurement.ts"],"names":[],"mappings":"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","sourcesContent":["import { RevenexxException, Client, type Payload, UploadProgress } from '../client';\nimport type { Models } from '../models';\n\nimport { Condition } from '../enums/condition';\nimport { Effect } from '../enums/effect';\nimport { ApproverType } from '../enums/approver-type';\nimport { ProcurementPurchaseRequestItemsCreateType } from '../enums/procurement-purchase-request-items-create-type';\n\nexport class Procurement {\n client: Client;\n\n constructor(client: Client) {\n this.client = client;\n }\n\n /**\n *\n * @param {number} params.limit - Page size (default 50, max 200).\n * @param {number} params.offset - Row offset for pagination (default 0).\n * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n */\n procurementApprovalRulesList(params?: { limit?: number, offset?: number, order?: string }): Promise<{}>;\n /**\n *\n * @param {number} limit - Page size (default 50, max 200).\n * @param {number} offset - Row offset for pagination (default 0).\n * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementApprovalRulesList(limit?: number, offset?: number, order?: string): Promise<{}>;\n procurementApprovalRulesList(\n paramsOrFirst?: { limit?: number, offset?: number, order?: string } | number,\n ...rest: [(number)?, (string)?] \n ): Promise<{}> {\n let params: { limit?: number, offset?: number, order?: string };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { limit?: number, offset?: number, order?: string };\n } else {\n params = {\n limit: paramsOrFirst as number,\n offset: rest[0] as number,\n order: rest[1] as string \n };\n }\n \n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n\n const apiPath = '/v1/procurement/approval-rules';\n const apiPayload: Payload = {};\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {Condition} params.condition - \n * @param {Effect} params.effect - \n * @param {string} params.name - \n * @param {boolean} params.active - \n * @param {string} params.approverRef - \n * @param {ApproverType} params.approverType - \n * @param {object} params.conditionParameters - \n * @param {string} params.costCenterId - \n * @param {object} params.effectParameters - \n * @param {object} params.metadata - \n * @param {number} params.sequence - \n * @param {boolean} params.showCondition - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ApprovalRule>}\n */\n procurementApprovalRulesCreate(params: { condition: Condition, effect: Effect, name: string, active?: boolean, approverRef?: string, approverType?: ApproverType, conditionParameters?: object, costCenterId?: string, effectParameters?: object, metadata?: object, sequence?: number, showCondition?: boolean }): Promise<Models.ApprovalRule>;\n /**\n *\n * @param {Condition} condition - \n * @param {Effect} effect - \n * @param {string} name - \n * @param {boolean} active - \n * @param {string} approverRef - \n * @param {ApproverType} approverType - \n * @param {object} conditionParameters - \n * @param {string} costCenterId - \n * @param {object} effectParameters - \n * @param {object} metadata - \n * @param {number} sequence - \n * @param {boolean} showCondition - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ApprovalRule>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementApprovalRulesCreate(condition: Condition, effect: Effect, name: string, active?: boolean, approverRef?: string, approverType?: ApproverType, conditionParameters?: object, costCenterId?: string, effectParameters?: object, metadata?: object, sequence?: number, showCondition?: boolean): Promise<Models.ApprovalRule>;\n procurementApprovalRulesCreate(\n paramsOrFirst: { condition: Condition, effect: Effect, name: string, active?: boolean, approverRef?: string, approverType?: ApproverType, conditionParameters?: object, costCenterId?: string, effectParameters?: object, metadata?: object, sequence?: number, showCondition?: boolean } | Condition,\n ...rest: [(Effect)?, (string)?, (boolean)?, (string)?, (ApproverType)?, (object)?, (string)?, (object)?, (object)?, (number)?, (boolean)?] \n ): Promise<Models.ApprovalRule> {\n let params: { condition: Condition, effect: Effect, name: string, active?: boolean, approverRef?: string, approverType?: ApproverType, conditionParameters?: object, costCenterId?: string, effectParameters?: object, metadata?: object, sequence?: number, showCondition?: boolean };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst) && ('condition' in paramsOrFirst || 'effect' in paramsOrFirst || 'name' in paramsOrFirst || 'active' in paramsOrFirst || 'approverRef' in paramsOrFirst || 'approverType' in paramsOrFirst || 'conditionParameters' in paramsOrFirst || 'costCenterId' in paramsOrFirst || 'effectParameters' in paramsOrFirst || 'metadata' in paramsOrFirst || 'sequence' in paramsOrFirst || 'showCondition' in paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { condition: Condition, effect: Effect, name: string, active?: boolean, approverRef?: string, approverType?: ApproverType, conditionParameters?: object, costCenterId?: string, effectParameters?: object, metadata?: object, sequence?: number, showCondition?: boolean };\n } else {\n params = {\n condition: paramsOrFirst as Condition,\n effect: rest[0] as Effect,\n name: rest[1] as string,\n active: rest[2] as boolean,\n approverRef: rest[3] as string,\n approverType: rest[4] as ApproverType,\n conditionParameters: rest[5] as object,\n costCenterId: rest[6] as string,\n effectParameters: rest[7] as object,\n metadata: rest[8] as object,\n sequence: rest[9] as number,\n showCondition: rest[10] as boolean \n };\n }\n \n const condition = params.condition;\n const effect = params.effect;\n const name = params.name;\n const active = params.active;\n const approverRef = params.approverRef;\n const approverType = params.approverType;\n const conditionParameters = params.conditionParameters;\n const costCenterId = params.costCenterId;\n const effectParameters = params.effectParameters;\n const metadata = params.metadata;\n const sequence = params.sequence;\n const showCondition = params.showCondition;\n\n if (typeof condition === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"condition\"');\n }\n if (typeof effect === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"effect\"');\n }\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n\n const apiPath = '/v1/procurement/approval-rules';\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof approverRef !== 'undefined') {\n apiPayload['approver_ref'] = approverRef;\n }\n if (typeof approverType !== 'undefined') {\n apiPayload['approver_type'] = approverType;\n }\n if (typeof condition !== 'undefined') {\n apiPayload['condition'] = condition;\n }\n if (typeof conditionParameters !== 'undefined') {\n apiPayload['condition_parameters'] = conditionParameters;\n }\n if (typeof costCenterId !== 'undefined') {\n apiPayload['cost_center_id'] = costCenterId;\n }\n if (typeof effect !== 'undefined') {\n apiPayload['effect'] = effect;\n }\n if (typeof effectParameters !== 'undefined') {\n apiPayload['effect_parameters'] = effectParameters;\n }\n if (typeof metadata !== 'undefined') {\n apiPayload['metadata'] = metadata;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof sequence !== 'undefined') {\n apiPayload['sequence'] = sequence;\n }\n if (typeof showCondition !== 'undefined') {\n apiPayload['show_condition'] = showCondition;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n */\n procurementApprovalRulesDelete(params: { id: string }): Promise<{}>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementApprovalRulesDelete(id: string): Promise<{}>;\n procurementApprovalRulesDelete(\n paramsOrFirst: { id: string } | string \n ): Promise<{}> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/approval-rules/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ApprovalRule>}\n */\n procurementApprovalRulesGet(params: { id: string }): Promise<Models.ApprovalRule>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ApprovalRule>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementApprovalRulesGet(id: string): Promise<Models.ApprovalRule>;\n procurementApprovalRulesGet(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.ApprovalRule> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/approval-rules/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @param {boolean} params.active - \n * @param {string} params.approverRef - \n * @param {ApproverType} params.approverType - \n * @param {Condition} params.condition - \n * @param {object} params.conditionParameters - \n * @param {string} params.costCenterId - \n * @param {Effect} params.effect - \n * @param {object} params.effectParameters - \n * @param {object} params.metadata - \n * @param {string} params.name - \n * @param {number} params.sequence - \n * @param {boolean} params.showCondition - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ApprovalRule>}\n */\n procurementApprovalRulesUpdate(params: { id: string, active?: boolean, approverRef?: string, approverType?: ApproverType, condition?: Condition, conditionParameters?: object, costCenterId?: string, effect?: Effect, effectParameters?: object, metadata?: object, name?: string, sequence?: number, showCondition?: boolean }): Promise<Models.ApprovalRule>;\n /**\n *\n * @param {string} id - \n * @param {boolean} active - \n * @param {string} approverRef - \n * @param {ApproverType} approverType - \n * @param {Condition} condition - \n * @param {object} conditionParameters - \n * @param {string} costCenterId - \n * @param {Effect} effect - \n * @param {object} effectParameters - \n * @param {object} metadata - \n * @param {string} name - \n * @param {number} sequence - \n * @param {boolean} showCondition - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ApprovalRule>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementApprovalRulesUpdate(id: string, active?: boolean, approverRef?: string, approverType?: ApproverType, condition?: Condition, conditionParameters?: object, costCenterId?: string, effect?: Effect, effectParameters?: object, metadata?: object, name?: string, sequence?: number, showCondition?: boolean): Promise<Models.ApprovalRule>;\n procurementApprovalRulesUpdate(\n paramsOrFirst: { id: string, active?: boolean, approverRef?: string, approverType?: ApproverType, condition?: Condition, conditionParameters?: object, costCenterId?: string, effect?: Effect, effectParameters?: object, metadata?: object, name?: string, sequence?: number, showCondition?: boolean } | string,\n ...rest: [(boolean)?, (string)?, (ApproverType)?, (Condition)?, (object)?, (string)?, (Effect)?, (object)?, (object)?, (string)?, (number)?, (boolean)?] \n ): Promise<Models.ApprovalRule> {\n let params: { id: string, active?: boolean, approverRef?: string, approverType?: ApproverType, condition?: Condition, conditionParameters?: object, costCenterId?: string, effect?: Effect, effectParameters?: object, metadata?: object, name?: string, sequence?: number, showCondition?: boolean };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, active?: boolean, approverRef?: string, approverType?: ApproverType, condition?: Condition, conditionParameters?: object, costCenterId?: string, effect?: Effect, effectParameters?: object, metadata?: object, name?: string, sequence?: number, showCondition?: boolean };\n } else {\n params = {\n id: paramsOrFirst as string,\n active: rest[0] as boolean,\n approverRef: rest[1] as string,\n approverType: rest[2] as ApproverType,\n condition: rest[3] as Condition,\n conditionParameters: rest[4] as object,\n costCenterId: rest[5] as string,\n effect: rest[6] as Effect,\n effectParameters: rest[7] as object,\n metadata: rest[8] as object,\n name: rest[9] as string,\n sequence: rest[10] as number,\n showCondition: rest[11] as boolean \n };\n }\n \n const id = params.id;\n const active = params.active;\n const approverRef = params.approverRef;\n const approverType = params.approverType;\n const condition = params.condition;\n const conditionParameters = params.conditionParameters;\n const costCenterId = params.costCenterId;\n const effect = params.effect;\n const effectParameters = params.effectParameters;\n const metadata = params.metadata;\n const name = params.name;\n const sequence = params.sequence;\n const showCondition = params.showCondition;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/approval-rules/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof active !== 'undefined') {\n apiPayload['active'] = active;\n }\n if (typeof approverRef !== 'undefined') {\n apiPayload['approver_ref'] = approverRef;\n }\n if (typeof approverType !== 'undefined') {\n apiPayload['approver_type'] = approverType;\n }\n if (typeof condition !== 'undefined') {\n apiPayload['condition'] = condition;\n }\n if (typeof conditionParameters !== 'undefined') {\n apiPayload['condition_parameters'] = conditionParameters;\n }\n if (typeof costCenterId !== 'undefined') {\n apiPayload['cost_center_id'] = costCenterId;\n }\n if (typeof effect !== 'undefined') {\n apiPayload['effect'] = effect;\n }\n if (typeof effectParameters !== 'undefined') {\n apiPayload['effect_parameters'] = effectParameters;\n }\n if (typeof metadata !== 'undefined') {\n apiPayload['metadata'] = metadata;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof sequence !== 'undefined') {\n apiPayload['sequence'] = sequence;\n }\n if (typeof showCondition !== 'undefined') {\n apiPayload['show_condition'] = showCondition;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {number} params.limit - Page size (default 50, max 200).\n * @param {number} params.offset - Row offset for pagination (default 0).\n * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n */\n procurementPendingApprovalsList(params?: { limit?: number, offset?: number, order?: string }): Promise<{}>;\n /**\n *\n * @param {number} limit - Page size (default 50, max 200).\n * @param {number} offset - Row offset for pagination (default 0).\n * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPendingApprovalsList(limit?: number, offset?: number, order?: string): Promise<{}>;\n procurementPendingApprovalsList(\n paramsOrFirst?: { limit?: number, offset?: number, order?: string } | number,\n ...rest: [(number)?, (string)?] \n ): Promise<{}> {\n let params: { limit?: number, offset?: number, order?: string };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { limit?: number, offset?: number, order?: string };\n } else {\n params = {\n limit: paramsOrFirst as number,\n offset: rest[0] as number,\n order: rest[1] as string \n };\n }\n \n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n\n const apiPath = '/v1/procurement/pending-approvals';\n const apiPayload: Payload = {};\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PendingApproval>}\n */\n procurementPendingApprovalsGet(params: { id: string }): Promise<Models.PendingApproval>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PendingApproval>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPendingApprovalsGet(id: string): Promise<Models.PendingApproval>;\n procurementPendingApprovalsGet(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.PendingApproval> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/pending-approvals/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @param {string} params.by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} params.reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n */\n procurementPendingApprovalsApprove(params: { id: string, by?: string, reason?: string }): Promise<Models.ResolutionResult>;\n /**\n *\n * @param {string} id - \n * @param {string} by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPendingApprovalsApprove(id: string, by?: string, reason?: string): Promise<Models.ResolutionResult>;\n procurementPendingApprovalsApprove(\n paramsOrFirst: { id: string, by?: string, reason?: string } | string,\n ...rest: [(string)?, (string)?] \n ): Promise<Models.ResolutionResult> {\n let params: { id: string, by?: string, reason?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, by?: string, reason?: string };\n } else {\n params = {\n id: paramsOrFirst as string,\n by: rest[0] as string,\n reason: rest[1] as string \n };\n }\n \n const id = params.id;\n const by = params.by;\n const reason = params.reason;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/pending-approvals/{id}/approve'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof by !== 'undefined') {\n apiPayload['by'] = by;\n }\n if (typeof reason !== 'undefined') {\n apiPayload['reason'] = reason;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @param {string} params.by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} params.reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n */\n procurementPendingApprovalsDecline(params: { id: string, by?: string, reason?: string }): Promise<Models.ResolutionResult>;\n /**\n *\n * @param {string} id - \n * @param {string} by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPendingApprovalsDecline(id: string, by?: string, reason?: string): Promise<Models.ResolutionResult>;\n procurementPendingApprovalsDecline(\n paramsOrFirst: { id: string, by?: string, reason?: string } | string,\n ...rest: [(string)?, (string)?] \n ): Promise<Models.ResolutionResult> {\n let params: { id: string, by?: string, reason?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, by?: string, reason?: string };\n } else {\n params = {\n id: paramsOrFirst as string,\n by: rest[0] as string,\n reason: rest[1] as string \n };\n }\n \n const id = params.id;\n const by = params.by;\n const reason = params.reason;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/pending-approvals/{id}/decline'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof by !== 'undefined') {\n apiPayload['by'] = by;\n }\n if (typeof reason !== 'undefined') {\n apiPayload['reason'] = reason;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {number} params.limit - Page size (default 50, max 200).\n * @param {number} params.offset - Row offset for pagination (default 0).\n * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n */\n procurementPurchaseRequestEventsList(params?: { limit?: number, offset?: number, order?: string }): Promise<{}>;\n /**\n *\n * @param {number} limit - Page size (default 50, max 200).\n * @param {number} offset - Row offset for pagination (default 0).\n * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestEventsList(limit?: number, offset?: number, order?: string): Promise<{}>;\n procurementPurchaseRequestEventsList(\n paramsOrFirst?: { limit?: number, offset?: number, order?: string } | number,\n ...rest: [(number)?, (string)?] \n ): Promise<{}> {\n let params: { limit?: number, offset?: number, order?: string };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { limit?: number, offset?: number, order?: string };\n } else {\n params = {\n limit: paramsOrFirst as number,\n offset: rest[0] as number,\n order: rest[1] as string \n };\n }\n \n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n\n const apiPath = '/v1/procurement/purchase-request-events';\n const apiPayload: Payload = {};\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestEvent>}\n */\n procurementPurchaseRequestEventsGet(params: { id: string }): Promise<Models.PurchaseRequestEvent>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestEvent>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestEventsGet(id: string): Promise<Models.PurchaseRequestEvent>;\n procurementPurchaseRequestEventsGet(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.PurchaseRequestEvent> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-request-events/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {number} params.limit - Page size (default 50, max 200).\n * @param {number} params.offset - Row offset for pagination (default 0).\n * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n */\n procurementPurchaseRequestItemsList(params?: { limit?: number, offset?: number, order?: string }): Promise<{}>;\n /**\n *\n * @param {number} limit - Page size (default 50, max 200).\n * @param {number} offset - Row offset for pagination (default 0).\n * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestItemsList(limit?: number, offset?: number, order?: string): Promise<{}>;\n procurementPurchaseRequestItemsList(\n paramsOrFirst?: { limit?: number, offset?: number, order?: string } | number,\n ...rest: [(number)?, (string)?] \n ): Promise<{}> {\n let params: { limit?: number, offset?: number, order?: string };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { limit?: number, offset?: number, order?: string };\n } else {\n params = {\n limit: paramsOrFirst as number,\n offset: rest[0] as number,\n order: rest[1] as string \n };\n }\n \n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n\n const apiPath = '/v1/procurement/purchase-request-items';\n const apiPayload: Payload = {};\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.name - \n * @param {string} params.purchaseRequestId - \n * @param {number} params.quantity - \n * @param {object} params.configuration - \n * @param {string} params.costCenter - \n * @param {number} params.lineTotal - \n * @param {object} params.metadata - \n * @param {number} params.position - \n * @param {string} params.positionText - \n * @param {object} params.product - \n * @param {string} params.productId - \n * @param {string} params.sku - \n * @param {number} params.taxAmount - \n * @param {number} params.taxRate - \n * @param {ProcurementPurchaseRequestItemsCreateType} params.type - \n * @param {string} params.unit - \n * @param {number} params.unitPrice - \n * @param {object} params.userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestItem>}\n */\n procurementPurchaseRequestItemsCreate(params: { name: string, purchaseRequestId: string, quantity: number, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, position?: number, positionText?: string, product?: object, productId?: string, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object }): Promise<Models.PurchaseRequestItem>;\n /**\n *\n * @param {string} name - \n * @param {string} purchaseRequestId - \n * @param {number} quantity - \n * @param {object} configuration - \n * @param {string} costCenter - \n * @param {number} lineTotal - \n * @param {object} metadata - \n * @param {number} position - \n * @param {string} positionText - \n * @param {object} product - \n * @param {string} productId - \n * @param {string} sku - \n * @param {number} taxAmount - \n * @param {number} taxRate - \n * @param {ProcurementPurchaseRequestItemsCreateType} type - \n * @param {string} unit - \n * @param {number} unitPrice - \n * @param {object} userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestItem>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestItemsCreate(name: string, purchaseRequestId: string, quantity: number, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, position?: number, positionText?: string, product?: object, productId?: string, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object): Promise<Models.PurchaseRequestItem>;\n procurementPurchaseRequestItemsCreate(\n paramsOrFirst: { name: string, purchaseRequestId: string, quantity: number, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, position?: number, positionText?: string, product?: object, productId?: string, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object } | string,\n ...rest: [(string)?, (number)?, (object)?, (string)?, (number)?, (object)?, (number)?, (string)?, (object)?, (string)?, (string)?, (number)?, (number)?, (ProcurementPurchaseRequestItemsCreateType)?, (string)?, (number)?, (object)?] \n ): Promise<Models.PurchaseRequestItem> {\n let params: { name: string, purchaseRequestId: string, quantity: number, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, position?: number, positionText?: string, product?: object, productId?: string, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { name: string, purchaseRequestId: string, quantity: number, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, position?: number, positionText?: string, product?: object, productId?: string, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object };\n } else {\n params = {\n name: paramsOrFirst as string,\n purchaseRequestId: rest[0] as string,\n quantity: rest[1] as number,\n configuration: rest[2] as object,\n costCenter: rest[3] as string,\n lineTotal: rest[4] as number,\n metadata: rest[5] as object,\n position: rest[6] as number,\n positionText: rest[7] as string,\n product: rest[8] as object,\n productId: rest[9] as string,\n sku: rest[10] as string,\n taxAmount: rest[11] as number,\n taxRate: rest[12] as number,\n type: rest[13] as ProcurementPurchaseRequestItemsCreateType,\n unit: rest[14] as string,\n unitPrice: rest[15] as number,\n userData: rest[16] as object \n };\n }\n \n const name = params.name;\n const purchaseRequestId = params.purchaseRequestId;\n const quantity = params.quantity;\n const configuration = params.configuration;\n const costCenter = params.costCenter;\n const lineTotal = params.lineTotal;\n const metadata = params.metadata;\n const position = params.position;\n const positionText = params.positionText;\n const product = params.product;\n const productId = params.productId;\n const sku = params.sku;\n const taxAmount = params.taxAmount;\n const taxRate = params.taxRate;\n const type = params.type;\n const unit = params.unit;\n const unitPrice = params.unitPrice;\n const userData = params.userData;\n\n if (typeof name === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"name\"');\n }\n if (typeof purchaseRequestId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"purchaseRequestId\"');\n }\n if (typeof quantity === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"quantity\"');\n }\n\n const apiPath = '/v1/procurement/purchase-request-items';\n const apiPayload: Payload = {};\n if (typeof configuration !== 'undefined') {\n apiPayload['configuration'] = configuration;\n }\n if (typeof costCenter !== 'undefined') {\n apiPayload['cost_center'] = costCenter;\n }\n if (typeof lineTotal !== 'undefined') {\n apiPayload['line_total'] = lineTotal;\n }\n if (typeof metadata !== 'undefined') {\n apiPayload['metadata'] = metadata;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof positionText !== 'undefined') {\n apiPayload['position_text'] = positionText;\n }\n if (typeof product !== 'undefined') {\n apiPayload['product'] = product;\n }\n if (typeof productId !== 'undefined') {\n apiPayload['product_id'] = productId;\n }\n if (typeof purchaseRequestId !== 'undefined') {\n apiPayload['purchase_request_id'] = purchaseRequestId;\n }\n if (typeof quantity !== 'undefined') {\n apiPayload['quantity'] = quantity;\n }\n if (typeof sku !== 'undefined') {\n apiPayload['sku'] = sku;\n }\n if (typeof taxAmount !== 'undefined') {\n apiPayload['tax_amount'] = taxAmount;\n }\n if (typeof taxRate !== 'undefined') {\n apiPayload['tax_rate'] = taxRate;\n }\n if (typeof type !== 'undefined') {\n apiPayload['type'] = type;\n }\n if (typeof unit !== 'undefined') {\n apiPayload['unit'] = unit;\n }\n if (typeof unitPrice !== 'undefined') {\n apiPayload['unit_price'] = unitPrice;\n }\n if (typeof userData !== 'undefined') {\n apiPayload['user_data'] = userData;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n */\n procurementPurchaseRequestItemsDelete(params: { id: string }): Promise<{}>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestItemsDelete(id: string): Promise<{}>;\n procurementPurchaseRequestItemsDelete(\n paramsOrFirst: { id: string } | string \n ): Promise<{}> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-request-items/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'delete',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestItem>}\n */\n procurementPurchaseRequestItemsGet(params: { id: string }): Promise<Models.PurchaseRequestItem>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestItem>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestItemsGet(id: string): Promise<Models.PurchaseRequestItem>;\n procurementPurchaseRequestItemsGet(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.PurchaseRequestItem> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-request-items/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @param {object} params.configuration - \n * @param {string} params.costCenter - \n * @param {number} params.lineTotal - \n * @param {object} params.metadata - \n * @param {string} params.name - \n * @param {number} params.position - \n * @param {string} params.positionText - \n * @param {object} params.product - \n * @param {string} params.productId - \n * @param {string} params.purchaseRequestId - \n * @param {number} params.quantity - \n * @param {string} params.sku - \n * @param {number} params.taxAmount - \n * @param {number} params.taxRate - \n * @param {ProcurementPurchaseRequestItemsCreateType} params.type - \n * @param {string} params.unit - \n * @param {number} params.unitPrice - \n * @param {object} params.userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestItem>}\n */\n procurementPurchaseRequestItemsUpdate(params: { id: string, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, name?: string, position?: number, positionText?: string, product?: object, productId?: string, purchaseRequestId?: string, quantity?: number, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object }): Promise<Models.PurchaseRequestItem>;\n /**\n *\n * @param {string} id - \n * @param {object} configuration - \n * @param {string} costCenter - \n * @param {number} lineTotal - \n * @param {object} metadata - \n * @param {string} name - \n * @param {number} position - \n * @param {string} positionText - \n * @param {object} product - \n * @param {string} productId - \n * @param {string} purchaseRequestId - \n * @param {number} quantity - \n * @param {string} sku - \n * @param {number} taxAmount - \n * @param {number} taxRate - \n * @param {ProcurementPurchaseRequestItemsCreateType} type - \n * @param {string} unit - \n * @param {number} unitPrice - \n * @param {object} userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequestItem>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestItemsUpdate(id: string, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, name?: string, position?: number, positionText?: string, product?: object, productId?: string, purchaseRequestId?: string, quantity?: number, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object): Promise<Models.PurchaseRequestItem>;\n procurementPurchaseRequestItemsUpdate(\n paramsOrFirst: { id: string, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, name?: string, position?: number, positionText?: string, product?: object, productId?: string, purchaseRequestId?: string, quantity?: number, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object } | string,\n ...rest: [(object)?, (string)?, (number)?, (object)?, (string)?, (number)?, (string)?, (object)?, (string)?, (string)?, (number)?, (string)?, (number)?, (number)?, (ProcurementPurchaseRequestItemsCreateType)?, (string)?, (number)?, (object)?] \n ): Promise<Models.PurchaseRequestItem> {\n let params: { id: string, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, name?: string, position?: number, positionText?: string, product?: object, productId?: string, purchaseRequestId?: string, quantity?: number, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, configuration?: object, costCenter?: string, lineTotal?: number, metadata?: object, name?: string, position?: number, positionText?: string, product?: object, productId?: string, purchaseRequestId?: string, quantity?: number, sku?: string, taxAmount?: number, taxRate?: number, type?: ProcurementPurchaseRequestItemsCreateType, unit?: string, unitPrice?: number, userData?: object };\n } else {\n params = {\n id: paramsOrFirst as string,\n configuration: rest[0] as object,\n costCenter: rest[1] as string,\n lineTotal: rest[2] as number,\n metadata: rest[3] as object,\n name: rest[4] as string,\n position: rest[5] as number,\n positionText: rest[6] as string,\n product: rest[7] as object,\n productId: rest[8] as string,\n purchaseRequestId: rest[9] as string,\n quantity: rest[10] as number,\n sku: rest[11] as string,\n taxAmount: rest[12] as number,\n taxRate: rest[13] as number,\n type: rest[14] as ProcurementPurchaseRequestItemsCreateType,\n unit: rest[15] as string,\n unitPrice: rest[16] as number,\n userData: rest[17] as object \n };\n }\n \n const id = params.id;\n const configuration = params.configuration;\n const costCenter = params.costCenter;\n const lineTotal = params.lineTotal;\n const metadata = params.metadata;\n const name = params.name;\n const position = params.position;\n const positionText = params.positionText;\n const product = params.product;\n const productId = params.productId;\n const purchaseRequestId = params.purchaseRequestId;\n const quantity = params.quantity;\n const sku = params.sku;\n const taxAmount = params.taxAmount;\n const taxRate = params.taxRate;\n const type = params.type;\n const unit = params.unit;\n const unitPrice = params.unitPrice;\n const userData = params.userData;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-request-items/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof configuration !== 'undefined') {\n apiPayload['configuration'] = configuration;\n }\n if (typeof costCenter !== 'undefined') {\n apiPayload['cost_center'] = costCenter;\n }\n if (typeof lineTotal !== 'undefined') {\n apiPayload['line_total'] = lineTotal;\n }\n if (typeof metadata !== 'undefined') {\n apiPayload['metadata'] = metadata;\n }\n if (typeof name !== 'undefined') {\n apiPayload['name'] = name;\n }\n if (typeof position !== 'undefined') {\n apiPayload['position'] = position;\n }\n if (typeof positionText !== 'undefined') {\n apiPayload['position_text'] = positionText;\n }\n if (typeof product !== 'undefined') {\n apiPayload['product'] = product;\n }\n if (typeof productId !== 'undefined') {\n apiPayload['product_id'] = productId;\n }\n if (typeof purchaseRequestId !== 'undefined') {\n apiPayload['purchase_request_id'] = purchaseRequestId;\n }\n if (typeof quantity !== 'undefined') {\n apiPayload['quantity'] = quantity;\n }\n if (typeof sku !== 'undefined') {\n apiPayload['sku'] = sku;\n }\n if (typeof taxAmount !== 'undefined') {\n apiPayload['tax_amount'] = taxAmount;\n }\n if (typeof taxRate !== 'undefined') {\n apiPayload['tax_rate'] = taxRate;\n }\n if (typeof type !== 'undefined') {\n apiPayload['type'] = type;\n }\n if (typeof unit !== 'undefined') {\n apiPayload['unit'] = unit;\n }\n if (typeof unitPrice !== 'undefined') {\n apiPayload['unit_price'] = unitPrice;\n }\n if (typeof userData !== 'undefined') {\n apiPayload['user_data'] = userData;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {number} params.limit - Page size (default 50, max 200).\n * @param {number} params.offset - Row offset for pagination (default 0).\n * @param {string} params.order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n */\n procurementPurchaseRequestsList(params?: { limit?: number, offset?: number, order?: string }): Promise<{}>;\n /**\n *\n * @param {number} limit - Page size (default 50, max 200).\n * @param {number} offset - Row offset for pagination (default 0).\n * @param {string} order - Sort as 'column.asc' | 'column.desc', e.g. 'created_at.desc'.\n * @throws {RevenexxException}\n * @returns {Promise<{}>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestsList(limit?: number, offset?: number, order?: string): Promise<{}>;\n procurementPurchaseRequestsList(\n paramsOrFirst?: { limit?: number, offset?: number, order?: string } | number,\n ...rest: [(number)?, (string)?] \n ): Promise<{}> {\n let params: { limit?: number, offset?: number, order?: string };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { limit?: number, offset?: number, order?: string };\n } else {\n params = {\n limit: paramsOrFirst as number,\n offset: rest[0] as number,\n order: rest[1] as string \n };\n }\n \n const limit = params.limit;\n const offset = params.offset;\n const order = params.order;\n\n\n const apiPath = '/v1/procurement/purchase-requests';\n const apiPayload: Payload = {};\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n if (typeof offset !== 'undefined') {\n apiPayload['offset'] = offset;\n }\n if (typeof order !== 'undefined') {\n apiPayload['order'] = order;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequest>}\n */\n procurementPurchaseRequestsGet(params: { id: string }): Promise<Models.PurchaseRequest>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequest>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestsGet(id: string): Promise<Models.PurchaseRequest>;\n procurementPurchaseRequestsGet(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.PurchaseRequest> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-requests/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'get',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @param {object} params.billingAddress - \n * @param {object} params.buyer - \n * @param {string} params.cartId - \n * @param {string} params.channelId - \n * @param {string} params.contactId - \n * @param {string} params.currency - \n * @param {string} params.customerOrderNumber - \n * @param {string} params.externalRef - \n * @param {number} params.grandTotal - \n * @param {number} params.itemCount - \n * @param {object} params.metadata - \n * @param {string} params.number - \n * @param {string} params.organizationId - \n * @param {object} params.payment - \n * @param {object} params.shipping - \n * @param {object} params.shippingAddress - \n * @param {number} params.shippingTotal - \n * @param {number} params.subtotal - \n * @param {number} params.taxTotal - \n * @param {object} params.userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequest>}\n */\n procurementPurchaseRequestsUpdate(params: { id: string, billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, grandTotal?: number, itemCount?: number, metadata?: object, number?: string, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, subtotal?: number, taxTotal?: number, userData?: object }): Promise<Models.PurchaseRequest>;\n /**\n *\n * @param {string} id - \n * @param {object} billingAddress - \n * @param {object} buyer - \n * @param {string} cartId - \n * @param {string} channelId - \n * @param {string} contactId - \n * @param {string} currency - \n * @param {string} customerOrderNumber - \n * @param {string} externalRef - \n * @param {number} grandTotal - \n * @param {number} itemCount - \n * @param {object} metadata - \n * @param {string} number - \n * @param {string} organizationId - \n * @param {object} payment - \n * @param {object} shipping - \n * @param {object} shippingAddress - \n * @param {number} shippingTotal - \n * @param {number} subtotal - \n * @param {number} taxTotal - \n * @param {object} userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.PurchaseRequest>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestsUpdate(id: string, billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, grandTotal?: number, itemCount?: number, metadata?: object, number?: string, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, subtotal?: number, taxTotal?: number, userData?: object): Promise<Models.PurchaseRequest>;\n procurementPurchaseRequestsUpdate(\n paramsOrFirst: { id: string, billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, grandTotal?: number, itemCount?: number, metadata?: object, number?: string, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, subtotal?: number, taxTotal?: number, userData?: object } | string,\n ...rest: [(object)?, (object)?, (string)?, (string)?, (string)?, (string)?, (string)?, (string)?, (number)?, (number)?, (object)?, (string)?, (string)?, (object)?, (object)?, (object)?, (number)?, (number)?, (number)?, (object)?] \n ): Promise<Models.PurchaseRequest> {\n let params: { id: string, billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, grandTotal?: number, itemCount?: number, metadata?: object, number?: string, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, subtotal?: number, taxTotal?: number, userData?: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, billingAddress?: object, buyer?: object, cartId?: string, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, grandTotal?: number, itemCount?: number, metadata?: object, number?: string, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, shippingTotal?: number, subtotal?: number, taxTotal?: number, userData?: object };\n } else {\n params = {\n id: paramsOrFirst as string,\n billingAddress: rest[0] as object,\n buyer: rest[1] as object,\n cartId: rest[2] as string,\n channelId: rest[3] as string,\n contactId: rest[4] as string,\n currency: rest[5] as string,\n customerOrderNumber: rest[6] as string,\n externalRef: rest[7] as string,\n grandTotal: rest[8] as number,\n itemCount: rest[9] as number,\n metadata: rest[10] as object,\n number: rest[11] as string,\n organizationId: rest[12] as string,\n payment: rest[13] as object,\n shipping: rest[14] as object,\n shippingAddress: rest[15] as object,\n shippingTotal: rest[16] as number,\n subtotal: rest[17] as number,\n taxTotal: rest[18] as number,\n userData: rest[19] as object \n };\n }\n \n const id = params.id;\n const billingAddress = params.billingAddress;\n const buyer = params.buyer;\n const cartId = params.cartId;\n const channelId = params.channelId;\n const contactId = params.contactId;\n const currency = params.currency;\n const customerOrderNumber = params.customerOrderNumber;\n const externalRef = params.externalRef;\n const grandTotal = params.grandTotal;\n const itemCount = params.itemCount;\n const metadata = params.metadata;\n const number = params.number;\n const organizationId = params.organizationId;\n const payment = params.payment;\n const shipping = params.shipping;\n const shippingAddress = params.shippingAddress;\n const shippingTotal = params.shippingTotal;\n const subtotal = params.subtotal;\n const taxTotal = params.taxTotal;\n const userData = params.userData;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-requests/{id}'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof billingAddress !== 'undefined') {\n apiPayload['billing_address'] = billingAddress;\n }\n if (typeof buyer !== 'undefined') {\n apiPayload['buyer'] = buyer;\n }\n if (typeof cartId !== 'undefined') {\n apiPayload['cart_id'] = cartId;\n }\n if (typeof channelId !== 'undefined') {\n apiPayload['channel_id'] = channelId;\n }\n if (typeof contactId !== 'undefined') {\n apiPayload['contact_id'] = contactId;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof customerOrderNumber !== 'undefined') {\n apiPayload['customer_order_number'] = customerOrderNumber;\n }\n if (typeof externalRef !== 'undefined') {\n apiPayload['external_ref'] = externalRef;\n }\n if (typeof grandTotal !== 'undefined') {\n apiPayload['grand_total'] = grandTotal;\n }\n if (typeof itemCount !== 'undefined') {\n apiPayload['item_count'] = itemCount;\n }\n if (typeof metadata !== 'undefined') {\n apiPayload['metadata'] = metadata;\n }\n if (typeof number !== 'undefined') {\n apiPayload['number'] = number;\n }\n if (typeof organizationId !== 'undefined') {\n apiPayload['organization_id'] = organizationId;\n }\n if (typeof payment !== 'undefined') {\n apiPayload['payment'] = payment;\n }\n if (typeof shipping !== 'undefined') {\n apiPayload['shipping'] = shipping;\n }\n if (typeof shippingAddress !== 'undefined') {\n apiPayload['shipping_address'] = shippingAddress;\n }\n if (typeof shippingTotal !== 'undefined') {\n apiPayload['shipping_total'] = shippingTotal;\n }\n if (typeof subtotal !== 'undefined') {\n apiPayload['subtotal'] = subtotal;\n }\n if (typeof taxTotal !== 'undefined') {\n apiPayload['tax_total'] = taxTotal;\n }\n if (typeof userData !== 'undefined') {\n apiPayload['user_data'] = userData;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'put',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @param {string} params.by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} params.reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n */\n procurementPurchaseRequestsApprove(params: { id: string, by?: string, reason?: string }): Promise<Models.ResolutionResult>;\n /**\n *\n * @param {string} id - \n * @param {string} by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestsApprove(id: string, by?: string, reason?: string): Promise<Models.ResolutionResult>;\n procurementPurchaseRequestsApprove(\n paramsOrFirst: { id: string, by?: string, reason?: string } | string,\n ...rest: [(string)?, (string)?] \n ): Promise<Models.ResolutionResult> {\n let params: { id: string, by?: string, reason?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, by?: string, reason?: string };\n } else {\n params = {\n id: paramsOrFirst as string,\n by: rest[0] as string,\n reason: rest[1] as string \n };\n }\n \n const id = params.id;\n const by = params.by;\n const reason = params.reason;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-requests/{id}/approve'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof by !== 'undefined') {\n apiPayload['by'] = by;\n }\n if (typeof reason !== 'undefined') {\n apiPayload['reason'] = reason;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @param {string} params.by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} params.reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n */\n procurementPurchaseRequestsCancel(params: { id: string, by?: string, reason?: string }): Promise<Models.ResolutionResult>;\n /**\n *\n * @param {string} id - \n * @param {string} by - Who acted (contact id / ref); recorded as resolved_by.\n * @param {string} reason - Free-text note (decline/cancel reason, approval remark).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestsCancel(id: string, by?: string, reason?: string): Promise<Models.ResolutionResult>;\n procurementPurchaseRequestsCancel(\n paramsOrFirst: { id: string, by?: string, reason?: string } | string,\n ...rest: [(string)?, (string)?] \n ): Promise<Models.ResolutionResult> {\n let params: { id: string, by?: string, reason?: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string, by?: string, reason?: string };\n } else {\n params = {\n id: paramsOrFirst as string,\n by: rest[0] as string,\n reason: rest[1] as string \n };\n }\n \n const id = params.id;\n const by = params.by;\n const reason = params.reason;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-requests/{id}/cancel'.replace('{id}', id);\n const apiPayload: Payload = {};\n if (typeof by !== 'undefined') {\n apiPayload['by'] = by;\n }\n if (typeof reason !== 'undefined') {\n apiPayload['reason'] = reason;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n */\n procurementPurchaseRequestsOrder(params: { id: string }): Promise<Models.ResolutionResult>;\n /**\n *\n * @param {string} id - \n * @throws {RevenexxException}\n * @returns {Promise<Models.ResolutionResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementPurchaseRequestsOrder(id: string): Promise<Models.ResolutionResult>;\n procurementPurchaseRequestsOrder(\n paramsOrFirst: { id: string } | string \n ): Promise<Models.ResolutionResult> {\n let params: { id: string };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { id: string };\n } else {\n params = {\n id: paramsOrFirst as string \n };\n }\n \n const id = params.id;\n\n if (typeof id === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"id\"');\n }\n\n const apiPath = '/v1/procurement/purchase-requests/{id}/order'.replace('{id}', id);\n const apiPayload: Payload = {};\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {number} params.limit - Requests examined per status (default 50, max 200).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ReconcileResult>}\n */\n procurementReconcile(params?: { limit?: number }): Promise<Models.ReconcileResult>;\n /**\n *\n * @param {number} limit - Requests examined per status (default 50, max 200).\n * @throws {RevenexxException}\n * @returns {Promise<Models.ReconcileResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementReconcile(limit?: number): Promise<Models.ReconcileResult>;\n procurementReconcile(\n paramsOrFirst?: { limit?: number } | number \n ): Promise<Models.ReconcileResult> {\n let params: { limit?: number };\n \n if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { limit?: number };\n } else {\n params = {\n limit: paramsOrFirst as number \n };\n }\n \n const limit = params.limit;\n\n\n const apiPath = '/v1/procurement/reconcile';\n const apiPayload: Payload = {};\n if (typeof limit !== 'undefined') {\n apiPayload['limit'] = limit;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n\n /**\n *\n * @param {string} params.cartId - Idempotency key — a re-submit for the same cart returns the existing PR/Order; a cart whose request was declined or cancelled is refused (409).\n * @param {Models.SubmitItem[]} params.items - \n * @param {object} params.billingAddress - \n * @param {object} params.buyer - \n * @param {string} params.channelId - \n * @param {string} params.contactId - \n * @param {string} params.currency - ISO 4217 code the line amounts are stated in. It travels with every question and every movement put to cost-centers; a cost centre or personal limit holding another currency refuses the submission (409, outcome `currency_mismatch`). Omit to be read in the record's own currency.\n * @param {string} params.customerOrderNumber - \n * @param {string} params.externalRef - \n * @param {object} params.metadata - \n * @param {string} params.organizationId - \n * @param {object} params.payment - \n * @param {object} params.shipping - \n * @param {object} params.shippingAddress - \n * @param {object} params.userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.SubmitResult>}\n */\n procurementSubmit(params: { cartId: string, items: Models.SubmitItem[], billingAddress?: object, buyer?: object, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, userData?: object }): Promise<Models.SubmitResult>;\n /**\n *\n * @param {string} cartId - Idempotency key — a re-submit for the same cart returns the existing PR/Order; a cart whose request was declined or cancelled is refused (409).\n * @param {Models.SubmitItem[]} items - \n * @param {object} billingAddress - \n * @param {object} buyer - \n * @param {string} channelId - \n * @param {string} contactId - \n * @param {string} currency - ISO 4217 code the line amounts are stated in. It travels with every question and every movement put to cost-centers; a cost centre or personal limit holding another currency refuses the submission (409, outcome `currency_mismatch`). Omit to be read in the record's own currency.\n * @param {string} customerOrderNumber - \n * @param {string} externalRef - \n * @param {object} metadata - \n * @param {string} organizationId - \n * @param {object} payment - \n * @param {object} shipping - \n * @param {object} shippingAddress - \n * @param {object} userData - \n * @throws {RevenexxException}\n * @returns {Promise<Models.SubmitResult>}\n * @deprecated Use the object parameter style method for a better developer experience.\n */\n procurementSubmit(cartId: string, items: Models.SubmitItem[], billingAddress?: object, buyer?: object, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, userData?: object): Promise<Models.SubmitResult>;\n procurementSubmit(\n paramsOrFirst: { cartId: string, items: Models.SubmitItem[], billingAddress?: object, buyer?: object, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, userData?: object } | string,\n ...rest: [(Models.SubmitItem[])?, (object)?, (object)?, (string)?, (string)?, (string)?, (string)?, (string)?, (object)?, (string)?, (object)?, (object)?, (object)?, (object)?] \n ): Promise<Models.SubmitResult> {\n let params: { cartId: string, items: Models.SubmitItem[], billingAddress?: object, buyer?: object, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, userData?: object };\n \n if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {\n params = (paramsOrFirst || {}) as { cartId: string, items: Models.SubmitItem[], billingAddress?: object, buyer?: object, channelId?: string, contactId?: string, currency?: string, customerOrderNumber?: string, externalRef?: string, metadata?: object, organizationId?: string, payment?: object, shipping?: object, shippingAddress?: object, userData?: object };\n } else {\n params = {\n cartId: paramsOrFirst as string,\n items: rest[0] as Models.SubmitItem[],\n billingAddress: rest[1] as object,\n buyer: rest[2] as object,\n channelId: rest[3] as string,\n contactId: rest[4] as string,\n currency: rest[5] as string,\n customerOrderNumber: rest[6] as string,\n externalRef: rest[7] as string,\n metadata: rest[8] as object,\n organizationId: rest[9] as string,\n payment: rest[10] as object,\n shipping: rest[11] as object,\n shippingAddress: rest[12] as object,\n userData: rest[13] as object \n };\n }\n \n const cartId = params.cartId;\n const items = params.items;\n const billingAddress = params.billingAddress;\n const buyer = params.buyer;\n const channelId = params.channelId;\n const contactId = params.contactId;\n const currency = params.currency;\n const customerOrderNumber = params.customerOrderNumber;\n const externalRef = params.externalRef;\n const metadata = params.metadata;\n const organizationId = params.organizationId;\n const payment = params.payment;\n const shipping = params.shipping;\n const shippingAddress = params.shippingAddress;\n const userData = params.userData;\n\n if (typeof cartId === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"cartId\"');\n }\n if (typeof items === 'undefined') {\n throw new RevenexxException('Missing required parameter: \"items\"');\n }\n\n const apiPath = '/v1/procurement/submit';\n const apiPayload: Payload = {};\n if (typeof billingAddress !== 'undefined') {\n apiPayload['billing_address'] = billingAddress;\n }\n if (typeof buyer !== 'undefined') {\n apiPayload['buyer'] = buyer;\n }\n if (typeof cartId !== 'undefined') {\n apiPayload['cart_id'] = cartId;\n }\n if (typeof channelId !== 'undefined') {\n apiPayload['channel_id'] = channelId;\n }\n if (typeof contactId !== 'undefined') {\n apiPayload['contact_id'] = contactId;\n }\n if (typeof currency !== 'undefined') {\n apiPayload['currency'] = currency;\n }\n if (typeof customerOrderNumber !== 'undefined') {\n apiPayload['customer_order_number'] = customerOrderNumber;\n }\n if (typeof externalRef !== 'undefined') {\n apiPayload['external_ref'] = externalRef;\n }\n if (typeof items !== 'undefined') {\n apiPayload['items'] = items;\n }\n if (typeof metadata !== 'undefined') {\n apiPayload['metadata'] = metadata;\n }\n if (typeof organizationId !== 'undefined') {\n apiPayload['organization_id'] = organizationId;\n }\n if (typeof payment !== 'undefined') {\n apiPayload['payment'] = payment;\n }\n if (typeof shipping !== 'undefined') {\n apiPayload['shipping'] = shipping;\n }\n if (typeof shippingAddress !== 'undefined') {\n apiPayload['shipping_address'] = shippingAddress;\n }\n if (typeof userData !== 'undefined') {\n apiPayload['user_data'] = userData;\n }\n const uri = new URL(this.client.config.endpoint + apiPath);\n\n const apiHeaders: { [header: string]: string } = {\n 'content-type': 'application/json',\n }\n\n return this.client.call(\n 'post',\n uri,\n apiHeaders,\n apiPayload,\n );\n }\n}\n"]}