@metronome/mcp 0.3.0 → 1.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 (600) hide show
  1. package/README.md +1019 -75
  2. package/code-tool-paths.cjs +6 -0
  3. package/code-tool-paths.cjs.map +1 -0
  4. package/code-tool-paths.d.cts +2 -0
  5. package/code-tool-paths.d.cts.map +1 -0
  6. package/code-tool-types.d.mts +14 -0
  7. package/code-tool-types.d.mts.map +1 -0
  8. package/code-tool-types.d.ts +14 -0
  9. package/code-tool-types.d.ts.map +1 -0
  10. package/code-tool-types.js +4 -0
  11. package/code-tool-types.js.map +1 -0
  12. package/code-tool-types.mjs +3 -0
  13. package/code-tool-types.mjs.map +1 -0
  14. package/code-tool-worker.d.mts +5 -0
  15. package/code-tool-worker.d.mts.map +1 -0
  16. package/code-tool-worker.d.ts +5 -0
  17. package/code-tool-worker.d.ts.map +1 -0
  18. package/code-tool-worker.js +45 -0
  19. package/code-tool-worker.js.map +1 -0
  20. package/code-tool-worker.mjs +40 -0
  21. package/code-tool-worker.mjs.map +1 -0
  22. package/code-tool.d.mts +12 -0
  23. package/code-tool.d.mts.map +1 -0
  24. package/code-tool.d.ts +12 -0
  25. package/code-tool.d.ts.map +1 -0
  26. package/code-tool.js +158 -0
  27. package/code-tool.js.map +1 -0
  28. package/code-tool.mjs +122 -0
  29. package/code-tool.mjs.map +1 -0
  30. package/compat.d.mts +4 -2
  31. package/compat.d.mts.map +1 -1
  32. package/compat.d.ts +4 -2
  33. package/compat.d.ts.map +1 -1
  34. package/compat.js +3 -1
  35. package/compat.js.map +1 -1
  36. package/compat.mjs +2 -0
  37. package/compat.mjs.map +1 -1
  38. package/dynamic-tools.js +3 -3
  39. package/dynamic-tools.js.map +1 -1
  40. package/dynamic-tools.mjs +3 -3
  41. package/dynamic-tools.mjs.map +1 -1
  42. package/headers.d.mts +1 -1
  43. package/headers.d.mts.map +1 -1
  44. package/headers.d.ts +1 -1
  45. package/headers.d.ts.map +1 -1
  46. package/headers.js +1 -1
  47. package/headers.js.map +1 -1
  48. package/headers.mjs +1 -1
  49. package/headers.mjs.map +1 -1
  50. package/http.d.mts +6 -3
  51. package/http.d.mts.map +1 -1
  52. package/http.d.ts +6 -3
  53. package/http.d.ts.map +1 -1
  54. package/http.js +25 -10
  55. package/http.js.map +1 -1
  56. package/http.mjs +25 -10
  57. package/http.mjs.map +1 -1
  58. package/index.js +6 -6
  59. package/index.js.map +1 -1
  60. package/index.mjs +7 -7
  61. package/index.mjs.map +1 -1
  62. package/options.d.mts +8 -6
  63. package/options.d.mts.map +1 -1
  64. package/options.d.ts +8 -6
  65. package/options.d.ts.map +1 -1
  66. package/options.js +118 -15
  67. package/options.js.map +1 -1
  68. package/options.mjs +117 -15
  69. package/options.mjs.map +1 -1
  70. package/package.json +161 -10
  71. package/server.d.mts +3 -16
  72. package/server.d.mts.map +1 -1
  73. package/server.d.ts +3 -16
  74. package/server.d.ts.map +1 -1
  75. package/server.js +80 -22
  76. package/server.js.map +1 -1
  77. package/server.mjs +79 -21
  78. package/server.mjs.map +1 -1
  79. package/src/code-tool-paths.cts +3 -0
  80. package/src/code-tool-types.ts +14 -0
  81. package/src/code-tool-worker.ts +46 -0
  82. package/src/code-tool.ts +147 -0
  83. package/src/compat.ts +4 -2
  84. package/src/dynamic-tools.ts +3 -3
  85. package/src/headers.ts +2 -3
  86. package/src/http.ts +54 -26
  87. package/src/index.ts +7 -7
  88. package/src/options.ts +136 -21
  89. package/src/server.ts +92 -32
  90. package/src/stdio.ts +3 -4
  91. package/src/tools/index.ts +4 -0
  92. package/src/tools/v1/alerts/archive-v1-alerts.ts +1 -1
  93. package/src/tools/v1/alerts/create-v1-alerts.ts +2 -2
  94. package/src/tools/v1/audit-logs/list-v1-audit-logs.ts +1 -1
  95. package/src/tools/v1/billable-metrics/archive-v1-billable-metrics.ts +1 -1
  96. package/src/tools/v1/billable-metrics/create-v1-billable-metrics.ts +1 -1
  97. package/src/tools/v1/billable-metrics/list-v1-billable-metrics.ts +1 -1
  98. package/src/tools/v1/billable-metrics/retrieve-v1-billable-metrics.ts +1 -1
  99. package/src/tools/v1/contracts/add-manual-balance-entry-v1-contracts.ts +2 -1
  100. package/src/tools/v1/contracts/amend-v1-contracts.ts +85 -142
  101. package/src/tools/v1/contracts/archive-v1-contracts.ts +1 -1
  102. package/src/tools/v1/contracts/create-historical-invoices-v1-contracts.ts +3 -1
  103. package/src/tools/v1/contracts/create-v1-contracts.ts +235 -515
  104. package/src/tools/v1/contracts/list-balances-v1-contracts.ts +4 -2
  105. package/src/tools/v1/contracts/list-v1-contracts.ts +1 -1
  106. package/src/tools/v1/contracts/products/archive-contracts-v1-products.ts +1 -1
  107. package/src/tools/v1/contracts/products/create-contracts-v1-products.ts +2 -1
  108. package/src/tools/v1/contracts/products/list-contracts-v1-products.ts +1 -1
  109. package/src/tools/v1/contracts/products/retrieve-contracts-v1-products.ts +1 -1
  110. package/src/tools/v1/contracts/products/update-contracts-v1-products.ts +1 -1
  111. package/src/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.ts +1 -1
  112. package/src/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.ts +2 -1
  113. package/src/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.ts +1 -1
  114. package/src/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.ts +1 -1
  115. package/src/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.ts +1 -1
  116. package/src/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.ts +24 -21
  117. package/src/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.ts +25 -22
  118. package/src/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.ts +1 -1
  119. package/src/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.ts +1 -1
  120. package/src/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.ts +1 -1
  121. package/src/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.ts +1 -1
  122. package/src/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.ts +1 -1
  123. package/src/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.ts +1 -1
  124. package/src/tools/v1/contracts/set-usage-filter-v1-contracts.ts +2 -1
  125. package/src/tools/v1/contracts/update-end-date-v1-contracts.ts +1 -1
  126. package/src/tools/v1/credit-grants/list-entries-v1-credit-grants.ts +2 -1
  127. package/src/tools/v1/credit-grants/list-v1-credit-grants.ts +1 -1
  128. package/src/tools/v1/custom-fields/add-key-v1-custom-fields.ts +1 -1
  129. package/src/tools/v1/custom-fields/delete-values-v1-custom-fields.ts +2 -1
  130. package/src/tools/v1/custom-fields/list-keys-v1-custom-fields.ts +3 -2
  131. package/src/tools/v1/custom-fields/remove-key-v1-custom-fields.ts +2 -1
  132. package/src/tools/v1/custom-fields/set-values-v1-custom-fields.ts +2 -1
  133. package/src/tools/v1/customers/alerts/list-customers-v1-alerts.ts +3 -2
  134. package/src/tools/v1/customers/alerts/reset-customers-v1-alerts.ts +2 -1
  135. package/src/tools/v1/customers/alerts/retrieve-customers-v1-alerts.ts +20 -1
  136. package/src/tools/v1/customers/archive-v1-customers.ts +1 -1
  137. package/src/tools/v1/customers/billing-config/create-customers-v1-billing-config.ts +6 -1
  138. package/src/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.ts +1 -1
  139. package/src/tools/v1/customers/commits/create-customers-v1-commits.ts +32 -33
  140. package/src/tools/v1/customers/commits/list-customers-v1-commits.ts +4 -2
  141. package/src/tools/v1/customers/commits/update-end-date-customers-v1-commits.ts +1 -1
  142. package/src/tools/v1/customers/create-v1-customers.ts +14 -2
  143. package/src/tools/v1/customers/credits/create-customers-v1-credits.ts +30 -24
  144. package/src/tools/v1/customers/credits/list-customers-v1-credits.ts +4 -2
  145. package/src/tools/v1/customers/credits/update-end-date-customers-v1-credits.ts +1 -1
  146. package/src/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.ts +1 -1
  147. package/src/tools/v1/customers/invoices/list-customers-v1-invoices.ts +1 -1
  148. package/src/tools/v1/customers/invoices/retrieve-customers-v1-invoices.ts +2 -1
  149. package/src/tools/v1/customers/list-billable-metrics-v1-customers.ts +1 -1
  150. package/src/tools/v1/customers/list-v1-customers.ts +1 -1
  151. package/src/tools/v1/customers/plans/list-customers-v1-plans.ts +1 -1
  152. package/src/tools/v1/customers/retrieve-billing-configurations-v1-customers.ts +50 -0
  153. package/src/tools/v1/customers/retrieve-v1-customers.ts +1 -1
  154. package/src/tools/v1/customers/set-billing-configurations-v1-customers.ts +85 -0
  155. package/src/tools/v1/customers/set-ingest-aliases-v1-customers.ts +1 -1
  156. package/src/tools/v1/customers/set-name-v1-customers.ts +1 -1
  157. package/src/tools/v1/customers/update-config-v1-customers.ts +2 -1
  158. package/src/tools/v1/dashboards/get-embeddable-url-v1-dashboards.ts +1 -1
  159. package/src/tools/v1/invoices/regenerate-v1-invoices.ts +1 -1
  160. package/src/tools/v1/invoices/void-v1-invoices.ts +1 -1
  161. package/src/tools/v1/plans/get-details-v1-plans.ts +1 -1
  162. package/src/tools/v1/plans/list-charges-v1-plans.ts +1 -1
  163. package/src/tools/v1/plans/list-customers-v1-plans.ts +1 -1
  164. package/src/tools/v1/plans/list-v1-plans.ts +1 -1
  165. package/src/tools/v1/pricing-units/list-v1-pricing-units.ts +1 -1
  166. package/src/tools/v1/services/list-v1-services.ts +1 -1
  167. package/src/tools/v1/usage/ingest-v1-usage.ts +2 -2
  168. package/src/tools/v1/usage/list-v1-usage.ts +3 -2
  169. package/src/tools/v1/usage/list-with-groups-v1-usage.ts +1 -1
  170. package/src/tools/v1/usage/search-v1-usage.ts +1 -1
  171. package/src/tools/v2/contracts/edit-commit-v2-contracts.ts +35 -24
  172. package/src/tools/v2/contracts/edit-credit-v2-contracts.ts +35 -24
  173. package/src/tools/v2/contracts/edit-v2-contracts.ts +255 -781
  174. package/src/tools/v2/contracts/get-edit-history-v2-contracts.ts +1 -1
  175. package/src/tools/v2/contracts/list-v2-contracts.ts +1 -1
  176. package/src/tools/v2/contracts/retrieve-v2-contracts.ts +2 -1
  177. package/stdio.d.mts +1 -2
  178. package/stdio.d.mts.map +1 -1
  179. package/stdio.d.ts +1 -2
  180. package/stdio.d.ts.map +1 -1
  181. package/stdio.js +2 -2
  182. package/stdio.js.map +1 -1
  183. package/stdio.mjs +3 -3
  184. package/stdio.mjs.map +1 -1
  185. package/tools/index.d.mts.map +1 -1
  186. package/tools/index.d.ts.map +1 -1
  187. package/tools/index.js +4 -0
  188. package/tools/index.js.map +1 -1
  189. package/tools/index.mjs +4 -0
  190. package/tools/index.mjs.map +1 -1
  191. package/tools/v1/alerts/archive-v1-alerts.js +1 -1
  192. package/tools/v1/alerts/archive-v1-alerts.js.map +1 -1
  193. package/tools/v1/alerts/archive-v1-alerts.mjs +1 -1
  194. package/tools/v1/alerts/archive-v1-alerts.mjs.map +1 -1
  195. package/tools/v1/alerts/create-v1-alerts.js +2 -2
  196. package/tools/v1/alerts/create-v1-alerts.js.map +1 -1
  197. package/tools/v1/alerts/create-v1-alerts.mjs +2 -2
  198. package/tools/v1/alerts/create-v1-alerts.mjs.map +1 -1
  199. package/tools/v1/audit-logs/list-v1-audit-logs.js +1 -1
  200. package/tools/v1/audit-logs/list-v1-audit-logs.js.map +1 -1
  201. package/tools/v1/audit-logs/list-v1-audit-logs.mjs +1 -1
  202. package/tools/v1/audit-logs/list-v1-audit-logs.mjs.map +1 -1
  203. package/tools/v1/billable-metrics/archive-v1-billable-metrics.js +1 -1
  204. package/tools/v1/billable-metrics/archive-v1-billable-metrics.js.map +1 -1
  205. package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs +1 -1
  206. package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs.map +1 -1
  207. package/tools/v1/billable-metrics/create-v1-billable-metrics.js +1 -1
  208. package/tools/v1/billable-metrics/create-v1-billable-metrics.js.map +1 -1
  209. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs +1 -1
  210. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs.map +1 -1
  211. package/tools/v1/billable-metrics/list-v1-billable-metrics.js +1 -1
  212. package/tools/v1/billable-metrics/list-v1-billable-metrics.js.map +1 -1
  213. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs +1 -1
  214. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs.map +1 -1
  215. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js +1 -1
  216. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js.map +1 -1
  217. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs +1 -1
  218. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs.map +1 -1
  219. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.mts.map +1 -1
  220. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.ts.map +1 -1
  221. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js +1 -1
  222. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js.map +1 -1
  223. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs +1 -1
  224. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs.map +1 -1
  225. package/tools/v1/contracts/amend-v1-contracts.d.mts.map +1 -1
  226. package/tools/v1/contracts/amend-v1-contracts.d.ts.map +1 -1
  227. package/tools/v1/contracts/amend-v1-contracts.js +84 -138
  228. package/tools/v1/contracts/amend-v1-contracts.js.map +1 -1
  229. package/tools/v1/contracts/amend-v1-contracts.mjs +84 -138
  230. package/tools/v1/contracts/amend-v1-contracts.mjs.map +1 -1
  231. package/tools/v1/contracts/archive-v1-contracts.js +1 -1
  232. package/tools/v1/contracts/archive-v1-contracts.js.map +1 -1
  233. package/tools/v1/contracts/archive-v1-contracts.mjs +1 -1
  234. package/tools/v1/contracts/archive-v1-contracts.mjs.map +1 -1
  235. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.mts.map +1 -1
  236. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.ts.map +1 -1
  237. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js +2 -1
  238. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js.map +1 -1
  239. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs +2 -1
  240. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs.map +1 -1
  241. package/tools/v1/contracts/create-v1-contracts.d.mts.map +1 -1
  242. package/tools/v1/contracts/create-v1-contracts.d.ts.map +1 -1
  243. package/tools/v1/contracts/create-v1-contracts.js +220 -483
  244. package/tools/v1/contracts/create-v1-contracts.js.map +1 -1
  245. package/tools/v1/contracts/create-v1-contracts.mjs +220 -483
  246. package/tools/v1/contracts/create-v1-contracts.mjs.map +1 -1
  247. package/tools/v1/contracts/list-balances-v1-contracts.d.mts.map +1 -1
  248. package/tools/v1/contracts/list-balances-v1-contracts.d.ts.map +1 -1
  249. package/tools/v1/contracts/list-balances-v1-contracts.js +3 -2
  250. package/tools/v1/contracts/list-balances-v1-contracts.js.map +1 -1
  251. package/tools/v1/contracts/list-balances-v1-contracts.mjs +3 -2
  252. package/tools/v1/contracts/list-balances-v1-contracts.mjs.map +1 -1
  253. package/tools/v1/contracts/list-v1-contracts.js +1 -1
  254. package/tools/v1/contracts/list-v1-contracts.js.map +1 -1
  255. package/tools/v1/contracts/list-v1-contracts.mjs +1 -1
  256. package/tools/v1/contracts/list-v1-contracts.mjs.map +1 -1
  257. package/tools/v1/contracts/products/archive-contracts-v1-products.js +1 -1
  258. package/tools/v1/contracts/products/archive-contracts-v1-products.js.map +1 -1
  259. package/tools/v1/contracts/products/archive-contracts-v1-products.mjs +1 -1
  260. package/tools/v1/contracts/products/archive-contracts-v1-products.mjs.map +1 -1
  261. package/tools/v1/contracts/products/create-contracts-v1-products.d.mts.map +1 -1
  262. package/tools/v1/contracts/products/create-contracts-v1-products.d.ts.map +1 -1
  263. package/tools/v1/contracts/products/create-contracts-v1-products.js +2 -1
  264. package/tools/v1/contracts/products/create-contracts-v1-products.js.map +1 -1
  265. package/tools/v1/contracts/products/create-contracts-v1-products.mjs +2 -1
  266. package/tools/v1/contracts/products/create-contracts-v1-products.mjs.map +1 -1
  267. package/tools/v1/contracts/products/list-contracts-v1-products.js +1 -1
  268. package/tools/v1/contracts/products/list-contracts-v1-products.js.map +1 -1
  269. package/tools/v1/contracts/products/list-contracts-v1-products.mjs +1 -1
  270. package/tools/v1/contracts/products/list-contracts-v1-products.mjs.map +1 -1
  271. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js +1 -1
  272. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js.map +1 -1
  273. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs +1 -1
  274. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs.map +1 -1
  275. package/tools/v1/contracts/products/update-contracts-v1-products.js +1 -1
  276. package/tools/v1/contracts/products/update-contracts-v1-products.js.map +1 -1
  277. package/tools/v1/contracts/products/update-contracts-v1-products.mjs +1 -1
  278. package/tools/v1/contracts/products/update-contracts-v1-products.mjs.map +1 -1
  279. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js +1 -1
  280. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js.map +1 -1
  281. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs +1 -1
  282. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs.map +1 -1
  283. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.mts.map +1 -1
  284. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.ts.map +1 -1
  285. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js +2 -1
  286. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js.map +1 -1
  287. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs +2 -1
  288. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs.map +1 -1
  289. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js +1 -1
  290. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js.map +1 -1
  291. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs +1 -1
  292. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs.map +1 -1
  293. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js +1 -1
  294. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js.map +1 -1
  295. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs +1 -1
  296. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
  297. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js +1 -1
  298. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js.map +1 -1
  299. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs +1 -1
  300. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
  301. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  302. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  303. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js +23 -20
  304. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js.map +1 -1
  305. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs +23 -20
  306. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs.map +1 -1
  307. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  308. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  309. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js +24 -21
  310. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js.map +1 -1
  311. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs +24 -21
  312. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs.map +1 -1
  313. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js +1 -1
  314. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js.map +1 -1
  315. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs +1 -1
  316. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs.map +1 -1
  317. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js +1 -1
  318. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js.map +1 -1
  319. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs +1 -1
  320. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs.map +1 -1
  321. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js +1 -1
  322. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js.map +1 -1
  323. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs +1 -1
  324. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs.map +1 -1
  325. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js +1 -1
  326. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js.map +1 -1
  327. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs +1 -1
  328. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs.map +1 -1
  329. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js +1 -1
  330. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js.map +1 -1
  331. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs +1 -1
  332. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs.map +1 -1
  333. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js +1 -1
  334. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js.map +1 -1
  335. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs +1 -1
  336. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs.map +1 -1
  337. package/tools/v1/contracts/set-usage-filter-v1-contracts.d.mts.map +1 -1
  338. package/tools/v1/contracts/set-usage-filter-v1-contracts.d.ts.map +1 -1
  339. package/tools/v1/contracts/set-usage-filter-v1-contracts.js +1 -1
  340. package/tools/v1/contracts/set-usage-filter-v1-contracts.js.map +1 -1
  341. package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs +1 -1
  342. package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs.map +1 -1
  343. package/tools/v1/contracts/update-end-date-v1-contracts.js +1 -1
  344. package/tools/v1/contracts/update-end-date-v1-contracts.js.map +1 -1
  345. package/tools/v1/contracts/update-end-date-v1-contracts.mjs +1 -1
  346. package/tools/v1/contracts/update-end-date-v1-contracts.mjs.map +1 -1
  347. package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.mts.map +1 -1
  348. package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.ts.map +1 -1
  349. package/tools/v1/credit-grants/list-entries-v1-credit-grants.js +2 -1
  350. package/tools/v1/credit-grants/list-entries-v1-credit-grants.js.map +1 -1
  351. package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs +2 -1
  352. package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs.map +1 -1
  353. package/tools/v1/credit-grants/list-v1-credit-grants.js +1 -1
  354. package/tools/v1/credit-grants/list-v1-credit-grants.js.map +1 -1
  355. package/tools/v1/credit-grants/list-v1-credit-grants.mjs +1 -1
  356. package/tools/v1/credit-grants/list-v1-credit-grants.mjs.map +1 -1
  357. package/tools/v1/custom-fields/add-key-v1-custom-fields.js +1 -1
  358. package/tools/v1/custom-fields/add-key-v1-custom-fields.js.map +1 -1
  359. package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs +1 -1
  360. package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs.map +1 -1
  361. package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.mts.map +1 -1
  362. package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.ts.map +1 -1
  363. package/tools/v1/custom-fields/delete-values-v1-custom-fields.js +1 -1
  364. package/tools/v1/custom-fields/delete-values-v1-custom-fields.js.map +1 -1
  365. package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs +1 -1
  366. package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs.map +1 -1
  367. package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.mts.map +1 -1
  368. package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.ts.map +1 -1
  369. package/tools/v1/custom-fields/list-keys-v1-custom-fields.js +3 -2
  370. package/tools/v1/custom-fields/list-keys-v1-custom-fields.js.map +1 -1
  371. package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs +3 -2
  372. package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs.map +1 -1
  373. package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.mts.map +1 -1
  374. package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.ts.map +1 -1
  375. package/tools/v1/custom-fields/remove-key-v1-custom-fields.js +1 -1
  376. package/tools/v1/custom-fields/remove-key-v1-custom-fields.js.map +1 -1
  377. package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs +1 -1
  378. package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs.map +1 -1
  379. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.mts.map +1 -1
  380. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.ts.map +1 -1
  381. package/tools/v1/custom-fields/set-values-v1-custom-fields.js +2 -1
  382. package/tools/v1/custom-fields/set-values-v1-custom-fields.js.map +1 -1
  383. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs +2 -1
  384. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs.map +1 -1
  385. package/tools/v1/customers/alerts/list-customers-v1-alerts.d.mts.map +1 -1
  386. package/tools/v1/customers/alerts/list-customers-v1-alerts.d.ts.map +1 -1
  387. package/tools/v1/customers/alerts/list-customers-v1-alerts.js +3 -2
  388. package/tools/v1/customers/alerts/list-customers-v1-alerts.js.map +1 -1
  389. package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs +3 -2
  390. package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs.map +1 -1
  391. package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.mts.map +1 -1
  392. package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.ts.map +1 -1
  393. package/tools/v1/customers/alerts/reset-customers-v1-alerts.js +1 -1
  394. package/tools/v1/customers/alerts/reset-customers-v1-alerts.js.map +1 -1
  395. package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs +1 -1
  396. package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs.map +1 -1
  397. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.mts.map +1 -1
  398. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.ts.map +1 -1
  399. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js +18 -1
  400. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js.map +1 -1
  401. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs +18 -1
  402. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs.map +1 -1
  403. package/tools/v1/customers/archive-v1-customers.js +1 -1
  404. package/tools/v1/customers/archive-v1-customers.js.map +1 -1
  405. package/tools/v1/customers/archive-v1-customers.mjs +1 -1
  406. package/tools/v1/customers/archive-v1-customers.mjs.map +1 -1
  407. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.mts.map +1 -1
  408. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.ts.map +1 -1
  409. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js +6 -1
  410. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js.map +1 -1
  411. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs +6 -1
  412. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs.map +1 -1
  413. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js +1 -1
  414. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js.map +1 -1
  415. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs +1 -1
  416. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs.map +1 -1
  417. package/tools/v1/customers/commits/create-customers-v1-commits.d.mts.map +1 -1
  418. package/tools/v1/customers/commits/create-customers-v1-commits.d.ts.map +1 -1
  419. package/tools/v1/customers/commits/create-customers-v1-commits.js +31 -31
  420. package/tools/v1/customers/commits/create-customers-v1-commits.js.map +1 -1
  421. package/tools/v1/customers/commits/create-customers-v1-commits.mjs +31 -31
  422. package/tools/v1/customers/commits/create-customers-v1-commits.mjs.map +1 -1
  423. package/tools/v1/customers/commits/list-customers-v1-commits.d.mts.map +1 -1
  424. package/tools/v1/customers/commits/list-customers-v1-commits.d.ts.map +1 -1
  425. package/tools/v1/customers/commits/list-customers-v1-commits.js +3 -2
  426. package/tools/v1/customers/commits/list-customers-v1-commits.js.map +1 -1
  427. package/tools/v1/customers/commits/list-customers-v1-commits.mjs +3 -2
  428. package/tools/v1/customers/commits/list-customers-v1-commits.mjs.map +1 -1
  429. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js +1 -1
  430. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js.map +1 -1
  431. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs +1 -1
  432. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs.map +1 -1
  433. package/tools/v1/customers/create-v1-customers.d.mts.map +1 -1
  434. package/tools/v1/customers/create-v1-customers.d.ts.map +1 -1
  435. package/tools/v1/customers/create-v1-customers.js +13 -2
  436. package/tools/v1/customers/create-v1-customers.js.map +1 -1
  437. package/tools/v1/customers/create-v1-customers.mjs +13 -2
  438. package/tools/v1/customers/create-v1-customers.mjs.map +1 -1
  439. package/tools/v1/customers/credits/create-customers-v1-credits.d.mts.map +1 -1
  440. package/tools/v1/customers/credits/create-customers-v1-credits.d.ts.map +1 -1
  441. package/tools/v1/customers/credits/create-customers-v1-credits.js +29 -23
  442. package/tools/v1/customers/credits/create-customers-v1-credits.js.map +1 -1
  443. package/tools/v1/customers/credits/create-customers-v1-credits.mjs +29 -23
  444. package/tools/v1/customers/credits/create-customers-v1-credits.mjs.map +1 -1
  445. package/tools/v1/customers/credits/list-customers-v1-credits.d.mts.map +1 -1
  446. package/tools/v1/customers/credits/list-customers-v1-credits.d.ts.map +1 -1
  447. package/tools/v1/customers/credits/list-customers-v1-credits.js +3 -2
  448. package/tools/v1/customers/credits/list-customers-v1-credits.js.map +1 -1
  449. package/tools/v1/customers/credits/list-customers-v1-credits.mjs +3 -2
  450. package/tools/v1/customers/credits/list-customers-v1-credits.mjs.map +1 -1
  451. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js +1 -1
  452. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js.map +1 -1
  453. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs +1 -1
  454. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs.map +1 -1
  455. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js +1 -1
  456. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js.map +1 -1
  457. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs +1 -1
  458. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs.map +1 -1
  459. package/tools/v1/customers/invoices/list-customers-v1-invoices.js +1 -1
  460. package/tools/v1/customers/invoices/list-customers-v1-invoices.js.map +1 -1
  461. package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs +1 -1
  462. package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs.map +1 -1
  463. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.mts.map +1 -1
  464. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.ts.map +1 -1
  465. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js +1 -1
  466. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js.map +1 -1
  467. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs +1 -1
  468. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs.map +1 -1
  469. package/tools/v1/customers/list-billable-metrics-v1-customers.js +1 -1
  470. package/tools/v1/customers/list-billable-metrics-v1-customers.js.map +1 -1
  471. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs +1 -1
  472. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs.map +1 -1
  473. package/tools/v1/customers/list-v1-customers.js +1 -1
  474. package/tools/v1/customers/list-v1-customers.js.map +1 -1
  475. package/tools/v1/customers/list-v1-customers.mjs +1 -1
  476. package/tools/v1/customers/list-v1-customers.mjs.map +1 -1
  477. package/tools/v1/customers/plans/list-customers-v1-plans.js +1 -1
  478. package/tools/v1/customers/plans/list-customers-v1-plans.js.map +1 -1
  479. package/tools/v1/customers/plans/list-customers-v1-plans.mjs +1 -1
  480. package/tools/v1/customers/plans/list-customers-v1-plans.mjs.map +1 -1
  481. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts +45 -0
  482. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts.map +1 -0
  483. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts +45 -0
  484. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts.map +1 -0
  485. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js +43 -0
  486. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js.map +1 -0
  487. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs +39 -0
  488. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs.map +1 -0
  489. package/tools/v1/customers/retrieve-v1-customers.js +1 -1
  490. package/tools/v1/customers/retrieve-v1-customers.js.map +1 -1
  491. package/tools/v1/customers/retrieve-v1-customers.mjs +1 -1
  492. package/tools/v1/customers/retrieve-v1-customers.mjs.map +1 -1
  493. package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts +45 -0
  494. package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts.map +1 -0
  495. package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts +45 -0
  496. package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts.map +1 -0
  497. package/tools/v1/customers/set-billing-configurations-v1-customers.js +77 -0
  498. package/tools/v1/customers/set-billing-configurations-v1-customers.js.map +1 -0
  499. package/tools/v1/customers/set-billing-configurations-v1-customers.mjs +73 -0
  500. package/tools/v1/customers/set-billing-configurations-v1-customers.mjs.map +1 -0
  501. package/tools/v1/customers/set-ingest-aliases-v1-customers.js +1 -1
  502. package/tools/v1/customers/set-ingest-aliases-v1-customers.js.map +1 -1
  503. package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs +1 -1
  504. package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs.map +1 -1
  505. package/tools/v1/customers/set-name-v1-customers.js +1 -1
  506. package/tools/v1/customers/set-name-v1-customers.js.map +1 -1
  507. package/tools/v1/customers/set-name-v1-customers.mjs +1 -1
  508. package/tools/v1/customers/set-name-v1-customers.mjs.map +1 -1
  509. package/tools/v1/customers/update-config-v1-customers.d.mts.map +1 -1
  510. package/tools/v1/customers/update-config-v1-customers.d.ts.map +1 -1
  511. package/tools/v1/customers/update-config-v1-customers.js +1 -1
  512. package/tools/v1/customers/update-config-v1-customers.js.map +1 -1
  513. package/tools/v1/customers/update-config-v1-customers.mjs +1 -1
  514. package/tools/v1/customers/update-config-v1-customers.mjs.map +1 -1
  515. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js +1 -1
  516. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js.map +1 -1
  517. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs +1 -1
  518. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs.map +1 -1
  519. package/tools/v1/invoices/regenerate-v1-invoices.js +1 -1
  520. package/tools/v1/invoices/regenerate-v1-invoices.js.map +1 -1
  521. package/tools/v1/invoices/regenerate-v1-invoices.mjs +1 -1
  522. package/tools/v1/invoices/regenerate-v1-invoices.mjs.map +1 -1
  523. package/tools/v1/invoices/void-v1-invoices.js +1 -1
  524. package/tools/v1/invoices/void-v1-invoices.js.map +1 -1
  525. package/tools/v1/invoices/void-v1-invoices.mjs +1 -1
  526. package/tools/v1/invoices/void-v1-invoices.mjs.map +1 -1
  527. package/tools/v1/plans/get-details-v1-plans.js +1 -1
  528. package/tools/v1/plans/get-details-v1-plans.js.map +1 -1
  529. package/tools/v1/plans/get-details-v1-plans.mjs +1 -1
  530. package/tools/v1/plans/get-details-v1-plans.mjs.map +1 -1
  531. package/tools/v1/plans/list-charges-v1-plans.js +1 -1
  532. package/tools/v1/plans/list-charges-v1-plans.js.map +1 -1
  533. package/tools/v1/plans/list-charges-v1-plans.mjs +1 -1
  534. package/tools/v1/plans/list-charges-v1-plans.mjs.map +1 -1
  535. package/tools/v1/plans/list-customers-v1-plans.js +1 -1
  536. package/tools/v1/plans/list-customers-v1-plans.js.map +1 -1
  537. package/tools/v1/plans/list-customers-v1-plans.mjs +1 -1
  538. package/tools/v1/plans/list-customers-v1-plans.mjs.map +1 -1
  539. package/tools/v1/plans/list-v1-plans.js +1 -1
  540. package/tools/v1/plans/list-v1-plans.js.map +1 -1
  541. package/tools/v1/plans/list-v1-plans.mjs +1 -1
  542. package/tools/v1/plans/list-v1-plans.mjs.map +1 -1
  543. package/tools/v1/pricing-units/list-v1-pricing-units.js +1 -1
  544. package/tools/v1/pricing-units/list-v1-pricing-units.js.map +1 -1
  545. package/tools/v1/pricing-units/list-v1-pricing-units.mjs +1 -1
  546. package/tools/v1/pricing-units/list-v1-pricing-units.mjs.map +1 -1
  547. package/tools/v1/services/list-v1-services.js +1 -1
  548. package/tools/v1/services/list-v1-services.js.map +1 -1
  549. package/tools/v1/services/list-v1-services.mjs +1 -1
  550. package/tools/v1/services/list-v1-services.mjs.map +1 -1
  551. package/tools/v1/usage/ingest-v1-usage.js +2 -2
  552. package/tools/v1/usage/ingest-v1-usage.js.map +1 -1
  553. package/tools/v1/usage/ingest-v1-usage.mjs +2 -2
  554. package/tools/v1/usage/ingest-v1-usage.mjs.map +1 -1
  555. package/tools/v1/usage/list-v1-usage.d.mts.map +1 -1
  556. package/tools/v1/usage/list-v1-usage.d.ts.map +1 -1
  557. package/tools/v1/usage/list-v1-usage.js +3 -2
  558. package/tools/v1/usage/list-v1-usage.js.map +1 -1
  559. package/tools/v1/usage/list-v1-usage.mjs +3 -2
  560. package/tools/v1/usage/list-v1-usage.mjs.map +1 -1
  561. package/tools/v1/usage/list-with-groups-v1-usage.js +1 -1
  562. package/tools/v1/usage/list-with-groups-v1-usage.js.map +1 -1
  563. package/tools/v1/usage/list-with-groups-v1-usage.mjs +1 -1
  564. package/tools/v1/usage/list-with-groups-v1-usage.mjs.map +1 -1
  565. package/tools/v1/usage/search-v1-usage.js +1 -1
  566. package/tools/v1/usage/search-v1-usage.js.map +1 -1
  567. package/tools/v1/usage/search-v1-usage.mjs +1 -1
  568. package/tools/v1/usage/search-v1-usage.mjs.map +1 -1
  569. package/tools/v2/contracts/edit-commit-v2-contracts.d.mts.map +1 -1
  570. package/tools/v2/contracts/edit-commit-v2-contracts.d.ts.map +1 -1
  571. package/tools/v2/contracts/edit-commit-v2-contracts.js +33 -23
  572. package/tools/v2/contracts/edit-commit-v2-contracts.js.map +1 -1
  573. package/tools/v2/contracts/edit-commit-v2-contracts.mjs +33 -23
  574. package/tools/v2/contracts/edit-commit-v2-contracts.mjs.map +1 -1
  575. package/tools/v2/contracts/edit-credit-v2-contracts.d.mts.map +1 -1
  576. package/tools/v2/contracts/edit-credit-v2-contracts.d.ts.map +1 -1
  577. package/tools/v2/contracts/edit-credit-v2-contracts.js +33 -23
  578. package/tools/v2/contracts/edit-credit-v2-contracts.js.map +1 -1
  579. package/tools/v2/contracts/edit-credit-v2-contracts.mjs +33 -23
  580. package/tools/v2/contracts/edit-credit-v2-contracts.mjs.map +1 -1
  581. package/tools/v2/contracts/edit-v2-contracts.d.mts.map +1 -1
  582. package/tools/v2/contracts/edit-v2-contracts.d.ts.map +1 -1
  583. package/tools/v2/contracts/edit-v2-contracts.js +238 -730
  584. package/tools/v2/contracts/edit-v2-contracts.js.map +1 -1
  585. package/tools/v2/contracts/edit-v2-contracts.mjs +238 -730
  586. package/tools/v2/contracts/edit-v2-contracts.mjs.map +1 -1
  587. package/tools/v2/contracts/get-edit-history-v2-contracts.js +1 -1
  588. package/tools/v2/contracts/get-edit-history-v2-contracts.js.map +1 -1
  589. package/tools/v2/contracts/get-edit-history-v2-contracts.mjs +1 -1
  590. package/tools/v2/contracts/get-edit-history-v2-contracts.mjs.map +1 -1
  591. package/tools/v2/contracts/list-v2-contracts.js +1 -1
  592. package/tools/v2/contracts/list-v2-contracts.js.map +1 -1
  593. package/tools/v2/contracts/list-v2-contracts.mjs +1 -1
  594. package/tools/v2/contracts/list-v2-contracts.mjs.map +1 -1
  595. package/tools/v2/contracts/retrieve-v2-contracts.d.mts.map +1 -1
  596. package/tools/v2/contracts/retrieve-v2-contracts.d.ts.map +1 -1
  597. package/tools/v2/contracts/retrieve-v2-contracts.js +1 -1
  598. package/tools/v2/contracts/retrieve-v2-contracts.js.map +1 -1
  599. package/tools/v2/contracts/retrieve-v2-contracts.mjs +1 -1
  600. package/tools/v2/contracts/retrieve-v2-contracts.mjs.map +1 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Metronome Node MCP Server
1
+ # Metronome TypeScript MCP Server
2
2
 
3
3
  It is generated with [Stainless](https://www.stainless.com/).
4
4
 
@@ -154,6 +154,19 @@ A configuration JSON for this server might look like this, assuming the server i
154
154
  }
155
155
  ```
156
156
 
157
+ The command-line arguments for filtering tools and specifying clients can also be used as query parameters in the URL.
158
+ For example, to exclude specific tools while including others, use the URL:
159
+
160
+ ```
161
+ http://localhost:3000?resource=cards&resource=accounts&no_tool=create_cards
162
+ ```
163
+
164
+ Or, to configure for the Cursor client, with a custom max tool name length, use the URL:
165
+
166
+ ```
167
+ http://localhost:3000?client=cursor&capability=tool-name-length%3D40
168
+ ```
169
+
157
170
  ## Importing the tools and server individually
158
171
 
159
172
  ```js
@@ -195,17 +208,130 @@ The following tools are available in this MCP server.
195
208
 
196
209
  ### Resource `v2.contracts`:
197
210
 
198
- - `retrieve_v2_contracts` (`write`): Get a specific contract. New clients should use this endpoint rather than the v1 endpoint.
199
- - `list_v2_contracts` (`write`): List all contracts for a customer in chronological order. New clients should use this endpoint rather than the v1 endpoint.
200
- - `edit_v2_contracts` (`write`): Edit a contract. Contract editing must be enabled to use this endpoint.
201
- - `edit_commit_v2_contracts` (`write`): Edit a customer or contract commit. Contract commits can only be edited using this endpoint if contract editing is enabled.
202
- - `edit_credit_v2_contracts` (`write`): Edit a customer or contract credit. Contract credits can only be edited using this endpoint if contract editing is enabled.
203
- - `get_edit_history_v2_contracts` (`write`): Get the edit history of a specific contract. Contract editing must be enabled to use this endpoint.
211
+ - `retrieve_v2_contracts` (`write`): Gets the details for a specific contract, including contract term, rate card information, credits and commits, and more.
212
+
213
+ ### Use this endpoint to:
214
+
215
+ - Check the duration of a customer's current contract
216
+ - Get details on contract terms, including access schedule amounts for commitments and credits
217
+ - Understand the state of a contract at a past time. As you can evolve the terms of a contract over time through editing, use the `as_of_date` parameter to view the full contract configuration as of that point in time.
218
+
219
+ ### Usage guidelines:
220
+
221
+ - Optionally, use the `include_balance` and `include_ledger` fields to include balances and ledgers in the credit and commit responses. Using these fields will cause the query to be slower.
222
+
223
+ - `list_v2_contracts` (`write`): For a given customer, lists all of their contracts in chronological order.
224
+
225
+ ### Use this endpoint to:
226
+
227
+ - Check if a customer is provisioned with any contract, and at which tier
228
+ - Check the duration and terms of a customer's current contract
229
+ - Power a page in your end customer experience that shows the customer's history of tiers (e.g. this customer started out on the Pro Plan, then downgraded to the Starter plan).
230
+
231
+ ### Usage guidelines:
232
+
233
+ Use the `starting_at`, `covering_date`, and `include_archived` parameters to filter the list of returned contracts. For example, to list only currently active contracts, pass `covering_date` equal to the current time.
234
+
235
+ - `edit_v2_contracts` (`write`): The ability to edit a contract helps you react quickly to the needs of your customers and your business.
236
+
237
+ ### Use this endpoint to:
238
+
239
+ - Encode mid-term commitment and discount changes
240
+ - Fix configuration mistakes and easily roll back packaging changes
241
+
242
+ ### Key response fields:
243
+
244
+ - The `id` of the edit
245
+ - Complete edit details. For example, if you edited the contract to add new overrides and credits, you will receive the IDs of those overrides and credits in the response.
246
+
247
+ ### Usage guidelines:
248
+
249
+ - When you edit a contract, any draft invoices update immediately to reflect that edit. Finalized invoices remain unchanged - you must void and regenerate them in the UI or API to reflect the edit.
250
+ - Contract editing must be enabled to use this endpoint. Reach out to your Metronome representative to learn more.
251
+
252
+ - `edit_commit_v2_contracts` (`write`): Edit specific details for a contract-level or customer-level commit. Use this endpoint to modify individual commit access schedules, invoice schedules, applicable products, invoicing contracts, or other fields.
253
+
254
+ ### Usage guidelines:
255
+
256
+ - As with all edits in Metronome, draft invoices will reflect the edit immediately, while finalized invoices are untouched unless voided and regenerated.
257
+ - If a commit's invoice schedule item is associated with a finalized invoice, you cannot remove or update the invoice schedule item.
258
+ - If a commit's invoice schedule item is associated with a voided invoice, you cannot remove the invoice schedule item.
259
+ - You cannot remove an commit access schedule segment that was applied to a finalized invoice. You can void the invoice beforehand and then remove the access schedule segment.
260
+
261
+ - `edit_credit_v2_contracts` (`write`): Edit details for a contract-level or customer-level credit.
262
+
263
+ ### Use this endpoint to:
264
+
265
+ - Extend the duration or the amount of an existing free credit like a trial
266
+ - Modify individual credit access schedules, applicable products, priority, or other fields.
267
+
268
+ ### Usage guidelines:
269
+
270
+ - As with all edits in Metronome, draft invoices will reflect the edit immediately, while finalized invoices are untouched unless voided and regenerated.
271
+ - You cannot remove an access schedule segment that was applied to a finalized invoice. You can void the invoice beforehand and then remove the access schedule segment.
272
+
273
+ - `get_edit_history_v2_contracts` (`write`): List all the edits made to a contract over time. In Metronome, you can edit a contract at any point after it's created to fix mistakes or reflect changes in terms. Metronome stores a full history of all edits that were ever made to a contract, whether through the UI, `editContract` endpoint, or other endpoints like `updateContractEndDate`.
274
+
275
+ ### Use this endpoint to:
276
+
277
+ - Understand what changes were made to a contract, when, and by who
278
+
279
+ ### Key response fields:
280
+
281
+ - An array of every edit ever made to the contract
282
+ - Details on each individual edit - for example showing that in one edit, a user added two discounts and incremented a subscription quantity.
204
283
 
205
284
  ### Resource `v1.alerts`:
206
285
 
207
- - `create_v1_alerts` (`write`): Create a new alert
208
- - `archive_v1_alerts` (`write`): Archive an existing alert
286
+ - `create_v1_alerts` (`write`): Create a new alert to monitor customer spending, balances, and billing metrics in real-time. Metronome's alert system provides industry-leading speed with immediate evaluation capabilities, enabling you to proactively manage customer accounts and prevent revenue leakage.
287
+
288
+ This endpoint creates configurable alerts that continuously monitor various billing thresholds including spend limits, credit balances, commitment utilization, and invoice totals. Alerts can be configured globally for all customers or targeted to specific customer accounts. Custom fields can be used on certain alert types to further target alerts to groups of customers.
289
+
290
+ ### Use this endpoint to:
291
+
292
+ - Proactively monitor customer spending patterns to prevent unexpected overages or credit exhaustion
293
+ - Automate notifications when customers approach commitment limits or credit thresholds
294
+ - Enable real-time intervention for accounts at risk of churn or payment issues
295
+ - Scale billing operations by automating threshold-based workflows and notifications
296
+
297
+ ### Key response fields:
298
+
299
+ A successful response returns a CustomerAlert object containing:
300
+
301
+ - The alert configuration with its unique ID and current status
302
+ - The customer's evaluation status (ok, in_alarm, or evaluating)
303
+ - Alert metadata including type, threshold values, and update timestamps
304
+
305
+ ### Usage guidelines:
306
+
307
+ - Immediate evaluation: Set `evaluate_on_create` : `true` (default) for instant evaluation against existing customers
308
+ - Uniqueness constraints: Each alert must have a unique `uniqueness_key` within your organization. Use `release_uniqueness_key` : `true` when archiving to reuse keys
309
+ - Alert type requirements: Different alert types require specific fields (e.g., `billable_metric_id` for usage alerts, `credit_type_id` for credit-based alerts)
310
+ - Webhook delivery: Alerts trigger webhook notifications for real-time integration with your systems. Configure webhook endpoints before creating alerts
311
+ - Performance at scale: Metronome's event-driven architecture processes alert evaluations in real-time as usage events stream in, unlike competitors who rely on periodic polling or batch evaluation cycles
312
+
313
+ - `archive_v1_alerts` (`write`): Permanently disable an alert and remove it from active monitoring across all customers. Archived alerts stop evaluating immediately and can optionally release their uniqueness key for reuse in future alert configurations.
314
+
315
+ ### Use this endpoint to:
316
+
317
+ - Decommission alerts that are no longer needed
318
+ - Clean up test or deprecated alert configurations
319
+ - Free up uniqueness keys for reuse with new alerts
320
+ - Stop alert evaluations without losing historical configuration data
321
+ - Disable outdated monitoring rules during pricing model transitions
322
+
323
+ ### Key response fields:
324
+
325
+ - data: Object containing the archived alert's ID
326
+ - Alert evaluation stops immediately for all affected customers
327
+ - Historical alert data and configurations remain accessible for audit purposes
328
+
329
+ ### Usage guidelines:
330
+
331
+ - Irreversible for evaluation: Archived alerts cannot be re-enabled; create a new alert to resume monitoring
332
+ - Uniqueness key handling: Set `release_uniqueness_key` : `true` to reuse the key in future alerts
333
+ - Immediate effect: Alert evaluation stops instantly across all customers
334
+ - Historical preservation: Archive operation maintains alert history and configuration for compliance and auditing
209
335
 
210
336
  ### Resource `v1.plans`:
211
337
 
@@ -224,26 +350,161 @@ The following tools are available in this MCP server.
224
350
 
225
351
  ### Resource `v1.pricing_units`:
226
352
 
227
- - `list_v1_pricing_units` (`read`): List all pricing units (known in the API by the legacy term "credit types").
353
+ - `list_v1_pricing_units` (`read`): List all pricing units. All fiat currency types (for example, USD or GBP) will be included, as well as any custom pricing units that were configured. Custom pricing units can be used to charge for usage in a non-fiat pricing unit, for example AI credits.
354
+
355
+ Note: The USD (cents) pricing unit is 2714e483-4ff1-48e4-9e25-ac732e8f24f2.
228
356
 
229
357
  ### Resource `v1.customers`:
230
358
 
231
- - `create_v1_customers` (`write`): Create a new customer
232
- - `retrieve_v1_customers` (`read`): Get a customer by Metronome ID.
233
- - `list_v1_customers` (`read`): List all customers.
234
- - `archive_v1_customers` (`write`): Archive a customer Note: any alerts associated with the customer will not be triggered.
235
- - `list_billable_metrics_v1_customers` (`read`): Get all billable metrics for a given customer.
359
+ - `create_v1_customers` (`write`): Create a new customer in Metronome and optionally the billing configuration (recommended) which dictates where invoices for the customer will be sent or where payment will be collected.
360
+
361
+ ### Use this endpoint to:
362
+
363
+ Execute your customer provisioning workflows for either PLG motions, where customers originate in your platform, or SLG motions, where customers originate in your sales system.
364
+
365
+ ### Key response fields:
366
+
367
+ This end-point returns the `customer_id` created by the request. This id can be used to fetch relevant billing configurations and create contracts.
368
+
369
+ ### Example workflow:
370
+
371
+ - Generally, Metronome recommends first creating the customer in the downstream payment / ERP system when payment method is collected and then creating the customer in Metronome using the response (i.e. `customer_id`) from the downstream system. If you do not create a billing configuration on customer creation, you can add it later.
372
+ - Once a customer is created, you can then create a contract for the customer. In the contract creation process, you will need to add the customer billing configuration to the contract to ensure Metronome invoices the customer correctly. This is because a customer can have multiple configurations.
373
+ - As part of the customer creation process, set the ingest alias for the customer which will ensure usage is accurately mapped to the customer. Ingest aliases can be added or changed after the creation process as well.
374
+
375
+ ### Usage guidelines:
376
+
377
+ For details on different billing configurations for different systems, review the `/setCustomerBillingConfiguration` end-point.
378
+
379
+ - `retrieve_v1_customers` (`read`): Get detailed information for a specific customer by their Metronome ID. Returns customer profile data including name, creation date, ingest aliases, configuration settings, and custom fields. Use this endpoint to fetch complete customer details for billing operations or account management.
380
+
381
+ Note: If searching for a customer billing configuration, use the `/getCustomerBillingConfigurations` endpoint.
382
+
383
+ - `list_v1_customers` (`read`): Gets a paginated list of all customers in your Metronome account. Use this endpoint to browse your customer base, implement customer search functionality, or sync customer data with external systems. Returns customer details including IDs, names, and configuration settings. Supports filtering and pagination parameters for efficient data retrieval.
384
+ - `archive_v1_customers` (`write`): Use this endpoint to archive a customer while preserving auditability. Archiving a customer will automatically archive all contracts as of the current date and void all corresponding invoices. Use this endpoint if a customer is onboarded by mistake.
385
+
386
+ ### Usage guidelines:
387
+
388
+ - Once a customer is archived, it cannot be unarchived.
389
+ - Archived customers can still be viewed through the API or the UI for audit purposes.
390
+ - Ingest aliases remain idempotent for archived customers. In order to reuse an ingest alias, first remove the ingest alias from the customer prior to archiving.
391
+ - Any alerts associated with the customer will no longer be triggered.
392
+
393
+ - `list_billable_metrics_v1_customers` (`read`): Get all billable metrics available for a specific customer. Supports pagination and filtering by current plan status or archived metrics. Use this endpoint to see which metrics are being tracked for billing calculations for a given customer.
236
394
  - `list_costs_v1_customers` (`read`): Fetch daily pending costs for the specified customer, broken down by credit type and line items. Note: this is not supported for customers whose plan includes a UNIQUE-type billable metric.
237
395
  - `preview_events_v1_customers` (`write`): Preview how a set of events will affect a customer's invoice. Generates a draft invoice for a customer using their current contract configuration and the provided events. This is useful for testing how new events will affect the customer's invoice before they are actually processed.
238
- - `set_ingest_aliases_v1_customers` (`write`): Sets the ingest aliases for a customer. Ingest aliases can be used in the `customer_id` field when sending usage events to Metronome. This call is idempotent. It fully replaces the set of ingest aliases for the given customer.
239
- - `set_name_v1_customers` (`write`): Updates the specified customer's name.
240
- - `update_config_v1_customers` (`write`): Updates the specified customer's config.
396
+ - `retrieve_billing_configurations_v1_customers` (`write`): Returns all billing configurations previously set for the customer. Use during the contract provisioning process to fetch the `billing_provider_configuration_id` needed to set the contract billing configuration.
397
+ - `set_billing_configurations_v1_customers` (`write`): Create a billing configuration for a customer. Once created, these configurations are available to associate to a contract and dictates which downstream system to collect payment in or send the invoice to. You can create multiple configurations per customer. The configuration formats are distinct for each downstream provider.
398
+
399
+ ### Use this endpoint to:
400
+
401
+ - Add the initial configuration to an existing customer. Once created, the billing configuration can then be associated to the customer's contract.
402
+ - Add a new configuration to an existing customer. This might be used as part of an upgrade or downgrade workflow where the customer was previously billed through system A (e.g. Stripe) but will now be billed through system B (e.g. AWS). Once created, the new configuration can then be associated to the customer's contract.
403
+
404
+ ### Delivery method options:
405
+
406
+ - `direct_to_billing_provider`: Use when Metronome should send invoices directly to the billing provider's API (e.g., Stripe, NetSuite). This is the most common method for automated billing workflows.
407
+ - `tackle`: Use specifically for AWS Marketplace transactions that require Tackle's co-selling platform for partner attribution and commission tracking.
408
+ - `aws_sqs`: Use when you want invoice data delivered to an AWS SQS queue for custom processing before sending to your billing system.
409
+ - `aws_sns`: Use when you want invoice notifications published to an AWS SNS topic for event-driven billing workflows.
410
+
411
+ ### Key response fields:
412
+
413
+ The id for the customer billing configuration. This id can be used to associate the billing configuration to a contract.
414
+
415
+ ### Usage guidelines:
416
+
417
+ Must use the `delivery_method_id` if you have multiple Stripe accounts connected to Metronome.
418
+
419
+ - `set_ingest_aliases_v1_customers` (`write`): Sets the ingest aliases for a customer. Use this endpoint to associate a Metronome customer with an internal ID for easier tracking between systems. Ingest aliases can be used in the `customer_id` field when sending usage events to Metronome.
420
+
421
+ ### Usage guidelines:
422
+
423
+ - This call is idempotent and fully replaces the set of ingest aliases for the given customer.
424
+ - Switching an ingest alias from one customer to another will associate all corresponding usage to the new customer.
425
+ - Use multiple ingest aliases to model child organizations within a single Metronome customer.
426
+
427
+ - `set_name_v1_customers` (`write`): Updates the display name for a customer record. Use this to correct customer names, update business names after rebranding, or maintain accurate customer information for invoicing and reporting. Returns the updated customer object with the new name applied immediately across all billing documents and interfaces.
428
+ - `update_config_v1_customers` (`write`): Update configuration settings for a specific customer, such as external system integrations (e.g., Salesforce account ID) and other customer-specific billing parameters. Use this endpoint to modify customer configurations without affecting core customer data like name or ingest aliases.
241
429
 
242
430
  ### Resource `v1.customers.alerts`:
243
431
 
244
- - `retrieve_customers_v1_alerts` (`write`): Get the customer alert status and alert information for the specified customer and alert
245
- - `list_customers_v1_alerts` (`write`): Fetch all customer alert statuses and alert information for a customer
246
- - `reset_customers_v1_alerts` (`write`): Reset state for an alert by customer id and force re-evaluation
432
+ - `retrieve_customers_v1_alerts` (`write`): Retrieve the real-time evaluation status for a specific alert-customer pair. This endpoint provides instant visibility into whether a customer has triggered an alert condition, enabling you to monitor account health and take proactive action based on current alert states.
433
+
434
+ ### Use this endpoint to:
435
+
436
+ - Check if a specific customer is currently violating an alert threshold (`in_alarm` status)
437
+ - Verify alert configuration details and threshold values for a customer
438
+ - Integrate alert status checks into customer support tools or admin interfaces
439
+
440
+ ### Key response fields:
441
+
442
+ A CustomerAlert object containing:
443
+
444
+ - `customer_status`: The current evaluation state
445
+
446
+ - `ok` - Customer is within acceptable thresholds
447
+ - `in_alarm`- Customer has breached the alert threshold
448
+ - `evaluating` - Alert has yet to be evaluated (typically due to a customer or alert having just been created)
449
+ - `null` - Alert has been archived
450
+ - `triggered_by`: Additional context about what caused the alert to trigger (when applicable)
451
+ - alert: Complete alert configuration including:
452
+ - Alert ID, name, and type
453
+ - Current threshold values and credit type information
454
+ - Alert status (enabled, disabled, or archived)
455
+ - Last update timestamp
456
+ - Any applied filters (credit grant types, custom fields, group values)
457
+
458
+ ### Usage guidelines:
459
+
460
+ - Customer status: Returns the current evaluation state, not historical data. For alert history, use webhook notifications or event logs
461
+ - Archived alerts: Returns null for customer_status if the alert has been archived, but still includes the alert configuration details
462
+ - Integration patterns: This endpoint can be used to check a customer's alert status, but shouldn't be scraped. You should instead rely on the webhook notification to understand when customers are moved to IN_ALARM.
463
+ - Error handling: Returns 404 if either the customer or alert ID doesn't exist or isn't accessible to your organization
464
+
465
+ - `list_customers_v1_alerts` (`write`): Retrieve all alert configurations and their current statuses for a specific customer in a single API call. This endpoint provides a comprehensive view of all alerts monitoring a customer account.
466
+
467
+ ### Use this endpoint to:
468
+
469
+ - Display all active alerts for a customer in dashboards or admin panels
470
+ - Quickly identify which alerts a customer is currently triggering
471
+ - Audit alert coverage for specific accounts
472
+ - Filter alerts by status (enabled, disabled, or archived)
473
+
474
+ ### Key response fields:
475
+
476
+ - data: Array of CustomerAlert objects, each containing:
477
+ - Current evaluation status (`ok`, `in_alarm`, `evaluating`, or `null`)
478
+ - Complete alert configuration and threshold details
479
+ - Alert metadata including type, name, and last update time
480
+ - `next_page`: Pagination cursor for retrieving additional results
481
+
482
+ ### Usage guidelines:
483
+
484
+ - Default behavior: Returns only enabled alerts unless alert_statuses filter is specified
485
+ - Pagination: Use the `next_page` cursor to retrieve all results for customers with many alerts
486
+
487
+ - `reset_customers_v1_alerts` (`write`): Force an immediate re-evaluation of a specific alert for a customer, clearing any previous state and triggering a fresh assessment against current thresholds. This endpoint ensures alert accuracy after configuration changes or data corrections.
488
+
489
+ ### Use this endpoint to:
490
+
491
+ - Clear false positive alerts after fixing data issues
492
+ - Re-evaluate alerts after adjusting customer balances or credits
493
+ - Test alert behavior during development and debugging
494
+ - Resolve stuck alerts that may be in an incorrect state
495
+ - Trigger immediate evaluation after threshold modifications
496
+
497
+ ### Key response fields:
498
+
499
+ - 200 Success: Confirmation that the alert has been reset and re-evaluation initiated
500
+ - No response body is returned - the operation completes asynchronously
501
+
502
+ ### Usage guidelines:
503
+
504
+ - Immediate effect: Triggers re-evaluation instantly, which may result in new webhook notifications if thresholds are breached
505
+ - State clearing: Removes any cached evaluation state, ensuring a fresh assessment
506
+ - Use sparingly: Intended for exceptional cases, not routine operations
507
+ - Asynchronous processing: The reset completes immediately, but re-evaluation happens in the background
247
508
 
248
509
  ### Resource `v1.customers.plans`:
249
510
 
@@ -254,12 +515,100 @@ The following tools are available in this MCP server.
254
515
 
255
516
  ### Resource `v1.customers.invoices`:
256
517
 
257
- - `retrieve_customers_v1_invoices` (`read`): Fetch a specific invoice for a given customer.
258
- - `list_customers_v1_invoices` (`read`): List all invoices for a given customer, optionally filtered by status, date range, and/or credit type.
518
+ - `retrieve_customers_v1_invoices` (`read`): Retrieve detailed information for a specific invoice by its unique identifier. This endpoint returns comprehensive invoice data including line items, applied credits, totals, and billing period details for both finalized and draft invoices.
519
+
520
+ ### Use this endpoint to:
521
+
522
+ - Display historical invoice details in customer-facing dashboards or billing portals.
523
+ - Retrieve current month draft invoices to show customers their month-to-date spend.
524
+ - Access finalized invoices for historical billing records and payment reconciliation.
525
+ - Validate customer pricing and credit applications for customer support queries.
526
+
527
+ ### Key response fields:
528
+
529
+ Invoice status (DRAFT, FINALIZED, VOID)
530
+ Billing period start and end dates
531
+ Total amount and amount due after credits
532
+ Detailed line items broken down by:
533
+
534
+ - Customer and contract information
535
+ - Invoice line item type
536
+ - Product/service name and ID
537
+ - Quantity consumed
538
+ - Unit and total price
539
+ - Time period for usage-based charges
540
+ - Applied credits or prepaid commitments
541
+
542
+ ### Usage guidelines:
543
+
544
+ - Draft invoices update in real-time as usage is reported and may change before finalization
545
+ - The response includes both usage-based line items (e.g., API calls, data processed) and scheduled charges (e.g., monthly subscriptions, commitment fees)
546
+ - Credit and commitment applications are shown as separate line items with negative amounts
547
+ - For voided invoices, the response will indicate VOID status but retain all original line item details
548
+
549
+ - `list_customers_v1_invoices` (`read`): Retrieves a paginated list of invoices for a specific customer, with flexible filtering options to narrow results by status, date range, credit type, and more. This endpoint provides a comprehensive view of a customer's billing history and current charges, supporting both real-time billing dashboards and historical reporting needs.
550
+
551
+ ### Use this endpoint to:
552
+
553
+ - Display historical invoice details in customer-facing dashboards or billing portals.
554
+ - Retrieve current month draft invoices to show customers their month-to-date spend.
555
+ - Access finalized invoices for historical billing records and payment reconciliation.
556
+ - Validate customer pricing and credit applications for customer support queries.
557
+ - Generate financial reports by filtering invoices within specific date ranges
558
+
559
+ ### Key response fields:
560
+
561
+ Array of invoice objects containing:
562
+
563
+ - Invoice ID and status (DRAFT, FINALIZED, VOID)
564
+ - Invoice type (USAGE, SCHEDULED)
565
+ - Billing period start and end dates
566
+ - Issue date and due date
567
+ - Total amount, subtotal, and amount due
568
+ - Applied credits summary
569
+ - Contract ID reference
570
+ - External billing provider status (if integrated with Stripe, etc.)
571
+ - Pagination metadata `next_page` cursor
572
+
573
+ ### Usage guidelines:
574
+
575
+ - The endpoint returns invoice summaries; use the Get Invoice endpoint for detailed line items
576
+ - Draft invoices are continuously updated as new usage is reported and will show real-time spend
577
+ - Results are ordered by creation date descending by default (newest first)
578
+ - When filtering by date range, the filter applies to the billing period, not the issue date
579
+ - For customers with many invoices, implement pagination to ensure all results are retrieved
580
+ External billing provider statuses (like Stripe payment status) are included when applicable
581
+ - Voided invoices are included in results by default unless filtered out by status
582
+
259
583
  - `add_charge_customers_v1_invoices` (`write`): Add a one time charge to the specified invoice
260
- - `list_breakdowns_customers_v1_invoices` (`read`): List daily or hourly invoice breakdowns for a given customer, optionally filtered by status, date range, and/or credit type.
261
- Important considerations:
262
- - If we receive backdated usage after an invoice has been finalized, the backdated usage will be included in the response and usage numbers may differ.
584
+ - `list_breakdowns_customers_v1_invoices` (`read`): Retrieve granular time-series breakdowns of invoice data at hourly or daily intervals. This endpoint transforms standard invoices into detailed timelines, enabling you to track usage patterns, identify consumption spikes, and provide customers with transparency into their billing details throughout the billing period.
585
+
586
+ ### Use this endpoint to:
587
+
588
+ - Build usage analytics dashboards showing daily or hourly consumption trends
589
+ - Identify peak usage periods for capacity planning and cost optimization
590
+ - Generate detailed billing reports for finance teams and customer success
591
+ - Troubleshoot billing disputes by examining usage patterns at specific times
592
+ - Power real-time cost monitoring and alerting systems
593
+
594
+ ### Key response fields:
595
+
596
+ An array of BreakdownInvoice objects, each containing:
597
+
598
+ - All standard invoice fields (ID, customer, commit, line items, totals, status)
599
+ - Line items with quantities and costs for that specific period
600
+ - `breakdown_start_timestamp`: Start of the specific time window
601
+ - `breakdown_end_timestamp`: End of the specific time window
602
+ - `next_page`: Pagination cursor for large result sets
603
+
604
+ ### Usage guidelines:
605
+
606
+ - Time granularity: Set `window_size` to hour or day based on your analysis needs
607
+ - Response limits: Daily breakdowns return up to 35 days; hourly breakdowns return up to 24 hours per request
608
+ - Date filtering: Use `starting_on` and `ending_before` to focus on specific periods
609
+ - Performance: For large date ranges, use pagination to retrieve all data efficiently
610
+ - Backdated usage: If usage events arrive after invoice finalization, breakdowns will reflect the updated usage
611
+ - Zero quantity filtering: Use `skip_zero_qty_line_items=true` to exclude periods with no usage
263
612
 
264
613
  ### Resource `v1.customers.billing_config`:
265
614
 
@@ -269,15 +618,169 @@ The following tools are available in this MCP server.
269
618
 
270
619
  ### Resource `v1.customers.commits`:
271
620
 
272
- - `create_customers_v1_commits` (`write`): Create a new commit at the customer level.
273
- - `list_customers_v1_commits` (`write`): List commits.
274
- - `update_end_date_customers_v1_commits` (`write`): Pull forward the end date of a prepaid commit. Use the "edit a commit" endpoint to extend the end date of a prepaid commit, or to make other edits to the commit.
621
+ - `create_customers_v1_commits` (`write`): Creates customer-level commits that establish spending commitments for customers across their Metronome usage. Commits represent contracted spending obligations that can be either prepaid (paid upfront) or postpaid (billed later).
622
+
623
+ Note: In most cases, you should add commitments directly to customer contracts using the contract/create or contract/edit APIs.
624
+
625
+ ### Use this endpoint to:
626
+
627
+ Use this endpoint when you need to establish customer-level spending commitments that can be applied across multiple contracts or scoped to specific contracts. Customer-level commits are ideal for:
628
+
629
+ - Enterprise-wide minimum spending agreements that span multiple contracts
630
+ - Multi-contract volume commitments with shared spending pools
631
+ - Cross-contract discount tiers based on aggregate usage
632
+
633
+ #### Commit type Requirements:
634
+
635
+ - You must specify either "prepaid" or "postpaid" as the commit type:
636
+ - Prepaid commits: Customer pays upfront; invoice_schedule is optional (if omitted, creates a commit without an invoice)
637
+ - Postpaid commits: Customer pays when the commitment expires (the end of the access_schedule); invoice_schedule is required and must match access_schedule totals.
638
+
639
+ #### Billing configuration:
640
+
641
+ - invoice_contract_id is required for postpaid commits and for prepaid commits with billing (only optional for free prepaid commits)
642
+ - For postpaid commits: access_schedule and invoice_schedule must have matching amounts
643
+ - For postpaid commits: only one schedule item is allowed in both schedules.
644
+
645
+ #### Scoping flexibility:
646
+
647
+ Customer-level commits can be configured in a few ways:
648
+
649
+ - Contract-specific: Use the `applicable_contract_ids` field to limit the commit to specific contracts
650
+ - Cross-contract: Leave `applicable_contract_ids` empty to allow the commit to be used across all of the customer's contracts
651
+
652
+ #### Product targeting:
653
+
654
+ Commits can be scoped to specific products using applicable_product_ids, applicable_product_tags, or specifiers, or left unrestricted to apply to all products.
655
+
656
+ #### Priority considerations:
657
+
658
+ When multiple commits are applicable, the one with the lower priority value will be consumed first. If there is a tie, contract level commits and credits will be applied before customer level commits and credits. Plan your priority scheme carefully to ensure commits are applied in the desired order.
659
+
660
+ ### Usage guidelines:
661
+
662
+ ⚠️ Preferred Alternative: In most cases, you should add commits directly to contracts using the create contract or edit contract APIs instead of creating customer-level commits. Contract-level commits provide better organization and are the recommended approach for standard use cases.
663
+
664
+ - `list_customers_v1_commits` (`write`): Retrieve all commit agreements for a customer, including both prepaid and postpaid commitments. This endpoint provides comprehensive visibility into contractual spending obligations, enabling you to track commitment utilization and manage customer contracts effectively.
665
+
666
+ ### Use this endpoint to:
667
+
668
+ - Display commitment balances and utilization in customer dashboards
669
+ - Track prepaid commitment drawdown and remaining balances
670
+ - Monitor postpaid commitment progress toward minimum thresholds
671
+ - Build commitment tracking and forecasting tools
672
+ - Show commitment history with optional ledger details
673
+ - Manage rollover balances between contract periods
674
+
675
+ ### Key response fields:
676
+
677
+ An array of Commit objects containing:
678
+
679
+ - Commit type: PREPAID (pay upfront) or POSTPAID (pay at true-up)
680
+ - Rate type: COMMIT_RATE (discounted) or LIST_RATE (standard pricing)
681
+ - Access schedule: When commitment funds become available
682
+ - Invoice schedule: When the customer is billed
683
+ - Product targeting: Which product(s) usage is eligible to draw from this commit
684
+ - Optional ledger entries: Transaction history (if `include_ledgers=true`)
685
+ - Balance information: Current available amount (if `include_balance=true`)
686
+ - Rollover settings: Fraction of unused amount that carries forward
687
+
688
+ ### Usage guidelines:
689
+
690
+ - Pagination: Results limited to 25 commits per page; use 'next_page' for more
691
+ - Date filtering options:
692
+ - `covering_date`: Commits active on a specific date
693
+ - `starting_at`: Commits with access on/after a date
694
+ - `effective_before`: Commits with access before a date (exclusive)
695
+ - Scope options:
696
+ - `include_contract_commits`: Include contract-level commits (not just customer-level)
697
+ - `include_archived`: Include archived commits and commits from archived contracts
698
+ - Performance considerations:
699
+ - include_ledgers: Adds detailed transaction history (slower)
700
+ - include_balance: Adds current balance calculation (slower)
701
+ - Optional filtering: Use commit_id to retrieve a specific commit
702
+
703
+ - `update_end_date_customers_v1_commits` (`write`): Shortens the end date of a prepaid commit to terminate it earlier than originally scheduled. Use this endpoint when you need to cancel or reduce the duration of an existing prepaid commit. Only works with prepaid commit types and can only move the end date forward (earlier), not extend it.
704
+
705
+ ### Usage guidelines:
706
+
707
+ To extend commit end dates or make other comprehensive edits, use the 'edit commit' endpoint instead.
275
708
 
276
709
  ### Resource `v1.customers.credits`:
277
710
 
278
- - `create_customers_v1_credits` (`write`): Create a new credit at the customer level.
279
- - `list_customers_v1_credits` (`write`): List credits.
280
- - `update_end_date_customers_v1_credits` (`write`): Pull forward the end date of a credit. Use the "edit a credit" endpoint to extend the end date of a credit, or to make other edits to the credit.
711
+ - `create_customers_v1_credits` (`write`): Creates customer-level credits that provide spending allowances or free credit balances for customers across their Metronome usage. Note: In most cases, you should add credits directly to customer contracts using the contract/create or contract/edit APIs.
712
+
713
+ ### Use this endpoint to:
714
+
715
+ Use this endpoint when you need to provision credits directly at the customer level that can be applied across multiple contracts or scoped to specific contracts. Customer-level credits are ideal for:
716
+
717
+ - Customer onboarding incentives that apply globally
718
+ - Flexible spending allowances that aren't tied to a single contract
719
+ - Migration scenarios where you need to preserve existing customer balances
720
+
721
+ #### Scoping flexibility:
722
+
723
+ Customer-level credits can be configured in two ways:
724
+
725
+ - Contract-specific: Use the applicable_contract_ids field to limit the credit to specific contracts
726
+ - Cross-contract: Leave applicable_contract_ids empty to allow the credit to be used across all of the customer's contracts
727
+
728
+ #### Product Targeting:
729
+
730
+ Credits can be scoped to specific products using `applicable_product_ids` or `applicable_product_tags`, or left unrestricted to apply to all products.
731
+
732
+ #### Priority considerations:
733
+
734
+ When multiple credits are applicable, the one with the lower priority value will be consumed first. If there is a tie, contract level commits and credits will be applied before customer level commits and credits. Plan your priority scheme carefully to ensure credits are applied in the desired order.
735
+
736
+ #### Access Schedule Required:
737
+
738
+ You must provide an `access_schedule` that defines when and how much credit becomes available to the customer over time. This usually is aligned to the contract schedule or starts immediately and is set to expire in the future.
739
+
740
+ ### Usage Guidelines:
741
+
742
+ ⚠️ Preferred Alternative: In most cases, you should add credits directly to contracts using the contract/create or contract/edit APIs instead of creating customer-level credits. Contract-level credits provide better organization, and are easier for finance teams to recognize revenue, and are the recommended approach for most use cases.
743
+
744
+ - `list_customers_v1_credits` (`write`): Retrieve a detailed list of all credits available to a customer, including promotional credits and contract-specific credits. This endpoint provides comprehensive visibility into credit balances, access schedules, and usage rules, enabling you to build credit management interfaces and track available funding.
745
+
746
+ ### Use this endpoint to:
747
+
748
+ - Display all available credits in customer billing dashboards
749
+ - Show credit balances and expiration dates
750
+ - Track credit usage history with optional ledger details
751
+ - Build credit management and reporting tools
752
+ - Monitor promotional credit utilization
753
+ • Support customer inquiries about available credits
754
+
755
+ ### Key response fields:
756
+
757
+ An array of Credit objects containing:
758
+
759
+ - Credit details: Name, priority, and which applicable products/tags it applies to
760
+ - Product ID: The `product_id` of the credit. This is for external mapping into your quote-to-cash stack, not the product it applies to.
761
+ - Access schedule: When credits become available and expire
762
+ - Optional ledger entries: Transaction history (if `include_ledgers=true`)
763
+ - Balance information: Current available amount (if `include_balance=true`)
764
+ - Metadata: Custom fields and usage specifiers
765
+
766
+ ### Usage guidelines:
767
+
768
+ - Pagination: Results limited to 25 commits per page; use next_page for more
769
+ - Date filtering options:
770
+ - `covering_date`: Credits active on a specific date
771
+ - `starting_at`: Credits with access on/after a date
772
+ - `effective_before`: Credits with access before a date (exclusive)
773
+ - Scope options:
774
+ - `include_contract_credits`: Include contract-level credits (not just customer-level)
775
+ - `include_archived`: Include archived credits and credits from archived contracts
776
+ - Performance considerations:
777
+ - `include_ledgers`: Adds detailed transaction history (slower)
778
+ - `include_balance`: Adds current balance calculation (slower)
779
+ - Optional filtering: Use credit_id to retrieve a specific commit
780
+
781
+ - `update_end_date_customers_v1_credits` (`write`): Shortens the end date of an existing customer credit to terminate it earlier than originally scheduled. Only allows moving end dates forward (earlier), not extending them.
782
+
783
+ Note: To extend credit end dates or make comprehensive edits, use the 'edit credit' endpoint instead.
281
784
 
282
785
  ### Resource `v1.customers.named_schedules`:
283
786
 
@@ -286,84 +789,525 @@ The following tools are available in this MCP server.
286
789
 
287
790
  ### Resource `v1.dashboards`:
288
791
 
289
- - `get_embeddable_url_v1_dashboards` (`write`): Retrieve an embeddable dashboard url for a customer. The dashboard can be embedded using an iframe in a website. This will show information such as usage data and customer invoices.
792
+ - `get_embeddable_url_v1_dashboards` (`write`): Generate secure, embeddable dashboard URLs that allow you to seamlessly integrate Metronome's billing visualizations directly into your application. This endpoint creates authenticated iframe-ready URLs for customer-specific dashboards, providing a white-labeled billing experience without building custom UI.
793
+
794
+ ### Use this endpoint to:
795
+
796
+ - Embed billing dashboards directly in your customer portal or admin interface
797
+ - Provide self-service access to invoices, usage data, and credit balances
798
+ - Build white-labeled billing experiences with minimal development effort
799
+
800
+ ### Key response fields:
801
+
802
+ - A secure, time-limited URL that can be embedded in an iframe
803
+ - The URL includes authentication tokens and configuration parameters
804
+ - URLs are customer-specific and respect your security settings
805
+
806
+ ### Usage guidelines:
807
+
808
+ - Dashboard types: Choose from `invoices`, `usage`, or `commits_and_credits`
809
+ - Customization options:
810
+ - `dashboard_options`: Configure whether you want invoices to show zero usage line items
811
+ - `color_overrides`: Match your brand's color palette
812
+ - `bm_group_key_overrides`: Customize how dimensions are displayed (for the usage embeddable dashboard)
813
+ - Iframe implementation: Embed the returned URL directly in an iframe element
814
+ - Responsive design: Dashboards automatically adapt to container dimensions
290
815
 
291
816
  ### Resource `v1.usage`:
292
817
 
293
- - `list_v1_usage` (`write`): Fetch aggregated usage data for multiple customers and billable-metrics, broken into intervals of the specified length.
294
- - `ingest_v1_usage` (`write`): Send usage events to Metronome. The body of this request is expected to be a JSON array of between 1 and 100 usage events. Compressed request bodies are supported with a `Content-Encoding: gzip` header. See [Getting usage into Metronome](https://docs.metronome.com/connect-metronome/) to learn more about usage events.
295
- - `list_with_groups_v1_usage` (`write`): Fetch aggregated usage data for the specified customer, billable-metric, and optional group, broken into intervals of the specified length.
296
- - `search_v1_usage` (`write`): For a set of events, look up matched billable metrics and customers by transaction id. This endpoint looks at transactions that occurred in the last 34 days, and is intended for sampling-based testing workflows. It is heavily rate limited.
818
+ - `list_v1_usage` (`write`): Retrieve aggregated usage data across multiple customers and billable metrics in a single query. This batch endpoint enables you to fetch usage patterns at scale, broken down by time windows, making it ideal for building analytics dashboards, generating reports, and monitoring platform-wide usage trends.
819
+
820
+ ### Use this endpoint to:
821
+
822
+ - Generate platform-wide usage reports for internal teams
823
+ - Monitor aggregate usage trends across your entire customer base
824
+ - Create comparative usage analyses between customers or time periods
825
+ - Support capacity planning with historical usage patterns
826
+
827
+ ### Key response fields:
828
+
829
+ An array of `UsageBatchAggregate` objects containing:
830
+
831
+ - `customer_id`: The customer this usage belongs to
832
+ - `billable_metric_id` and `billable_metric_name`: What was measured
833
+ - `start_timestamp` and `end_timestamp`: Time window for this data point
834
+ - `value`: Aggregated usage amount for the period
835
+ - `groups` (optional): Usage broken down by group keys with values
836
+ - `next_page`: Pagination cursor for large result sets
837
+
838
+ ### Usage guidelines:
839
+
840
+ - Time windows: Set `window_size` to `hour`, `day`, or `none` (entire period)
841
+ - Required parameters: Must specify `starting_on`, `ending_before`, and `window_size`
842
+ - Filtering options:
843
+ - `customer_ids`: Limit to specific customers (omit for all customers)
844
+ - `billable_metrics`: Limit to specific metrics (omit for all metrics)
845
+ - Pagination: Use `next_page` cursor to retrieve large datasets
846
+ - Null values: Group values may be null when no usage matches that group
847
+
848
+ - `ingest_v1_usage` (`write`): The ingest endpoint is the primary method for sending usage events to Metronome, serving as the foundation for all billing calculations in your usage-based pricing model. This high-throughput endpoint is designed for real-time streaming ingestion, supports backdating 34 days, and is built to handle mission-critical usage data with enterprise-grade reliability. Metronome supports 100,000 events per second without requiring pre-aggregation or rollups and can scale up from there. See [Getting usage into Metronome](https://docs.metronome.com/connect-metronome/) to learn more about usage events.
849
+
850
+ ### Use this endpoint to:
851
+
852
+ Create a customer usage pipeline into Metronome that drives billable metrics, credit drawdown, and invoicing. Track customer behavior, resource consumption, and feature usage
853
+
854
+ ### What happens when you send events:
855
+
856
+ - Events are validated and processed in real-time
857
+ - Events are matched to customers using customer IDs or customer ingest aliases
858
+ - Events are matched to billable metrics and are immediately available for usage and spend calculations
859
+
860
+ ### Usage guidelines:
861
+
862
+ - Historical events can be backdated up to 34 days and will immediately impact live customer spend
863
+ - Duplicate events are automatically detected and ignored (34-day deduplication window)
864
+
865
+ #### Event structure:
866
+
867
+ Usage events are simple JSON objects designed for flexibility and ease of integration:
868
+
869
+ ```json
870
+ {
871
+ "transaction_id": "2021-01-01T00:00:00Z_cluster42",
872
+ "customer_id": "team@example.com",
873
+ "event_type": "api_request",
874
+ "timestamp": "2021-01-01T00:00:00Z",
875
+ "properties": {
876
+ "endpoint": "/v1/users",
877
+ "method": "POST",
878
+ "response_time_ms": 45,
879
+ "region": "us-west-2"
880
+ }
881
+ }
882
+ ```
883
+
884
+ #### Transaction ID
885
+
886
+ The transaction_id serves as your idempotency key, ensuring events are processed exactly once. Metronome maintains a 34-day deduplication window - significantly longer than typical 12-hour windows - enabling robust backfill scenarios without duplicate billing.
887
+
888
+ - Best Practices:
889
+ - Use UUIDs for one-time events: uuid4()
890
+ - For heartbeat events, use deterministic IDs
891
+ - Include enough context to avoid collisions across different event sources
892
+
893
+ #### Customer ID
894
+
895
+ Identifies which customer should be billed for this usage. Supports two identification methods:
896
+
897
+ - Metronome Customer ID: The UUID returned when creating a customer
898
+ - Ingest Alias: Your system's identifier (email, account number, etc.)
899
+
900
+ Ingest aliases enable seamless integration without requiring ID mapping, and customers can have multiple aliases for flexibility.
901
+
902
+ #### Event Type:
903
+
904
+ Categorizes the event type for billable metric matching. Choose descriptive names that aligns with the product surface area.
905
+
906
+ #### Properties:
907
+
908
+ Flexible metadata also used to match billable metrics or to be used to serve as group keys to create multiple pricing dimensions or breakdown costs by novel properties for end customers or internal finance teams measuring underlying COGs.
909
+
910
+ - `list_with_groups_v1_usage` (`write`): Retrieve granular usage data for a specific customer and billable metric, with the ability to break down usage by custom grouping dimensions. This endpoint enables deep usage analytics by segmenting data across attributes like region, user, model type, or any custom dimension defined in your billable metrics.
911
+
912
+ ### Use this endpoint to:
913
+
914
+ - Analyze usage patterns broken down by specific attributes (region, user, department, etc.)
915
+ - Build detailed usage dashboards with dimensional filtering
916
+ - Identify high-usage segments for optimization opportunities
917
+
918
+ ### Key response fields:
919
+
920
+ An array of `PagedUsageAggregate` objects containing:
921
+
922
+ - `starting_on` and `ending_before`: Time window boundaries
923
+ - `group_key`: The dimension being grouped by (e.g., "region")
924
+ - `group_value`: The specific value for this group (e.g., "US-East")
925
+ - `value`: Aggregated usage for this group and time window
926
+ - `next_page`: Pagination cursor for large datasets
927
+
928
+ ### Usage guidelines:
929
+
930
+ - Required parameters: Must specify `customer_id`, `billable_metric_id`, and `window_size`
931
+ - Time windows: Set `window_size` to hour, day, or none for different granularities
932
+ - Group filtering: Use `group_by` to specify:
933
+ - key: The dimension to group by (must be set on the billable metric as a group key)
934
+ - values: Optional array to filter to specific values only
935
+ - Pagination: Use limit and `next_page` for large result sets
936
+ - Null handling: `group_value` may be null for unmatched data
937
+
938
+ - `search_v1_usage` (`write`): This endpoint retrieves events by transaction ID for events that occurred within the last 34 days. It is specifically designed for sampling-based testing workflows to detect revenue leakage. The Event Search API provides a critical observability tool that validates the integrity of your usage pipeline by allowing you to sample raw events and verify their matching against active billable metrics.
939
+
940
+ Why event observability matters for revenue leakage:
941
+ Silent revenue loss occurs when events are dropped, delayed, or fail to match billable metrics due to:
942
+
943
+ - Upstream system failures
944
+ - Event format changes
945
+ - Misconfigured billable metrics
946
+
947
+ ### Use this endpoint to:
948
+
949
+ - Sample raw events and validate they match the expected billable metrics
950
+ - Build custom leakage detection alerts to prevent silent revenue loss
951
+ - Verify event processing accuracy during system changes or metric updates
952
+ - Debug event matching issues in real-time
953
+
954
+ ### Key response fields:
955
+
956
+ - Complete event details including transaction ID, customer ID, and properties
957
+ - Matched Metronome customer (if any)
958
+ - Matched billable metric information (if any)
959
+ - Processing status and duplicate detection flags
960
+
961
+ ### Usage guidelines:
962
+
963
+ ⚠️ Important: This endpoint is heavily rate limited and designed for sampling workflows only. Do not use this endpoint to check every event in your system. Instead, implement a sampling strategy to randomly validate a subset of events for observability purposes.
297
964
 
298
965
  ### Resource `v1.audit_logs`:
299
966
 
300
- - `list_v1_audit_logs` (`read`): Retrieves a range of audit logs. If no further audit logs are currently available, the data array will be empty. As new audit logs are created, subsequent requests using the same next_page value will be in the returned data array, ensuring a continuous and uninterrupted reading of audit logs.
967
+ - `list_v1_audit_logs` (`read`): Get a comprehensive audit trail of all operations performed in your Metronome account, whether initiated through the API, web interface, or automated processes. This endpoint provides detailed logs of who did what and when, enabling compliance reporting, security monitoring, and operational troubleshooting across all interaction channels.
968
+
969
+ ### Use this endpoint to:
970
+
971
+ - Monitor all account activity for security and compliance purposes
972
+ - Track configuration changes regardless of source (API, UI, or system)
973
+ - Investigate issues by reviewing historical operations
974
+
975
+ ### Key response fields:
976
+
977
+ An array of AuditLog objects containing:
978
+
979
+ - id: Unique identifier for the audit log entry
980
+ - timestamp: When the action occurred (RFC 3339 format)
981
+ - actor: Information about who performed the action
982
+ - request: Details including request ID, IP address, and user agent
983
+ - `resource_type`: The type of resource affected (e.g., customer, contract, invoice)
984
+ - `resource_id`: The specific resource identifier
985
+ - `action`: The operation performed
986
+ - `next_page`: Cursor for continuous log retrieval
987
+
988
+ ### Usage guidelines:
989
+
990
+ - Continuous retrieval: The next_page token enables uninterrupted log streaming—save it between requests to ensure no logs are missed
991
+ - Empty responses: An empty data array means no new logs yet; continue polling with the same next_page token
992
+ - Date filtering:
993
+ - `starting_on`: Earliest logs to return (inclusive)
994
+ - `ending_before`: Latest logs to return (exclusive)
995
+ - Cannot be used with `next_page`
996
+ - Resource filtering: Must specify both `resource_type` and `resource_id` together
997
+ - Sort order: Default is `date_asc`; use `date_desc` for newest first
301
998
 
302
999
  ### Resource `v1.custom_fields`:
303
1000
 
304
- - `add_key_v1_custom_fields` (`write`): Add a key to the allow list for a given entity. There is a 100 character limit on custom field keys.
305
- - `delete_values_v1_custom_fields` (`write`): Deletes one or more custom fields on an instance of a Metronome entity.
306
- - `list_keys_v1_custom_fields` (`write`): List all active custom field keys, optionally filtered by entity type.
307
- - `remove_key_v1_custom_fields` (`write`): Remove a key from the allow list for a given entity.
308
- - `set_values_v1_custom_fields` (`write`): Sets one or more custom fields on an instance of a Metronome entity. If a key/value pair passed in this request matches one already set on the entity, its value will be overwritten. Any key/value pairs that exist on the entity that do not match those passed in this request will remain untouched. This endpoint is transactional and will update all key/value pairs or no key/value pairs. Partial updates are not supported. There is a 200 character limit on custom field values.
1001
+ - `add_key_v1_custom_fields` (`write`): Creates a new custom field key for a given entity (e.g. billable metric, contract, alert).
1002
+
1003
+ Custom fields are properties that you can add to Metronome objects to store metadata like foreign keys or other descriptors. This metadata can get transferred to or accessed by other systems to contextualize Metronome data and power business processes. For example, to service workflows like revenue recognition, reconciliation, and invoicing, custom fields help Metronome know the relationship between entities in the platform and third-party systems.
1004
+
1005
+ ### Use this endpoint to:
1006
+
1007
+ - Create a new custom field key for Customer objects in Metronome. You can then use the Set Custom Field Values endpoint to set the value of this key for a specific customer.
1008
+ - Specify whether the key should enforce uniqueness. If the key is set to enforce uniqueness and you attempt to set a custom field value for the key that already exists, it will fail.
1009
+
1010
+ ### Usage guidelines:
1011
+
1012
+ - Custom fields set on commits, credits, and contracts can be used to scope alert evaluation. For example, you can create a spend threshold alert that only considers spend associated with contracts with custom field key `contract_type` and value `paygo`
1013
+ - Custom fields set on products can be used in the Stripe integration to set metadata on invoices.
1014
+ - Custom fields for customers, contracts, invoices, products, commits, scheduled charges, and subscriptions are passed down to the invoice.
1015
+
1016
+ - `delete_values_v1_custom_fields` (`write`): Remove specific custom field values from a Metronome entity instance by specifying the field keys to delete. Use this endpoint to clean up unwanted custom field data while preserving other fields on the same entity. Requires the entity type, entity ID, and array of keys to remove.
1017
+ - `list_keys_v1_custom_fields` (`write`): Retrieve all your active custom field keys, with optional filtering by entity type (customer, contract, product, etc.). Use this endpoint to discover what custom field keys are available before setting values on entities or to audit your custom field configuration across different entity types.
1018
+ - `remove_key_v1_custom_fields` (`write`): Removes a custom field key from the allowlist for a specific entity type, preventing future use of that key across all instances of the entity. Existing values for this key on entity instances will no longer be accessible once the key is removed.
1019
+ - `set_values_v1_custom_fields` (`write`): Sets custom field values on a specific Metronome entity instance. Overwrites existing values for matching keys while preserving other fields. All updates are transactional—either all values are set or none are. Custom field values are limited to 200 characters each.
309
1020
 
310
1021
  ### Resource `v1.billable_metrics`:
311
1022
 
312
- - `create_v1_billable_metrics` (`write`): Creates a new Billable Metric.
313
- - `retrieve_v1_billable_metrics` (`read`): Get a billable metric.
314
- - `list_v1_billable_metrics` (`read`): List all billable metrics.
315
- - `archive_v1_billable_metrics` (`write`): Archive an existing billable metric.
1023
+ - `create_v1_billable_metrics` (`write`): Create billable metrics programmatically with this endpoint—an essential step in configuring your pricing and packaging in Metronome.
1024
+
1025
+ A billable metric is a customizable query that filters and aggregates events from your event stream. These metrics are continuously tracked as usage data enters Metronome through the ingestion pipeline. The ingestion process transforms raw usage data into actionable pricing metrics, enabling accurate metering and billing for your products.
1026
+
1027
+ ### Use this endpoint to:
1028
+
1029
+ - Create individual or multiple billable metrics as part of a setup workflow.
1030
+ - Automate the entire pricing configuration process, from metric creation to customer contract setup.
1031
+ - Define metrics using either standard filtering/aggregation or a custom SQL query.
1032
+
1033
+ ### Key response fields:
1034
+
1035
+ - The ID of the billable metric that was created
1036
+ - The created billable metric will be available to be used in Products, usage endpoints, and alerts.
1037
+
1038
+ ### Usage guidelines:
1039
+
1040
+ - Metrics defined using standard filtering and aggregation are Streaming billable metrics, which have been optimized for ultra low latency and high throughput workflows.
1041
+ - Use SQL billable metrics if you require more flexible aggregation options.
1042
+
1043
+ - `retrieve_v1_billable_metrics` (`read`): Retrieves the complete configuration for a specific billable metric by its ID. Use this to review billable metric setup before associating it with products. Returns the metric's `name`, `event_type_filter`, `property_filters`, `aggregation_type`, `aggregation_key`, `group_keys`, `custom fields`, and `SQL query` (if it's a SQL billable metric).
1044
+
1045
+ Important:
1046
+
1047
+ - Archived billable metrics will include an `archived_at` timestamp; they no longer process new usage events but remain accessible for historical reference.
1048
+
1049
+ - `list_v1_billable_metrics` (`read`): Retrieves all billable metrics with their complete configurations. Use this for programmatic discovery and management of billable metrics, such as associating metrics to products and auditing for orphaned or archived metrics.
1050
+ Important: Archived metrics are excluded by default; use `include_archived`=`true` parameter to include them.
1051
+ - `archive_v1_billable_metrics` (`write`): Use this endpoint to retire billable metrics that are no longer used. After a billable metric is archived, that billable metric can no longer be used in any new Products to define how that product should be metered. If you archive a billable metric that is already associated with a Product, the Product will continue to function as usual, metering based on the definition of the archived billable metric.
1052
+
1053
+ Archived billable metrics will be returned on the `getBillableMetric` and `listBillableMetrics` endpoints with a populated `archived_at` field.
316
1054
 
317
1055
  ### Resource `v1.services`:
318
1056
 
319
- - `list_v1_services` (`read`): Fetches a list of services used by Metronome and the associated IP addresses. IP addresses are not necessarily unique between services. In most cases, IP addresses will appear in the list at least 30 days before they are used for the first time.
1057
+ - `list_v1_services` (`read`): Gets Metronome's service registry with associated IP addresses for security allowlisting and firewall configuration. Use this endpoint to maintain an up-to-date list of IPs that your systems should trust for Metronome communications. Returns service names and their current IP ranges, with new IPs typically appearing 30+ days before first use to ensure smooth allowlist updates.
320
1058
 
321
1059
  ### Resource `v1.invoices`:
322
1060
 
323
- - `regenerate_v1_invoices` (`write`): Regenerate a voided contract invoice
324
- - `void_v1_invoices` (`write`): Void an invoice
1061
+ - `regenerate_v1_invoices` (`write`): This endpoint regenerates a voided invoice and recalculates the invoice based on up-to-date rates, available balances, and other fees regardless of the billing period.
1062
+
1063
+ ### Use this endpoint to:
1064
+
1065
+ Recalculate an invoice with updated rate terms, available balance, and fees to correct billing disputes or discrepancies
1066
+
1067
+ ### Key response fields:
1068
+
1069
+ The regenerated invoice id, which is distinct from the previously voided invoice.
1070
+
1071
+ ### Usage guidelines:
1072
+
1073
+ If an invoice is attached to a contract with a billing provider on it, the regenerated invoice will be distributed based on the configuration.
1074
+
1075
+ - `void_v1_invoices` (`write`): Permanently cancels an invoice by setting its status to voided, preventing collection and removing it from customer billing. Use this to correct billing errors, cancel incorrect charges, or handle disputed invoices that should not be collected. Returns the voided invoice ID with the status change applied immediately to stop any payment processing.
325
1076
 
326
1077
  ### Resource `v1.contracts`:
327
1078
 
328
- - `create_v1_contracts` (`write`): Create a new contract
1079
+ - `create_v1_contracts` (`write`): Contracts define a customer's products, pricing, discounts, access duration, and billing configuration. Contracts serve as the central billing agreement for both PLG and Enterprise customers, you can automatically customers access to your products and services directly from your product or CRM.
1080
+
1081
+ ### Use this endpoint to:
1082
+
1083
+ - PLG onboarding: Automatically provision new self-serve customers with contracts when they sign up.
1084
+ - Enterprise sales: Push negotiated contracts from Salesforce with custom pricing and commitments
1085
+ - Promotional pricing: Implement time-limited discounts and free trials through overrides
1086
+
1087
+ ### Key components:
1088
+
1089
+ #### Contract Term and Billing Schedule
1090
+
1091
+ - Set contract duration using `starting_at` and `ending_before` fields. PLG contracts typically use perpetual agreements (no end date), while Enterprise contracts have fixed end dates which can be edited over time in the case of co-term upsells.
1092
+
1093
+ #### Rate Card
1094
+
1095
+ If you are offering usage based pricing, you can set a rate card for the contract to reference through `rate_card_id` or `rate_card_alias`. The rate card is a store of all of your usage based products and their centralized pricing. Any new products or price changes on the rate card can be set to automatically propagate to all associated contracts - this ensures consistent pricing and product launches flow to contracts without manual updates and migrations. The `usage_statement_schedule` determines the cadence on which Metronome will finalize a usage invoice for the customer. This defaults to monthly on the 1st, with options for custom dates, quarterly, or annual cadences. Note: Most usage based billing companies align usage statements to be evaluated aligned to the first of the month.
1096
+ Read more about [Rate Cards](https://docs.metronome.com/pricing-packaging/create-manage-rate-cards/).
1097
+
1098
+ #### Overrides and discounts
1099
+
1100
+ Customize pricing on the contract through time-bounded overrides that can target specific products, product families, or complex usage scenarios. Overrides enable two key capabilities:
1101
+
1102
+ - Discounts: Apply percentage discounts, fixed rate reductions, or quantity-based pricing tiers
1103
+ - Entitlements: Provide special pricing or access to specific products for negotiated deals
1104
+
1105
+ Read more about [Contract Overrides](https://docs.metronome.com/manage-product-access/add-contract-override/).
1106
+
1107
+ #### Commits and Credits
1108
+
1109
+ Using commits, configure prepaid or postpaid spending commitments where customers promise to spend a certain amount over the contract period paid in advance or in arrears. Use credits to provide free spending allowances. Under the hood these are the same mechanisms, however, credits are typically offered for free (SLA or promotional) or as a part of an allotment associated with a Subscription.
1110
+
1111
+ In Metronome, you can set commits and credits to only be applicable for a subset of usage. Use `applicable_product_ids` or `applicable_product_tags` to create product or product-family specific commits or credits, or you can build complex boolean logic specifiers to target usage based on pricing and presentation group values using `override_specifiers`.
1112
+
1113
+ These objects can also also be configured to have a recurrence schedule to easily model customer packaging which includes recurring monthly or quarterly allotments.
1114
+
1115
+ Commits support rollover settings (`rollover_fraction`) to transfer unused balances between contract periods, either entirely or as a percentage.
1116
+
1117
+ Read more about [Credits and Commits](https://docs.metronome.com/pricing-packaging/apply-credits-commits/).
1118
+
1119
+ #### Subscriptions
1120
+
1121
+ You can add a fixed recurring charge to a contract, like monthly licenses or seat-based fees, using the subscription charge. Subscription charges are defined on your rate card and you can select which subscription is applicable to add to each contract. When you add a subscription to a contract you need to:
1122
+
1123
+ - Define whether the subscription is paid for in-advance or in-arrears (`collection_schedule`)
1124
+ - Define the proration behavior (`proration`)
1125
+ - Specify an initial quantity (`initial_quantity`)
1126
+ - Define which subscription rate on the rate card should be used (`subscription_rate`)
1127
+
1128
+ Read more about [Subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/).
1129
+
1130
+ #### Scheduled Charges
1131
+
1132
+ Set up one-time, recurring, or entirely custom charges that occur on specific dates, separate from usage-based billing or commitments. These can be used to model non-recurring platform charges or professional services.
1133
+
1134
+ #### Threshold Billing
1135
+
1136
+ Metronome allows you to configure automatic billing triggers when customers reach spending thresholds to prevent fraud and manage risk. You can use `spend_threshold_configuration` to trigger an invoice to cover current charges whenever the threshold is reached or you can ensure the customer maintains a minimum prepaid balance using the `prepaid_balance_configuration`.
1137
+
1138
+ Read more about [Spend Threshold](https://docs.metronome.com/manage-product-access/spend-thresholds/) and [Prepaid Balance Thresholds](https://docs.metronome.com/manage-product-access/prepaid-balance-thresholds/).
1139
+
1140
+ ### Usage guidelines:
1141
+
1142
+ - You can always [Edit Contracts](https://docs.metronome.com/manage-product-access/edit-contract/) after it has been created, using the `editContract` endpoint. Metronome keeps track of all edits, both in the audit log and over the `getEditHistory` endpoint.
1143
+ - Customers in Metronome can have multiple concurrent contracts at one time. Use `usage_filters` to route the correct usage to each contract. [Read more about usage filters](https://docs.metronome.com/manage-product-access/provision-customer/#create-a-usage-filter).
1144
+
329
1145
  - `retrieve_v1_contracts` (`write`): This is the v1 endpoint to get a contract. New clients should implement using the v2 endpoint.
330
- - `list_v1_contracts` (`write`): This is the v1 endpoint to list all contracts for a customer. New clients should implement using the v2 endpoint.
331
- - `add_manual_balance_entry_v1_contracts` (`write`): Add a manual balance entry
332
- - `amend_v1_contracts` (`write`): Amendments will be replaced by Contract editing. New clients should implement using the editContract endpoint. Read more about the migration to contract editing [here](https://docs.metronome.com/migrate-amendments-to-edits/) and reach out to your Metronome representative for more details. Once contract editing is enabled, access to this endpoint will be removed.
333
- - `archive_v1_contracts` (`write`): Archive a contract
334
- - `create_historical_invoices_v1_contracts` (`write`): Creates historical usage invoices for a contract
335
- - `list_balances_v1_contracts` (`write`): List balances (commits and credits).
336
- - `retrieve_rate_schedule_v1_contracts` (`write`): Get the rate schedule for the rate card on a given contract.
337
- - `retrieve_subscription_quantity_history_v1_contracts` (`write`): Fetch the quantity and price for a subscription over time. End-point does not return future scheduled changes.
1146
+ - `list_v1_contracts` (`write`): Retrieves all contracts for a specific customer, including pricing, terms, credits, and commitments. Use this to view a customer's contract history and current agreements for billing management. Returns contract details with optional ledgers and balance information.
1147
+
1148
+ ⚠️ Note: This is the legacy v1 endpoint - new integrations should use the v2 endpoint for enhanced features.
1149
+
1150
+ - `add_manual_balance_entry_v1_contracts` (`write`): Manually adjust the available balance on a commit or credit. This entry is appended to the commit ledger as a new event. Optionally include a description that provides the reasoning for the entry.
1151
+
1152
+ ### Use this endpoint to:
1153
+
1154
+ - Address incorrect usage burn-down caused by malformed usage or invalid config
1155
+ - Decrease available balance to account for outages where usage may have not been tracked or sent to Metronome
1156
+ - Issue credits to customers in the form of increased balance on existing commit or credit
1157
+
1158
+ ### Usage guidelines:
1159
+
1160
+ Manual ledger entries can be extremely useful for resolving discrepancies in Metronome. However, most corrections to inaccurate billings can be modified upstream of the commit, whether that is via contract editing, rate editing, or other actions that cause an invoice to be recalculated.
1161
+
1162
+ - `amend_v1_contracts` (`write`): Amendments will be replaced by Contract editing. New clients should implement using the `editContract` endpoint. Read more about the migration to contract editing [here](https://docs.metronome.com/migrate-amendments-to-edits/) and reach out to your Metronome representative for more details. Once contract editing is enabled, access to this endpoint will be removed.
1163
+ - `archive_v1_contracts` (`write`): Permanently end and archive a contract along with all its terms. Any draft invoices will be canceled, and all upcoming scheduled invoices will be voided–also all finalized invoices can optionally be voided. Use this in the event a contract was incorrectly created and needed to be removed from a customer.
1164
+
1165
+ #### Impact on commits and credits:
1166
+
1167
+ When archiving a contract, all associated commits and credits are also archived. For prepaid commits with active segments, Metronome automatically generates expiration ledger entries to close out any remaining balances, ensuring accurate accounting of unused prepaid amounts. These ledger entries will appear in the commit's transaction history with type `PREPAID_COMMIT_EXPIRATION`.
1168
+
1169
+ #### Archived contract visibility:
1170
+
1171
+ Archived contracts remain accessible for historical reporting and audit purposes. They can be retrieved using the `ListContracts` endpoint by setting the `include_archived` parameter to `true` or in the Metronome UI when the "Show archived" option is enabled.
1172
+
1173
+ - `create_historical_invoices_v1_contracts` (`write`): Create historical usage invoices for past billing periods on specific contracts. Use this endpoint to generate retroactive invoices with custom usage line items, quantities, and date ranges. Supports preview mode to validate invoice data before creation. Ideal for billing migrations or correcting past billing periods.
1174
+ - `list_balances_v1_contracts` (`write`): Retrieve a comprehensive view of all available balances (commits and credits) for a customer. This endpoint provides real-time visibility into prepaid funds, postpaid commitments, promotional credits, and other balance types that can offset usage charges, helping you build transparent billing experiences.
1175
+
1176
+ ### Use this endpoint to:
1177
+
1178
+ - Display current available balances in customer dashboards
1179
+ - Verify available funds before approving high-usage operations
1180
+ - Generate balance reports for finance teams
1181
+ - Filter balances by contract or date ranges
1182
+
1183
+ ### Key response fields:
1184
+
1185
+ An array of balance objects (all credits and commits) containing:
1186
+
1187
+ - Balance details: Current available amount for each commit or credit
1188
+ - Metadata: Product associations, priorities, applicable date ranges
1189
+ - Optional ledger entries: Detailed transaction history (if `include_ledgers=true`)
1190
+ - Balance calculations: Including pending transactions and future-dated entries
1191
+ - Custom fields: Any additional metadata attached to balances
1192
+
1193
+ ### Usage guidelines:
1194
+
1195
+ - Date filtering: Use `effective_before` to include only balances with access before a specific date (exclusive)
1196
+ - Set `include_balance=true` for calculated balance amounts on each commit or credit
1197
+ - Set `include_ledgers=true` for full transaction history
1198
+ - Set `include_contract_balances = true` to see contract level balances
1199
+ - Balance logic: Reflects currently accessible amounts, excluding expired/future segments
1200
+ - Manual adjustments: Includes all manual ledger entries, even future-dated ones
1201
+
1202
+ - `retrieve_rate_schedule_v1_contracts` (`write`): For a specific customer and contract, get the rates at a specific point in time. This endpoint takes the contract's rate card into consideration, including scheduled changes. It also takes into account overrides on the contract.
1203
+
1204
+ For example, if you want to show your customer a summary of the prices they are paying, inclusive of any negotiated discounts or promotions, use this endpoint. This endpoint only returns rates that are entitled.
1205
+
1206
+ - `retrieve_subscription_quantity_history_v1_contracts` (`write`): Get the history of subscription quantities and prices over time for a given `subscription_id`. This endpoint can be used to power an in-product experience where you show a customer their historical changes to seat count. Future changes are not included in this endpoint - use the `getContract` endpoint to view the future scheduled changes to a subscription's quantity.
1207
+
1208
+ Subscriptions are used to model fixed recurring fees as well as seat-based recurring fees. To model changes to the number of seats in Metronome, you can increment or decrement the quantity on a subscription at any point in the past or future.
1209
+
338
1210
  - `schedule_pro_services_invoice_v1_contracts` (`write`): Create a new scheduled invoice for Professional Services terms on a contract. This endpoint's availability is dependent on your client's configuration.
339
- - `set_usage_filter_v1_contracts` (`write`): Set usage filter for a contract
340
- - `update_end_date_v1_contracts` (`write`): Update the end date of a contract
1211
+ - `set_usage_filter_v1_contracts` (`write`): If a customer has multiple contracts with overlapping rates, the usage filter routes usage to the appropriate contract based on a predefined group key.
1212
+
1213
+ As an example, imagine you have a customer associated with two projects. Each project is associated with its own contract. You can create a usage filter with group key `project_id`
1214
+ on each contract, and route usage for `project_1` to the first contract and `project_2` to the second contract.
1215
+
1216
+ ### Use this endpoint to:
1217
+
1218
+ - Support enterprise contracting scenarios where multiple contracts are associated to the same customer with the same rates.
1219
+ - Update the usage filter associated with the contract over time.
1220
+
1221
+ ### Usage guidelines:
1222
+
1223
+ To use usage filters, the `group_key` must be defined on the billable metrics underlying the rate card on the contracts.
1224
+
1225
+ - `update_end_date_v1_contracts` (`write`): Update or and an end date to a contract. Ending a contract early will impact draft usage statements, truncate any terms, and remove upcoming scheduled invoices. Moving the date into the future will only extend the contract length. Terms and scheduled invoices are not extended. Use this if a contract's end date has changed or if a perpetual contract ends.
341
1226
 
342
1227
  ### Resource `v1.contracts.products`:
343
1228
 
344
- - `create_contracts_v1_products` (`write`): Create a new product
345
- - `retrieve_contracts_v1_products` (`write`): Get a specific product
346
- - `update_contracts_v1_products` (`write`): Update a product
347
- - `list_contracts_v1_products` (`write`): List products
348
- - `archive_contracts_v1_products` (`write`): Archive a product
1229
+ - `create_contracts_v1_products` (`write`): Create a new product object. Products in Metronome represent your company's individual product or service offerings. A Product can be thought of as the basic unit of a line item on the invoice. This is analogous to SKUs or items in an ERP system. Give the product a meaningful name as they will appear on customer invoices.
1230
+ - `retrieve_contracts_v1_products` (`write`): Retrieve a product by its ID, including all metadata and historical changes.
1231
+ - `update_contracts_v1_products` (`write`): Updates a product's configuration while maintaining billing continuity for active customers. Use this endpoint to modify product names, metrics, pricing rules, and composite settings without disrupting ongoing billing cycles. Changes are scheduled using the starting_at timestamp, which must be on an hour boundary—set future dates to schedule updates ahead of time, or past dates for retroactive changes. Returns the updated product ID upon success.
1232
+
1233
+ ### Usage guidance:
1234
+
1235
+ - Product type cannot be changed after creation. For incorrect product types, create a new product and archive the original instead.
1236
+
1237
+ - `list_contracts_v1_products` (`write`): Get a paginated list of all products in your organization with their complete configuration, version history, and metadata. By default excludes archived products unless explicitly requested via the `archive_filter` parameter.
1238
+ - `archive_contracts_v1_products` (`write`): Archive a product. Any current rate cards associated with this product will continue to function as normal. However, it will no longer be available as an option for newly created rates. Once you archive a product, you can still retrieve it in the UI and API, but you cannot unarchive it.
349
1239
 
350
1240
  ### Resource `v1.contracts.rateCards`:
351
1241
 
352
- - `create_contracts_v1_rate_cards` (`write`): Create a new rate card
353
- - `retrieve_contracts_v1_rate_cards` (`write`): Get a specific rate card NOTE: Use `/contract-pricing/rate-cards/getRates` to retrieve rate card rates.
354
- - `update_contracts_v1_rate_cards` (`write`): Update a rate card
355
- - `list_contracts_v1_rate_cards` (`write`): List rate cards NOTE: Use `/contract-pricing/rate-cards/getRates` to retrieve rate card rates.
356
- - `archive_contracts_v1_rate_cards` (`write`): Archive a rate card
357
- - `retrieve_rate_schedule_contracts_v1_rate_cards` (`write`): Get all rates for a rate card from starting_at (either in perpetuity or until ending_before, if provided)
1242
+ - `create_contracts_v1_rate_cards` (`write`): In Metronome, the rate card is the central location for your pricing. Rate cards were built with new product launches and pricing changes in mind - you can update your products and pricing in one place, and that change will be automatically propagated across your customer cohorts. Most clients need only maintain one or a few rate cards within Metronome.
1243
+
1244
+ ### Use this endpoint to:
1245
+
1246
+ - Create a rate card with a name and description
1247
+ - Define the rate card's single underlying fiat currency, and any number of conversion rates between that fiat currency and custom pricing units. You can then add products and associated rates in the fiat currency or custom pricing unit for which you have defined a conversion rate.
1248
+ - Set aliases for the rate card. Aliases are human-readable names that you can use in the place of the id of the rate card when provisioning a customer's contract. By using an alias, you can easily create a contract and provision a customer by choosing the paygo rate card, without storing the rate card id in your internal systems. This is helpful when launching a new rate card for paygo customers, you can update the alias for paygo to be scheduled to be assigned to the new rate card without updating your code.
1249
+
1250
+ ### Key response fields:
1251
+
1252
+ - The ID of the rate card you just created
1253
+
1254
+ ### Usage guidelines:
1255
+
1256
+ - After creating a rate card, you can now use the addRate or addRates endpoints to add products and their prices to it
1257
+ - A rate card alias can only be used by one rate card at a time. If you create a contract with a rate card alias that is already in use by another rate card, the original rate card's alias schedule will be updated. The alias will reference the rate card to which it was most recently assigned.
1258
+
1259
+ - `retrieve_contracts_v1_rate_cards` (`write`): Return details for a specific rate card including name, description, and aliases. This endpoint does not return rates - use the dedicated getRates or getRateSchedule endpoints to understand the rates on a rate card.
1260
+ - `update_contracts_v1_rate_cards` (`write`): Update the metadata properties of an existing rate card, including its name, description, and aliases. This endpoint is designed for managing rate card identity and reference aliases rather than modifying pricing rates.
1261
+
1262
+ Modifies the descriptive properties and alias configuration of a rate card without affecting the underlying pricing rates or schedules. This allows you to update how a rate card is identified and referenced throughout your system.
1263
+
1264
+ ### Use this endpoint to:
1265
+
1266
+ - Rate card renaming: Update display names or descriptions for organizational clarity
1267
+ - Alias management: Add, modify, or schedule alias transitions for seamless rate card migrations
1268
+ - Documentation updates: Keep rate card descriptions current with business context
1269
+ - Self-serve provisioning setup: Configure aliases to enable code-free rate card transitions
1270
+
1271
+ #### Active contract impact:
1272
+
1273
+ - Alias changes: Already-created contracts continue using their originally assigned rate cards.
1274
+ - Other changes made using this endpoint will only impact the Metronome UI.
1275
+
1276
+ #### Grandfathering existing PLG customer pricing:
1277
+
1278
+ - Rate card aliases support scheduled transitions, enabling seamless rate card migrations for new customers, allowing existing customers to be grandfathered into their existing prices without code. Note that there are multiple mechanisms to support grandfathering in Metronome.
1279
+
1280
+ #### How scheduled aliases work for PLG grandfathering:
1281
+
1282
+ Initial setup:
1283
+
1284
+ - Add alias to current rate card: Assign a stable alias (e.g., "standard-pricing") to your active rate card
1285
+ - Reference alias during contract creation: Configure your self-serve workflow to create contracts using `rate_card_alias` instead of direct `rate_card_id`
1286
+ - Automatic resolution: New contracts referencing the alias automatically resolve to the rate card associated with the alias at the point in time of provisioning
1287
+
1288
+ #### Grandfathering process:
1289
+
1290
+ - Create new rate card: Build your new rate card with updated pricing structure
1291
+ - Schedule alias transition: Add the same alias to the new rate card with a `starting_at` timestamp
1292
+ - Automatic cutover: Starting at the scheduled time, new contracts created in your PLG workflow using that alias will automatically reference the new rate card
1293
+
1294
+ - `list_contracts_v1_rate_cards` (`write`): List all rate cards. Returns rate card IDs, names, descriptions, aliases, and other details. To view the rates associated with a given rate card, use the getRates or getRateSchedule endpoints.
1295
+ - `archive_contracts_v1_rate_cards` (`write`): Permanently disable a rate card by archiving it, preventing use in new contracts while preserving existing contract pricing. Use this when retiring old pricing models, consolidating rate cards, or removing outdated pricing structures. Returns the archived rate card ID and stops the rate card from appearing in contract creation workflows.
1296
+ - `retrieve_rate_schedule_contracts_v1_rate_cards` (`write`): A rate card defines the prices that you charge for your products. Rate cards support scheduled changes over time, to allow you to easily roll out pricing changes and new product launches across your customer base. Use this endpoint to understand the rate schedule `starting_at` a given date, optionally filtering the list of rates returned based on product id or pricing group values. For example, you may want to display a schedule of upcoming price changes for a given product in your product experience - use this endpoint to fetch that information from its source of truth in Metronome.
1297
+
1298
+ If you want to understand the rates for a specific customer's contract, inclusive of contract-level overrides, use the `getContractRateSchedule` endpoint.
358
1299
 
359
1300
  ### Resource `v1.contracts.rateCards.product_orders`:
360
1301
 
361
- - `update_rate_cards_contracts_v1_product_orders` (`write`): Updates ordering of specified products
362
- - `set_rate_cards_contracts_v1_product_orders` (`write`): Sets the ordering of products within a rate card
1302
+ - `update_rate_cards_contracts_v1_product_orders` (`write`): The ordering of products on a rate card determines the order in which the products will appear on customers' invoices. Use this endpoint to set the order of specific products on the rate card by moving them relative to their current location.
1303
+ - `set_rate_cards_contracts_v1_product_orders` (`write`): The ordering of products on a rate card determines the order in which the products will appear on customers' invoices. Use this endpoint to set the order of products on the rate card.
363
1304
 
364
1305
  ### Resource `v1.contracts.rateCards.rates`:
365
1306
 
366
- - `list_rate_cards_contracts_v1_rates` (`write`): Get all rates for a rate card at a point in time
1307
+ - `list_rate_cards_contracts_v1_rates` (`write`): Understand the rate schedule at a given timestamp, optionally filtering the list of rates returned based on properties such as `product_id` and `pricing_group_values`. For example, you may want to display the current price for a given product in your product experience - use this endpoint to fetch that information from its source of truth in Metronome.
1308
+
1309
+ If you want to understand the rates for a specific customer's contract, inclusive of contract-level overrides, use the `getContractRateSchedule` endpoint.
1310
+
367
1311
  - `add_rate_cards_contracts_v1_rates` (`write`): Add a new rate
368
1312
  - `add_many_rate_cards_contracts_v1_rates` (`write`): Add new rates
369
1313