@metronome/sdk 0.1.0-beta.8 → 0.1.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 (485) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/README.md +37 -52
  3. package/_shims/index.d.ts +2 -0
  4. package/_shims/index.js +5 -1
  5. package/_shims/index.mjs +5 -1
  6. package/core.d.ts +19 -5
  7. package/core.d.ts.map +1 -1
  8. package/core.js +25 -15
  9. package/core.js.map +1 -1
  10. package/core.mjs +26 -16
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +10 -42
  13. package/index.d.ts +10 -42
  14. package/index.d.ts.map +1 -1
  15. package/index.js +14 -55
  16. package/index.js.map +1 -1
  17. package/index.mjs +14 -55
  18. package/index.mjs.map +1 -1
  19. package/package.json +1 -1
  20. package/pagination.d.ts +1 -0
  21. package/pagination.d.ts.map +1 -1
  22. package/pagination.js +3 -0
  23. package/pagination.js.map +1 -1
  24. package/pagination.mjs +3 -0
  25. package/pagination.mjs.map +1 -1
  26. package/resource.d.ts +1 -1
  27. package/resource.d.ts.map +1 -1
  28. package/resource.js.map +1 -1
  29. package/resource.mjs.map +1 -1
  30. package/resources/index.d.ts +2 -13
  31. package/resources/index.d.ts.map +1 -1
  32. package/resources/index.js +5 -38
  33. package/resources/index.js.map +1 -1
  34. package/resources/index.mjs +2 -13
  35. package/resources/index.mjs.map +1 -1
  36. package/resources/shared.d.ts +512 -24
  37. package/resources/shared.d.ts.map +1 -1
  38. package/resources/{alerts.d.ts → v1/alerts.d.ts} +29 -5
  39. package/resources/v1/alerts.d.ts.map +1 -0
  40. package/resources/v1/alerts.js +40 -0
  41. package/resources/v1/alerts.js.map +1 -0
  42. package/resources/v1/alerts.mjs +36 -0
  43. package/resources/v1/alerts.mjs.map +1 -0
  44. package/resources/{audit-logs.d.ts → v1/audit-logs.d.ts} +11 -3
  45. package/resources/v1/audit-logs.d.ts.map +1 -0
  46. package/resources/{audit-logs.js → v1/audit-logs.js} +4 -4
  47. package/resources/v1/audit-logs.js.map +1 -0
  48. package/resources/{audit-logs.mjs → v1/audit-logs.mjs} +4 -4
  49. package/resources/v1/audit-logs.mjs.map +1 -0
  50. package/resources/{billable-metrics.d.ts → v1/billable-metrics.d.ts} +62 -7
  51. package/resources/v1/billable-metrics.d.ts.map +1 -0
  52. package/resources/v1/billable-metrics.js +84 -0
  53. package/resources/v1/billable-metrics.js.map +1 -0
  54. package/resources/v1/billable-metrics.mjs +79 -0
  55. package/resources/v1/billable-metrics.mjs.map +1 -0
  56. package/resources/{contracts → v1/contracts}/contracts.d.ts +1618 -62
  57. package/resources/v1/contracts/contracts.d.ts.map +1 -0
  58. package/resources/v1/contracts/contracts.js +312 -0
  59. package/resources/v1/contracts/contracts.js.map +1 -0
  60. package/resources/v1/contracts/contracts.mjs +285 -0
  61. package/resources/v1/contracts/contracts.mjs.map +1 -0
  62. package/resources/v1/contracts/index.d.ts +5 -0
  63. package/resources/v1/contracts/index.d.ts.map +1 -0
  64. package/resources/v1/contracts/index.js.map +1 -0
  65. package/resources/v1/contracts/index.mjs.map +1 -0
  66. package/resources/{contracts → v1/contracts}/named-schedules.d.ts +23 -2
  67. package/resources/v1/contracts/named-schedules.d.ts.map +1 -0
  68. package/resources/v1/contracts/named-schedules.js +48 -0
  69. package/resources/v1/contracts/named-schedules.js.map +1 -0
  70. package/resources/v1/contracts/named-schedules.mjs +44 -0
  71. package/resources/v1/contracts/named-schedules.mjs.map +1 -0
  72. package/resources/{contracts → v1/contracts}/products.d.ts +55 -7
  73. package/resources/v1/contracts/products.d.ts.map +1 -0
  74. package/resources/v1/contracts/products.js +84 -0
  75. package/resources/v1/contracts/products.js.map +1 -0
  76. package/resources/v1/contracts/products.mjs +79 -0
  77. package/resources/v1/contracts/products.mjs.map +1 -0
  78. package/resources/{contracts → v1/contracts}/rate-cards/index.d.ts +1 -1
  79. package/resources/v1/contracts/rate-cards/index.d.ts.map +1 -0
  80. package/resources/v1/contracts/rate-cards/index.js.map +1 -0
  81. package/resources/v1/contracts/rate-cards/index.mjs.map +1 -0
  82. package/resources/{contracts → v1/contracts}/rate-cards/named-schedules.d.ts +27 -2
  83. package/resources/v1/contracts/rate-cards/named-schedules.d.ts.map +1 -0
  84. package/resources/v1/contracts/rate-cards/named-schedules.js +52 -0
  85. package/resources/v1/contracts/rate-cards/named-schedules.js.map +1 -0
  86. package/resources/v1/contracts/rate-cards/named-schedules.mjs +48 -0
  87. package/resources/v1/contracts/rate-cards/named-schedules.mjs.map +1 -0
  88. package/resources/{contracts → v1/contracts}/rate-cards/product-orders.d.ts +33 -3
  89. package/resources/v1/contracts/rate-cards/product-orders.d.ts.map +1 -0
  90. package/resources/v1/contracts/rate-cards/product-orders.js +54 -0
  91. package/resources/v1/contracts/rate-cards/product-orders.js.map +1 -0
  92. package/resources/v1/contracts/rate-cards/product-orders.mjs +50 -0
  93. package/resources/v1/contracts/rate-cards/product-orders.mjs.map +1 -0
  94. package/resources/{contracts → v1/contracts}/rate-cards/rate-cards.d.ts +118 -14
  95. package/resources/v1/contracts/rate-cards/rate-cards.d.ts.map +1 -0
  96. package/resources/{contracts → v1/contracts}/rate-cards/rate-cards.js +83 -12
  97. package/resources/v1/contracts/rate-cards/rate-cards.js.map +1 -0
  98. package/resources/v1/contracts/rate-cards/rate-cards.mjs +140 -0
  99. package/resources/v1/contracts/rate-cards/rate-cards.mjs.map +1 -0
  100. package/resources/{contracts → v1/contracts}/rate-cards/rates.d.ts +118 -14
  101. package/resources/v1/contracts/rate-cards/rates.d.ts.map +1 -0
  102. package/resources/v1/contracts/rate-cards/rates.js +106 -0
  103. package/resources/v1/contracts/rate-cards/rates.js.map +1 -0
  104. package/resources/v1/contracts/rate-cards/rates.mjs +101 -0
  105. package/resources/v1/contracts/rate-cards/rates.mjs.map +1 -0
  106. package/resources/v1/contracts/rate-cards.d.ts +2 -0
  107. package/resources/v1/contracts/rate-cards.d.ts.map +1 -0
  108. package/resources/v1/contracts/rate-cards.js +19 -0
  109. package/resources/v1/contracts/rate-cards.js.map +1 -0
  110. package/resources/v1/contracts/rate-cards.mjs +3 -0
  111. package/resources/v1/contracts/rate-cards.mjs.map +1 -0
  112. package/resources/v1/contracts.d.ts +2 -0
  113. package/resources/v1/contracts.d.ts.map +1 -0
  114. package/resources/v1/contracts.js +19 -0
  115. package/resources/v1/contracts.js.map +1 -0
  116. package/resources/v1/contracts.mjs +3 -0
  117. package/resources/v1/contracts.mjs.map +1 -0
  118. package/resources/{credit-grants.d.ts → v1/credit-grants.d.ts} +81 -6
  119. package/resources/v1/credit-grants.d.ts.map +1 -0
  120. package/resources/v1/credit-grants.js +89 -0
  121. package/resources/v1/credit-grants.js.map +1 -0
  122. package/resources/v1/credit-grants.mjs +84 -0
  123. package/resources/v1/credit-grants.mjs.map +1 -0
  124. package/resources/{custom-fields.d.ts → v1/custom-fields.d.ts} +53 -9
  125. package/resources/v1/custom-fields.d.ts.map +1 -0
  126. package/resources/{custom-fields.js → v1/custom-fields.js} +42 -7
  127. package/resources/v1/custom-fields.js.map +1 -0
  128. package/resources/{custom-fields.mjs → v1/custom-fields.mjs} +42 -7
  129. package/resources/v1/custom-fields.mjs.map +1 -0
  130. package/resources/{customers → v1/customers}/alerts.d.ts +31 -3
  131. package/resources/v1/customers/alerts.d.ts.map +1 -0
  132. package/resources/v1/customers/alerts.js +56 -0
  133. package/resources/v1/customers/alerts.js.map +1 -0
  134. package/resources/v1/customers/alerts.mjs +52 -0
  135. package/resources/v1/customers/alerts.mjs.map +1 -0
  136. package/resources/{customers → v1/customers}/billing-config.d.ts +33 -2
  137. package/resources/v1/customers/billing-config.d.ts.map +1 -0
  138. package/resources/v1/customers/billing-config.js +65 -0
  139. package/resources/v1/customers/billing-config.js.map +1 -0
  140. package/resources/v1/customers/billing-config.mjs +61 -0
  141. package/resources/v1/customers/billing-config.mjs.map +1 -0
  142. package/resources/{customers → v1/customers}/commits.d.ts +97 -10
  143. package/resources/v1/customers/commits.d.ts.map +1 -0
  144. package/resources/v1/customers/commits.js +82 -0
  145. package/resources/v1/customers/commits.js.map +1 -0
  146. package/resources/v1/customers/commits.mjs +78 -0
  147. package/resources/v1/customers/commits.mjs.map +1 -0
  148. package/resources/{customers → v1/customers}/credits.d.ts +76 -6
  149. package/resources/v1/customers/credits.d.ts.map +1 -0
  150. package/resources/v1/customers/credits.js +67 -0
  151. package/resources/v1/customers/credits.js.map +1 -0
  152. package/resources/v1/customers/credits.mjs +63 -0
  153. package/resources/v1/customers/credits.mjs.map +1 -0
  154. package/resources/{customers → v1/customers}/customers.d.ts +197 -14
  155. package/resources/v1/customers/customers.d.ts.map +1 -0
  156. package/resources/{customers → v1/customers}/customers.js +118 -16
  157. package/resources/v1/customers/customers.js.map +1 -0
  158. package/resources/v1/customers/customers.mjs +228 -0
  159. package/resources/v1/customers/customers.mjs.map +1 -0
  160. package/resources/{customers → v1/customers}/index.d.ts +1 -1
  161. package/resources/v1/customers/index.d.ts.map +1 -0
  162. package/resources/v1/customers/index.js.map +1 -0
  163. package/resources/v1/customers/index.mjs.map +1 -0
  164. package/resources/{customers → v1/customers}/invoices.d.ts +152 -57
  165. package/resources/v1/customers/invoices.d.ts.map +1 -0
  166. package/resources/v1/customers/invoices.js +103 -0
  167. package/resources/v1/customers/invoices.js.map +1 -0
  168. package/resources/v1/customers/invoices.mjs +97 -0
  169. package/resources/v1/customers/invoices.mjs.map +1 -0
  170. package/resources/{customers → v1/customers}/named-schedules.d.ts +23 -2
  171. package/resources/v1/customers/named-schedules.d.ts.map +1 -0
  172. package/resources/v1/customers/named-schedules.js +48 -0
  173. package/resources/v1/customers/named-schedules.js.map +1 -0
  174. package/resources/v1/customers/named-schedules.mjs +44 -0
  175. package/resources/v1/customers/named-schedules.mjs.map +1 -0
  176. package/resources/{customers → v1/customers}/plans.d.ts +50 -5
  177. package/resources/v1/customers/plans.d.ts.map +1 -0
  178. package/resources/v1/customers/plans.js +99 -0
  179. package/resources/v1/customers/plans.js.map +1 -0
  180. package/resources/v1/customers/plans.mjs +93 -0
  181. package/resources/v1/customers/plans.mjs.map +1 -0
  182. package/resources/v1/customers.d.ts +2 -0
  183. package/resources/v1/customers.d.ts.map +1 -0
  184. package/resources/v1/customers.js +19 -0
  185. package/resources/v1/customers.js.map +1 -0
  186. package/resources/v1/customers.mjs +3 -0
  187. package/resources/v1/customers.mjs.map +1 -0
  188. package/resources/{dashboards.d.ts → v1/dashboards.d.ts} +32 -4
  189. package/resources/v1/dashboards.d.ts.map +1 -0
  190. package/resources/v1/dashboards.js +43 -0
  191. package/resources/v1/dashboards.js.map +1 -0
  192. package/resources/v1/dashboards.mjs +39 -0
  193. package/resources/v1/dashboards.mjs.map +1 -0
  194. package/resources/v1/index.d.ts +15 -0
  195. package/resources/v1/index.d.ts.map +1 -0
  196. package/resources/v1/index.js +44 -0
  197. package/resources/v1/index.js.map +1 -0
  198. package/resources/v1/index.mjs +16 -0
  199. package/resources/v1/index.mjs.map +1 -0
  200. package/resources/{invoices.d.ts → v1/invoices.d.ts} +16 -2
  201. package/resources/v1/invoices.d.ts.map +1 -0
  202. package/resources/v1/invoices.js +35 -0
  203. package/resources/v1/invoices.js.map +1 -0
  204. package/resources/v1/invoices.mjs +31 -0
  205. package/resources/v1/invoices.mjs.map +1 -0
  206. package/resources/{plans.d.ts → v1/plans.d.ts} +51 -8
  207. package/resources/v1/plans.d.ts.map +1 -0
  208. package/resources/{plans.js → v1/plans.js} +34 -7
  209. package/resources/v1/plans.js.map +1 -0
  210. package/resources/v1/plans.mjs +74 -0
  211. package/resources/v1/plans.mjs.map +1 -0
  212. package/resources/{pricing-units.d.ts → v1/pricing-units.d.ts} +11 -3
  213. package/resources/v1/pricing-units.d.ts.map +1 -0
  214. package/resources/{pricing-units.js → v1/pricing-units.js} +4 -4
  215. package/resources/v1/pricing-units.js.map +1 -0
  216. package/resources/{pricing-units.mjs → v1/pricing-units.mjs} +4 -4
  217. package/resources/v1/pricing-units.mjs.map +1 -0
  218. package/resources/{services.d.ts → v1/services.d.ts} +7 -2
  219. package/resources/v1/services.d.ts.map +1 -0
  220. package/resources/{services.js → v1/services.js} +7 -2
  221. package/resources/v1/services.js.map +1 -0
  222. package/resources/{services.mjs → v1/services.mjs} +7 -2
  223. package/resources/v1/services.mjs.map +1 -0
  224. package/resources/v1/usage.d.ts +325 -0
  225. package/resources/v1/usage.d.ts.map +1 -0
  226. package/resources/v1/usage.js +92 -0
  227. package/resources/v1/usage.js.map +1 -0
  228. package/resources/v1/usage.mjs +87 -0
  229. package/resources/v1/usage.mjs.map +1 -0
  230. package/resources/v1/v1.d.ts +58 -0
  231. package/resources/v1/v1.d.ts.map +1 -0
  232. package/resources/v1/v1.js +98 -0
  233. package/resources/v1/v1.js.map +1 -0
  234. package/resources/v1/v1.mjs +71 -0
  235. package/resources/v1/v1.mjs.map +1 -0
  236. package/resources/v1.d.ts +2 -0
  237. package/resources/v1.d.ts.map +1 -0
  238. package/resources/v1.js +19 -0
  239. package/resources/v1.js.map +1 -0
  240. package/resources/v1.mjs +3 -0
  241. package/resources/v1.mjs.map +1 -0
  242. package/resources/v2/contracts.d.ts +5955 -0
  243. package/resources/v2/contracts.d.ts.map +1 -0
  244. package/resources/v2/contracts.js +136 -0
  245. package/resources/v2/contracts.js.map +1 -0
  246. package/resources/v2/contracts.mjs +132 -0
  247. package/resources/v2/contracts.mjs.map +1 -0
  248. package/resources/v2/index.d.ts +3 -0
  249. package/resources/v2/index.d.ts.map +1 -0
  250. package/resources/v2/index.js +9 -0
  251. package/resources/v2/index.js.map +1 -0
  252. package/resources/v2/index.mjs +4 -0
  253. package/resources/v2/index.mjs.map +1 -0
  254. package/resources/v2/v2.d.ts +10 -0
  255. package/resources/v2/v2.d.ts.map +1 -0
  256. package/resources/v2/v2.js +39 -0
  257. package/resources/v2/v2.js.map +1 -0
  258. package/resources/v2/v2.mjs +12 -0
  259. package/resources/v2/v2.mjs.map +1 -0
  260. package/resources/v2.d.ts +2 -0
  261. package/resources/v2.d.ts.map +1 -0
  262. package/resources/v2.js +19 -0
  263. package/resources/v2.js.map +1 -0
  264. package/resources/v2.mjs +3 -0
  265. package/resources/v2.mjs.map +1 -0
  266. package/resources/webhooks.js +5 -5
  267. package/resources/webhooks.js.map +1 -1
  268. package/resources/webhooks.mjs +5 -5
  269. package/resources/webhooks.mjs.map +1 -1
  270. package/resources.d.ts +2 -0
  271. package/resources.d.ts.map +1 -0
  272. package/resources.js +18 -0
  273. package/resources.js.map +1 -0
  274. package/resources.mjs +2 -0
  275. package/resources.mjs.map +1 -0
  276. package/src/_shims/auto/runtime-bun.ts +1 -1
  277. package/src/_shims/auto/runtime-node.ts +1 -1
  278. package/src/_shims/auto/runtime.ts +1 -1
  279. package/src/_shims/auto/types-node.ts +1 -1
  280. package/src/_shims/bun-runtime.ts +2 -2
  281. package/src/_shims/index.d.ts +5 -3
  282. package/src/_shims/index.js +5 -1
  283. package/src/_shims/index.mjs +6 -2
  284. package/src/_shims/node-runtime.ts +3 -3
  285. package/src/_shims/registry.ts +1 -1
  286. package/src/_shims/web-runtime.ts +3 -3
  287. package/src/core.ts +49 -21
  288. package/src/error.ts +1 -1
  289. package/src/index.ts +31 -349
  290. package/src/internal/qs/formats.ts +1 -1
  291. package/src/internal/qs/index.ts +3 -3
  292. package/src/internal/qs/stringify.ts +3 -3
  293. package/src/internal/qs/utils.ts +2 -2
  294. package/src/pagination.ts +5 -1
  295. package/src/resource.ts +2 -2
  296. package/src/resources/index.ts +4 -144
  297. package/src/resources/shared.ts +587 -26
  298. package/src/resources/{alerts.ts → v1/alerts.ts} +31 -7
  299. package/src/resources/{audit-logs.ts → v1/audit-logs.ts} +13 -5
  300. package/src/resources/{billable-metrics.ts → v1/billable-metrics.ts} +61 -12
  301. package/src/resources/{contracts → v1/contracts}/contracts.ts +1848 -83
  302. package/src/resources/{contracts → v1/contracts}/index.ts +8 -4
  303. package/src/resources/{contracts → v1/contracts}/named-schedules.ts +25 -4
  304. package/src/resources/{contracts → v1/contracts}/products.ts +58 -14
  305. package/src/resources/{contracts → v1/contracts}/rate-cards/index.ts +6 -4
  306. package/src/resources/{contracts → v1/contracts}/rate-cards/named-schedules.ts +29 -4
  307. package/src/resources/{contracts → v1/contracts}/rate-cards/product-orders.ts +38 -5
  308. package/src/resources/{contracts → v1/contracts}/rate-cards/rate-cards.ts +137 -25
  309. package/src/resources/{contracts → v1/contracts}/rate-cards/rates.ts +105 -17
  310. package/src/resources/v1/contracts/rate-cards.ts +3 -0
  311. package/src/resources/v1/contracts.ts +3 -0
  312. package/src/resources/{credit-grants.ts → v1/credit-grants.ts} +86 -14
  313. package/src/resources/{custom-fields.ts → v1/custom-fields.ts} +62 -14
  314. package/src/resources/{customers → v1/customers}/alerts.ts +35 -6
  315. package/src/resources/{customers → v1/customers}/billing-config.ts +37 -5
  316. package/src/resources/{customers → v1/customers}/commits.ts +100 -13
  317. package/src/resources/{customers → v1/customers}/credits.ts +79 -9
  318. package/src/resources/{customers → v1/customers}/customers.ts +229 -40
  319. package/src/resources/{customers → v1/customers}/index.ts +10 -8
  320. package/src/resources/{customers → v1/customers}/invoices.ts +131 -62
  321. package/src/resources/{customers → v1/customers}/named-schedules.ts +25 -4
  322. package/src/resources/{customers → v1/customers}/plans.ts +55 -9
  323. package/src/resources/v1/customers.ts +3 -0
  324. package/src/resources/{dashboards.ts → v1/dashboards.ts} +31 -5
  325. package/src/resources/v1/index.ts +151 -0
  326. package/src/resources/{invoices.ts → v1/invoices.ts} +18 -4
  327. package/src/resources/{plans.ts → v1/plans.ts} +49 -14
  328. package/src/resources/{pricing-units.ts → v1/pricing-units.ts} +13 -5
  329. package/src/resources/{services.ts → v1/services.ts} +8 -3
  330. package/src/resources/v1/usage.ts +429 -0
  331. package/src/resources/v1/v1.ts +364 -0
  332. package/src/resources/v1.ts +3 -0
  333. package/src/resources/v2/contracts.ts +7677 -0
  334. package/src/resources/v2/index.ts +18 -0
  335. package/src/resources/v2/v2.ts +43 -0
  336. package/src/resources/v2.ts +3 -0
  337. package/src/resources/webhooks.ts +7 -7
  338. package/src/resources.ts +1 -0
  339. package/src/shims/node.ts +3 -3
  340. package/src/shims/web.ts +3 -3
  341. package/src/uploads.ts +4 -4
  342. package/src/version.ts +1 -1
  343. package/version.d.ts +1 -1
  344. package/version.d.ts.map +1 -1
  345. package/version.js +1 -1
  346. package/version.js.map +1 -1
  347. package/version.mjs +1 -1
  348. package/version.mjs.map +1 -1
  349. package/resources/alerts.d.ts.map +0 -1
  350. package/resources/alerts.js +0 -21
  351. package/resources/alerts.js.map +0 -1
  352. package/resources/alerts.mjs +0 -17
  353. package/resources/alerts.mjs.map +0 -1
  354. package/resources/audit-logs.d.ts.map +0 -1
  355. package/resources/audit-logs.js.map +0 -1
  356. package/resources/audit-logs.mjs.map +0 -1
  357. package/resources/billable-metrics.d.ts.map +0 -1
  358. package/resources/billable-metrics.js +0 -43
  359. package/resources/billable-metrics.js.map +0 -1
  360. package/resources/billable-metrics.mjs +0 -38
  361. package/resources/billable-metrics.mjs.map +0 -1
  362. package/resources/contracts/contracts.d.ts.map +0 -1
  363. package/resources/contracts/contracts.js +0 -135
  364. package/resources/contracts/contracts.js.map +0 -1
  365. package/resources/contracts/contracts.mjs +0 -108
  366. package/resources/contracts/contracts.mjs.map +0 -1
  367. package/resources/contracts/index.d.ts +0 -5
  368. package/resources/contracts/index.d.ts.map +0 -1
  369. package/resources/contracts/index.js.map +0 -1
  370. package/resources/contracts/index.mjs.map +0 -1
  371. package/resources/contracts/named-schedules.d.ts.map +0 -1
  372. package/resources/contracts/named-schedules.js +0 -27
  373. package/resources/contracts/named-schedules.js.map +0 -1
  374. package/resources/contracts/named-schedules.mjs +0 -23
  375. package/resources/contracts/named-schedules.mjs.map +0 -1
  376. package/resources/contracts/products.d.ts.map +0 -1
  377. package/resources/contracts/products.js +0 -51
  378. package/resources/contracts/products.js.map +0 -1
  379. package/resources/contracts/products.mjs +0 -46
  380. package/resources/contracts/products.mjs.map +0 -1
  381. package/resources/contracts/rate-cards/index.d.ts.map +0 -1
  382. package/resources/contracts/rate-cards/index.js.map +0 -1
  383. package/resources/contracts/rate-cards/index.mjs.map +0 -1
  384. package/resources/contracts/rate-cards/named-schedules.d.ts.map +0 -1
  385. package/resources/contracts/rate-cards/named-schedules.js +0 -27
  386. package/resources/contracts/rate-cards/named-schedules.js.map +0 -1
  387. package/resources/contracts/rate-cards/named-schedules.mjs +0 -23
  388. package/resources/contracts/rate-cards/named-schedules.mjs.map +0 -1
  389. package/resources/contracts/rate-cards/product-orders.d.ts.map +0 -1
  390. package/resources/contracts/rate-cards/product-orders.js +0 -21
  391. package/resources/contracts/rate-cards/product-orders.js.map +0 -1
  392. package/resources/contracts/rate-cards/product-orders.mjs +0 -17
  393. package/resources/contracts/rate-cards/product-orders.mjs.map +0 -1
  394. package/resources/contracts/rate-cards/rate-cards.d.ts.map +0 -1
  395. package/resources/contracts/rate-cards/rate-cards.js.map +0 -1
  396. package/resources/contracts/rate-cards/rate-cards.mjs +0 -69
  397. package/resources/contracts/rate-cards/rate-cards.mjs.map +0 -1
  398. package/resources/contracts/rate-cards/rates.d.ts.map +0 -1
  399. package/resources/contracts/rate-cards/rates.js +0 -38
  400. package/resources/contracts/rate-cards/rates.js.map +0 -1
  401. package/resources/contracts/rate-cards/rates.mjs +0 -33
  402. package/resources/contracts/rate-cards/rates.mjs.map +0 -1
  403. package/resources/credit-grants.d.ts.map +0 -1
  404. package/resources/credit-grants.js +0 -52
  405. package/resources/credit-grants.js.map +0 -1
  406. package/resources/credit-grants.mjs +0 -47
  407. package/resources/credit-grants.mjs.map +0 -1
  408. package/resources/custom-fields.d.ts.map +0 -1
  409. package/resources/custom-fields.js.map +0 -1
  410. package/resources/custom-fields.mjs.map +0 -1
  411. package/resources/customers/alerts.d.ts.map +0 -1
  412. package/resources/customers/alerts.js +0 -33
  413. package/resources/customers/alerts.js.map +0 -1
  414. package/resources/customers/alerts.mjs +0 -29
  415. package/resources/customers/alerts.mjs.map +0 -1
  416. package/resources/customers/billing-config.d.ts.map +0 -1
  417. package/resources/customers/billing-config.js +0 -38
  418. package/resources/customers/billing-config.js.map +0 -1
  419. package/resources/customers/billing-config.mjs +0 -34
  420. package/resources/customers/billing-config.mjs.map +0 -1
  421. package/resources/customers/commits.d.ts.map +0 -1
  422. package/resources/customers/commits.js +0 -27
  423. package/resources/customers/commits.js.map +0 -1
  424. package/resources/customers/commits.mjs +0 -23
  425. package/resources/customers/commits.mjs.map +0 -1
  426. package/resources/customers/credits.d.ts.map +0 -1
  427. package/resources/customers/credits.js +0 -27
  428. package/resources/customers/credits.js.map +0 -1
  429. package/resources/customers/credits.mjs +0 -23
  430. package/resources/customers/credits.mjs.map +0 -1
  431. package/resources/customers/customers.d.ts.map +0 -1
  432. package/resources/customers/customers.js.map +0 -1
  433. package/resources/customers/customers.mjs +0 -126
  434. package/resources/customers/customers.mjs.map +0 -1
  435. package/resources/customers/index.d.ts.map +0 -1
  436. package/resources/customers/index.js.map +0 -1
  437. package/resources/customers/index.mjs.map +0 -1
  438. package/resources/customers/invoices.d.ts.map +0 -1
  439. package/resources/customers/invoices.js +0 -51
  440. package/resources/customers/invoices.js.map +0 -1
  441. package/resources/customers/invoices.mjs +0 -45
  442. package/resources/customers/invoices.mjs.map +0 -1
  443. package/resources/customers/named-schedules.d.ts.map +0 -1
  444. package/resources/customers/named-schedules.js +0 -27
  445. package/resources/customers/named-schedules.js.map +0 -1
  446. package/resources/customers/named-schedules.mjs +0 -23
  447. package/resources/customers/named-schedules.mjs.map +0 -1
  448. package/resources/customers/plans.d.ts.map +0 -1
  449. package/resources/customers/plans.js +0 -53
  450. package/resources/customers/plans.js.map +0 -1
  451. package/resources/customers/plans.mjs +0 -47
  452. package/resources/customers/plans.mjs.map +0 -1
  453. package/resources/dashboards.d.ts.map +0 -1
  454. package/resources/dashboards.js +0 -17
  455. package/resources/dashboards.js.map +0 -1
  456. package/resources/dashboards.mjs +0 -13
  457. package/resources/dashboards.mjs.map +0 -1
  458. package/resources/invoices.d.ts.map +0 -1
  459. package/resources/invoices.js +0 -21
  460. package/resources/invoices.js.map +0 -1
  461. package/resources/invoices.mjs +0 -17
  462. package/resources/invoices.mjs.map +0 -1
  463. package/resources/plans.d.ts.map +0 -1
  464. package/resources/plans.js.map +0 -1
  465. package/resources/plans.mjs +0 -47
  466. package/resources/plans.mjs.map +0 -1
  467. package/resources/pricing-units.d.ts.map +0 -1
  468. package/resources/pricing-units.js.map +0 -1
  469. package/resources/pricing-units.mjs.map +0 -1
  470. package/resources/services.d.ts.map +0 -1
  471. package/resources/services.js.map +0 -1
  472. package/resources/services.mjs.map +0 -1
  473. package/resources/usage.d.ts +0 -166
  474. package/resources/usage.d.ts.map +0 -1
  475. package/resources/usage.js +0 -49
  476. package/resources/usage.js.map +0 -1
  477. package/resources/usage.mjs +0 -44
  478. package/resources/usage.mjs.map +0 -1
  479. package/src/resources/usage.ts +0 -239
  480. /package/resources/{contracts → v1/contracts}/index.js +0 -0
  481. /package/resources/{contracts → v1/contracts}/index.mjs +0 -0
  482. /package/resources/{contracts → v1/contracts}/rate-cards/index.js +0 -0
  483. /package/resources/{contracts → v1/contracts}/rate-cards/index.mjs +0 -0
  484. /package/resources/{customers → v1/customers}/index.js +0 -0
  485. /package/resources/{customers → v1/customers}/index.mjs +0 -0
@@ -1,25 +1,66 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../resource';
4
- import { isRequestOptions } from '../core';
5
- import * as Core from '../core';
6
- import * as CreditGrantsAPI from './credit-grants';
7
- import * as Shared from './shared';
8
- import { CursorPage, type CursorPageParams } from '../pagination';
3
+ import { APIResource } from "../../resource.js";
4
+ import { isRequestOptions } from "../../core.js";
5
+ import * as Core from "../../core.js";
6
+ import * as CreditGrantsAPI from "./credit-grants.js";
7
+ import * as Shared from "../shared.js";
8
+ import { CursorPage, type CursorPageParams } from "../../pagination.js";
9
9
 
10
10
  export class CreditGrants extends APIResource {
11
11
  /**
12
12
  * Create a new credit grant
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const creditGrant = await client.v1.creditGrants.create({
17
+ * customer_id: '9b85c1c1-5238-4f2a-a409-61412905e1e1',
18
+ * expires_at: '2022-04-01T00:00:00Z',
19
+ * grant_amount: {
20
+ * amount: 1000,
21
+ * credit_type_id: '5ae401dc-a648-4b49-9ac3-391bb5bc4d7b',
22
+ * },
23
+ * name: 'Acme Corp Promotional Credit Grant',
24
+ * paid_amount: {
25
+ * amount: 5000,
26
+ * credit_type_id: '2714e483-4ff1-48e4-9e25-ac732e8f24f2',
27
+ * },
28
+ * priority: 0.5,
29
+ * credit_grant_type: 'trial',
30
+ * effective_at: '2022-02-01T00:00:00Z',
31
+ * reason: 'Incentivize new customer',
32
+ * });
33
+ * ```
13
34
  */
14
35
  create(
15
36
  body: CreditGrantCreateParams,
16
37
  options?: Core.RequestOptions,
17
38
  ): Core.APIPromise<CreditGrantCreateResponse> {
18
- return this._client.post('/credits/createGrant', { body, ...options });
39
+ return this._client.post('/v1/credits/createGrant', { body, ...options });
19
40
  }
20
41
 
21
42
  /**
22
43
  * List credit grants. This list does not included voided grants.
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * // Automatically fetches more pages as needed.
48
+ * for await (const creditGrantListResponse of client.v1.creditGrants.list(
49
+ * {
50
+ * credit_type_ids: [
51
+ * '2714e483-4ff1-48e4-9e25-ac732e8f24f2',
52
+ * ],
53
+ * customer_ids: [
54
+ * 'd7abd0cd-4ae9-4db7-8676-e986a4ebd8dc',
55
+ * '0e5b8609-d901-4992-b394-c3c2e3f37b1c',
56
+ * ],
57
+ * effective_before: '2022-02-01T00:00:00Z',
58
+ * not_expiring_before: '2022-02-01T00:00:00Z',
59
+ * },
60
+ * )) {
61
+ * // ...
62
+ * }
63
+ * ```
23
64
  */
24
65
  list(
25
66
  params?: CreditGrantListParams,
@@ -36,7 +77,7 @@ export class CreditGrants extends APIResource {
36
77
  return this.list({}, params);
37
78
  }
38
79
  const { limit, next_page, ...body } = params;
39
- return this._client.getAPIList('/credits/listGrants', CreditGrantListResponsesCursorPage, {
80
+ return this._client.getAPIList('/v1/credits/listGrants', CreditGrantListResponsesCursorPage, {
40
81
  query: { limit, next_page },
41
82
  body,
42
83
  method: 'post',
@@ -46,15 +87,34 @@ export class CreditGrants extends APIResource {
46
87
 
47
88
  /**
48
89
  * Edit an existing credit grant
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * const response = await client.v1.creditGrants.edit({
94
+ * id: '9b85c1c1-5238-4f2a-a409-61412905e1e1',
95
+ * expires_at: '2022-04-01T00:00:00Z',
96
+ * name: 'Acme Corp Promotional Credit Grant',
97
+ * });
98
+ * ```
49
99
  */
50
100
  edit(body: CreditGrantEditParams, options?: Core.RequestOptions): Core.APIPromise<CreditGrantEditResponse> {
51
- return this._client.post('/credits/editGrant', { body, ...options });
101
+ return this._client.post('/v1/credits/editGrant', { body, ...options });
52
102
  }
53
103
 
54
104
  /**
55
105
  * Fetches a list of credit ledger entries. Returns lists of ledgers per customer.
56
106
  * Ledger entries are returned in chronological order. Ledger entries associated
57
107
  * with voided credit grants are not included.
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * const response = await client.v1.creditGrants.listEntries({
112
+ * credit_type_ids: ['2714e483-4ff1-48e4-9e25-ac732e8f24f2'],
113
+ * customer_ids: ['6a37bb88-8538-48c5-b37b-a41c836328bd'],
114
+ * ending_before: '2021-02-01T00:00:00Z',
115
+ * starting_on: '2021-01-01T00:00:00Z',
116
+ * });
117
+ * ```
58
118
  */
59
119
  listEntries(
60
120
  params?: CreditGrantListEntriesParams,
@@ -68,15 +128,22 @@ export class CreditGrants extends APIResource {
68
128
  if (isRequestOptions(params)) {
69
129
  return this.listEntries({}, params);
70
130
  }
71
- const { next_page, ...body } = params;
72
- return this._client.post('/credits/listEntries', { query: { next_page }, body, ...options });
131
+ const { next_page, sort, ...body } = params;
132
+ return this._client.post('/v1/credits/listEntries', { query: { next_page, sort }, body, ...options });
73
133
  }
74
134
 
75
135
  /**
76
136
  * Void a credit grant
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * const response = await client.v1.creditGrants.void({
141
+ * id: '9b85c1c1-5238-4f2a-a409-61412905e1e1',
142
+ * });
143
+ * ```
77
144
  */
78
145
  void(body: CreditGrantVoidParams, options?: Core.RequestOptions): Core.APIPromise<CreditGrantVoidResponse> {
79
- return this._client.post('/credits/voidGrant', { body, ...options });
146
+ return this._client.post('/v1/credits/voidGrant', { body, ...options });
80
147
  }
81
148
  }
82
149
 
@@ -154,7 +221,7 @@ export interface CreditGrantListResponse {
154
221
  */
155
222
  balance: CreditGrantListResponse.Balance;
156
223
 
157
- custom_fields: Record<string, string>;
224
+ custom_fields: { [key: string]: string };
158
225
 
159
226
  /**
160
227
  * the Metronome ID of the customer
@@ -382,7 +449,7 @@ export interface CreditGrantCreateParams {
382
449
  /**
383
450
  * Custom fields to attach to the credit grant.
384
451
  */
385
- custom_fields?: Record<string, string>;
452
+ custom_fields?: { [key: string]: string };
386
453
 
387
454
  /**
388
455
  * The credit grant will only apply to usage or charges dated on or after this
@@ -528,6 +595,11 @@ export interface CreditGrantListEntriesParams {
528
595
  */
529
596
  next_page?: string;
530
597
 
598
+ /**
599
+ * Query param: Ledgers sort order by date, asc or desc. Defaults to asc.
600
+ */
601
+ sort?: 'asc' | 'desc';
602
+
531
603
  /**
532
604
  * Body param: A list of Metronome credit type IDs to fetch ledger entries for. If
533
605
  * absent, ledger entries for all credit types will be returned.
@@ -1,16 +1,25 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../resource';
4
- import { isRequestOptions } from '../core';
5
- import * as Core from '../core';
3
+ import { APIResource } from "../../resource.js";
4
+ import { isRequestOptions } from "../../core.js";
5
+ import * as Core from "../../core.js";
6
6
 
7
7
  export class CustomFields extends APIResource {
8
8
  /**
9
9
  * Add a key to the allow list for a given entity. There is a 100 character limit
10
10
  * on custom field keys.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * await client.v1.customFields.addKey({
15
+ * enforce_uniqueness: true,
16
+ * entity: 'customer',
17
+ * key: 'x_account_id',
18
+ * });
19
+ * ```
11
20
  */
12
21
  addKey(body: CustomFieldAddKeyParams, options?: Core.RequestOptions): Core.APIPromise<void> {
13
- return this._client.post('/customFields/addKey', {
22
+ return this._client.post('/v1/customFields/addKey', {
14
23
  body,
15
24
  ...options,
16
25
  headers: { Accept: '*/*', ...options?.headers },
@@ -19,9 +28,18 @@ export class CustomFields extends APIResource {
19
28
 
20
29
  /**
21
30
  * Deletes one or more custom fields on an instance of a Metronome entity.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * await client.v1.customFields.deleteValues({
35
+ * entity: 'customer',
36
+ * entity_id: '99594816-e8a5-4bca-be21-8d1de0f45120',
37
+ * keys: ['x_account_id'],
38
+ * });
39
+ * ```
22
40
  */
23
41
  deleteValues(body: CustomFieldDeleteValuesParams, options?: Core.RequestOptions): Core.APIPromise<void> {
24
- return this._client.post('/customFields/deleteValues', {
42
+ return this._client.post('/v1/customFields/deleteValues', {
25
43
  body,
26
44
  ...options,
27
45
  headers: { Accept: '*/*', ...options?.headers },
@@ -30,6 +48,13 @@ export class CustomFields extends APIResource {
30
48
 
31
49
  /**
32
50
  * List all active custom field keys, optionally filtered by entity type.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const response = await client.v1.customFields.listKeys({
55
+ * entities: ['customer'],
56
+ * });
57
+ * ```
33
58
  */
34
59
  listKeys(
35
60
  params?: CustomFieldListKeysParams,
@@ -44,14 +69,22 @@ export class CustomFields extends APIResource {
44
69
  return this.listKeys({}, params);
45
70
  }
46
71
  const { next_page, ...body } = params;
47
- return this._client.post('/customFields/listKeys', { query: { next_page }, body, ...options });
72
+ return this._client.post('/v1/customFields/listKeys', { query: { next_page }, body, ...options });
48
73
  }
49
74
 
50
75
  /**
51
76
  * Remove a key from the allow list for a given entity.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * await client.v1.customFields.removeKey({
81
+ * entity: 'customer',
82
+ * key: 'x_account_id',
83
+ * });
84
+ * ```
52
85
  */
53
86
  removeKey(body: CustomFieldRemoveKeyParams, options?: Core.RequestOptions): Core.APIPromise<void> {
54
- return this._client.post('/customFields/removeKey', {
87
+ return this._client.post('/v1/customFields/removeKey', {
55
88
  body,
56
89
  ...options,
57
90
  headers: { Accept: '*/*', ...options?.headers },
@@ -66,9 +99,18 @@ export class CustomFields extends APIResource {
66
99
  * transactional and will update all key/value pairs or no key/value pairs. Partial
67
100
  * updates are not supported. There is a 200 character limit on custom field
68
101
  * values.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * await client.v1.customFields.setValues({
106
+ * custom_fields: { x_account_id: 'KyVnHhSBWl7eY2bl' },
107
+ * entity: 'customer',
108
+ * entity_id: '99594816-e8a5-4bca-be21-8d1de0f45120',
109
+ * });
110
+ * ```
69
111
  */
70
112
  setValues(body: CustomFieldSetValuesParams, options?: Core.RequestOptions): Core.APIPromise<void> {
71
- return this._client.post('/customFields/setValues', {
113
+ return this._client.post('/v1/customFields/setValues', {
72
114
  body,
73
115
  ...options,
74
116
  headers: { Accept: '*/*', ...options?.headers },
@@ -103,7 +145,8 @@ export namespace CustomFieldListKeysResponse {
103
145
  | 'professional_service'
104
146
  | 'product'
105
147
  | 'rate_card'
106
- | 'scheduled_charge';
148
+ | 'scheduled_charge'
149
+ | 'subscription';
107
150
 
108
151
  key: string;
109
152
  }
@@ -129,7 +172,8 @@ export interface CustomFieldAddKeyParams {
129
172
  | 'professional_service'
130
173
  | 'product'
131
174
  | 'rate_card'
132
- | 'scheduled_charge';
175
+ | 'scheduled_charge'
176
+ | 'subscription';
133
177
 
134
178
  key: string;
135
179
  }
@@ -152,7 +196,8 @@ export interface CustomFieldDeleteValuesParams {
152
196
  | 'professional_service'
153
197
  | 'product'
154
198
  | 'rate_card'
155
- | 'scheduled_charge';
199
+ | 'scheduled_charge'
200
+ | 'subscription';
156
201
 
157
202
  entity_id: string;
158
203
 
@@ -186,6 +231,7 @@ export interface CustomFieldListKeysParams {
186
231
  | 'product'
187
232
  | 'rate_card'
188
233
  | 'scheduled_charge'
234
+ | 'subscription'
189
235
  >;
190
236
  }
191
237
 
@@ -207,13 +253,14 @@ export interface CustomFieldRemoveKeyParams {
207
253
  | 'professional_service'
208
254
  | 'product'
209
255
  | 'rate_card'
210
- | 'scheduled_charge';
256
+ | 'scheduled_charge'
257
+ | 'subscription';
211
258
 
212
259
  key: string;
213
260
  }
214
261
 
215
262
  export interface CustomFieldSetValuesParams {
216
- custom_fields: Record<string, string>;
263
+ custom_fields: { [key: string]: string };
217
264
 
218
265
  entity:
219
266
  | 'alert'
@@ -232,7 +279,8 @@ export interface CustomFieldSetValuesParams {
232
279
  | 'professional_service'
233
280
  | 'product'
234
281
  | 'rate_card'
235
- | 'scheduled_charge';
282
+ | 'scheduled_charge'
283
+ | 'subscription';
236
284
 
237
285
  entity_id: string;
238
286
  }
@@ -1,31 +1,54 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../../resource';
4
- import * as Core from '../../core';
5
- import * as Shared from '../shared';
3
+ import { APIResource } from "../../../resource.js";
4
+ import * as Core from "../../../core.js";
5
+ import * as Shared from "../../shared.js";
6
6
 
7
7
  export class Alerts extends APIResource {
8
8
  /**
9
9
  * Get the customer alert status and alert information for the specified customer
10
10
  * and alert
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const alert = await client.v1.customers.alerts.retrieve({
15
+ * alert_id: '8deed800-1b7a-495d-a207-6c52bac54dc9',
16
+ * customer_id: '9b85c1c1-5238-4f2a-a409-61412905e1e1',
17
+ * });
18
+ * ```
11
19
  */
12
20
  retrieve(body: AlertRetrieveParams, options?: Core.RequestOptions): Core.APIPromise<AlertRetrieveResponse> {
13
- return this._client.post('/customer-alerts/get', { body, ...options });
21
+ return this._client.post('/v1/customer-alerts/get', { body, ...options });
14
22
  }
15
23
 
16
24
  /**
17
25
  * Fetch all customer alert statuses and alert information for a customer
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const alerts = await client.v1.customers.alerts.list({
30
+ * customer_id: '9b85c1c1-5238-4f2a-a409-61412905e1e1',
31
+ * });
32
+ * ```
18
33
  */
19
34
  list(params: AlertListParams, options?: Core.RequestOptions): Core.APIPromise<AlertListResponse> {
20
35
  const { next_page, ...body } = params;
21
- return this._client.post('/customer-alerts/list', { query: { next_page }, body, ...options });
36
+ return this._client.post('/v1/customer-alerts/list', { query: { next_page }, body, ...options });
22
37
  }
23
38
 
24
39
  /**
25
40
  * Reset state for an alert by customer id and force re-evaluation
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * await client.v1.customers.alerts.reset({
45
+ * alert_id: '5e8691bf-b22a-4672-922d-f80eee940f01',
46
+ * customer_id: '4c83caf3-8af4-44e2-9aeb-e290531726d9',
47
+ * });
48
+ * ```
26
49
  */
27
50
  reset(body: AlertResetParams, options?: Core.RequestOptions): Core.APIPromise<void> {
28
- return this._client.post('/customer-alerts/reset', {
51
+ return this._client.post('/v1/customer-alerts/reset', {
29
52
  body,
30
53
  ...options,
31
54
  headers: { Accept: '*/*', ...options?.headers },
@@ -169,6 +192,12 @@ export interface AlertRetrieveParams {
169
192
  * The Metronome ID of the customer
170
193
  */
171
194
  customer_id: string;
195
+
196
+ /**
197
+ * When parallel alerts are enabled during migration, this flag denotes whether to
198
+ * fetch alerts for plans or contracts.
199
+ */
200
+ plans_or_contracts?: 'PLANS' | 'CONTRACTS';
172
201
  }
173
202
 
174
203
  export interface AlertListParams {
@@ -1,15 +1,25 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../../resource';
4
- import * as Core from '../../core';
3
+ import { APIResource } from "../../../resource.js";
4
+ import * as Core from "../../../core.js";
5
5
 
6
6
  export class BillingConfig extends APIResource {
7
7
  /**
8
8
  * Set the billing configuration for a given customer.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * await client.v1.customers.billingConfig.create({
13
+ * customer_id: 'd7abd0cd-4ae9-4db7-8676-e986a4ebd8dc',
14
+ * billing_provider_type: 'stripe',
15
+ * billing_provider_customer_id: 'cus_AJ6y20bjkOOayM',
16
+ * stripe_collection_method: 'charge_automatically',
17
+ * });
18
+ * ```
9
19
  */
10
20
  create(params: BillingConfigCreateParams, options?: Core.RequestOptions): Core.APIPromise<void> {
11
21
  const { customer_id, billing_provider_type, ...body } = params;
12
- return this._client.post(`/customers/${customer_id}/billing-config/${billing_provider_type}`, {
22
+ return this._client.post(`/v1/customers/${customer_id}/billing-config/${billing_provider_type}`, {
13
23
  body,
14
24
  ...options,
15
25
  headers: { Accept: '*/*', ...options?.headers },
@@ -18,22 +28,39 @@ export class BillingConfig extends APIResource {
18
28
 
19
29
  /**
20
30
  * Fetch the billing configuration for the given customer.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const billingConfig =
35
+ * await client.v1.customers.billingConfig.retrieve({
36
+ * customer_id: 'd7abd0cd-4ae9-4db7-8676-e986a4ebd8dc',
37
+ * billing_provider_type: 'stripe',
38
+ * });
39
+ * ```
21
40
  */
22
41
  retrieve(
23
42
  params: BillingConfigRetrieveParams,
24
43
  options?: Core.RequestOptions,
25
44
  ): Core.APIPromise<BillingConfigRetrieveResponse> {
26
45
  const { customer_id, billing_provider_type } = params;
27
- return this._client.get(`/customers/${customer_id}/billing-config/${billing_provider_type}`, options);
46
+ return this._client.get(`/v1/customers/${customer_id}/billing-config/${billing_provider_type}`, options);
28
47
  }
29
48
 
30
49
  /**
31
50
  * Delete the billing configuration for a given customer. Note: this is unsupported
32
51
  * for Azure and AWS Marketplace customers.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * await client.v1.customers.billingConfig.delete({
56
+ * customer_id: 'd7abd0cd-4ae9-4db7-8676-e986a4ebd8dc',
57
+ * billing_provider_type: 'stripe',
58
+ * });
59
+ * ```
33
60
  */
34
61
  delete(params: BillingConfigDeleteParams, options?: Core.RequestOptions): Core.APIPromise<void> {
35
62
  const { customer_id, billing_provider_type } = params;
36
- return this._client.delete(`/customers/${customer_id}/billing-config/${billing_provider_type}`, {
63
+ return this._client.delete(`/v1/customers/${customer_id}/billing-config/${billing_provider_type}`, {
37
64
  ...options,
38
65
  headers: { Accept: '*/*', ...options?.headers },
39
66
  });
@@ -53,6 +80,11 @@ export namespace BillingConfigRetrieveResponse {
53
80
  */
54
81
  aws_expiration_date?: string;
55
82
 
83
+ /**
84
+ * True if the aws_product_code is a SAAS subscription product, false otherwise.
85
+ */
86
+ aws_is_subscription_product?: boolean;
87
+
56
88
  aws_product_code?: string;
57
89
 
58
90
  aws_region?:
@@ -1,32 +1,87 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- import { APIResource } from '../../resource';
4
- import * as Core from '../../core';
5
- import * as Shared from '../shared';
3
+ import { APIResource } from "../../../resource.js";
4
+ import * as Core from "../../../core.js";
5
+ import * as Shared from "../../shared.js";
6
6
 
7
7
  export class Commits extends APIResource {
8
8
  /**
9
9
  * Create a new commit at the customer level.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const commit = await client.v1.customers.commits.create({
14
+ * access_schedule: {
15
+ * credit_type_id: '2714e483-4ff1-48e4-9e25-ac732e8f24f2',
16
+ * schedule_items: [
17
+ * {
18
+ * amount: 1000,
19
+ * starting_at: '2020-01-01T00:00:00.000Z',
20
+ * ending_before: '2020-02-01T00:00:00.000Z',
21
+ * },
22
+ * ],
23
+ * },
24
+ * customer_id: '13117714-3f05-48e5-a6e9-a66093f13b4d',
25
+ * priority: 100,
26
+ * product_id: 'f14d6729-6a44-4b13-9908-9387f1918790',
27
+ * type: 'prepaid',
28
+ * invoice_contract_id:
29
+ * 'e57d6929-c2f1-4796-a9a8-63cedefe848d',
30
+ * invoice_schedule: {
31
+ * credit_type_id: '2714e483-4ff1-48e4-9e25-ac732e8f24f2',
32
+ * schedule_items: [
33
+ * {
34
+ * unit_price: 10000000,
35
+ * quantity: 1,
36
+ * timestamp: '2020-03-01T00:00:00.000Z',
37
+ * },
38
+ * ],
39
+ * },
40
+ * name: 'My Commit',
41
+ * });
42
+ * ```
10
43
  */
11
44
  create(body: CommitCreateParams, options?: Core.RequestOptions): Core.APIPromise<CommitCreateResponse> {
12
- return this._client.post('/contracts/customerCommits/create', { body, ...options });
45
+ return this._client.post('/v1/contracts/customerCommits/create', { body, ...options });
13
46
  }
14
47
 
15
48
  /**
16
49
  * List commits.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const commits = await client.v1.customers.commits.list({
54
+ * customer_id: '13117714-3f05-48e5-a6e9-a66093f13b4d',
55
+ * commit_id: '6162d87b-e5db-4a33-b7f2-76ce6ead4e85',
56
+ * include_ledgers: true,
57
+ * });
58
+ * ```
17
59
  */
18
60
  list(body: CommitListParams, options?: Core.RequestOptions): Core.APIPromise<CommitListResponse> {
19
- return this._client.post('/contracts/customerCommits/list', { body, ...options });
61
+ return this._client.post('/v1/contracts/customerCommits/list', { body, ...options });
20
62
  }
21
63
 
22
64
  /**
23
- * Update the end date of a PREPAID commit
65
+ * Pull forward the end date of a prepaid commit. Use the "edit a commit" endpoint
66
+ * to extend the end date of a prepaid commit, or to make other edits to the
67
+ * commit.
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * const response =
72
+ * await client.v1.customers.commits.updateEndDate({
73
+ * commit_id: '6162d87b-e5db-4a33-b7f2-76ce6ead4e85',
74
+ * customer_id: '13117714-3f05-48e5-a6e9-a66093f13b4d',
75
+ * access_ending_before: '2020-01-01T00:00:00.000Z',
76
+ * invoices_ending_before: '2020-01-01T00:00:00.000Z',
77
+ * });
78
+ * ```
24
79
  */
25
80
  updateEndDate(
26
81
  body: CommitUpdateEndDateParams,
27
82
  options?: Core.RequestOptions,
28
83
  ): Core.APIPromise<CommitUpdateEndDateResponse> {
29
- return this._client.post('/contracts/customerCommits/updateEndDate', { body, ...options });
84
+ return this._client.post('/v1/contracts/customerCommits/updateEndDate', { body, ...options });
30
85
  }
31
86
  }
32
87
 
@@ -74,18 +129,20 @@ export interface CommitCreateParams {
74
129
  applicable_contract_ids?: Array<string>;
75
130
 
76
131
  /**
77
- * Which products the commit applies to. If both applicable_product_ids and
78
- * applicable_product_tags are not provided, the commit applies to all products.
132
+ * Which products the commit applies to. If applicable_product_ids,
133
+ * applicable_product_tags or specifiers are not provided, the commit applies to
134
+ * all products.
79
135
  */
80
136
  applicable_product_ids?: Array<string>;
81
137
 
82
138
  /**
83
- * Which tags the commit applies to. If both applicable_product_ids and
84
- * applicable_product_tags are not provided, the commit applies to all products.
139
+ * Which tags the commit applies to. If applicable_product_ids,
140
+ * applicable_product_tags or specifiers are not provided, the commit applies to
141
+ * all products.
85
142
  */
86
143
  applicable_product_tags?: Array<string>;
87
144
 
88
- custom_fields?: Record<string, string>;
145
+ custom_fields?: { [key: string]: string };
89
146
 
90
147
  /**
91
148
  * Used only in UI/API. It is not exposed to end customers.
@@ -124,6 +181,14 @@ export interface CommitCreateParams {
124
181
  */
125
182
  salesforce_opportunity_id?: string;
126
183
 
184
+ /**
185
+ * List of filters that determine what kind of customer usage draws down a commit
186
+ * or credit. A customer's usage needs to meet the condition of at least one of the
187
+ * specifiers to contribute to a commit's or credit's drawdown. This field cannot
188
+ * be used together with `applicable_product_ids` or `applicable_product_tags`.
189
+ */
190
+ specifiers?: Array<CommitCreateParams.Specifier>;
191
+
127
192
  /**
128
193
  * Prevents the creation of duplicates. If a request to create a commit or credit
129
194
  * is made with a uniqueness key that was previously used to create a commit or
@@ -259,6 +324,23 @@ export namespace CommitCreateParams {
259
324
  unit_price?: number;
260
325
  }
261
326
  }
327
+
328
+ export interface Specifier {
329
+ presentation_group_values?: { [key: string]: string };
330
+
331
+ pricing_group_values?: { [key: string]: string };
332
+
333
+ /**
334
+ * If provided, the specifier will only apply to the product with the specified ID.
335
+ */
336
+ product_id?: string;
337
+
338
+ /**
339
+ * If provided, the specifier will only apply to products with all the specified
340
+ * tags.
341
+ */
342
+ product_tags?: Array<string>;
343
+ }
262
344
  }
263
345
 
264
346
  export interface CommitListParams {
@@ -277,7 +359,7 @@ export interface CommitListParams {
277
359
  effective_before?: string;
278
360
 
279
361
  /**
280
- * Include commits from archived contracts.
362
+ * Include archived commits and commits from archived contracts.
281
363
  */
282
364
  include_archived?: boolean;
283
365
 
@@ -298,6 +380,11 @@ export interface CommitListParams {
298
380
  */
299
381
  include_ledgers?: boolean;
300
382
 
383
+ /**
384
+ * The maximum number of commits to return. Defaults to 25.
385
+ */
386
+ limit?: number;
387
+
301
388
  /**
302
389
  * The next page token from a previous response.
303
390
  */