@metronome/sdk 0.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/CHANGELOG.md +113 -28
  2. package/README.md +123 -51
  3. package/api-promise.d.mts +2 -0
  4. package/api-promise.d.mts.map +1 -0
  5. package/api-promise.d.ts +2 -0
  6. package/api-promise.d.ts.map +1 -0
  7. package/api-promise.js +6 -0
  8. package/api-promise.js.map +1 -0
  9. package/api-promise.mjs +2 -0
  10. package/api-promise.mjs.map +1 -0
  11. package/bin/cli +46 -0
  12. package/bin/migration-config.json +6 -0
  13. package/client.d.mts +232 -0
  14. package/client.d.mts.map +1 -0
  15. package/client.d.ts +232 -0
  16. package/client.d.ts.map +1 -0
  17. package/client.js +464 -0
  18. package/client.js.map +1 -0
  19. package/client.mjs +460 -0
  20. package/client.mjs.map +1 -0
  21. package/core/api-promise.d.mts +46 -0
  22. package/core/api-promise.d.mts.map +1 -0
  23. package/core/api-promise.d.ts +46 -0
  24. package/core/api-promise.d.ts.map +1 -0
  25. package/core/api-promise.js +74 -0
  26. package/core/api-promise.js.map +1 -0
  27. package/core/api-promise.mjs +70 -0
  28. package/core/api-promise.mjs.map +1 -0
  29. package/core/error.d.mts +46 -0
  30. package/core/error.d.mts.map +1 -0
  31. package/core/error.d.ts +46 -0
  32. package/core/error.d.ts.map +1 -0
  33. package/core/error.js +113 -0
  34. package/core/error.js.map +1 -0
  35. package/core/error.mjs +97 -0
  36. package/core/error.mjs.map +1 -0
  37. package/core/pagination.d.mts +137 -0
  38. package/core/pagination.d.mts.map +1 -0
  39. package/core/pagination.d.ts +137 -0
  40. package/core/pagination.d.ts.map +1 -0
  41. package/core/pagination.js +158 -0
  42. package/core/pagination.js.map +1 -0
  43. package/core/pagination.mjs +150 -0
  44. package/core/pagination.mjs.map +1 -0
  45. package/core/resource.d.mts +6 -0
  46. package/core/resource.d.mts.map +1 -0
  47. package/core/resource.d.ts +6 -0
  48. package/core/resource.d.ts.map +1 -0
  49. package/core/resource.js +11 -0
  50. package/core/resource.js.map +1 -0
  51. package/core/resource.mjs +7 -0
  52. package/core/resource.mjs.map +1 -0
  53. package/core/uploads.d.mts +3 -0
  54. package/core/uploads.d.mts.map +1 -0
  55. package/core/uploads.d.ts +3 -0
  56. package/core/uploads.d.ts.map +1 -0
  57. package/core/uploads.js +6 -0
  58. package/core/uploads.js.map +1 -0
  59. package/core/uploads.mjs +2 -0
  60. package/core/uploads.mjs.map +1 -0
  61. package/error.d.mts +2 -0
  62. package/error.d.mts.map +1 -0
  63. package/error.d.ts +1 -46
  64. package/error.d.ts.map +1 -1
  65. package/error.js +3 -110
  66. package/error.js.map +1 -1
  67. package/error.mjs +1 -96
  68. package/error.mjs.map +1 -1
  69. package/index.d.mts +7 -144
  70. package/index.d.mts.map +1 -0
  71. package/index.d.ts +6 -143
  72. package/index.d.ts.map +1 -1
  73. package/index.js +14 -120
  74. package/index.js.map +1 -1
  75. package/index.mjs +6 -93
  76. package/index.mjs.map +1 -1
  77. package/internal/builtin-types.d.mts +73 -0
  78. package/internal/builtin-types.d.mts.map +1 -0
  79. package/internal/builtin-types.d.ts +73 -0
  80. package/internal/builtin-types.d.ts.map +1 -0
  81. package/internal/builtin-types.js +4 -0
  82. package/internal/builtin-types.js.map +1 -0
  83. package/internal/builtin-types.mjs +3 -0
  84. package/internal/builtin-types.mjs.map +1 -0
  85. package/internal/detect-platform.d.mts +15 -0
  86. package/internal/detect-platform.d.mts.map +1 -0
  87. package/internal/detect-platform.d.ts +15 -0
  88. package/internal/detect-platform.d.ts.map +1 -0
  89. package/internal/detect-platform.js +162 -0
  90. package/internal/detect-platform.js.map +1 -0
  91. package/internal/detect-platform.mjs +157 -0
  92. package/internal/detect-platform.mjs.map +1 -0
  93. package/internal/errors.d.mts +3 -0
  94. package/internal/errors.d.mts.map +1 -0
  95. package/internal/errors.d.ts +3 -0
  96. package/internal/errors.d.ts.map +1 -0
  97. package/internal/errors.js +41 -0
  98. package/internal/errors.js.map +1 -0
  99. package/internal/errors.mjs +36 -0
  100. package/internal/errors.mjs.map +1 -0
  101. package/internal/headers.d.mts +26 -0
  102. package/internal/headers.d.mts.map +1 -0
  103. package/internal/headers.d.ts +26 -0
  104. package/internal/headers.d.ts.map +1 -0
  105. package/internal/headers.js +120 -0
  106. package/internal/headers.js.map +1 -0
  107. package/internal/headers.mjs +112 -0
  108. package/internal/headers.mjs.map +1 -0
  109. package/internal/parse.d.mts +12 -0
  110. package/internal/parse.d.mts.map +1 -0
  111. package/internal/parse.d.ts +12 -0
  112. package/internal/parse.d.ts.map +1 -0
  113. package/internal/parse.js +35 -0
  114. package/internal/parse.js.map +1 -0
  115. package/internal/parse.mjs +32 -0
  116. package/internal/parse.mjs.map +1 -0
  117. package/internal/qs/formats.d.mts +7 -0
  118. package/internal/qs/formats.d.mts.map +1 -0
  119. package/internal/qs/formats.d.ts +1 -0
  120. package/internal/qs/formats.d.ts.map +1 -1
  121. package/internal/qs/formats.js +4 -2
  122. package/internal/qs/formats.js.map +1 -1
  123. package/internal/qs/formats.mjs +2 -1
  124. package/internal/qs/formats.mjs.map +1 -1
  125. package/internal/qs/index.d.mts +10 -0
  126. package/internal/qs/index.d.mts.map +1 -0
  127. package/internal/qs/index.d.ts.map +1 -1
  128. package/internal/qs/stringify.d.mts +3 -0
  129. package/internal/qs/stringify.d.mts.map +1 -0
  130. package/internal/qs/stringify.d.ts.map +1 -1
  131. package/internal/qs/stringify.js +16 -19
  132. package/internal/qs/stringify.js.map +1 -1
  133. package/internal/qs/stringify.mjs +17 -19
  134. package/internal/qs/stringify.mjs.map +1 -1
  135. package/internal/qs/types.d.mts +57 -0
  136. package/internal/qs/types.d.mts.map +1 -0
  137. package/internal/qs/utils.d.mts +15 -0
  138. package/internal/qs/utils.d.mts.map +1 -0
  139. package/internal/qs/utils.d.ts +1 -0
  140. package/internal/qs/utils.d.ts.map +1 -1
  141. package/internal/qs/utils.js +22 -21
  142. package/internal/qs/utils.js.map +1 -1
  143. package/internal/qs/utils.mjs +12 -12
  144. package/internal/qs/utils.mjs.map +1 -1
  145. package/internal/request-options.d.mts +75 -0
  146. package/internal/request-options.d.mts.map +1 -0
  147. package/internal/request-options.d.ts +75 -0
  148. package/internal/request-options.d.ts.map +1 -0
  149. package/internal/request-options.js +14 -0
  150. package/internal/request-options.js.map +1 -0
  151. package/internal/request-options.mjs +10 -0
  152. package/internal/request-options.mjs.map +1 -0
  153. package/internal/shim-types.d.mts +17 -0
  154. package/internal/shim-types.d.mts.map +1 -0
  155. package/internal/shim-types.d.ts +17 -0
  156. package/internal/shim-types.d.ts.map +1 -0
  157. package/internal/shim-types.js +4 -0
  158. package/internal/shim-types.js.map +1 -0
  159. package/internal/shim-types.mjs +3 -0
  160. package/internal/shim-types.mjs.map +1 -0
  161. package/internal/shims.d.mts +20 -0
  162. package/internal/shims.d.mts.map +1 -0
  163. package/internal/shims.d.ts +20 -0
  164. package/internal/shims.d.ts.map +1 -0
  165. package/internal/shims.js +92 -0
  166. package/internal/shims.js.map +1 -0
  167. package/internal/shims.mjs +85 -0
  168. package/internal/shims.mjs.map +1 -0
  169. package/internal/to-file.d.mts +45 -0
  170. package/internal/to-file.d.mts.map +1 -0
  171. package/internal/to-file.d.ts +45 -0
  172. package/internal/to-file.d.ts.map +1 -0
  173. package/internal/to-file.js +91 -0
  174. package/internal/to-file.js.map +1 -0
  175. package/internal/to-file.mjs +88 -0
  176. package/internal/to-file.mjs.map +1 -0
  177. package/internal/tslib.js +81 -0
  178. package/internal/tslib.mjs +17 -0
  179. package/internal/types.d.mts +69 -0
  180. package/internal/types.d.mts.map +1 -0
  181. package/internal/types.d.ts +69 -0
  182. package/internal/types.d.ts.map +1 -0
  183. package/internal/types.js +4 -0
  184. package/internal/types.js.map +1 -0
  185. package/internal/types.mjs +3 -0
  186. package/internal/types.mjs.map +1 -0
  187. package/internal/uploads.d.mts +42 -0
  188. package/internal/uploads.d.mts.map +1 -0
  189. package/internal/uploads.d.ts +42 -0
  190. package/internal/uploads.d.ts.map +1 -0
  191. package/internal/uploads.js +141 -0
  192. package/internal/uploads.js.map +1 -0
  193. package/internal/uploads.mjs +131 -0
  194. package/internal/uploads.mjs.map +1 -0
  195. package/internal/utils/base64.d.mts +3 -0
  196. package/internal/utils/base64.d.mts.map +1 -0
  197. package/internal/utils/base64.d.ts +3 -0
  198. package/internal/utils/base64.d.ts.map +1 -0
  199. package/internal/utils/base64.js +38 -0
  200. package/internal/utils/base64.js.map +1 -0
  201. package/internal/utils/base64.mjs +33 -0
  202. package/internal/utils/base64.mjs.map +1 -0
  203. package/internal/utils/bytes.d.mts +4 -0
  204. package/internal/utils/bytes.d.mts.map +1 -0
  205. package/internal/utils/bytes.d.ts +4 -0
  206. package/internal/utils/bytes.d.ts.map +1 -0
  207. package/internal/utils/bytes.js +31 -0
  208. package/internal/utils/bytes.js.map +1 -0
  209. package/internal/utils/bytes.mjs +26 -0
  210. package/internal/utils/bytes.mjs.map +1 -0
  211. package/internal/utils/env.d.mts +9 -0
  212. package/internal/utils/env.d.mts.map +1 -0
  213. package/internal/utils/env.d.ts +9 -0
  214. package/internal/utils/env.d.ts.map +1 -0
  215. package/internal/utils/env.js +22 -0
  216. package/internal/utils/env.js.map +1 -0
  217. package/internal/utils/env.mjs +18 -0
  218. package/internal/utils/env.mjs.map +1 -0
  219. package/internal/utils/log.d.mts +37 -0
  220. package/internal/utils/log.d.mts.map +1 -0
  221. package/internal/utils/log.d.ts +37 -0
  222. package/internal/utils/log.d.ts.map +1 -0
  223. package/internal/utils/log.js +85 -0
  224. package/internal/utils/log.js.map +1 -0
  225. package/internal/utils/log.mjs +79 -0
  226. package/internal/utils/log.mjs.map +1 -0
  227. package/internal/utils/path.d.mts +15 -0
  228. package/internal/utils/path.d.mts.map +1 -0
  229. package/internal/utils/path.d.ts +15 -0
  230. package/internal/utils/path.d.ts.map +1 -0
  231. package/internal/utils/path.js +79 -0
  232. package/internal/utils/path.js.map +1 -0
  233. package/internal/utils/path.mjs +74 -0
  234. package/internal/utils/path.mjs.map +1 -0
  235. package/internal/utils/sleep.d.mts +2 -0
  236. package/internal/utils/sleep.d.mts.map +1 -0
  237. package/internal/utils/sleep.d.ts +2 -0
  238. package/internal/utils/sleep.d.ts.map +1 -0
  239. package/internal/utils/sleep.js +7 -0
  240. package/internal/utils/sleep.js.map +1 -0
  241. package/internal/utils/sleep.mjs +3 -0
  242. package/internal/utils/sleep.mjs.map +1 -0
  243. package/internal/utils/uuid.d.mts +5 -0
  244. package/internal/utils/uuid.d.mts.map +1 -0
  245. package/internal/utils/uuid.d.ts +5 -0
  246. package/internal/utils/uuid.d.ts.map +1 -0
  247. package/internal/utils/uuid.js +19 -0
  248. package/internal/utils/uuid.js.map +1 -0
  249. package/internal/utils/uuid.mjs +15 -0
  250. package/internal/utils/uuid.mjs.map +1 -0
  251. package/internal/utils/values.d.mts +18 -0
  252. package/internal/utils/values.d.mts.map +1 -0
  253. package/internal/utils/values.d.ts +18 -0
  254. package/internal/utils/values.d.ts.map +1 -0
  255. package/internal/utils/values.js +112 -0
  256. package/internal/utils/values.js.map +1 -0
  257. package/internal/utils/values.mjs +94 -0
  258. package/internal/utils/values.mjs.map +1 -0
  259. package/internal/utils.d.mts +7 -0
  260. package/internal/utils.d.mts.map +1 -0
  261. package/internal/utils.d.ts +7 -0
  262. package/internal/utils.d.ts.map +1 -0
  263. package/internal/utils.js +11 -0
  264. package/internal/utils.js.map +1 -0
  265. package/internal/utils.mjs +8 -0
  266. package/internal/utils.mjs.map +1 -0
  267. package/package.json +113 -64
  268. package/pagination.d.mts +2 -0
  269. package/pagination.d.mts.map +1 -0
  270. package/pagination.d.ts +1 -36
  271. package/pagination.d.ts.map +1 -1
  272. package/pagination.js +3 -40
  273. package/pagination.js.map +1 -1
  274. package/pagination.mjs +1 -38
  275. package/pagination.mjs.map +1 -1
  276. package/resource.d.mts +2 -0
  277. package/resource.d.mts.map +1 -0
  278. package/resource.d.ts +1 -5
  279. package/resource.d.ts.map +1 -1
  280. package/resource.js +3 -8
  281. package/resource.js.map +1 -1
  282. package/resource.mjs +1 -6
  283. package/resource.mjs.map +1 -1
  284. package/resources/index.d.mts +5 -0
  285. package/resources/index.d.mts.map +1 -0
  286. package/resources/index.d.ts.map +1 -1
  287. package/resources/index.js +2 -15
  288. package/resources/index.js.map +1 -1
  289. package/resources/shared.d.mts +2363 -0
  290. package/resources/shared.d.mts.map +1 -0
  291. package/resources/shared.d.ts +1470 -465
  292. package/resources/shared.d.ts.map +1 -1
  293. package/resources/v1/alerts.d.mts +207 -0
  294. package/resources/v1/alerts.d.mts.map +1 -0
  295. package/resources/v1/alerts.d.ts +107 -32
  296. package/resources/v1/alerts.d.ts.map +1 -1
  297. package/resources/v1/alerts.js +74 -3
  298. package/resources/v1/alerts.js.map +1 -1
  299. package/resources/v1/alerts.mjs +74 -3
  300. package/resources/v1/alerts.mjs.map +1 -1
  301. package/resources/v1/audit-logs.d.mts +108 -0
  302. package/resources/v1/audit-logs.d.mts.map +1 -0
  303. package/resources/v1/audit-logs.d.ts +45 -12
  304. package/resources/v1/audit-logs.d.ts.map +1 -1
  305. package/resources/v1/audit-logs.js +53 -12
  306. package/resources/v1/audit-logs.js.map +1 -1
  307. package/resources/v1/audit-logs.mjs +52 -10
  308. package/resources/v1/audit-logs.mjs.map +1 -1
  309. package/resources/v1/billable-metrics.d.mts +293 -0
  310. package/resources/v1/billable-metrics.d.mts.map +1 -0
  311. package/resources/v1/billable-metrics.d.ts +70 -15
  312. package/resources/v1/billable-metrics.d.ts.map +1 -1
  313. package/resources/v1/billable-metrics.js +70 -16
  314. package/resources/v1/billable-metrics.js.map +1 -1
  315. package/resources/v1/billable-metrics.mjs +69 -14
  316. package/resources/v1/billable-metrics.mjs.map +1 -1
  317. package/resources/v1/contracts/contracts.d.mts +3006 -0
  318. package/resources/v1/contracts/contracts.d.mts.map +1 -0
  319. package/resources/v1/contracts/contracts.d.ts +428 -1299
  320. package/resources/v1/contracts/contracts.d.ts.map +1 -1
  321. package/resources/v1/contracts/contracts.js +269 -50
  322. package/resources/v1/contracts/contracts.js.map +1 -1
  323. package/resources/v1/contracts/contracts.mjs +267 -26
  324. package/resources/v1/contracts/contracts.mjs.map +1 -1
  325. package/resources/v1/contracts/index.d.mts +5 -0
  326. package/resources/v1/contracts/index.d.mts.map +1 -0
  327. package/resources/v1/contracts/index.d.ts +3 -3
  328. package/resources/v1/contracts/index.d.ts.map +1 -1
  329. package/resources/v1/contracts/index.js +1 -3
  330. package/resources/v1/contracts/index.js.map +1 -1
  331. package/resources/v1/contracts/index.mjs +2 -2
  332. package/resources/v1/contracts/index.mjs.map +1 -1
  333. package/resources/v1/contracts/named-schedules.d.mts +82 -0
  334. package/resources/v1/contracts/named-schedules.d.mts.map +1 -0
  335. package/resources/v1/contracts/named-schedules.d.ts +5 -4
  336. package/resources/v1/contracts/named-schedules.d.ts.map +1 -1
  337. package/resources/v1/contracts/named-schedules.js +3 -2
  338. package/resources/v1/contracts/named-schedules.js.map +1 -1
  339. package/resources/v1/contracts/named-schedules.mjs +3 -2
  340. package/resources/v1/contracts/named-schedules.mjs.map +1 -1
  341. package/resources/v1/contracts/products.d.mts +502 -0
  342. package/resources/v1/contracts/products.d.mts.map +1 -0
  343. package/resources/v1/contracts/products.d.ts +44 -17
  344. package/resources/v1/contracts/products.d.ts.map +1 -1
  345. package/resources/v1/contracts/products.js +41 -17
  346. package/resources/v1/contracts/products.js.map +1 -1
  347. package/resources/v1/contracts/products.mjs +40 -15
  348. package/resources/v1/contracts/products.mjs.map +1 -1
  349. package/resources/v1/contracts/rate-cards/index.d.mts +5 -0
  350. package/resources/v1/contracts/rate-cards/index.d.mts.map +1 -0
  351. package/resources/v1/contracts/rate-cards/index.d.ts +2 -2
  352. package/resources/v1/contracts/rate-cards/index.d.ts.map +1 -1
  353. package/resources/v1/contracts/rate-cards/index.js +1 -3
  354. package/resources/v1/contracts/rate-cards/index.js.map +1 -1
  355. package/resources/v1/contracts/rate-cards/index.mjs +2 -2
  356. package/resources/v1/contracts/rate-cards/index.mjs.map +1 -1
  357. package/resources/v1/contracts/rate-cards/named-schedules.d.mts +94 -0
  358. package/resources/v1/contracts/rate-cards/named-schedules.d.mts.map +1 -0
  359. package/resources/v1/contracts/rate-cards/named-schedules.d.ts +5 -4
  360. package/resources/v1/contracts/rate-cards/named-schedules.d.ts.map +1 -1
  361. package/resources/v1/contracts/rate-cards/named-schedules.js +3 -2
  362. package/resources/v1/contracts/rate-cards/named-schedules.js.map +1 -1
  363. package/resources/v1/contracts/rate-cards/named-schedules.mjs +3 -2
  364. package/resources/v1/contracts/rate-cards/named-schedules.mjs.map +1 -1
  365. package/resources/v1/contracts/rate-cards/product-orders.d.mts +85 -0
  366. package/resources/v1/contracts/rate-cards/product-orders.d.mts.map +1 -0
  367. package/resources/v1/contracts/rate-cards/product-orders.d.ts +12 -6
  368. package/resources/v1/contracts/rate-cards/product-orders.d.ts.map +1 -1
  369. package/resources/v1/contracts/rate-cards/product-orders.js +8 -3
  370. package/resources/v1/contracts/rate-cards/product-orders.js.map +1 -1
  371. package/resources/v1/contracts/rate-cards/product-orders.mjs +8 -3
  372. package/resources/v1/contracts/rate-cards/product-orders.mjs.map +1 -1
  373. package/resources/v1/contracts/rate-cards/rate-cards.d.mts +452 -0
  374. package/resources/v1/contracts/rate-cards/rate-cards.d.mts.map +1 -0
  375. package/resources/v1/contracts/rate-cards/rate-cards.d.ts +134 -41
  376. package/resources/v1/contracts/rate-cards/rate-cards.d.ts.map +1 -1
  377. package/resources/v1/contracts/rate-cards/rate-cards.js +127 -47
  378. package/resources/v1/contracts/rate-cards/rate-cards.js.map +1 -1
  379. package/resources/v1/contracts/rate-cards/rate-cards.mjs +123 -20
  380. package/resources/v1/contracts/rate-cards/rate-cards.mjs.map +1 -1
  381. package/resources/v1/contracts/rate-cards/rates.d.mts +382 -0
  382. package/resources/v1/contracts/rate-cards/rates.d.mts.map +1 -0
  383. package/resources/v1/contracts/rate-cards/rates.d.ts +25 -82
  384. package/resources/v1/contracts/rate-cards/rates.d.ts.map +1 -1
  385. package/resources/v1/contracts/rate-cards/rates.js +13 -9
  386. package/resources/v1/contracts/rate-cards/rates.js.map +1 -1
  387. package/resources/v1/contracts/rate-cards/rates.mjs +12 -7
  388. package/resources/v1/contracts/rate-cards/rates.mjs.map +1 -1
  389. package/resources/v1/contracts/rate-cards.d.mts +2 -0
  390. package/resources/v1/contracts/rate-cards.d.mts.map +1 -0
  391. package/resources/v1/contracts/rate-cards.d.ts.map +1 -1
  392. package/resources/v1/contracts/rate-cards.js +2 -15
  393. package/resources/v1/contracts/rate-cards.js.map +1 -1
  394. package/resources/v1/contracts.d.mts +2 -0
  395. package/resources/v1/contracts.d.mts.map +1 -0
  396. package/resources/v1/contracts.d.ts.map +1 -1
  397. package/resources/v1/contracts.js +2 -15
  398. package/resources/v1/contracts.js.map +1 -1
  399. package/resources/v1/credit-grants.d.mts +505 -0
  400. package/resources/v1/credit-grants.d.mts.map +1 -0
  401. package/resources/v1/credit-grants.d.ts +73 -74
  402. package/resources/v1/credit-grants.d.ts.map +1 -1
  403. package/resources/v1/credit-grants.js +52 -18
  404. package/resources/v1/credit-grants.js.map +1 -1
  405. package/resources/v1/credit-grants.mjs +51 -16
  406. package/resources/v1/credit-grants.mjs.map +1 -1
  407. package/resources/v1/custom-fields.d.mts +151 -0
  408. package/resources/v1/custom-fields.d.mts.map +1 -0
  409. package/resources/v1/custom-fields.d.ts +69 -38
  410. package/resources/v1/custom-fields.d.ts.map +1 -1
  411. package/resources/v1/custom-fields.js +66 -22
  412. package/resources/v1/custom-fields.js.map +1 -1
  413. package/resources/v1/custom-fields.mjs +66 -22
  414. package/resources/v1/custom-fields.mjs.map +1 -1
  415. package/resources/v1/customers/alerts.d.mts +309 -0
  416. package/resources/v1/customers/alerts.d.mts.map +1 -0
  417. package/resources/v1/customers/alerts.d.ts +176 -50
  418. package/resources/v1/customers/alerts.d.ts.map +1 -1
  419. package/resources/v1/customers/alerts.js +131 -10
  420. package/resources/v1/customers/alerts.js.map +1 -1
  421. package/resources/v1/customers/alerts.mjs +131 -10
  422. package/resources/v1/customers/alerts.mjs.map +1 -1
  423. package/resources/v1/customers/billing-config.d.mts +125 -0
  424. package/resources/v1/customers/billing-config.d.mts.map +1 -0
  425. package/resources/v1/customers/billing-config.d.ts +8 -7
  426. package/resources/v1/customers/billing-config.d.ts.map +1 -1
  427. package/resources/v1/customers/billing-config.js +8 -6
  428. package/resources/v1/customers/billing-config.js.map +1 -1
  429. package/resources/v1/customers/billing-config.mjs +8 -6
  430. package/resources/v1/customers/billing-config.mjs.map +1 -1
  431. package/resources/v1/customers/commits.d.mts +456 -0
  432. package/resources/v1/customers/commits.d.mts.map +1 -0
  433. package/resources/v1/customers/commits.d.ts +139 -47
  434. package/resources/v1/customers/commits.d.ts.map +1 -1
  435. package/resources/v1/customers/commits.js +131 -12
  436. package/resources/v1/customers/commits.js.map +1 -1
  437. package/resources/v1/customers/commits.mjs +131 -12
  438. package/resources/v1/customers/commits.mjs.map +1 -1
  439. package/resources/v1/customers/credits.d.mts +310 -0
  440. package/resources/v1/customers/credits.d.mts.map +1 -0
  441. package/resources/v1/customers/credits.d.ts +124 -46
  442. package/resources/v1/customers/credits.d.ts.map +1 -1
  443. package/resources/v1/customers/credits.js +116 -11
  444. package/resources/v1/customers/credits.js.map +1 -1
  445. package/resources/v1/customers/credits.mjs +116 -11
  446. package/resources/v1/customers/credits.mjs.map +1 -1
  447. package/resources/v1/customers/customers.d.mts +819 -0
  448. package/resources/v1/customers/customers.d.mts.map +1 -0
  449. package/resources/v1/customers/customers.d.ts +319 -55
  450. package/resources/v1/customers/customers.d.ts.map +1 -1
  451. package/resources/v1/customers/customers.js +220 -76
  452. package/resources/v1/customers/customers.js.map +1 -1
  453. package/resources/v1/customers/customers.mjs +213 -44
  454. package/resources/v1/customers/customers.mjs.map +1 -1
  455. package/resources/v1/customers/index.d.mts +9 -0
  456. package/resources/v1/customers/index.d.mts.map +1 -0
  457. package/resources/v1/customers/index.d.ts +6 -6
  458. package/resources/v1/customers/index.d.ts.map +1 -1
  459. package/resources/v1/customers/index.js +1 -8
  460. package/resources/v1/customers/index.js.map +1 -1
  461. package/resources/v1/customers/index.mjs +3 -3
  462. package/resources/v1/customers/index.mjs.map +1 -1
  463. package/resources/v1/customers/invoices.d.mts +825 -0
  464. package/resources/v1/customers/invoices.d.mts.map +1 -0
  465. package/resources/v1/customers/invoices.d.ts +309 -25
  466. package/resources/v1/customers/invoices.d.ts.map +1 -1
  467. package/resources/v1/customers/invoices.js +180 -22
  468. package/resources/v1/customers/invoices.js.map +1 -1
  469. package/resources/v1/customers/invoices.mjs +179 -19
  470. package/resources/v1/customers/invoices.mjs.map +1 -1
  471. package/resources/v1/customers/named-schedules.d.mts +82 -0
  472. package/resources/v1/customers/named-schedules.d.mts.map +1 -0
  473. package/resources/v1/customers/named-schedules.d.ts +5 -4
  474. package/resources/v1/customers/named-schedules.d.ts.map +1 -1
  475. package/resources/v1/customers/named-schedules.js +3 -2
  476. package/resources/v1/customers/named-schedules.js.map +1 -1
  477. package/resources/v1/customers/named-schedules.mjs +3 -2
  478. package/resources/v1/customers/named-schedules.mjs.map +1 -1
  479. package/resources/v1/customers/plans.d.mts +281 -0
  480. package/resources/v1/customers/plans.d.mts.map +1 -0
  481. package/resources/v1/customers/plans.d.ts +14 -12
  482. package/resources/v1/customers/plans.d.ts.map +1 -1
  483. package/resources/v1/customers/plans.js +8 -15
  484. package/resources/v1/customers/plans.js.map +1 -1
  485. package/resources/v1/customers/plans.mjs +7 -12
  486. package/resources/v1/customers/plans.mjs.map +1 -1
  487. package/resources/v1/customers.d.mts +2 -0
  488. package/resources/v1/customers.d.mts.map +1 -0
  489. package/resources/v1/customers.d.ts.map +1 -1
  490. package/resources/v1/customers.js +2 -15
  491. package/resources/v1/customers.js.map +1 -1
  492. package/resources/v1/dashboards.d.mts +133 -0
  493. package/resources/v1/dashboards.d.mts.map +1 -0
  494. package/resources/v1/dashboards.d.ts +33 -6
  495. package/resources/v1/dashboards.d.ts.map +1 -1
  496. package/resources/v1/dashboards.js +30 -4
  497. package/resources/v1/dashboards.js.map +1 -1
  498. package/resources/v1/dashboards.mjs +30 -4
  499. package/resources/v1/dashboards.mjs.map +1 -1
  500. package/resources/v1/index.d.mts +16 -0
  501. package/resources/v1/index.d.mts.map +1 -0
  502. package/resources/v1/index.d.ts +10 -9
  503. package/resources/v1/index.d.ts.map +1 -1
  504. package/resources/v1/index.js +3 -12
  505. package/resources/v1/index.js.map +1 -1
  506. package/resources/v1/index.mjs +8 -7
  507. package/resources/v1/index.mjs.map +1 -1
  508. package/resources/v1/invoices.d.mts +83 -0
  509. package/resources/v1/invoices.d.mts.map +1 -0
  510. package/resources/v1/invoices.d.ts +28 -6
  511. package/resources/v1/invoices.d.ts.map +1 -1
  512. package/resources/v1/invoices.js +24 -3
  513. package/resources/v1/invoices.js.map +1 -1
  514. package/resources/v1/invoices.mjs +24 -3
  515. package/resources/v1/invoices.mjs.map +1 -1
  516. package/resources/v1/payments.d.mts +116 -0
  517. package/resources/v1/payments.d.mts.map +1 -0
  518. package/resources/v1/payments.d.ts +116 -0
  519. package/resources/v1/payments.d.ts.map +1 -0
  520. package/resources/v1/payments.js +71 -0
  521. package/resources/v1/payments.js.map +1 -0
  522. package/resources/v1/payments.mjs +67 -0
  523. package/resources/v1/payments.mjs.map +1 -0
  524. package/resources/v1/plans.d.mts +240 -0
  525. package/resources/v1/plans.d.mts.map +1 -0
  526. package/resources/v1/plans.d.ts +24 -15
  527. package/resources/v1/plans.d.ts.map +1 -1
  528. package/resources/v1/plans.js +19 -26
  529. package/resources/v1/plans.js.map +1 -1
  530. package/resources/v1/plans.mjs +18 -22
  531. package/resources/v1/plans.mjs.map +1 -1
  532. package/resources/v1/pricing-units.d.mts +34 -0
  533. package/resources/v1/pricing-units.d.mts.map +1 -0
  534. package/resources/v1/pricing-units.d.ts +12 -9
  535. package/resources/v1/pricing-units.d.ts.map +1 -1
  536. package/resources/v1/pricing-units.js +20 -12
  537. package/resources/v1/pricing-units.js.map +1 -1
  538. package/resources/v1/pricing-units.mjs +19 -10
  539. package/resources/v1/pricing-units.mjs.map +1 -1
  540. package/resources/v1/services.d.mts +33 -0
  541. package/resources/v1/services.d.mts.map +1 -0
  542. package/resources/v1/services.d.ts +10 -7
  543. package/resources/v1/services.d.ts.map +1 -1
  544. package/resources/v1/services.js +7 -5
  545. package/resources/v1/services.js.map +1 -1
  546. package/resources/v1/services.mjs +7 -5
  547. package/resources/v1/services.mjs.map +1 -1
  548. package/resources/v1/usage.d.mts +490 -0
  549. package/resources/v1/usage.d.mts.map +1 -0
  550. package/resources/v1/usage.d.ts +223 -58
  551. package/resources/v1/usage.d.ts.map +1 -1
  552. package/resources/v1/usage.js +214 -26
  553. package/resources/v1/usage.js.map +1 -1
  554. package/resources/v1/usage.mjs +213 -24
  555. package/resources/v1/usage.mjs.map +1 -1
  556. package/resources/v1/v1.d.mts +62 -0
  557. package/resources/v1/v1.d.mts.map +1 -0
  558. package/resources/v1/v1.d.ts +19 -15
  559. package/resources/v1/v1.d.ts.map +1 -1
  560. package/resources/v1/v1.js +19 -48
  561. package/resources/v1/v1.js.map +1 -1
  562. package/resources/v1/v1.mjs +12 -19
  563. package/resources/v1/v1.mjs.map +1 -1
  564. package/resources/v1.d.mts +2 -0
  565. package/resources/v1.d.mts.map +1 -0
  566. package/resources/v1.d.ts.map +1 -1
  567. package/resources/v1.js +2 -15
  568. package/resources/v1.js.map +1 -1
  569. package/resources/v2/contracts.d.mts +2900 -0
  570. package/resources/v2/contracts.d.mts.map +1 -0
  571. package/resources/v2/contracts.d.ts +399 -3830
  572. package/resources/v2/contracts.d.ts.map +1 -1
  573. package/resources/v2/contracts.js +102 -12
  574. package/resources/v2/contracts.js.map +1 -1
  575. package/resources/v2/contracts.mjs +102 -12
  576. package/resources/v2/contracts.mjs.map +1 -1
  577. package/resources/v2/index.d.mts +3 -0
  578. package/resources/v2/index.d.mts.map +1 -0
  579. package/resources/v2/index.d.ts.map +1 -1
  580. package/resources/v2/v2.d.mts +10 -0
  581. package/resources/v2/v2.d.mts.map +1 -0
  582. package/resources/v2/v2.d.ts +1 -1
  583. package/resources/v2/v2.d.ts.map +1 -1
  584. package/resources/v2/v2.js +3 -25
  585. package/resources/v2/v2.js.map +1 -1
  586. package/resources/v2/v2.mjs +1 -1
  587. package/resources/v2.d.mts +2 -0
  588. package/resources/v2.d.mts.map +1 -0
  589. package/resources/v2.d.ts.map +1 -1
  590. package/resources/v2.js +2 -15
  591. package/resources/v2.js.map +1 -1
  592. package/resources/webhooks.d.mts +22 -0
  593. package/resources/webhooks.d.mts.map +1 -0
  594. package/resources/webhooks.d.ts +1 -1
  595. package/resources/webhooks.d.ts.map +1 -1
  596. package/resources/webhooks.js +3 -3
  597. package/resources/webhooks.js.map +1 -1
  598. package/resources/webhooks.mjs +1 -1
  599. package/resources/webhooks.mjs.map +1 -1
  600. package/resources.d.mts +2 -0
  601. package/resources.d.mts.map +1 -0
  602. package/resources.d.ts.map +1 -1
  603. package/resources.js +2 -15
  604. package/resources.js.map +1 -1
  605. package/src/api-promise.ts +2 -0
  606. package/src/client.ts +809 -0
  607. package/src/core/README.md +3 -0
  608. package/src/core/api-promise.ts +92 -0
  609. package/src/core/error.ts +130 -0
  610. package/src/core/pagination.ts +319 -0
  611. package/src/core/resource.ts +11 -0
  612. package/src/core/uploads.ts +2 -0
  613. package/src/error.ts +2 -130
  614. package/src/index.ts +6 -221
  615. package/src/internal/README.md +3 -0
  616. package/src/internal/builtin-types.ts +93 -0
  617. package/src/internal/detect-platform.ts +196 -0
  618. package/src/internal/errors.ts +33 -0
  619. package/src/internal/headers.ts +144 -0
  620. package/src/internal/parse.ts +50 -0
  621. package/src/internal/qs/formats.ts +3 -2
  622. package/src/internal/qs/index.ts +3 -3
  623. package/src/internal/qs/stringify.ts +18 -21
  624. package/src/internal/qs/utils.ts +16 -16
  625. package/src/internal/request-options.ts +91 -0
  626. package/src/internal/shim-types.ts +26 -0
  627. package/src/internal/shims.ts +107 -0
  628. package/src/internal/to-file.ts +154 -0
  629. package/src/internal/types.ts +95 -0
  630. package/src/internal/uploads.ts +187 -0
  631. package/src/internal/utils/base64.ts +40 -0
  632. package/src/internal/utils/bytes.ts +32 -0
  633. package/src/internal/utils/env.ts +18 -0
  634. package/src/internal/utils/log.ts +126 -0
  635. package/src/internal/utils/path.ts +88 -0
  636. package/src/internal/utils/sleep.ts +3 -0
  637. package/src/internal/utils/uuid.ts +17 -0
  638. package/src/internal/utils/values.ts +105 -0
  639. package/src/internal/utils.ts +8 -0
  640. package/src/pagination.ts +2 -82
  641. package/src/resource.ts +2 -11
  642. package/src/resources/index.ts +4 -4
  643. package/src/resources/shared.ts +1921 -506
  644. package/src/resources/v1/alerts.ts +108 -33
  645. package/src/resources/v1/audit-logs.ts +48 -26
  646. package/src/resources/v1/billable-metrics.ts +79 -34
  647. package/src/resources/v1/contracts/contracts.ts +490 -1632
  648. package/src/resources/v1/contracts/index.ts +7 -6
  649. package/src/resources/v1/contracts/named-schedules.ts +8 -6
  650. package/src/resources/v1/contracts/products.ts +50 -38
  651. package/src/resources/v1/contracts/rate-cards/index.ts +6 -6
  652. package/src/resources/v1/contracts/rate-cards/named-schedules.ts +8 -6
  653. package/src/resources/v1/contracts/rate-cards/product-orders.ts +13 -10
  654. package/src/resources/v1/contracts/rate-cards/rate-cards.ts +145 -72
  655. package/src/resources/v1/contracts/rate-cards/rates.ts +28 -98
  656. package/src/resources/v1/contracts/rate-cards.ts +1 -1
  657. package/src/resources/v1/contracts.ts +1 -1
  658. package/src/resources/v1/credit-grants.ts +100 -112
  659. package/src/resources/v1/custom-fields.ts +106 -74
  660. package/src/resources/v1/customers/alerts.ts +195 -55
  661. package/src/resources/v1/customers/billing-config.ts +27 -13
  662. package/src/resources/v1/customers/commits.ts +146 -54
  663. package/src/resources/v1/customers/credits.ts +131 -53
  664. package/src/resources/v1/customers/customers.ts +407 -115
  665. package/src/resources/v1/customers/index.ts +20 -18
  666. package/src/resources/v1/customers/invoices.ts +343 -42
  667. package/src/resources/v1/customers/named-schedules.ts +8 -6
  668. package/src/resources/v1/customers/plans.ts +24 -22
  669. package/src/resources/v1/customers.ts +1 -1
  670. package/src/resources/v1/dashboards.ts +34 -7
  671. package/src/resources/v1/index.ts +43 -25
  672. package/src/resources/v1/invoices.ts +28 -9
  673. package/src/resources/v1/payments.ts +170 -0
  674. package/src/resources/v1/plans.ts +42 -43
  675. package/src/resources/v1/pricing-units.ts +15 -23
  676. package/src/resources/v1/services.ts +10 -7
  677. package/src/resources/v1/usage.ts +247 -73
  678. package/src/resources/v1/v1.ts +78 -49
  679. package/src/resources/v1.ts +1 -1
  680. package/src/resources/v2/contracts.ts +469 -4930
  681. package/src/resources/v2/index.ts +2 -2
  682. package/src/resources/v2/v2.ts +3 -3
  683. package/src/resources/v2.ts +1 -1
  684. package/src/resources/webhooks.ts +2 -2
  685. package/src/resources.ts +1 -1
  686. package/src/tsconfig.json +2 -2
  687. package/src/uploads.ts +2 -255
  688. package/src/version.ts +1 -1
  689. package/uploads.d.mts +2 -0
  690. package/uploads.d.mts.map +1 -0
  691. package/uploads.d.ts +1 -74
  692. package/uploads.d.ts.map +1 -1
  693. package/uploads.js +3 -168
  694. package/uploads.js.map +1 -1
  695. package/uploads.mjs +1 -157
  696. package/uploads.mjs.map +1 -1
  697. package/version.d.mts +2 -0
  698. package/version.d.mts.map +1 -0
  699. package/version.d.ts +1 -1
  700. package/version.js +1 -1
  701. package/version.mjs +1 -1
  702. package/_shims/MultipartBody.d.ts +0 -9
  703. package/_shims/MultipartBody.d.ts.map +0 -1
  704. package/_shims/MultipartBody.js +0 -16
  705. package/_shims/MultipartBody.js.map +0 -1
  706. package/_shims/MultipartBody.mjs +0 -12
  707. package/_shims/MultipartBody.mjs.map +0 -1
  708. package/_shims/README.md +0 -46
  709. package/_shims/auto/runtime-bun.d.ts +0 -5
  710. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  711. package/_shims/auto/runtime-bun.js +0 -21
  712. package/_shims/auto/runtime-bun.js.map +0 -1
  713. package/_shims/auto/runtime-bun.mjs +0 -2
  714. package/_shims/auto/runtime-bun.mjs.map +0 -1
  715. package/_shims/auto/runtime-node.d.ts +0 -5
  716. package/_shims/auto/runtime-node.d.ts.map +0 -1
  717. package/_shims/auto/runtime-node.js +0 -21
  718. package/_shims/auto/runtime-node.js.map +0 -1
  719. package/_shims/auto/runtime-node.mjs +0 -2
  720. package/_shims/auto/runtime-node.mjs.map +0 -1
  721. package/_shims/auto/runtime.d.ts +0 -5
  722. package/_shims/auto/runtime.d.ts.map +0 -1
  723. package/_shims/auto/runtime.js +0 -21
  724. package/_shims/auto/runtime.js.map +0 -1
  725. package/_shims/auto/runtime.mjs +0 -2
  726. package/_shims/auto/runtime.mjs.map +0 -1
  727. package/_shims/auto/types-node.d.ts +0 -5
  728. package/_shims/auto/types-node.d.ts.map +0 -1
  729. package/_shims/auto/types-node.js +0 -21
  730. package/_shims/auto/types-node.js.map +0 -1
  731. package/_shims/auto/types-node.mjs +0 -2
  732. package/_shims/auto/types-node.mjs.map +0 -1
  733. package/_shims/auto/types.d.ts +0 -101
  734. package/_shims/auto/types.js +0 -3
  735. package/_shims/auto/types.mjs +0 -3
  736. package/_shims/bun-runtime.d.ts +0 -6
  737. package/_shims/bun-runtime.d.ts.map +0 -1
  738. package/_shims/bun-runtime.js +0 -14
  739. package/_shims/bun-runtime.js.map +0 -1
  740. package/_shims/bun-runtime.mjs +0 -10
  741. package/_shims/bun-runtime.mjs.map +0 -1
  742. package/_shims/index.d.ts +0 -83
  743. package/_shims/index.js +0 -17
  744. package/_shims/index.mjs +0 -11
  745. package/_shims/manual-types.d.ts +0 -12
  746. package/_shims/manual-types.js +0 -3
  747. package/_shims/manual-types.mjs +0 -3
  748. package/_shims/node-runtime.d.ts +0 -3
  749. package/_shims/node-runtime.d.ts.map +0 -1
  750. package/_shims/node-runtime.js +0 -89
  751. package/_shims/node-runtime.js.map +0 -1
  752. package/_shims/node-runtime.mjs +0 -56
  753. package/_shims/node-runtime.mjs.map +0 -1
  754. package/_shims/node-types.d.ts +0 -42
  755. package/_shims/node-types.js +0 -3
  756. package/_shims/node-types.mjs +0 -3
  757. package/_shims/registry.d.ts +0 -37
  758. package/_shims/registry.d.ts.map +0 -1
  759. package/_shims/registry.js +0 -41
  760. package/_shims/registry.js.map +0 -1
  761. package/_shims/registry.mjs +0 -37
  762. package/_shims/registry.mjs.map +0 -1
  763. package/_shims/web-runtime.d.ts +0 -5
  764. package/_shims/web-runtime.d.ts.map +0 -1
  765. package/_shims/web-runtime.js +0 -78
  766. package/_shims/web-runtime.js.map +0 -1
  767. package/_shims/web-runtime.mjs +0 -71
  768. package/_shims/web-runtime.mjs.map +0 -1
  769. package/_shims/web-types.d.ts +0 -83
  770. package/_shims/web-types.js +0 -3
  771. package/_shims/web-types.mjs +0 -3
  772. package/core.d.ts +0 -255
  773. package/core.d.ts.map +0 -1
  774. package/core.js +0 -924
  775. package/core.js.map +0 -1
  776. package/core.mjs +0 -892
  777. package/core.mjs.map +0 -1
  778. package/shims/node.d.ts +0 -30
  779. package/shims/node.d.ts.map +0 -1
  780. package/shims/node.js +0 -31
  781. package/shims/node.js.map +0 -1
  782. package/shims/node.mjs +0 -5
  783. package/shims/node.mjs.map +0 -1
  784. package/shims/web.d.ts +0 -26
  785. package/shims/web.d.ts.map +0 -1
  786. package/shims/web.js +0 -31
  787. package/shims/web.js.map +0 -1
  788. package/shims/web.mjs +0 -5
  789. package/shims/web.mjs.map +0 -1
  790. package/src/_shims/MultipartBody.ts +0 -9
  791. package/src/_shims/README.md +0 -46
  792. package/src/_shims/auto/runtime-bun.ts +0 -4
  793. package/src/_shims/auto/runtime-node.ts +0 -4
  794. package/src/_shims/auto/runtime.ts +0 -4
  795. package/src/_shims/auto/types-node.ts +0 -4
  796. package/src/_shims/auto/types.d.ts +0 -101
  797. package/src/_shims/auto/types.js +0 -3
  798. package/src/_shims/auto/types.mjs +0 -3
  799. package/src/_shims/bun-runtime.ts +0 -14
  800. package/src/_shims/index.d.ts +0 -83
  801. package/src/_shims/index.js +0 -17
  802. package/src/_shims/index.mjs +0 -11
  803. package/src/_shims/manual-types.d.ts +0 -12
  804. package/src/_shims/manual-types.js +0 -3
  805. package/src/_shims/manual-types.mjs +0 -3
  806. package/src/_shims/node-runtime.ts +0 -81
  807. package/src/_shims/node-types.d.ts +0 -42
  808. package/src/_shims/node-types.js +0 -3
  809. package/src/_shims/node-types.mjs +0 -3
  810. package/src/_shims/registry.ts +0 -67
  811. package/src/_shims/web-runtime.ts +0 -103
  812. package/src/_shims/web-types.d.ts +0 -83
  813. package/src/_shims/web-types.js +0 -3
  814. package/src/_shims/web-types.mjs +0 -3
  815. package/src/core.ts +0 -1236
  816. package/src/shims/node.ts +0 -50
  817. package/src/shims/web.ts +0 -50
@@ -1,48 +1,44 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from "../../../resource.js";
4
- import { isRequestOptions } from "../../../core.js";
5
- import * as Core from "../../../core.js";
6
- import * as Shared from "../../shared.js";
7
- import * as AlertsAPI from "./alerts.js";
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as Shared from '../../shared';
5
+ import * as AlertsAPI from './alerts';
8
6
  import {
9
7
  AlertListParams,
10
- AlertListResponse,
11
8
  AlertResetParams,
12
9
  AlertRetrieveParams,
13
10
  AlertRetrieveResponse,
14
11
  Alerts,
15
12
  CustomerAlert,
16
- } from "./alerts.js";
17
- import * as BillingConfigAPI from "./billing-config.js";
13
+ CustomerAlertsCursorPageWithoutLimit,
14
+ } from './alerts';
15
+ import * as BillingConfigAPI from './billing-config';
18
16
  import {
19
17
  BillingConfig as BillingConfigAPIBillingConfig,
20
18
  BillingConfigCreateParams,
21
19
  BillingConfigDeleteParams,
22
20
  BillingConfigRetrieveParams,
23
21
  BillingConfigRetrieveResponse,
24
- } from "./billing-config.js";
25
- import * as CommitsAPI from "./commits.js";
22
+ } from './billing-config';
23
+ import * as CommitsAPI from './commits';
26
24
  import {
27
25
  CommitCreateParams,
28
26
  CommitCreateResponse,
29
27
  CommitListParams,
30
- CommitListResponse,
31
28
  CommitUpdateEndDateParams,
32
29
  CommitUpdateEndDateResponse,
33
30
  Commits,
34
- } from "./commits.js";
35
- import * as CreditsAPI from "./credits.js";
31
+ } from './commits';
32
+ import * as CreditsAPI from './credits';
36
33
  import {
37
34
  CreditCreateParams,
38
35
  CreditCreateResponse,
39
36
  CreditListParams,
40
- CreditListResponse,
41
37
  CreditUpdateEndDateParams,
42
38
  CreditUpdateEndDateResponse,
43
39
  Credits,
44
- } from "./credits.js";
45
- import * as InvoicesAPI from "./invoices.js";
40
+ } from './credits';
41
+ import * as InvoicesAPI from './invoices';
46
42
  import {
47
43
  Invoice,
48
44
  InvoiceAddChargeParams,
@@ -52,18 +48,19 @@ import {
52
48
  InvoiceListBreakdownsResponsesCursorPage,
53
49
  InvoiceListParams,
54
50
  InvoiceRetrieveParams,
51
+ InvoiceRetrievePdfParams,
55
52
  InvoiceRetrieveResponse,
56
53
  Invoices,
57
54
  InvoicesCursorPage,
58
- } from "./invoices.js";
59
- import * as NamedSchedulesAPI from "./named-schedules.js";
55
+ } from './invoices';
56
+ import * as NamedSchedulesAPI from './named-schedules';
60
57
  import {
61
58
  NamedScheduleRetrieveParams,
62
59
  NamedScheduleRetrieveResponse,
63
60
  NamedScheduleUpdateParams,
64
61
  NamedSchedules,
65
- } from "./named-schedules.js";
66
- import * as PlansAPI from "./plans.js";
62
+ } from './named-schedules';
63
+ import * as PlansAPI from './plans';
67
64
  import {
68
65
  PlanAddParams,
69
66
  PlanAddResponse,
@@ -76,8 +73,12 @@ import {
76
73
  PlanListResponse,
77
74
  PlanListResponsesCursorPage,
78
75
  Plans,
79
- } from "./plans.js";
80
- import { CursorPage, type CursorPageParams } from "../../../pagination.js";
76
+ } from './plans';
77
+ import { APIPromise } from '../../../core/api-promise';
78
+ import { CursorPage, type CursorPageParams, PagePromise } from '../../../core/pagination';
79
+ import { buildHeaders } from '../../../internal/headers';
80
+ import { RequestOptions } from '../../../internal/request-options';
81
+ import { path } from '../../../internal/utils/path';
81
82
 
82
83
  export class Customers extends APIResource {
83
84
  alerts: AlertsAPI.Alerts = new AlertsAPI.Alerts(this._client);
@@ -89,7 +90,40 @@ export class Customers extends APIResource {
89
90
  namedSchedules: NamedSchedulesAPI.NamedSchedules = new NamedSchedulesAPI.NamedSchedules(this._client);
90
91
 
91
92
  /**
92
- * Create a new customer
93
+ * Create a new customer in Metronome and optionally the billing configuration
94
+ * (recommended) which dictates where invoices for the customer will be sent or
95
+ * where payment will be collected.
96
+ *
97
+ * ### Use this endpoint to:
98
+ *
99
+ * Execute your customer provisioning workflows for either PLG motions, where
100
+ * customers originate in your platform, or SLG motions, where customers originate
101
+ * in your sales system.
102
+ *
103
+ * ### Key response fields:
104
+ *
105
+ * This end-point returns the `customer_id` created by the request. This id can be
106
+ * used to fetch relevant billing configurations and create contracts.
107
+ *
108
+ * ### Example workflow:
109
+ *
110
+ * - Generally, Metronome recommends first creating the customer in the downstream
111
+ * payment / ERP system when payment method is collected and then creating the
112
+ * customer in Metronome using the response (i.e. `customer_id`) from the
113
+ * downstream system. If you do not create a billing configuration on customer
114
+ * creation, you can add it later.
115
+ * - Once a customer is created, you can then create a contract for the customer.
116
+ * In the contract creation process, you will need to add the customer billing
117
+ * configuration to the contract to ensure Metronome invoices the customer
118
+ * correctly. This is because a customer can have multiple configurations.
119
+ * - As part of the customer creation process, set the ingest alias for the
120
+ * customer which will ensure usage is accurately mapped to the customer. Ingest
121
+ * aliases can be added or changed after the creation process as well.
122
+ *
123
+ * ### Usage guidelines:
124
+ *
125
+ * For details on different billing configurations for different systems, review
126
+ * the `/setCustomerBillingConfiguration` end-point.
93
127
  *
94
128
  * @example
95
129
  * ```ts
@@ -109,12 +143,18 @@ export class Customers extends APIResource {
109
143
  * });
110
144
  * ```
111
145
  */
112
- create(body: CustomerCreateParams, options?: Core.RequestOptions): Core.APIPromise<CustomerCreateResponse> {
146
+ create(body: CustomerCreateParams, options?: RequestOptions): APIPromise<CustomerCreateResponse> {
113
147
  return this._client.post('/v1/customers', { body, ...options });
114
148
  }
115
149
 
116
150
  /**
117
- * Get a customer by Metronome ID.
151
+ * Get detailed information for a specific customer by their Metronome ID. Returns
152
+ * customer profile data including name, creation date, ingest aliases,
153
+ * configuration settings, and custom fields. Use this endpoint to fetch complete
154
+ * customer details for billing operations or account management.
155
+ *
156
+ * Note: If searching for a customer billing configuration, use the
157
+ * `/getCustomerBillingConfigurations` endpoint.
118
158
  *
119
159
  * @example
120
160
  * ```ts
@@ -123,16 +163,17 @@ export class Customers extends APIResource {
123
163
  * });
124
164
  * ```
125
165
  */
126
- retrieve(
127
- params: CustomerRetrieveParams,
128
- options?: Core.RequestOptions,
129
- ): Core.APIPromise<CustomerRetrieveResponse> {
166
+ retrieve(params: CustomerRetrieveParams, options?: RequestOptions): APIPromise<CustomerRetrieveResponse> {
130
167
  const { customer_id } = params;
131
- return this._client.get(`/v1/customers/${customer_id}`, options);
168
+ return this._client.get(path`/v1/customers/${customer_id}`, options);
132
169
  }
133
170
 
134
171
  /**
135
- * List all customers.
172
+ * Gets a paginated list of all customers in your Metronome account. Use this
173
+ * endpoint to browse your customer base, implement customer search functionality,
174
+ * or sync customer data with external systems. Returns customer details including
175
+ * IDs, names, and configuration settings. Supports filtering and pagination
176
+ * parameters for efficient data retrieval.
136
177
  *
137
178
  * @example
138
179
  * ```ts
@@ -143,23 +184,27 @@ export class Customers extends APIResource {
143
184
  * ```
144
185
  */
145
186
  list(
146
- query?: CustomerListParams,
147
- options?: Core.RequestOptions,
148
- ): Core.PagePromise<CustomerDetailsCursorPage, CustomerDetail>;
149
- list(options?: Core.RequestOptions): Core.PagePromise<CustomerDetailsCursorPage, CustomerDetail>;
150
- list(
151
- query: CustomerListParams | Core.RequestOptions = {},
152
- options?: Core.RequestOptions,
153
- ): Core.PagePromise<CustomerDetailsCursorPage, CustomerDetail> {
154
- if (isRequestOptions(query)) {
155
- return this.list({}, query);
156
- }
157
- return this._client.getAPIList('/v1/customers', CustomerDetailsCursorPage, { query, ...options });
187
+ query: CustomerListParams | null | undefined = {},
188
+ options?: RequestOptions,
189
+ ): PagePromise<CustomerDetailsCursorPage, CustomerDetail> {
190
+ return this._client.getAPIList('/v1/customers', CursorPage<CustomerDetail>, { query, ...options });
158
191
  }
159
192
 
160
193
  /**
161
- * Archive a customer Note: any alerts associated with the customer will not be
162
- * triggered.
194
+ * Use this endpoint to archive a customer while preserving auditability. Archiving
195
+ * a customer will automatically archive all contracts as of the current date and
196
+ * void all corresponding invoices. Use this endpoint if a customer is onboarded by
197
+ * mistake.
198
+ *
199
+ * ### Usage guidelines:
200
+ *
201
+ * - Once a customer is archived, it cannot be unarchived.
202
+ * - Archived customers can still be viewed through the API or the UI for audit
203
+ * purposes.
204
+ * - Ingest aliases remain idempotent for archived customers. In order to reuse an
205
+ * ingest alias, first remove the ingest alias from the customer prior to
206
+ * archiving.
207
+ * - Any notifications associated with the customer will no longer be triggered.
163
208
  *
164
209
  * @example
165
210
  * ```ts
@@ -168,15 +213,15 @@ export class Customers extends APIResource {
168
213
  * });
169
214
  * ```
170
215
  */
171
- archive(
172
- body: CustomerArchiveParams,
173
- options?: Core.RequestOptions,
174
- ): Core.APIPromise<CustomerArchiveResponse> {
216
+ archive(body: CustomerArchiveParams, options?: RequestOptions): APIPromise<CustomerArchiveResponse> {
175
217
  return this._client.post('/v1/customers/archive', { body, ...options });
176
218
  }
177
219
 
178
220
  /**
179
- * Get all billable metrics for a given customer.
221
+ * Get all billable metrics available for a specific customer. Supports pagination
222
+ * and filtering by current plan status or archived metrics. Use this endpoint to
223
+ * see which metrics are being tracked for billing calculations for a given
224
+ * customer.
180
225
  *
181
226
  * @example
182
227
  * ```ts
@@ -190,12 +235,12 @@ export class Customers extends APIResource {
190
235
  */
191
236
  listBillableMetrics(
192
237
  params: CustomerListBillableMetricsParams,
193
- options?: Core.RequestOptions,
194
- ): Core.PagePromise<CustomerListBillableMetricsResponsesCursorPage, CustomerListBillableMetricsResponse> {
238
+ options?: RequestOptions,
239
+ ): PagePromise<CustomerListBillableMetricsResponsesCursorPage, CustomerListBillableMetricsResponse> {
195
240
  const { customer_id, ...query } = params;
196
241
  return this._client.getAPIList(
197
- `/v1/customers/${customer_id}/billable-metrics`,
198
- CustomerListBillableMetricsResponsesCursorPage,
242
+ path`/v1/customers/${customer_id}/billable-metrics`,
243
+ CursorPage<CustomerListBillableMetricsResponse>,
199
244
  { query, ...options },
200
245
  );
201
246
  }
@@ -221,21 +266,21 @@ export class Customers extends APIResource {
221
266
  */
222
267
  listCosts(
223
268
  params: CustomerListCostsParams,
224
- options?: Core.RequestOptions,
225
- ): Core.PagePromise<CustomerListCostsResponsesCursorPage, CustomerListCostsResponse> {
269
+ options?: RequestOptions,
270
+ ): PagePromise<CustomerListCostsResponsesCursorPage, CustomerListCostsResponse> {
226
271
  const { customer_id, ...query } = params;
227
272
  return this._client.getAPIList(
228
- `/v1/customers/${customer_id}/costs`,
229
- CustomerListCostsResponsesCursorPage,
273
+ path`/v1/customers/${customer_id}/costs`,
274
+ CursorPage<CustomerListCostsResponse>,
230
275
  { query, ...options },
231
276
  );
232
277
  }
233
278
 
234
279
  /**
235
- * Preview how a set of events will affect a customer's invoice. Generates a draft
236
- * invoice for a customer using their current contract configuration and the
280
+ * Preview how a set of events will affect a customer's invoices. Generates draft
281
+ * invoices for a customer using their current contract configuration and the
237
282
  * provided events. This is useful for testing how new events will affect the
238
- * customer's invoice before they are actually processed.
283
+ * customer's invoices before they are actually processed.
239
284
  *
240
285
  * @example
241
286
  * ```ts
@@ -253,16 +298,132 @@ export class Customers extends APIResource {
253
298
  */
254
299
  previewEvents(
255
300
  params: CustomerPreviewEventsParams,
256
- options?: Core.RequestOptions,
257
- ): Core.APIPromise<CustomerPreviewEventsResponse> {
301
+ options?: RequestOptions,
302
+ ): APIPromise<CustomerPreviewEventsResponse> {
258
303
  const { customer_id, ...body } = params;
259
- return this._client.post(`/v1/customers/${customer_id}/previewEvents`, { body, ...options });
304
+ return this._client.post(path`/v1/customers/${customer_id}/previewEvents`, { body, ...options });
305
+ }
306
+
307
+ /**
308
+ * Returns all billing configurations previously set for the customer. Use during
309
+ * the contract provisioning process to fetch the
310
+ * `billing_provider_configuration_id` needed to set the contract billing
311
+ * configuration.
312
+ *
313
+ * @example
314
+ * ```ts
315
+ * const response =
316
+ * await client.v1.customers.retrieveBillingConfigurations({
317
+ * customer_id: '6a37bb88-8538-48c5-b37b-a41c836328bd',
318
+ * });
319
+ * ```
320
+ */
321
+ retrieveBillingConfigurations(
322
+ body: CustomerRetrieveBillingConfigurationsParams,
323
+ options?: RequestOptions,
324
+ ): APIPromise<CustomerRetrieveBillingConfigurationsResponse> {
325
+ return this._client.post('/v1/getCustomerBillingProviderConfigurations', { body, ...options });
260
326
  }
261
327
 
262
328
  /**
263
- * Sets the ingest aliases for a customer. Ingest aliases can be used in the
264
- * `customer_id` field when sending usage events to Metronome. This call is
265
- * idempotent. It fully replaces the set of ingest aliases for the given customer.
329
+ * Create a billing configuration for a customer. Once created, these
330
+ * configurations are available to associate to a contract and dictates which
331
+ * downstream system to collect payment in or send the invoice to. You can create
332
+ * multiple configurations per customer. The configuration formats are distinct for
333
+ * each downstream provider.
334
+ *
335
+ * ### Use this endpoint to:
336
+ *
337
+ * - Add the initial configuration to an existing customer. Once created, the
338
+ * billing configuration can then be associated to the customer's contract.
339
+ * - Add a new configuration to an existing customer. This might be used as part of
340
+ * an upgrade or downgrade workflow where the customer was previously billed
341
+ * through system A (e.g. Stripe) but will now be billed through system B (e.g.
342
+ * AWS). Once created, the new configuration can then be associated to the
343
+ * customer's contract.
344
+ * - Multiple configurations can be added per destination. For example, you can
345
+ * create two Stripe billing configurations for a Metronome customer that each
346
+ * have a distinct `collection_method`.
347
+ *
348
+ * ### Delivery method options:
349
+ *
350
+ * - `direct_to_billing_provider`: Use when Metronome should send invoices directly
351
+ * to the billing provider's API (e.g., Stripe, NetSuite). This is the most
352
+ * common method for automated billing workflows.
353
+ * - `tackle`: Use specifically for AWS Marketplace transactions that require
354
+ * Tackle's co-selling platform for partner attribution and commission tracking.
355
+ * - `aws_sqs`: Use when you want invoice data delivered to an AWS SQS queue for
356
+ * custom processing before sending to your billing system.
357
+ * - `aws_sns`: Use when you want invoice notifications published to an AWS SNS
358
+ * topic for event-driven billing workflows.
359
+ *
360
+ * ### Key response fields:
361
+ *
362
+ * The id for the customer billing configuration. This id can be used to associate
363
+ * the billing configuration to a contract.
364
+ *
365
+ * ### Usage guidelines:
366
+ *
367
+ * Must use the `delivery_method_id` if you have multiple Stripe accounts connected
368
+ * to Metronome.
369
+ *
370
+ * @example
371
+ * ```ts
372
+ * await client.v1.customers.setBillingConfigurations({
373
+ * data: [
374
+ * {
375
+ * customer_id: '4db51251-61de-4bfe-b9ce-495e244f3491',
376
+ * billing_provider: 'stripe',
377
+ * configuration: { ... },
378
+ * delivery_method: 'direct_to_billing_provider',
379
+ * },
380
+ * {
381
+ * customer_id: '4db51251-61de-4bfe-b9ce-495e244f3491',
382
+ * billing_provider: 'aws_marketplace',
383
+ * configuration: { ... },
384
+ * delivery_method: 'direct_to_billing_provider',
385
+ * },
386
+ * {
387
+ * customer_id: '4db51251-61de-4bfe-b9ce-495e244f3491',
388
+ * billing_provider: 'azure_marketplace',
389
+ * configuration: { ... },
390
+ * delivery_method_id: '5b9e3072-415b-4842-94f0-0b6700c8b6be',
391
+ * },
392
+ * {
393
+ * customer_id: '4db51251-61de-4bfe-b9ce-495e244f3491',
394
+ * billing_provider: 'aws_marketplace',
395
+ * configuration: { ... },
396
+ * delivery_method: 'direct_to_billing_provider',
397
+ * },
398
+ * ],
399
+ * });
400
+ * ```
401
+ */
402
+ setBillingConfigurations(
403
+ body: CustomerSetBillingConfigurationsParams,
404
+ options?: RequestOptions,
405
+ ): APIPromise<void> {
406
+ return this._client.post('/v1/setCustomerBillingProviderConfigurations', {
407
+ body,
408
+ ...options,
409
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
410
+ });
411
+ }
412
+
413
+ /**
414
+ * Sets the ingest aliases for a customer. Use this endpoint to associate a
415
+ * Metronome customer with an internal ID for easier tracking between systems.
416
+ * Ingest aliases can be used in the `customer_id` field when sending usage events
417
+ * to Metronome.
418
+ *
419
+ * ### Usage guidelines:
420
+ *
421
+ * - This call is idempotent and fully replaces the set of ingest aliases for the
422
+ * given customer.
423
+ * - Switching an ingest alias from one customer to another will associate all
424
+ * corresponding usage to the new customer.
425
+ * - Use multiple ingest aliases to model child organizations within a single
426
+ * Metronome customer.
266
427
  *
267
428
  * @example
268
429
  * ```ts
@@ -272,20 +433,21 @@ export class Customers extends APIResource {
272
433
  * });
273
434
  * ```
274
435
  */
275
- setIngestAliases(
276
- params: CustomerSetIngestAliasesParams,
277
- options?: Core.RequestOptions,
278
- ): Core.APIPromise<void> {
436
+ setIngestAliases(params: CustomerSetIngestAliasesParams, options?: RequestOptions): APIPromise<void> {
279
437
  const { customer_id, ...body } = params;
280
- return this._client.post(`/v1/customers/${customer_id}/setIngestAliases`, {
438
+ return this._client.post(path`/v1/customers/${customer_id}/setIngestAliases`, {
281
439
  body,
282
440
  ...options,
283
- headers: { Accept: '*/*', ...options?.headers },
441
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
284
442
  });
285
443
  }
286
444
 
287
445
  /**
288
- * Updates the specified customer's name.
446
+ * Updates the display name for a customer record. Use this to correct customer
447
+ * names, update business names after rebranding, or maintain accurate customer
448
+ * information for invoicing and reporting. Returns the updated customer object
449
+ * with the new name applied immediately across all billing documents and
450
+ * interfaces.
289
451
  *
290
452
  * @example
291
453
  * ```ts
@@ -295,16 +457,16 @@ export class Customers extends APIResource {
295
457
  * });
296
458
  * ```
297
459
  */
298
- setName(
299
- params: CustomerSetNameParams,
300
- options?: Core.RequestOptions,
301
- ): Core.APIPromise<CustomerSetNameResponse> {
460
+ setName(params: CustomerSetNameParams, options?: RequestOptions): APIPromise<CustomerSetNameResponse> {
302
461
  const { customer_id, ...body } = params;
303
- return this._client.post(`/v1/customers/${customer_id}/setName`, { body, ...options });
462
+ return this._client.post(path`/v1/customers/${customer_id}/setName`, { body, ...options });
304
463
  }
305
464
 
306
465
  /**
307
- * Updates the specified customer's config.
466
+ * Update configuration settings for a specific customer, such as external system
467
+ * integrations (e.g., Salesforce account ID) and other customer-specific billing
468
+ * parameters. Use this endpoint to modify customer configurations without
469
+ * affecting core customer data like name or ingest aliases.
308
470
  *
309
471
  * @example
310
472
  * ```ts
@@ -314,21 +476,21 @@ export class Customers extends APIResource {
314
476
  * });
315
477
  * ```
316
478
  */
317
- updateConfig(params: CustomerUpdateConfigParams, options?: Core.RequestOptions): Core.APIPromise<void> {
479
+ updateConfig(params: CustomerUpdateConfigParams, options?: RequestOptions): APIPromise<void> {
318
480
  const { customer_id, ...body } = params;
319
- return this._client.post(`/v1/customers/${customer_id}/updateConfig`, {
481
+ return this._client.post(path`/v1/customers/${customer_id}/updateConfig`, {
320
482
  body,
321
483
  ...options,
322
- headers: { Accept: '*/*', ...options?.headers },
484
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
323
485
  });
324
486
  }
325
487
  }
326
488
 
327
- export class CustomerDetailsCursorPage extends CursorPage<CustomerDetail> {}
489
+ export type CustomerDetailsCursorPage = CursorPage<CustomerDetail>;
328
490
 
329
- export class CustomerListBillableMetricsResponsesCursorPage extends CursorPage<CustomerListBillableMetricsResponse> {}
491
+ export type CustomerListBillableMetricsResponsesCursorPage = CursorPage<CustomerListBillableMetricsResponse>;
330
492
 
331
- export class CustomerListCostsResponsesCursorPage extends CursorPage<CustomerListCostsResponse> {}
493
+ export type CustomerListCostsResponsesCursorPage = CursorPage<CustomerListCostsResponse>;
332
494
 
333
495
  export interface Customer {
334
496
  /**
@@ -350,6 +512,9 @@ export interface Customer {
350
512
 
351
513
  name: string;
352
514
 
515
+ /**
516
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
517
+ */
353
518
  custom_fields?: { [key: string]: string };
354
519
  }
355
520
 
@@ -364,6 +529,9 @@ export interface CustomerDetail {
364
529
  */
365
530
  created_at: string;
366
531
 
532
+ /**
533
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
534
+ */
367
535
  custom_fields: { [key: string]: string };
368
536
 
369
537
  customer_config: CustomerDetail.CustomerConfig;
@@ -382,6 +550,11 @@ export interface CustomerDetail {
382
550
 
383
551
  name: string;
384
552
 
553
+ /**
554
+ * RFC 3339 timestamp indicating when the customer was last updated.
555
+ */
556
+ updated_at: string;
557
+
385
558
  /**
386
559
  * RFC 3339 timestamp indicating when the customer was archived. Null if the
387
560
  * customer is active.
@@ -457,6 +630,9 @@ export interface CustomerListBillableMetricsResponse {
457
630
  */
458
631
  archived_at?: string;
459
632
 
633
+ /**
634
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
635
+ */
460
636
  custom_fields?: { [key: string]: string };
461
637
 
462
638
  /**
@@ -524,7 +700,60 @@ export namespace CustomerListCostsResponse {
524
700
  }
525
701
 
526
702
  export interface CustomerPreviewEventsResponse {
527
- data: InvoicesAPI.Invoice;
703
+ data: Array<InvoicesAPI.Invoice>;
704
+ }
705
+
706
+ export interface CustomerRetrieveBillingConfigurationsResponse {
707
+ data: Array<CustomerRetrieveBillingConfigurationsResponse.Data>;
708
+ }
709
+
710
+ export namespace CustomerRetrieveBillingConfigurationsResponse {
711
+ export interface Data {
712
+ /**
713
+ * ID of this configuration; can be provided as the
714
+ * billing_provider_configuration_id when creating a contract.
715
+ */
716
+ id: string;
717
+
718
+ archived_at: string | null;
719
+
720
+ /**
721
+ * The billing provider set for this configuration.
722
+ */
723
+ billing_provider:
724
+ | 'aws_marketplace'
725
+ | 'stripe'
726
+ | 'netsuite'
727
+ | 'custom'
728
+ | 'azure_marketplace'
729
+ | 'quickbooks_online'
730
+ | 'workday'
731
+ | 'gcp_marketplace';
732
+
733
+ /**
734
+ * Configuration for the billing provider. The structure of this object is specific
735
+ * to the billing provider.
736
+ */
737
+ configuration: { [key: string]: unknown };
738
+
739
+ customer_id: string;
740
+
741
+ /**
742
+ * The method to use for delivering invoices to this customer.
743
+ */
744
+ delivery_method: 'direct_to_billing_provider' | 'aws_sqs' | 'tackle' | 'aws_sns';
745
+
746
+ /**
747
+ * Configuration for the delivery method. The structure of this object is specific
748
+ * to the delivery method.
749
+ */
750
+ delivery_method_configuration: { [key: string]: unknown };
751
+
752
+ /**
753
+ * ID of the delivery method to use for this customer.
754
+ */
755
+ delivery_method_id: string;
756
+ }
528
757
  }
529
758
 
530
759
  export interface CustomerSetNameResponse {
@@ -539,6 +768,9 @@ export interface CustomerCreateParams {
539
768
 
540
769
  billing_config?: CustomerCreateParams.BillingConfig;
541
770
 
771
+ /**
772
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
773
+ */
542
774
  custom_fields?: { [key: string]: string };
543
775
 
544
776
  customer_billing_provider_configurations?: Array<CustomerCreateParams.CustomerBillingProviderConfiguration>;
@@ -603,7 +835,11 @@ export namespace CustomerCreateParams {
603
835
  | 'us-west-1'
604
836
  | 'us-west-2';
605
837
 
606
- stripe_collection_method?: 'charge_automatically' | 'send_invoice';
838
+ stripe_collection_method?:
839
+ | 'charge_automatically'
840
+ | 'send_invoice'
841
+ | 'auto_charge_payment_intent'
842
+ | 'manually_charge_payment_intent';
607
843
  }
608
844
 
609
845
  export interface CustomerBillingProviderConfiguration {
@@ -631,6 +867,14 @@ export namespace CustomerCreateParams {
631
867
  * `delivery_method` must be provided.
632
868
  */
633
869
  delivery_method_id?: string;
870
+
871
+ /**
872
+ * Specifies which tax provider Metronome should use for tax calculation when
873
+ * billing through Stripe. This is only supported for Stripe billing provider
874
+ * configurations with auto_charge_payment_intent or manual_charge_payment_intent
875
+ * collection methods.
876
+ */
877
+ tax_provider?: 'anrok' | 'avalara' | 'stripe';
634
878
  }
635
879
  }
636
880
 
@@ -731,13 +975,6 @@ export namespace CustomerPreviewEventsParams {
731
975
  export interface Event {
732
976
  event_type: string;
733
977
 
734
- /**
735
- * This has no effect for preview events, but may be set for consistency with Event
736
- * objects. They will be processed even if they do not match the customer's ID or
737
- * ingest aliases.
738
- */
739
- customer_id?: string;
740
-
741
978
  properties?: { [key: string]: unknown };
742
979
 
743
980
  /**
@@ -746,14 +983,74 @@ export namespace CustomerPreviewEventsParams {
746
983
  timestamp?: string;
747
984
 
748
985
  /**
749
- * This has no effect for preview events, but may be set for consistency with Event
750
- * objects. Duplicate transaction_ids are NOT filtered out, even within the same
751
- * request.
986
+ * Optional unique identifier for event deduplication. When provided, preview
987
+ * events are automatically deduplicated against historical events from the past 34
988
+ * days. Duplicate transaction IDs within the same request will return an error.
752
989
  */
753
990
  transaction_id?: string;
754
991
  }
755
992
  }
756
993
 
994
+ export interface CustomerRetrieveBillingConfigurationsParams {
995
+ customer_id: string;
996
+
997
+ include_archived?: boolean;
998
+ }
999
+
1000
+ export interface CustomerSetBillingConfigurationsParams {
1001
+ data: Array<CustomerSetBillingConfigurationsParams.Data>;
1002
+ }
1003
+
1004
+ export namespace CustomerSetBillingConfigurationsParams {
1005
+ export interface Data {
1006
+ /**
1007
+ * The billing provider set for this configuration.
1008
+ */
1009
+ billing_provider:
1010
+ | 'aws_marketplace'
1011
+ | 'stripe'
1012
+ | 'netsuite'
1013
+ | 'custom'
1014
+ | 'azure_marketplace'
1015
+ | 'quickbooks_online'
1016
+ | 'workday'
1017
+ | 'gcp_marketplace';
1018
+
1019
+ customer_id: string;
1020
+
1021
+ /**
1022
+ * Configuration for the billing provider. The structure of this object is specific
1023
+ * to the billing provider and delivery method combination. Defaults to an empty
1024
+ * object, however, for most billing provider + delivery method combinations, it
1025
+ * will not be a valid configuration. For AWS marketplace configurations, the
1026
+ * aws_is_subscription_product flag can be used to indicate a product with
1027
+ * usage-based pricing. More information can be found
1028
+ * [here](https://docs.metronome.com/invoice-customers/solutions/marketplaces/invoice-aws/#provision-aws-marketplace-customers-in-metronome).
1029
+ */
1030
+ configuration?: { [key: string]: unknown };
1031
+
1032
+ /**
1033
+ * The method to use for delivering invoices to this customer. If not provided, the
1034
+ * `delivery_method_id` must be provided.
1035
+ */
1036
+ delivery_method?: 'direct_to_billing_provider' | 'aws_sqs' | 'tackle' | 'aws_sns';
1037
+
1038
+ /**
1039
+ * ID of the delivery method to use for this customer. If not provided, the
1040
+ * `delivery_method` must be provided.
1041
+ */
1042
+ delivery_method_id?: string;
1043
+
1044
+ /**
1045
+ * Specifies which tax provider Metronome should use for tax calculation when
1046
+ * billing through Stripe. This is only supported for Stripe billing provider
1047
+ * configurations with auto_charge_payment_intent or manual_charge_payment_intent
1048
+ * collection methods.
1049
+ */
1050
+ tax_provider?: 'anrok' | 'avalara' | 'stripe';
1051
+ }
1052
+ }
1053
+
757
1054
  export interface CustomerSetIngestAliasesParams {
758
1055
  /**
759
1056
  * Path param:
@@ -797,16 +1094,9 @@ export interface CustomerUpdateConfigParams {
797
1094
  salesforce_account_id?: string | null;
798
1095
  }
799
1096
 
800
- Customers.CustomerDetailsCursorPage = CustomerDetailsCursorPage;
801
- Customers.CustomerListBillableMetricsResponsesCursorPage = CustomerListBillableMetricsResponsesCursorPage;
802
- Customers.CustomerListCostsResponsesCursorPage = CustomerListCostsResponsesCursorPage;
803
1097
  Customers.Alerts = Alerts;
804
1098
  Customers.Plans = Plans;
805
- Customers.PlanListResponsesCursorPage = PlanListResponsesCursorPage;
806
- Customers.PlanListPriceAdjustmentsResponsesCursorPage = PlanListPriceAdjustmentsResponsesCursorPage;
807
1099
  Customers.Invoices = Invoices;
808
- Customers.InvoicesCursorPage = InvoicesCursorPage;
809
- Customers.InvoiceListBreakdownsResponsesCursorPage = InvoiceListBreakdownsResponsesCursorPage;
810
1100
  Customers.BillingConfig = BillingConfigAPIBillingConfig;
811
1101
  Customers.Commits = Commits;
812
1102
  Customers.Credits = Credits;
@@ -822,10 +1112,11 @@ export declare namespace Customers {
822
1112
  type CustomerListBillableMetricsResponse as CustomerListBillableMetricsResponse,
823
1113
  type CustomerListCostsResponse as CustomerListCostsResponse,
824
1114
  type CustomerPreviewEventsResponse as CustomerPreviewEventsResponse,
1115
+ type CustomerRetrieveBillingConfigurationsResponse as CustomerRetrieveBillingConfigurationsResponse,
825
1116
  type CustomerSetNameResponse as CustomerSetNameResponse,
826
- CustomerDetailsCursorPage as CustomerDetailsCursorPage,
827
- CustomerListBillableMetricsResponsesCursorPage as CustomerListBillableMetricsResponsesCursorPage,
828
- CustomerListCostsResponsesCursorPage as CustomerListCostsResponsesCursorPage,
1117
+ type CustomerDetailsCursorPage as CustomerDetailsCursorPage,
1118
+ type CustomerListBillableMetricsResponsesCursorPage as CustomerListBillableMetricsResponsesCursorPage,
1119
+ type CustomerListCostsResponsesCursorPage as CustomerListCostsResponsesCursorPage,
829
1120
  type CustomerCreateParams as CustomerCreateParams,
830
1121
  type CustomerRetrieveParams as CustomerRetrieveParams,
831
1122
  type CustomerListParams as CustomerListParams,
@@ -833,6 +1124,8 @@ export declare namespace Customers {
833
1124
  type CustomerListBillableMetricsParams as CustomerListBillableMetricsParams,
834
1125
  type CustomerListCostsParams as CustomerListCostsParams,
835
1126
  type CustomerPreviewEventsParams as CustomerPreviewEventsParams,
1127
+ type CustomerRetrieveBillingConfigurationsParams as CustomerRetrieveBillingConfigurationsParams,
1128
+ type CustomerSetBillingConfigurationsParams as CustomerSetBillingConfigurationsParams,
836
1129
  type CustomerSetIngestAliasesParams as CustomerSetIngestAliasesParams,
837
1130
  type CustomerSetNameParams as CustomerSetNameParams,
838
1131
  type CustomerUpdateConfigParams as CustomerUpdateConfigParams,
@@ -842,7 +1135,7 @@ export declare namespace Customers {
842
1135
  Alerts as Alerts,
843
1136
  type CustomerAlert as CustomerAlert,
844
1137
  type AlertRetrieveResponse as AlertRetrieveResponse,
845
- type AlertListResponse as AlertListResponse,
1138
+ type CustomerAlertsCursorPageWithoutLimit as CustomerAlertsCursorPageWithoutLimit,
846
1139
  type AlertRetrieveParams as AlertRetrieveParams,
847
1140
  type AlertListParams as AlertListParams,
848
1141
  type AlertResetParams as AlertResetParams,
@@ -854,8 +1147,8 @@ export declare namespace Customers {
854
1147
  type PlanAddResponse as PlanAddResponse,
855
1148
  type PlanEndResponse as PlanEndResponse,
856
1149
  type PlanListPriceAdjustmentsResponse as PlanListPriceAdjustmentsResponse,
857
- PlanListResponsesCursorPage as PlanListResponsesCursorPage,
858
- PlanListPriceAdjustmentsResponsesCursorPage as PlanListPriceAdjustmentsResponsesCursorPage,
1150
+ type PlanListResponsesCursorPage as PlanListResponsesCursorPage,
1151
+ type PlanListPriceAdjustmentsResponsesCursorPage as PlanListPriceAdjustmentsResponsesCursorPage,
859
1152
  type PlanListParams as PlanListParams,
860
1153
  type PlanAddParams as PlanAddParams,
861
1154
  type PlanEndParams as PlanEndParams,
@@ -868,12 +1161,13 @@ export declare namespace Customers {
868
1161
  type InvoiceRetrieveResponse as InvoiceRetrieveResponse,
869
1162
  type InvoiceAddChargeResponse as InvoiceAddChargeResponse,
870
1163
  type InvoiceListBreakdownsResponse as InvoiceListBreakdownsResponse,
871
- InvoicesCursorPage as InvoicesCursorPage,
872
- InvoiceListBreakdownsResponsesCursorPage as InvoiceListBreakdownsResponsesCursorPage,
1164
+ type InvoicesCursorPage as InvoicesCursorPage,
1165
+ type InvoiceListBreakdownsResponsesCursorPage as InvoiceListBreakdownsResponsesCursorPage,
873
1166
  type InvoiceRetrieveParams as InvoiceRetrieveParams,
874
1167
  type InvoiceListParams as InvoiceListParams,
875
1168
  type InvoiceAddChargeParams as InvoiceAddChargeParams,
876
1169
  type InvoiceListBreakdownsParams as InvoiceListBreakdownsParams,
1170
+ type InvoiceRetrievePdfParams as InvoiceRetrievePdfParams,
877
1171
  };
878
1172
 
879
1173
  export {
@@ -887,7 +1181,6 @@ export declare namespace Customers {
887
1181
  export {
888
1182
  Commits as Commits,
889
1183
  type CommitCreateResponse as CommitCreateResponse,
890
- type CommitListResponse as CommitListResponse,
891
1184
  type CommitUpdateEndDateResponse as CommitUpdateEndDateResponse,
892
1185
  type CommitCreateParams as CommitCreateParams,
893
1186
  type CommitListParams as CommitListParams,
@@ -897,7 +1190,6 @@ export declare namespace Customers {
897
1190
  export {
898
1191
  Credits as Credits,
899
1192
  type CreditCreateResponse as CreditCreateResponse,
900
- type CreditListResponse as CreditListResponse,
901
1193
  type CreditUpdateEndDateResponse as CreditUpdateEndDateResponse,
902
1194
  type CreditCreateParams as CreditCreateParams,
903
1195
  type CreditListParams as CreditListParams,