@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,12 +1,57 @@
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 * as Core from "../../core.js";
5
- import * as Shared from "../shared.js";
3
+ import { APIResource } from '../../core/resource';
4
+ import * as Shared from '../shared';
5
+ import { APIPromise } from '../../core/api-promise';
6
+ import { RequestOptions } from '../../internal/request-options';
6
7
 
7
8
  export class Alerts extends APIResource {
8
9
  /**
9
- * Create a new alert
10
+ * Create a new threshold notification to monitor customer spending, balances, and
11
+ * billing metrics in real-time. Metronome's notification system provides
12
+ * industry-leading speed with immediate evaluation capabilities, enabling you to
13
+ * proactively manage customer accounts and prevent revenue leakage.
14
+ *
15
+ * This endpoint creates configurable threshold notifications that continuously
16
+ * monitor various billing thresholds including spend limits, credit balances,
17
+ * commitment utilization, and invoice totals. Threshold notifications can be
18
+ * configured globally for all customers or targeted to specific customer accounts.
19
+ *
20
+ * ### Use this endpoint to:
21
+ *
22
+ * - Proactively monitor customer spending patterns to prevent unexpected overages
23
+ * or credit exhaustion
24
+ * - Automate notifications when customers approach commitment limits or credit
25
+ * thresholds
26
+ * - Enable real-time intervention for accounts at risk of churn or payment issues
27
+ * - Scale billing operations by automating threshold-based workflows and
28
+ * notifications
29
+ *
30
+ * ### Key response fields:
31
+ *
32
+ * A successful response returns a CustomerAlert object containing:
33
+ *
34
+ * - The threshold notification configuration with its unique ID and current status
35
+ * - The customer's evaluation status (ok, in_alarm, or evaluating)
36
+ * - Threshold notification metadata including type, threshold values, and update
37
+ * timestamps
38
+ *
39
+ * ### Usage guidelines:
40
+ *
41
+ * - Immediate evaluation: Set `evaluate_on_create` : `true` (default) for instant
42
+ * evaluation against existing customers
43
+ * - Uniqueness constraints: Each threshold notification must have a unique
44
+ * `uniqueness_key` within your organization. Use `release_uniqueness_key` :
45
+ * `true` when archiving to reuse keys
46
+ * - Notification type requirements: Different threshold notification types require
47
+ * specific fields (e.g., `billable_metric_id` for usage notifications,
48
+ * `credit_type_id` for credit-based threshold notifications)
49
+ * - Webhook delivery: Threshold notifications trigger webhook notifications for
50
+ * real-time integration with your systems. Configure webhook endpoints before
51
+ * creating threshold notifications
52
+ * - Performance at scale: Metronome's event-driven architecture processes
53
+ * threshold notification evaluations in real-time as usage events stream in,
54
+ * unlike competitors who rely on periodic polling or batch evaluation cycles
10
55
  *
11
56
  * @example
12
57
  * ```ts
@@ -20,12 +65,39 @@ export class Alerts extends APIResource {
20
65
  * });
21
66
  * ```
22
67
  */
23
- create(body: AlertCreateParams, options?: Core.RequestOptions): Core.APIPromise<AlertCreateResponse> {
68
+ create(body: AlertCreateParams, options?: RequestOptions): APIPromise<AlertCreateResponse> {
24
69
  return this._client.post('/v1/alerts/create', { body, ...options });
25
70
  }
26
71
 
27
72
  /**
28
- * Archive an existing alert
73
+ * Permanently disable a threshold notification and remove it from active
74
+ * monitoring across all customers. Archived threshold notifications stop
75
+ * evaluating immediately and can optionally release their uniqueness key for reuse
76
+ * in future threshold notification configurations.
77
+ *
78
+ * ### Use this endpoint to:
79
+ *
80
+ * - Decommission threshold notifications that are no longer needed
81
+ * - Clean up test or deprecated threshold notification configurations
82
+ * - Free up uniqueness keys for reuse with new threshold notifications
83
+ * - Stop threshold notification evaluations without losing historical
84
+ * configuration data
85
+ * - Disable outdated monitoring rules during pricing model transitions
86
+ *
87
+ * ### Key response fields:
88
+ *
89
+ * - data: Object containing the archived threshold notification's ID
90
+ *
91
+ * ### Usage guidelines:
92
+ *
93
+ * - Irreversible for evaluation: Archived threshold notifications cannot be
94
+ * re-enabled; create a new threshold notification to resume monitoring
95
+ * - Uniqueness key handling: Set `release_uniqueness_key` : `true` to reuse the
96
+ * key in future threshold notifications
97
+ * - Immediate effect: Threshold notification evaluation stops instantly across all
98
+ * customers
99
+ * - Historical preservation: Archive operation maintains threshold notification
100
+ * history and configuration for compliance and auditing
29
101
  *
30
102
  * @example
31
103
  * ```ts
@@ -34,7 +106,7 @@ export class Alerts extends APIResource {
34
106
  * });
35
107
  * ```
36
108
  */
37
- archive(body: AlertArchiveParams, options?: Core.RequestOptions): Core.APIPromise<AlertArchiveResponse> {
109
+ archive(body: AlertArchiveParams, options?: RequestOptions): APIPromise<AlertArchiveResponse> {
38
110
  return this._client.post('/v1/alerts/archive', { body, ...options });
39
111
  }
40
112
  }
@@ -49,7 +121,7 @@ export interface AlertArchiveResponse {
49
121
 
50
122
  export interface AlertCreateParams {
51
123
  /**
52
- * Type of the alert
124
+ * Type of the threshold notification
53
125
  */
54
126
  alert_type:
55
127
  | 'low_credit_balance_reached'
@@ -68,70 +140,72 @@ export interface AlertCreateParams {
68
140
  | 'invoice_total_reached';
69
141
 
70
142
  /**
71
- * Name of the alert
143
+ * Name of the threshold notification
72
144
  */
73
145
  name: string;
74
146
 
75
147
  /**
76
- * Threshold value of the alert policy. Depending upon the alert type, this number
77
- * may represent a financial amount, the days remaining, or a percentage reached.
148
+ * Threshold value of the notification policy. Depending upon the notification
149
+ * type, this number may represent a financial amount, the days remaining, or a
150
+ * percentage reached.
78
151
  */
79
152
  threshold: number;
80
153
 
81
154
  /**
82
- * For alerts of type `usage_threshold_reached`, specifies which billable metric to
83
- * track the usage for.
155
+ * For threshold notifications of type `usage_threshold_reached`, specifies which
156
+ * billable metric to track the usage for.
84
157
  */
85
158
  billable_metric_id?: string;
86
159
 
87
160
  /**
88
- * An array of strings, representing a way to filter the credit grant this alert
89
- * applies to, by looking at the credit_grant_type field on the credit grant. This
90
- * field is only defined for CreditPercentage and CreditBalance alerts
161
+ * An array of strings, representing a way to filter the credit grant this
162
+ * threshold notification applies to, by looking at the credit_grant_type field on
163
+ * the credit grant. This field is only defined for CreditPercentage and
164
+ * CreditBalance notifications
91
165
  */
92
166
  credit_grant_type_filters?: Array<string>;
93
167
 
94
168
  /**
95
- * ID of the credit's currency, defaults to USD. If the specific alert type
169
+ * ID of the credit's currency, defaults to USD. If the specific notification type
96
170
  * requires a pricing unit/currency, find the ID in the
97
171
  * [Metronome app](https://app.metronome.com/offering/pricing-units).
98
172
  */
99
173
  credit_type_id?: string;
100
174
 
101
175
  /**
102
- * A list of custom field filters for alert types that support advanced filtering.
103
- * Only present for contract invoices.
176
+ * A list of custom field filters for threshold notification types that support
177
+ * advanced filtering. Only present for contract invoices.
104
178
  */
105
179
  custom_field_filters?: Array<AlertCreateParams.CustomFieldFilter>;
106
180
 
107
181
  /**
108
- * If provided, will create this alert for this specific customer. To create an
109
- * alert for all customers, do not specify a `customer_id`.
182
+ * If provided, will create this threshold notification for this specific customer.
183
+ * To create a notification for all customers, do not specify a `customer_id`.
110
184
  */
111
185
  customer_id?: string;
112
186
 
113
187
  /**
114
- * If true, the alert will evaluate immediately on customers that already meet the
115
- * alert threshold. If false, it will only evaluate on future customers that
116
- * trigger the alert threshold. Defaults to true.
188
+ * If true, the threshold notification will evaluate immediately on customers that
189
+ * already meet the notification threshold. If false, it will only evaluate on
190
+ * future customers that trigger the threshold. Defaults to true.
117
191
  */
118
192
  evaluate_on_create?: boolean;
119
193
 
120
194
  /**
121
- * Only present for `spend_threshold_reached` alerts. Scope alert to a specific
122
- * group key on individual line items.
195
+ * Only present for `spend_threshold_reached` notifications. Scope notification to
196
+ * a specific group key on individual line items.
123
197
  */
124
198
  group_values?: Array<AlertCreateParams.GroupValue>;
125
199
 
126
200
  /**
127
- * Only supported for invoice_total_reached alerts. A list of invoice types to
128
- * evaluate.
201
+ * Only supported for invoice_total_reached threshold notifications. A list of
202
+ * invoice types to evaluate.
129
203
  */
130
204
  invoice_types_filter?: Array<string>;
131
205
 
132
206
  /**
133
- * If provided, will create this alert for this specific plan. To create an alert
134
- * for all customers, do not specify a `plan_id`.
207
+ * If provided, will create this threshold notification for this specific plan. To
208
+ * create a notification for all customers, do not specify a `plan_id`.
135
209
  */
136
210
  plan_id?: string;
137
211
 
@@ -155,18 +229,19 @@ export namespace AlertCreateParams {
155
229
  export interface GroupValue {
156
230
  key: string;
157
231
 
158
- value: string;
232
+ value?: string;
159
233
  }
160
234
  }
161
235
 
162
236
  export interface AlertArchiveParams {
163
237
  /**
164
- * The Metronome ID of the alert
238
+ * The Metronome ID of the threshold notification
165
239
  */
166
240
  id: string;
167
241
 
168
242
  /**
169
- * If true, resets the uniqueness key on this alert so it can be re-used
243
+ * If true, resets the uniqueness key on this threshold notification so it can be
244
+ * re-used
170
245
  */
171
246
  release_uniqueness_key?: boolean;
172
247
  }
@@ -1,16 +1,50 @@
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 { CursorPage, type CursorPageParams } from "../../pagination.js";
3
+ import { APIResource } from '../../core/resource';
4
+ import { CursorPage, type CursorPageParams, PagePromise } from '../../core/pagination';
5
+ import { RequestOptions } from '../../internal/request-options';
7
6
 
8
7
  export class AuditLogs extends APIResource {
9
8
  /**
10
- * Retrieves a range of audit logs. If no further audit logs are currently
11
- * available, the data array will be empty. As new audit logs are created,
12
- * subsequent requests using the same next_page value will be in the returned data
13
- * array, ensuring a continuous and uninterrupted reading of audit logs.
9
+ * Get a comprehensive audit trail of all operations performed in your Metronome
10
+ * account, whether initiated through the API, web interface, or automated
11
+ * processes. This endpoint provides detailed logs of who did what and when,
12
+ * enabling compliance reporting, security monitoring, and operational
13
+ * troubleshooting across all interaction channels.
14
+ *
15
+ * ### Use this endpoint to:
16
+ *
17
+ * - Monitor all account activity for security and compliance purposes
18
+ * - Track configuration changes regardless of source (API, UI, or system)
19
+ * - Investigate issues by reviewing historical operations
20
+ *
21
+ * ### Key response fields:
22
+ *
23
+ * An array of AuditLog objects containing:
24
+ *
25
+ * - id: Unique identifier for the audit log entry
26
+ * - timestamp: When the action occurred (RFC 3339 format)
27
+ * - actor: Information about who performed the action
28
+ * - request: Details including request ID, IP address, and user agent
29
+ * - `resource_type`: The type of resource affected (e.g., customer, contract,
30
+ * invoice)
31
+ * - `resource_id`: The specific resource identifier
32
+ * - `action`: The operation performed
33
+ * - `next_page`: Cursor for continuous log retrieval
34
+ *
35
+ * ### Usage guidelines:
36
+ *
37
+ * - Continuous retrieval: The next_page token enables uninterrupted log
38
+ * streaming—save it between requests to ensure no logs are missed
39
+ * - Empty responses: An empty data array means no new logs yet; continue polling
40
+ * with the same next_page token
41
+ * - Date filtering:
42
+ * - `starting_on`: Earliest logs to return (inclusive)
43
+ * - `ending_before`: Latest logs to return (exclusive)
44
+ * - Cannot be used with `next_page`
45
+ * - Resource filtering: Must specify both `resource_type` and `resource_id`
46
+ * together
47
+ * - Sort order: Default is `date_asc`; use `date_desc` for newest first
14
48
  *
15
49
  * @example
16
50
  * ```ts
@@ -21,24 +55,14 @@ export class AuditLogs extends APIResource {
21
55
  * ```
22
56
  */
23
57
  list(
24
- query?: AuditLogListParams,
25
- options?: Core.RequestOptions,
26
- ): Core.PagePromise<AuditLogListResponsesCursorPage, AuditLogListResponse>;
27
- list(
28
- options?: Core.RequestOptions,
29
- ): Core.PagePromise<AuditLogListResponsesCursorPage, AuditLogListResponse>;
30
- list(
31
- query: AuditLogListParams | Core.RequestOptions = {},
32
- options?: Core.RequestOptions,
33
- ): Core.PagePromise<AuditLogListResponsesCursorPage, AuditLogListResponse> {
34
- if (isRequestOptions(query)) {
35
- return this.list({}, query);
36
- }
37
- return this._client.getAPIList('/v1/auditLogs', AuditLogListResponsesCursorPage, { query, ...options });
58
+ query: AuditLogListParams | null | undefined = {},
59
+ options?: RequestOptions,
60
+ ): PagePromise<AuditLogListResponsesCursorPage, AuditLogListResponse> {
61
+ return this._client.getAPIList('/v1/auditLogs', CursorPage<AuditLogListResponse>, { query, ...options });
38
62
  }
39
63
  }
40
64
 
41
- export class AuditLogListResponsesCursorPage extends CursorPage<AuditLogListResponse> {}
65
+ export type AuditLogListResponsesCursorPage = CursorPage<AuditLogListResponse>;
42
66
 
43
67
  export interface AuditLogListResponse {
44
68
  id: string;
@@ -108,12 +132,10 @@ export interface AuditLogListParams extends CursorPageParams {
108
132
  starting_on?: string;
109
133
  }
110
134
 
111
- AuditLogs.AuditLogListResponsesCursorPage = AuditLogListResponsesCursorPage;
112
-
113
135
  export declare namespace AuditLogs {
114
136
  export {
115
137
  type AuditLogListResponse as AuditLogListResponse,
116
- AuditLogListResponsesCursorPage as AuditLogListResponsesCursorPage,
138
+ type AuditLogListResponsesCursorPage as AuditLogListResponsesCursorPage,
117
139
  type AuditLogListParams as AuditLogListParams,
118
140
  };
119
141
  }
@@ -1,14 +1,43 @@
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 { CursorPage, type CursorPageParams } from "../../pagination.js";
3
+ import { APIResource } from '../../core/resource';
4
+ import * as Shared from '../shared';
5
+ import { APIPromise } from '../../core/api-promise';
6
+ import { CursorPage, type CursorPageParams, PagePromise } from '../../core/pagination';
7
+ import { RequestOptions } from '../../internal/request-options';
8
+ import { path } from '../../internal/utils/path';
8
9
 
9
10
  export class BillableMetrics extends APIResource {
10
11
  /**
11
- * Creates a new Billable Metric.
12
+ * Create billable metrics programmatically with this endpoint—an essential step in
13
+ * configuring your pricing and packaging in Metronome.
14
+ *
15
+ * A billable metric is a customizable query that filters and aggregates events
16
+ * from your event stream. These metrics are continuously tracked as usage data
17
+ * enters Metronome through the ingestion pipeline. The ingestion process
18
+ * transforms raw usage data into actionable pricing metrics, enabling accurate
19
+ * metering and billing for your products.
20
+ *
21
+ * ### Use this endpoint to:
22
+ *
23
+ * - Create individual or multiple billable metrics as part of a setup workflow.
24
+ * - Automate the entire pricing configuration process, from metric creation to
25
+ * customer contract setup.
26
+ * - Define metrics using either standard filtering/aggregation or a custom SQL
27
+ * query.
28
+ *
29
+ * ### Key response fields:
30
+ *
31
+ * - The ID of the billable metric that was created
32
+ * - The created billable metric will be available to be used in Products, usage
33
+ * endpoints, and alerts.
34
+ *
35
+ * ### Usage guidelines:
36
+ *
37
+ * - Metrics defined using standard filtering and aggregation are Streaming
38
+ * billable metrics, which have been optimized for ultra low latency and high
39
+ * throughput workflows.
40
+ * - Use SQL billable metrics if you require more flexible aggregation options.
12
41
  *
13
42
  * @example
14
43
  * ```ts
@@ -37,13 +66,23 @@ export class BillableMetrics extends APIResource {
37
66
  */
38
67
  create(
39
68
  body: BillableMetricCreateParams,
40
- options?: Core.RequestOptions,
41
- ): Core.APIPromise<BillableMetricCreateResponse> {
69
+ options?: RequestOptions,
70
+ ): APIPromise<BillableMetricCreateResponse> {
42
71
  return this._client.post('/v1/billable-metrics/create', { body, ...options });
43
72
  }
44
73
 
45
74
  /**
46
- * Get a billable metric.
75
+ * Retrieves the complete configuration for a specific billable metric by its ID.
76
+ * Use this to review billable metric setup before associating it with products.
77
+ * Returns the metric's `name`, `event_type_filter`, `property_filters`,
78
+ * `aggregation_type`, `aggregation_key`, `group_keys`, `custom fields`, and
79
+ * `SQL query` (if it's a SQL billable metric).
80
+ *
81
+ * Important:
82
+ *
83
+ * - Archived billable metrics will include an `archived_at` timestamp; they no
84
+ * longer process new usage events but remain accessible for historical
85
+ * reference.
47
86
  *
48
87
  * @example
49
88
  * ```ts
@@ -56,14 +95,18 @@ export class BillableMetrics extends APIResource {
56
95
  */
57
96
  retrieve(
58
97
  params: BillableMetricRetrieveParams,
59
- options?: Core.RequestOptions,
60
- ): Core.APIPromise<BillableMetricRetrieveResponse> {
98
+ options?: RequestOptions,
99
+ ): APIPromise<BillableMetricRetrieveResponse> {
61
100
  const { billable_metric_id } = params;
62
- return this._client.get(`/v1/billable-metrics/${billable_metric_id}`, options);
101
+ return this._client.get(path`/v1/billable-metrics/${billable_metric_id}`, options);
63
102
  }
64
103
 
65
104
  /**
66
- * List all billable metrics.
105
+ * Retrieves all billable metrics with their complete configurations. Use this for
106
+ * programmatic discovery and management of billable metrics, such as associating
107
+ * metrics to products and auditing for orphaned or archived metrics. Important:
108
+ * Archived metrics are excluded by default; use `include_archived`=`true`
109
+ * parameter to include them.
67
110
  *
68
111
  * @example
69
112
  * ```ts
@@ -74,27 +117,25 @@ export class BillableMetrics extends APIResource {
74
117
  * ```
75
118
  */
76
119
  list(
77
- query?: BillableMetricListParams,
78
- options?: Core.RequestOptions,
79
- ): Core.PagePromise<BillableMetricListResponsesCursorPage, BillableMetricListResponse>;
80
- list(
81
- options?: Core.RequestOptions,
82
- ): Core.PagePromise<BillableMetricListResponsesCursorPage, BillableMetricListResponse>;
83
- list(
84
- query: BillableMetricListParams | Core.RequestOptions = {},
85
- options?: Core.RequestOptions,
86
- ): Core.PagePromise<BillableMetricListResponsesCursorPage, BillableMetricListResponse> {
87
- if (isRequestOptions(query)) {
88
- return this.list({}, query);
89
- }
90
- return this._client.getAPIList('/v1/billable-metrics', BillableMetricListResponsesCursorPage, {
120
+ query: BillableMetricListParams | null | undefined = {},
121
+ options?: RequestOptions,
122
+ ): PagePromise<BillableMetricListResponsesCursorPage, BillableMetricListResponse> {
123
+ return this._client.getAPIList('/v1/billable-metrics', CursorPage<BillableMetricListResponse>, {
91
124
  query,
92
125
  ...options,
93
126
  });
94
127
  }
95
128
 
96
129
  /**
97
- * Archive an existing billable metric.
130
+ * Use this endpoint to retire billable metrics that are no longer used. After a
131
+ * billable metric is archived, that billable metric can no longer be used in any
132
+ * new Products to define how that product should be metered. If you archive a
133
+ * billable metric that is already associated with a Product, the Product will
134
+ * continue to function as usual, metering based on the definition of the archived
135
+ * billable metric.
136
+ *
137
+ * Archived billable metrics will be returned on the `getBillableMetric` and
138
+ * `listBillableMetrics` endpoints with a populated `archived_at` field.
98
139
  *
99
140
  * @example
100
141
  * ```ts
@@ -105,13 +146,13 @@ export class BillableMetrics extends APIResource {
105
146
  */
106
147
  archive(
107
148
  body: BillableMetricArchiveParams,
108
- options?: Core.RequestOptions,
109
- ): Core.APIPromise<BillableMetricArchiveResponse> {
149
+ options?: RequestOptions,
150
+ ): APIPromise<BillableMetricArchiveResponse> {
110
151
  return this._client.post('/v1/billable-metrics/archive', { body, ...options });
111
152
  }
112
153
  }
113
154
 
114
- export class BillableMetricListResponsesCursorPage extends CursorPage<BillableMetricListResponse> {}
155
+ export type BillableMetricListResponsesCursorPage = CursorPage<BillableMetricListResponse>;
115
156
 
116
157
  export interface BillableMetricCreateResponse {
117
158
  data: Shared.ID;
@@ -151,6 +192,9 @@ export namespace BillableMetricRetrieveResponse {
151
192
  */
152
193
  archived_at?: string;
153
194
 
195
+ /**
196
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
197
+ */
154
198
  custom_fields?: { [key: string]: string };
155
199
 
156
200
  /**
@@ -207,6 +251,9 @@ export interface BillableMetricListResponse {
207
251
  */
208
252
  archived_at?: string;
209
253
 
254
+ /**
255
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
256
+ */
210
257
  custom_fields?: { [key: string]: string };
211
258
 
212
259
  /**
@@ -301,15 +348,13 @@ export interface BillableMetricArchiveParams {
301
348
  id: string;
302
349
  }
303
350
 
304
- BillableMetrics.BillableMetricListResponsesCursorPage = BillableMetricListResponsesCursorPage;
305
-
306
351
  export declare namespace BillableMetrics {
307
352
  export {
308
353
  type BillableMetricCreateResponse as BillableMetricCreateResponse,
309
354
  type BillableMetricRetrieveResponse as BillableMetricRetrieveResponse,
310
355
  type BillableMetricListResponse as BillableMetricListResponse,
311
356
  type BillableMetricArchiveResponse as BillableMetricArchiveResponse,
312
- BillableMetricListResponsesCursorPage as BillableMetricListResponsesCursorPage,
357
+ type BillableMetricListResponsesCursorPage as BillableMetricListResponsesCursorPage,
313
358
  type BillableMetricCreateParams as BillableMetricCreateParams,
314
359
  type BillableMetricRetrieveParams as BillableMetricRetrieveParams,
315
360
  type BillableMetricListParams as BillableMetricListParams,