@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,46 +1,186 @@
1
- import { APIResource } from "../../resource.js";
2
- import * as Core from "../../core.js";
1
+ import { APIResource } from "../../core/resource.js";
3
2
  import * as Shared from "../shared.js";
4
- import { CursorPage, type CursorPageParams } from "../../pagination.js";
3
+ import { APIPromise } from "../../core/api-promise.js";
4
+ import { CursorPage, type CursorPageParams, CursorPageWithoutLimit, type CursorPageWithoutLimitParams, PagePromise } from "../../core/pagination.js";
5
+ import { RequestOptions } from "../../internal/request-options.js";
5
6
  export declare class Usage extends APIResource {
6
7
  /**
7
- * Fetch aggregated usage data for multiple customers and billable-metrics, broken
8
- * into intervals of the specified length.
8
+ * Retrieve aggregated usage data across multiple customers and billable metrics in
9
+ * a single query. This batch endpoint enables you to fetch usage patterns at
10
+ * scale, broken down by time windows, making it ideal for building analytics
11
+ * dashboards, generating reports, and monitoring platform-wide usage trends.
12
+ *
13
+ * ### Use this endpoint to:
14
+ *
15
+ * - Generate platform-wide usage reports for internal teams
16
+ * - Monitor aggregate usage trends across your entire customer base
17
+ * - Create comparative usage analyses between customers or time periods
18
+ * - Support capacity planning with historical usage patterns
19
+ *
20
+ * ### Key response fields:
21
+ *
22
+ * An array of `UsageBatchAggregate` objects containing:
23
+ *
24
+ * - `customer_id`: The customer this usage belongs to
25
+ * - `billable_metric_id` and `billable_metric_name`: What was measured
26
+ * - `start_timestamp` and `end_timestamp`: Time window for this data point
27
+ * - `value`: Aggregated usage amount for the period
28
+ * - `groups` (optional): Usage broken down by group keys with values
29
+ * - `next_page`: Pagination cursor for large result sets
30
+ *
31
+ * ### Usage guidelines:
32
+ *
33
+ * - Time windows: Set `window_size` to `hour`, `day`, or `none` (entire period)
34
+ * - Required parameters: Must specify `starting_on`, `ending_before`, and
35
+ * `window_size`
36
+ * - Filtering options:
37
+ * - `customer_ids`: Limit to specific customers (omit for all customers)
38
+ * - `billable_metrics`: Limit to specific metrics (omit for all metrics)
39
+ * - Pagination: Use `next_page` cursor to retrieve large datasets
40
+ * - Null values: Group values may be null when no usage matches that group
9
41
  *
10
42
  * @example
11
43
  * ```ts
12
- * const usages = await client.v1.usage.list({
44
+ * // Automatically fetches more pages as needed.
45
+ * for await (const usageListResponse of client.v1.usage.list({
13
46
  * ending_before: '2021-01-03T00:00:00Z',
14
47
  * starting_on: '2021-01-01T00:00:00Z',
15
48
  * window_size: 'day',
16
- * });
49
+ * })) {
50
+ * // ...
51
+ * }
17
52
  * ```
18
53
  */
19
- list(params: UsageListParams, options?: Core.RequestOptions): Core.APIPromise<UsageListResponse>;
54
+ list(params: UsageListParams, options?: RequestOptions): PagePromise<UsageListResponsesCursorPageWithoutLimit, UsageListResponse>;
20
55
  /**
21
- * Send usage events to Metronome. The body of this request is expected to be a
22
- * JSON array of between 1 and 100 usage events. Compressed request bodies are
23
- * supported with a `Content-Encoding: gzip` header. See
24
- * [Getting usage into Metronome](https://docs.metronome.com/connect-metronome/) to
56
+ * The ingest endpoint is the primary method for sending usage events to Metronome,
57
+ * serving as the foundation for all billing calculations in your usage-based
58
+ * pricing model. This high-throughput endpoint is designed for real-time streaming
59
+ * ingestion, supports backdating 34 days, and is built to handle mission-critical
60
+ * usage data with enterprise-grade reliability. Metronome supports 100,000 events
61
+ * per second without requiring pre-aggregation or rollups and can scale up from
62
+ * there. See the [Send usage events](/guides/events/send-usage-events) guide to
25
63
  * learn more about usage events.
26
64
  *
65
+ * ### Use this endpoint to:
66
+ *
67
+ * Create a customer usage pipeline into Metronome that drives billable metrics,
68
+ * credit drawdown, and invoicing. Track customer behavior, resource consumption,
69
+ * and feature usage
70
+ *
71
+ * ### What happens when you send events:
72
+ *
73
+ * - Events are validated and processed in real-time
74
+ * - Events are matched to customers using customer IDs or customer ingest aliases
75
+ * - Events are matched to billable metrics and are immediately available for usage
76
+ * and spend calculations
77
+ *
78
+ * ### Usage guidelines:
79
+ *
80
+ * - Historical events can be backdated up to 34 days and will immediately impact
81
+ * live customer spend
82
+ * - Duplicate events are automatically detected and ignored (34-day deduplication
83
+ * window)
84
+ *
85
+ * #### Event structure:
86
+ *
87
+ * Usage events are simple JSON objects designed for flexibility and ease of
88
+ * integration:
89
+ *
90
+ * ```json
91
+ * {
92
+ * "transaction_id": "2021-01-01T00:00:00Z_cluster42",
93
+ * "customer_id": "team@example.com",
94
+ * "event_type": "api_request",
95
+ * "timestamp": "2021-01-01T00:00:00Z",
96
+ * "properties": {
97
+ * "endpoint": "/v1/users",
98
+ * "method": "POST",
99
+ * "response_time_ms": 45,
100
+ * "region": "us-west-2"
101
+ * }
102
+ * }
103
+ * ```
104
+ *
105
+ * Learn more about
106
+ * [usage event structure definitions](/guides/events/design-usage-events).
107
+ *
108
+ * #### Transaction ID
109
+ *
110
+ * The transaction_id serves as your idempotency key, ensuring events are processed
111
+ * exactly once. Metronome maintains a 34-day deduplication window - significantly
112
+ * longer than typical 12-hour windows - enabling robust backfill scenarios without
113
+ * duplicate billing.
114
+ *
115
+ * - Best Practices:
116
+ * - Use UUIDs for one-time events: uuid4()
117
+ * - For heartbeat events, use deterministic IDs
118
+ * - Include enough context to avoid collisions across different event sources
119
+ *
120
+ * #### Customer ID
121
+ *
122
+ * Identifies which customer should be billed for this usage. Supports two
123
+ * identification methods:
124
+ *
125
+ * - Metronome Customer ID: The UUID returned when creating a customer
126
+ * - Ingest Alias: Your system's identifier (email, account number, etc.)
127
+ *
128
+ * Ingest aliases enable seamless integration without requiring ID mapping, and
129
+ * customers can have multiple aliases for flexibility.
130
+ *
131
+ * #### Event Type:
132
+ *
133
+ * Categorizes the event type for billable metric matching. Choose descriptive
134
+ * names that aligns with the product surface area.
135
+ *
136
+ * #### Properties:
137
+ *
138
+ * Flexible metadata also used to match billable metrics or to be used to serve as
139
+ * group keys to create multiple pricing dimensions or breakdown costs by novel
140
+ * properties for end customers or internal finance teams measuring underlying
141
+ * COGs.
142
+ *
27
143
  * @example
28
144
  * ```ts
29
- * await client.v1.usage.ingest([
30
- * {
31
- * customer_id: 'team@example.com',
32
- * event_type: 'heartbeat',
33
- * timestamp: '2021-01-01T00:00:00Z',
34
- * transaction_id: '2021-01-01T00:00:00Z_cluster42',
35
- * },
36
- * ]);
145
+ * await client.v1.usage.ingest();
37
146
  * ```
38
147
  */
39
- ingest(body?: UsageIngestParams, options?: Core.RequestOptions): Core.APIPromise<void>;
40
- ingest(options?: Core.RequestOptions): Core.APIPromise<void>;
148
+ ingest(params?: UsageIngestParams | null | undefined, options?: RequestOptions): APIPromise<void>;
41
149
  /**
42
- * Fetch aggregated usage data for the specified customer, billable-metric, and
43
- * optional group, broken into intervals of the specified length.
150
+ * Retrieve granular usage data for a specific customer and billable metric, with
151
+ * the ability to break down usage by custom grouping dimensions. This endpoint
152
+ * enables deep usage analytics by segmenting data across attributes like region,
153
+ * user, model type, or any custom dimension defined in your billable metrics.
154
+ *
155
+ * ### Use this endpoint to:
156
+ *
157
+ * - Analyze usage patterns broken down by specific attributes (region, user,
158
+ * department, etc.)
159
+ * - Build detailed usage dashboards with dimensional filtering
160
+ * - Identify high-usage segments for optimization opportunities
161
+ *
162
+ * ### Key response fields:
163
+ *
164
+ * An array of `PagedUsageAggregate` objects containing:
165
+ *
166
+ * - `starting_on` and `ending_before`: Time window boundaries
167
+ * - `group_key`: The dimension being grouped by (e.g., "region")
168
+ * - `group_value`: The specific value for this group (e.g., "US-East")
169
+ * - `value`: Aggregated usage for this group and time window
170
+ * - `next_page`: Pagination cursor for large datasets
171
+ *
172
+ * ### Usage guidelines:
173
+ *
174
+ * - Required parameters: Must specify `customer_id`, `billable_metric_id`, and
175
+ * `window_size`
176
+ * - Time windows: Set `window_size` to hour, day, or none for different
177
+ * granularities
178
+ * - Group filtering: Use `group_by` to specify:
179
+ * - key: The dimension to group by (must be set on the billable metric as a
180
+ * group key)
181
+ * - values: Optional array to filter to specific values only
182
+ * - Pagination: Use limit and `next_page` for large result sets
183
+ * - Null handling: `group_value` may be null for unmatched data
44
184
  *
45
185
  * @example
46
186
  * ```ts
@@ -63,12 +203,42 @@ export declare class Usage extends APIResource {
63
203
  * }
64
204
  * ```
65
205
  */
66
- listWithGroups(params: UsageListWithGroupsParams, options?: Core.RequestOptions): Core.PagePromise<UsageListWithGroupsResponsesCursorPage, UsageListWithGroupsResponse>;
206
+ listWithGroups(params: UsageListWithGroupsParams, options?: RequestOptions): PagePromise<UsageListWithGroupsResponsesCursorPage, UsageListWithGroupsResponse>;
67
207
  /**
68
- * For a set of events, look up matched billable metrics and customers by
69
- * transaction id. This endpoint looks at transactions that occurred in the last 34
70
- * days, and is intended for sampling-based testing workflows. It is heavily rate
71
- * limited.
208
+ * This endpoint retrieves events by transaction ID for events that occurred within
209
+ * the last 34 days. It is specifically designed for sampling-based testing
210
+ * workflows to detect revenue leakage. The Event Search API provides a critical
211
+ * observability tool that validates the integrity of your usage pipeline by
212
+ * allowing you to sample raw events and verify their matching against active
213
+ * billable metrics.
214
+ *
215
+ * Why event observability matters for revenue leakage: Silent revenue loss occurs
216
+ * when events are dropped, delayed, or fail to match billable metrics due to:
217
+ *
218
+ * - Upstream system failures
219
+ * - Event format changes
220
+ * - Misconfigured billable metrics
221
+ *
222
+ * ### Use this endpoint to:
223
+ *
224
+ * - Sample raw events and validate they match the expected billable metrics
225
+ * - Build custom leakage detection alerts to prevent silent revenue loss
226
+ * - Verify event processing accuracy during system changes or metric updates
227
+ * - Debug event matching issues in real-time
228
+ *
229
+ * ### Key response fields:
230
+ *
231
+ * - Complete event details including transaction ID, customer ID, and properties
232
+ * - Matched Metronome customer (if any)
233
+ * - Matched billable metric information (if any)
234
+ * - Processing status and duplicate detection flags
235
+ *
236
+ * ### Usage guidelines:
237
+ *
238
+ * ⚠️ Important: This endpoint is heavily rate limited and designed for sampling
239
+ * workflows only. Do not use this endpoint to check every event in your system.
240
+ * Instead, implement a sampling strategy to randomly validate a subset of events
241
+ * for observability purposes.
72
242
  *
73
243
  * @example
74
244
  * ```ts
@@ -77,30 +247,24 @@ export declare class Usage extends APIResource {
77
247
  * });
78
248
  * ```
79
249
  */
80
- search(body: UsageSearchParams, options?: Core.RequestOptions): Core.APIPromise<UsageSearchResponse>;
81
- }
82
- export declare class UsageListWithGroupsResponsesCursorPage extends CursorPage<UsageListWithGroupsResponse> {
250
+ search(body: UsageSearchParams, options?: RequestOptions): APIPromise<UsageSearchResponse>;
83
251
  }
252
+ export type UsageListResponsesCursorPageWithoutLimit = CursorPageWithoutLimit<UsageListResponse>;
253
+ export type UsageListWithGroupsResponsesCursorPage = CursorPage<UsageListWithGroupsResponse>;
84
254
  export interface UsageListResponse {
85
- data: Array<UsageListResponse.Data>;
86
- next_page: string | null;
87
- }
88
- export declare namespace UsageListResponse {
89
- interface Data {
90
- billable_metric_id: string;
91
- billable_metric_name: string;
92
- customer_id: string;
93
- end_timestamp: string;
94
- start_timestamp: string;
95
- value: number | null;
96
- /**
97
- * Values will be either a number or null. Null indicates that there were no
98
- * matches for the group_by value.
99
- */
100
- groups?: {
101
- [key: string]: number | null;
102
- };
103
- }
255
+ billable_metric_id: string;
256
+ billable_metric_name: string;
257
+ customer_id: string;
258
+ end_timestamp: string;
259
+ start_timestamp: string;
260
+ value: number | null;
261
+ /**
262
+ * Values will be either a number or null. Null indicates that there were no
263
+ * matches for the group_by value.
264
+ */
265
+ groups?: {
266
+ [key: string]: number | null;
267
+ };
104
268
  }
105
269
  export interface UsageListWithGroupsResponse {
106
270
  ending_before: string;
@@ -158,6 +322,9 @@ export declare namespace UsageSearchResponse {
158
322
  * provided, the billable metric is not archived.
159
323
  */
160
324
  archived_at?: string;
325
+ /**
326
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
327
+ */
161
328
  custom_fields?: {
162
329
  [key: string]: string;
163
330
  };
@@ -200,7 +367,7 @@ export declare namespace UsageSearchResponse {
200
367
  }
201
368
  }
202
369
  }
203
- export interface UsageListParams {
370
+ export interface UsageListParams extends CursorPageWithoutLimitParams {
204
371
  /**
205
372
  * Body param:
206
373
  */
@@ -216,10 +383,6 @@ export interface UsageListParams {
216
383
  * period.
217
384
  */
218
385
  window_size: 'HOUR' | 'DAY' | 'NONE';
219
- /**
220
- * Query param: Cursor that indicates where the next page of results should start.
221
- */
222
- next_page?: string;
223
386
  /**
224
387
  * Body param: A list of billable metrics to fetch usage for. If absent, all
225
388
  * billable metrics will be returned.
@@ -250,7 +413,9 @@ export declare namespace UsageListParams {
250
413
  }
251
414
  }
252
415
  }
253
- export type UsageIngestParams = Array<UsageIngestParams.Usage>;
416
+ export interface UsageIngestParams {
417
+ usage?: Array<UsageIngestParams.Usage>;
418
+ }
254
419
  export declare namespace UsageIngestParams {
255
420
  interface Usage {
256
421
  customer_id: string;
@@ -320,6 +485,6 @@ export interface UsageSearchParams {
320
485
  transactionIds: Array<string>;
321
486
  }
322
487
  export declare namespace Usage {
323
- export { type UsageListResponse as UsageListResponse, type UsageListWithGroupsResponse as UsageListWithGroupsResponse, type UsageSearchResponse as UsageSearchResponse, UsageListWithGroupsResponsesCursorPage as UsageListWithGroupsResponsesCursorPage, type UsageListParams as UsageListParams, type UsageIngestParams as UsageIngestParams, type UsageListWithGroupsParams as UsageListWithGroupsParams, type UsageSearchParams as UsageSearchParams, };
488
+ export { type UsageListResponse as UsageListResponse, type UsageListWithGroupsResponse as UsageListWithGroupsResponse, type UsageSearchResponse as UsageSearchResponse, type UsageListResponsesCursorPageWithoutLimit as UsageListResponsesCursorPageWithoutLimit, type UsageListWithGroupsResponsesCursorPage as UsageListWithGroupsResponsesCursorPage, type UsageListParams as UsageListParams, type UsageIngestParams as UsageIngestParams, type UsageListWithGroupsParams as UsageListWithGroupsParams, type UsageSearchParams as UsageSearchParams, };
324
489
  }
325
490
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/resources/v1/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/resources/v1/usage.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,203 @@
1
1
  "use strict";
2
2
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.UsageListWithGroupsResponsesCursorPage = exports.Usage = void 0;
5
- const resource_1 = require("../../resource.js");
6
- const core_1 = require("../../core.js");
7
- const pagination_1 = require("../../pagination.js");
4
+ exports.Usage = void 0;
5
+ const resource_1 = require("../../core/resource.js");
6
+ const pagination_1 = require("../../core/pagination.js");
7
+ const headers_1 = require("../../internal/headers.js");
8
8
  class Usage extends resource_1.APIResource {
9
9
  /**
10
- * Fetch aggregated usage data for multiple customers and billable-metrics, broken
11
- * into intervals of the specified length.
10
+ * Retrieve aggregated usage data across multiple customers and billable metrics in
11
+ * a single query. This batch endpoint enables you to fetch usage patterns at
12
+ * scale, broken down by time windows, making it ideal for building analytics
13
+ * dashboards, generating reports, and monitoring platform-wide usage trends.
14
+ *
15
+ * ### Use this endpoint to:
16
+ *
17
+ * - Generate platform-wide usage reports for internal teams
18
+ * - Monitor aggregate usage trends across your entire customer base
19
+ * - Create comparative usage analyses between customers or time periods
20
+ * - Support capacity planning with historical usage patterns
21
+ *
22
+ * ### Key response fields:
23
+ *
24
+ * An array of `UsageBatchAggregate` objects containing:
25
+ *
26
+ * - `customer_id`: The customer this usage belongs to
27
+ * - `billable_metric_id` and `billable_metric_name`: What was measured
28
+ * - `start_timestamp` and `end_timestamp`: Time window for this data point
29
+ * - `value`: Aggregated usage amount for the period
30
+ * - `groups` (optional): Usage broken down by group keys with values
31
+ * - `next_page`: Pagination cursor for large result sets
32
+ *
33
+ * ### Usage guidelines:
34
+ *
35
+ * - Time windows: Set `window_size` to `hour`, `day`, or `none` (entire period)
36
+ * - Required parameters: Must specify `starting_on`, `ending_before`, and
37
+ * `window_size`
38
+ * - Filtering options:
39
+ * - `customer_ids`: Limit to specific customers (omit for all customers)
40
+ * - `billable_metrics`: Limit to specific metrics (omit for all metrics)
41
+ * - Pagination: Use `next_page` cursor to retrieve large datasets
42
+ * - Null values: Group values may be null when no usage matches that group
12
43
  *
13
44
  * @example
14
45
  * ```ts
15
- * const usages = await client.v1.usage.list({
46
+ * // Automatically fetches more pages as needed.
47
+ * for await (const usageListResponse of client.v1.usage.list({
16
48
  * ending_before: '2021-01-03T00:00:00Z',
17
49
  * starting_on: '2021-01-01T00:00:00Z',
18
50
  * window_size: 'day',
19
- * });
51
+ * })) {
52
+ * // ...
53
+ * }
20
54
  * ```
21
55
  */
22
56
  list(params, options) {
23
57
  const { next_page, ...body } = params;
24
- return this._client.post('/v1/usage', { query: { next_page }, body, ...options });
58
+ return this._client.getAPIList('/v1/usage', (pagination_1.CursorPageWithoutLimit), {
59
+ query: { next_page },
60
+ body,
61
+ method: 'post',
62
+ ...options,
63
+ });
25
64
  }
26
- ingest(body, options) {
27
- if ((0, core_1.isRequestOptions)(body)) {
28
- return this.ingest(undefined, body);
29
- }
65
+ /**
66
+ * The ingest endpoint is the primary method for sending usage events to Metronome,
67
+ * serving as the foundation for all billing calculations in your usage-based
68
+ * pricing model. This high-throughput endpoint is designed for real-time streaming
69
+ * ingestion, supports backdating 34 days, and is built to handle mission-critical
70
+ * usage data with enterprise-grade reliability. Metronome supports 100,000 events
71
+ * per second without requiring pre-aggregation or rollups and can scale up from
72
+ * there. See the [Send usage events](/guides/events/send-usage-events) guide to
73
+ * learn more about usage events.
74
+ *
75
+ * ### Use this endpoint to:
76
+ *
77
+ * Create a customer usage pipeline into Metronome that drives billable metrics,
78
+ * credit drawdown, and invoicing. Track customer behavior, resource consumption,
79
+ * and feature usage
80
+ *
81
+ * ### What happens when you send events:
82
+ *
83
+ * - Events are validated and processed in real-time
84
+ * - Events are matched to customers using customer IDs or customer ingest aliases
85
+ * - Events are matched to billable metrics and are immediately available for usage
86
+ * and spend calculations
87
+ *
88
+ * ### Usage guidelines:
89
+ *
90
+ * - Historical events can be backdated up to 34 days and will immediately impact
91
+ * live customer spend
92
+ * - Duplicate events are automatically detected and ignored (34-day deduplication
93
+ * window)
94
+ *
95
+ * #### Event structure:
96
+ *
97
+ * Usage events are simple JSON objects designed for flexibility and ease of
98
+ * integration:
99
+ *
100
+ * ```json
101
+ * {
102
+ * "transaction_id": "2021-01-01T00:00:00Z_cluster42",
103
+ * "customer_id": "team@example.com",
104
+ * "event_type": "api_request",
105
+ * "timestamp": "2021-01-01T00:00:00Z",
106
+ * "properties": {
107
+ * "endpoint": "/v1/users",
108
+ * "method": "POST",
109
+ * "response_time_ms": 45,
110
+ * "region": "us-west-2"
111
+ * }
112
+ * }
113
+ * ```
114
+ *
115
+ * Learn more about
116
+ * [usage event structure definitions](/guides/events/design-usage-events).
117
+ *
118
+ * #### Transaction ID
119
+ *
120
+ * The transaction_id serves as your idempotency key, ensuring events are processed
121
+ * exactly once. Metronome maintains a 34-day deduplication window - significantly
122
+ * longer than typical 12-hour windows - enabling robust backfill scenarios without
123
+ * duplicate billing.
124
+ *
125
+ * - Best Practices:
126
+ * - Use UUIDs for one-time events: uuid4()
127
+ * - For heartbeat events, use deterministic IDs
128
+ * - Include enough context to avoid collisions across different event sources
129
+ *
130
+ * #### Customer ID
131
+ *
132
+ * Identifies which customer should be billed for this usage. Supports two
133
+ * identification methods:
134
+ *
135
+ * - Metronome Customer ID: The UUID returned when creating a customer
136
+ * - Ingest Alias: Your system's identifier (email, account number, etc.)
137
+ *
138
+ * Ingest aliases enable seamless integration without requiring ID mapping, and
139
+ * customers can have multiple aliases for flexibility.
140
+ *
141
+ * #### Event Type:
142
+ *
143
+ * Categorizes the event type for billable metric matching. Choose descriptive
144
+ * names that aligns with the product surface area.
145
+ *
146
+ * #### Properties:
147
+ *
148
+ * Flexible metadata also used to match billable metrics or to be used to serve as
149
+ * group keys to create multiple pricing dimensions or breakdown costs by novel
150
+ * properties for end customers or internal finance teams measuring underlying
151
+ * COGs.
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * await client.v1.usage.ingest();
156
+ * ```
157
+ */
158
+ ingest(params = undefined, options) {
159
+ const { usage } = params ?? {};
30
160
  return this._client.post('/v1/ingest', {
31
- body,
161
+ body: usage,
32
162
  ...options,
33
- headers: { Accept: '*/*', ...options?.headers },
163
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
34
164
  });
35
165
  }
36
166
  /**
37
- * Fetch aggregated usage data for the specified customer, billable-metric, and
38
- * optional group, broken into intervals of the specified length.
167
+ * Retrieve granular usage data for a specific customer and billable metric, with
168
+ * the ability to break down usage by custom grouping dimensions. This endpoint
169
+ * enables deep usage analytics by segmenting data across attributes like region,
170
+ * user, model type, or any custom dimension defined in your billable metrics.
171
+ *
172
+ * ### Use this endpoint to:
173
+ *
174
+ * - Analyze usage patterns broken down by specific attributes (region, user,
175
+ * department, etc.)
176
+ * - Build detailed usage dashboards with dimensional filtering
177
+ * - Identify high-usage segments for optimization opportunities
178
+ *
179
+ * ### Key response fields:
180
+ *
181
+ * An array of `PagedUsageAggregate` objects containing:
182
+ *
183
+ * - `starting_on` and `ending_before`: Time window boundaries
184
+ * - `group_key`: The dimension being grouped by (e.g., "region")
185
+ * - `group_value`: The specific value for this group (e.g., "US-East")
186
+ * - `value`: Aggregated usage for this group and time window
187
+ * - `next_page`: Pagination cursor for large datasets
188
+ *
189
+ * ### Usage guidelines:
190
+ *
191
+ * - Required parameters: Must specify `customer_id`, `billable_metric_id`, and
192
+ * `window_size`
193
+ * - Time windows: Set `window_size` to hour, day, or none for different
194
+ * granularities
195
+ * - Group filtering: Use `group_by` to specify:
196
+ * - key: The dimension to group by (must be set on the billable metric as a
197
+ * group key)
198
+ * - values: Optional array to filter to specific values only
199
+ * - Pagination: Use limit and `next_page` for large result sets
200
+ * - Null handling: `group_value` may be null for unmatched data
39
201
  *
40
202
  * @example
41
203
  * ```ts
@@ -60,7 +222,7 @@ class Usage extends resource_1.APIResource {
60
222
  */
61
223
  listWithGroups(params, options) {
62
224
  const { limit, next_page, ...body } = params;
63
- return this._client.getAPIList('/v1/usage/groups', UsageListWithGroupsResponsesCursorPage, {
225
+ return this._client.getAPIList('/v1/usage/groups', (pagination_1.CursorPage), {
64
226
  query: { limit, next_page },
65
227
  body,
66
228
  method: 'post',
@@ -68,10 +230,40 @@ class Usage extends resource_1.APIResource {
68
230
  });
69
231
  }
70
232
  /**
71
- * For a set of events, look up matched billable metrics and customers by
72
- * transaction id. This endpoint looks at transactions that occurred in the last 34
73
- * days, and is intended for sampling-based testing workflows. It is heavily rate
74
- * limited.
233
+ * This endpoint retrieves events by transaction ID for events that occurred within
234
+ * the last 34 days. It is specifically designed for sampling-based testing
235
+ * workflows to detect revenue leakage. The Event Search API provides a critical
236
+ * observability tool that validates the integrity of your usage pipeline by
237
+ * allowing you to sample raw events and verify their matching against active
238
+ * billable metrics.
239
+ *
240
+ * Why event observability matters for revenue leakage: Silent revenue loss occurs
241
+ * when events are dropped, delayed, or fail to match billable metrics due to:
242
+ *
243
+ * - Upstream system failures
244
+ * - Event format changes
245
+ * - Misconfigured billable metrics
246
+ *
247
+ * ### Use this endpoint to:
248
+ *
249
+ * - Sample raw events and validate they match the expected billable metrics
250
+ * - Build custom leakage detection alerts to prevent silent revenue loss
251
+ * - Verify event processing accuracy during system changes or metric updates
252
+ * - Debug event matching issues in real-time
253
+ *
254
+ * ### Key response fields:
255
+ *
256
+ * - Complete event details including transaction ID, customer ID, and properties
257
+ * - Matched Metronome customer (if any)
258
+ * - Matched billable metric information (if any)
259
+ * - Processing status and duplicate detection flags
260
+ *
261
+ * ### Usage guidelines:
262
+ *
263
+ * ⚠️ Important: This endpoint is heavily rate limited and designed for sampling
264
+ * workflows only. Do not use this endpoint to check every event in your system.
265
+ * Instead, implement a sampling strategy to randomly validate a subset of events
266
+ * for observability purposes.
75
267
  *
76
268
  * @example
77
269
  * ```ts
@@ -85,8 +277,4 @@ class Usage extends resource_1.APIResource {
85
277
  }
86
278
  }
87
279
  exports.Usage = Usage;
88
- class UsageListWithGroupsResponsesCursorPage extends pagination_1.CursorPage {
89
- }
90
- exports.UsageListWithGroupsResponsesCursorPage = UsageListWithGroupsResponsesCursorPage;
91
- Usage.UsageListWithGroupsResponsesCursorPage = UsageListWithGroupsResponsesCursorPage;
92
280
  //# sourceMappingURL=usage.js.map