@metronome/mcp 0.2.0 → 0.3.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 (348) hide show
  1. package/README.md +26 -0
  2. package/filtering.d.mts +1 -1
  3. package/filtering.d.mts.map +1 -1
  4. package/filtering.d.ts +1 -1
  5. package/filtering.d.ts.map +1 -1
  6. package/filtering.js +1 -2
  7. package/filtering.js.map +1 -1
  8. package/filtering.mjs +1 -2
  9. package/filtering.mjs.map +1 -1
  10. package/headers.d.mts +4 -0
  11. package/headers.d.mts.map +1 -0
  12. package/headers.d.ts +4 -0
  13. package/headers.d.ts.map +1 -0
  14. package/headers.js +22 -0
  15. package/headers.js.map +1 -0
  16. package/headers.mjs +18 -0
  17. package/headers.mjs.map +1 -0
  18. package/http.d.mts +6 -0
  19. package/http.d.mts.map +1 -0
  20. package/http.d.ts +6 -0
  21. package/http.d.ts.map +1 -0
  22. package/http.js +93 -0
  23. package/http.js.map +1 -0
  24. package/http.mjs +85 -0
  25. package/http.mjs.map +1 -0
  26. package/index.js +12 -7
  27. package/index.js.map +1 -1
  28. package/index.mjs +13 -8
  29. package/index.mjs.map +1 -1
  30. package/options.d.mts +3 -0
  31. package/options.d.mts.map +1 -1
  32. package/options.d.ts +3 -0
  33. package/options.d.ts.map +1 -1
  34. package/options.js +18 -0
  35. package/options.js.map +1 -1
  36. package/options.mjs +18 -0
  37. package/options.mjs.map +1 -1
  38. package/package.json +4 -3
  39. package/server.d.mts +1 -0
  40. package/server.d.mts.map +1 -1
  41. package/server.d.ts +1 -0
  42. package/server.d.ts.map +1 -1
  43. package/server.js +7 -5
  44. package/server.js.map +1 -1
  45. package/server.mjs +5 -4
  46. package/server.mjs.map +1 -1
  47. package/src/filtering.ts +1 -2
  48. package/src/headers.ts +24 -0
  49. package/src/http.ts +99 -0
  50. package/src/index.ts +15 -11
  51. package/src/options.ts +22 -0
  52. package/src/server.ts +11 -8
  53. package/src/stdio.ts +14 -0
  54. package/src/tools/v1/billable-metrics/create-v1-billable-metrics.ts +1 -0
  55. package/src/tools/v1/billable-metrics/list-v1-billable-metrics.ts +1 -1
  56. package/src/tools/v1/billable-metrics/retrieve-v1-billable-metrics.ts +1 -1
  57. package/src/tools/v1/contracts/amend-v1-contracts.ts +37 -0
  58. package/src/tools/v1/contracts/create-historical-invoices-v1-contracts.ts +3 -0
  59. package/src/tools/v1/contracts/create-v1-contracts.ts +48 -2
  60. package/src/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.ts +1 -1
  61. package/src/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.ts +1 -0
  62. package/src/tools/v1/contracts/products/create-contracts-v1-products.ts +4 -0
  63. package/src/tools/v1/contracts/products/list-contracts-v1-products.ts +1 -1
  64. package/src/tools/v1/contracts/products/retrieve-contracts-v1-products.ts +1 -1
  65. package/src/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.ts +1 -0
  66. package/src/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.ts +2 -1
  67. package/src/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.ts +1 -1
  68. package/src/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.ts +1 -0
  69. package/src/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.ts +2 -0
  70. package/src/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.ts +3 -1
  71. package/src/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.ts +3 -1
  72. package/src/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.ts +1 -1
  73. package/src/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.ts +3 -1
  74. package/src/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.ts +3 -1
  75. package/src/tools/v1/credit-grants/create-v1-credit-grants.ts +1 -0
  76. package/src/tools/v1/credit-grants/list-v1-credit-grants.ts +1 -1
  77. package/src/tools/v1/custom-fields/set-values-v1-custom-fields.ts +1 -0
  78. package/src/tools/v1/customers/commits/create-customers-v1-commits.ts +8 -0
  79. package/src/tools/v1/customers/create-v1-customers.ts +3 -1
  80. package/src/tools/v1/customers/credits/create-customers-v1-credits.ts +3 -0
  81. package/src/tools/v1/customers/list-billable-metrics-v1-customers.ts +1 -1
  82. package/src/tools/v1/customers/list-costs-v1-customers.ts +1 -1
  83. package/src/tools/v1/customers/list-v1-customers.ts +1 -1
  84. package/src/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.ts +1 -1
  85. package/src/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.ts +1 -0
  86. package/src/tools/v1/customers/plans/list-customers-v1-plans.ts +1 -1
  87. package/src/tools/v1/customers/preview-events-v1-customers.ts +1 -0
  88. package/src/tools/v1/customers/retrieve-v1-customers.ts +1 -1
  89. package/src/tools/v1/customers/set-name-v1-customers.ts +1 -1
  90. package/src/tools/v1/dashboards/get-embeddable-url-v1-dashboards.ts +1 -0
  91. package/src/tools/v1/plans/get-details-v1-plans.ts +1 -1
  92. package/src/tools/v1/plans/list-charges-v1-plans.ts +1 -1
  93. package/src/tools/v1/plans/list-customers-v1-plans.ts +1 -1
  94. package/src/tools/v1/plans/list-v1-plans.ts +1 -1
  95. package/src/tools/v1/usage/ingest-v1-usage.ts +1 -0
  96. package/src/tools/v1/usage/list-v1-usage.ts +1 -1
  97. package/src/tools/v1/usage/search-v1-usage.ts +1 -1
  98. package/src/tools/v2/contracts/edit-commit-v2-contracts.ts +6 -0
  99. package/src/tools/v2/contracts/edit-credit-v2-contracts.ts +6 -0
  100. package/src/tools/v2/contracts/edit-v2-contracts.ts +59 -4
  101. package/stdio.d.mts +4 -0
  102. package/stdio.d.mts.map +1 -0
  103. package/stdio.d.ts +4 -0
  104. package/stdio.d.ts.map +1 -0
  105. package/stdio.js +14 -0
  106. package/stdio.js.map +1 -0
  107. package/stdio.mjs +10 -0
  108. package/stdio.mjs.map +1 -0
  109. package/tools/v1/billable-metrics/create-v1-billable-metrics.d.mts.map +1 -1
  110. package/tools/v1/billable-metrics/create-v1-billable-metrics.d.ts.map +1 -1
  111. package/tools/v1/billable-metrics/create-v1-billable-metrics.js +1 -0
  112. package/tools/v1/billable-metrics/create-v1-billable-metrics.js.map +1 -1
  113. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs +1 -0
  114. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs.map +1 -1
  115. package/tools/v1/billable-metrics/list-v1-billable-metrics.js +1 -1
  116. package/tools/v1/billable-metrics/list-v1-billable-metrics.js.map +1 -1
  117. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs +1 -1
  118. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs.map +1 -1
  119. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js +1 -1
  120. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js.map +1 -1
  121. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs +1 -1
  122. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs.map +1 -1
  123. package/tools/v1/contracts/amend-v1-contracts.d.mts.map +1 -1
  124. package/tools/v1/contracts/amend-v1-contracts.d.ts.map +1 -1
  125. package/tools/v1/contracts/amend-v1-contracts.js +33 -0
  126. package/tools/v1/contracts/amend-v1-contracts.js.map +1 -1
  127. package/tools/v1/contracts/amend-v1-contracts.mjs +33 -0
  128. package/tools/v1/contracts/amend-v1-contracts.mjs.map +1 -1
  129. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.mts.map +1 -1
  130. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.ts.map +1 -1
  131. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js +3 -0
  132. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js.map +1 -1
  133. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs +3 -0
  134. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs.map +1 -1
  135. package/tools/v1/contracts/create-v1-contracts.d.mts.map +1 -1
  136. package/tools/v1/contracts/create-v1-contracts.d.ts.map +1 -1
  137. package/tools/v1/contracts/create-v1-contracts.js +44 -2
  138. package/tools/v1/contracts/create-v1-contracts.js.map +1 -1
  139. package/tools/v1/contracts/create-v1-contracts.mjs +44 -2
  140. package/tools/v1/contracts/create-v1-contracts.mjs.map +1 -1
  141. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js +1 -1
  142. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js.map +1 -1
  143. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs +1 -1
  144. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs.map +1 -1
  145. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.d.mts.map +1 -1
  146. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.d.ts.map +1 -1
  147. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.js +1 -0
  148. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.js.map +1 -1
  149. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.mjs +1 -0
  150. package/tools/v1/contracts/named-schedules/update-contracts-v1-named-schedules.mjs.map +1 -1
  151. package/tools/v1/contracts/products/create-contracts-v1-products.d.mts.map +1 -1
  152. package/tools/v1/contracts/products/create-contracts-v1-products.d.ts.map +1 -1
  153. package/tools/v1/contracts/products/create-contracts-v1-products.js +4 -0
  154. package/tools/v1/contracts/products/create-contracts-v1-products.js.map +1 -1
  155. package/tools/v1/contracts/products/create-contracts-v1-products.mjs +4 -0
  156. package/tools/v1/contracts/products/create-contracts-v1-products.mjs.map +1 -1
  157. package/tools/v1/contracts/products/list-contracts-v1-products.js +1 -1
  158. package/tools/v1/contracts/products/list-contracts-v1-products.js.map +1 -1
  159. package/tools/v1/contracts/products/list-contracts-v1-products.mjs +1 -1
  160. package/tools/v1/contracts/products/list-contracts-v1-products.mjs.map +1 -1
  161. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js +1 -1
  162. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js.map +1 -1
  163. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs +1 -1
  164. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs.map +1 -1
  165. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.mts.map +1 -1
  166. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.ts.map +1 -1
  167. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js +1 -0
  168. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js.map +1 -1
  169. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs +1 -0
  170. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs.map +1 -1
  171. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.d.mts.map +1 -1
  172. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.d.ts.map +1 -1
  173. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js +2 -1
  174. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js.map +1 -1
  175. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs +2 -1
  176. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs.map +1 -1
  177. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js +1 -1
  178. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js.map +1 -1
  179. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs +1 -1
  180. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs.map +1 -1
  181. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.d.mts.map +1 -1
  182. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.d.ts.map +1 -1
  183. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.js +1 -0
  184. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.js.map +1 -1
  185. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.mjs +1 -0
  186. package/tools/v1/contracts/rate-cards/named-schedules/update-rate-cards-contracts-v1-named-schedules.mjs.map +1 -1
  187. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  188. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  189. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js +2 -0
  190. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js.map +1 -1
  191. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs +2 -0
  192. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs.map +1 -1
  193. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  194. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  195. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js +3 -1
  196. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js.map +1 -1
  197. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs +3 -1
  198. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs.map +1 -1
  199. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  200. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  201. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js +3 -1
  202. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js.map +1 -1
  203. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs +3 -1
  204. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs.map +1 -1
  205. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js +1 -1
  206. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js.map +1 -1
  207. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs +1 -1
  208. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs.map +1 -1
  209. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.d.mts.map +1 -1
  210. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.d.ts.map +1 -1
  211. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js +3 -1
  212. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js.map +1 -1
  213. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs +3 -1
  214. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs.map +1 -1
  215. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.d.mts.map +1 -1
  216. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.d.ts.map +1 -1
  217. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js +3 -1
  218. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js.map +1 -1
  219. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs +3 -1
  220. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs.map +1 -1
  221. package/tools/v1/credit-grants/create-v1-credit-grants.d.mts.map +1 -1
  222. package/tools/v1/credit-grants/create-v1-credit-grants.d.ts.map +1 -1
  223. package/tools/v1/credit-grants/create-v1-credit-grants.js +1 -0
  224. package/tools/v1/credit-grants/create-v1-credit-grants.js.map +1 -1
  225. package/tools/v1/credit-grants/create-v1-credit-grants.mjs +1 -0
  226. package/tools/v1/credit-grants/create-v1-credit-grants.mjs.map +1 -1
  227. package/tools/v1/credit-grants/list-v1-credit-grants.js +1 -1
  228. package/tools/v1/credit-grants/list-v1-credit-grants.js.map +1 -1
  229. package/tools/v1/credit-grants/list-v1-credit-grants.mjs +1 -1
  230. package/tools/v1/credit-grants/list-v1-credit-grants.mjs.map +1 -1
  231. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.mts.map +1 -1
  232. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.ts.map +1 -1
  233. package/tools/v1/custom-fields/set-values-v1-custom-fields.js +1 -0
  234. package/tools/v1/custom-fields/set-values-v1-custom-fields.js.map +1 -1
  235. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs +1 -0
  236. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs.map +1 -1
  237. package/tools/v1/customers/commits/create-customers-v1-commits.d.mts.map +1 -1
  238. package/tools/v1/customers/commits/create-customers-v1-commits.d.ts.map +1 -1
  239. package/tools/v1/customers/commits/create-customers-v1-commits.js +7 -0
  240. package/tools/v1/customers/commits/create-customers-v1-commits.js.map +1 -1
  241. package/tools/v1/customers/commits/create-customers-v1-commits.mjs +7 -0
  242. package/tools/v1/customers/commits/create-customers-v1-commits.mjs.map +1 -1
  243. package/tools/v1/customers/create-v1-customers.d.mts.map +1 -1
  244. package/tools/v1/customers/create-v1-customers.d.ts.map +1 -1
  245. package/tools/v1/customers/create-v1-customers.js +3 -1
  246. package/tools/v1/customers/create-v1-customers.js.map +1 -1
  247. package/tools/v1/customers/create-v1-customers.mjs +3 -1
  248. package/tools/v1/customers/create-v1-customers.mjs.map +1 -1
  249. package/tools/v1/customers/credits/create-customers-v1-credits.d.mts.map +1 -1
  250. package/tools/v1/customers/credits/create-customers-v1-credits.d.ts.map +1 -1
  251. package/tools/v1/customers/credits/create-customers-v1-credits.js +3 -0
  252. package/tools/v1/customers/credits/create-customers-v1-credits.js.map +1 -1
  253. package/tools/v1/customers/credits/create-customers-v1-credits.mjs +3 -0
  254. package/tools/v1/customers/credits/create-customers-v1-credits.mjs.map +1 -1
  255. package/tools/v1/customers/list-billable-metrics-v1-customers.js +1 -1
  256. package/tools/v1/customers/list-billable-metrics-v1-customers.js.map +1 -1
  257. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs +1 -1
  258. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs.map +1 -1
  259. package/tools/v1/customers/list-costs-v1-customers.js +1 -1
  260. package/tools/v1/customers/list-costs-v1-customers.js.map +1 -1
  261. package/tools/v1/customers/list-costs-v1-customers.mjs +1 -1
  262. package/tools/v1/customers/list-costs-v1-customers.mjs.map +1 -1
  263. package/tools/v1/customers/list-v1-customers.js +1 -1
  264. package/tools/v1/customers/list-v1-customers.js.map +1 -1
  265. package/tools/v1/customers/list-v1-customers.mjs +1 -1
  266. package/tools/v1/customers/list-v1-customers.mjs.map +1 -1
  267. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js +1 -1
  268. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js.map +1 -1
  269. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs +1 -1
  270. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs.map +1 -1
  271. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.d.mts.map +1 -1
  272. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.d.ts.map +1 -1
  273. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.js +1 -0
  274. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.js.map +1 -1
  275. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.mjs +1 -0
  276. package/tools/v1/customers/named-schedules/update-customers-v1-named-schedules.mjs.map +1 -1
  277. package/tools/v1/customers/plans/list-customers-v1-plans.js +1 -1
  278. package/tools/v1/customers/plans/list-customers-v1-plans.js.map +1 -1
  279. package/tools/v1/customers/plans/list-customers-v1-plans.mjs +1 -1
  280. package/tools/v1/customers/plans/list-customers-v1-plans.mjs.map +1 -1
  281. package/tools/v1/customers/preview-events-v1-customers.d.mts.map +1 -1
  282. package/tools/v1/customers/preview-events-v1-customers.d.ts.map +1 -1
  283. package/tools/v1/customers/preview-events-v1-customers.js +1 -0
  284. package/tools/v1/customers/preview-events-v1-customers.js.map +1 -1
  285. package/tools/v1/customers/preview-events-v1-customers.mjs +1 -0
  286. package/tools/v1/customers/preview-events-v1-customers.mjs.map +1 -1
  287. package/tools/v1/customers/retrieve-v1-customers.js +1 -1
  288. package/tools/v1/customers/retrieve-v1-customers.js.map +1 -1
  289. package/tools/v1/customers/retrieve-v1-customers.mjs +1 -1
  290. package/tools/v1/customers/retrieve-v1-customers.mjs.map +1 -1
  291. package/tools/v1/customers/set-name-v1-customers.js +1 -1
  292. package/tools/v1/customers/set-name-v1-customers.js.map +1 -1
  293. package/tools/v1/customers/set-name-v1-customers.mjs +1 -1
  294. package/tools/v1/customers/set-name-v1-customers.mjs.map +1 -1
  295. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.d.mts.map +1 -1
  296. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.d.ts.map +1 -1
  297. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js +1 -0
  298. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js.map +1 -1
  299. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs +1 -0
  300. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs.map +1 -1
  301. package/tools/v1/plans/get-details-v1-plans.js +1 -1
  302. package/tools/v1/plans/get-details-v1-plans.js.map +1 -1
  303. package/tools/v1/plans/get-details-v1-plans.mjs +1 -1
  304. package/tools/v1/plans/get-details-v1-plans.mjs.map +1 -1
  305. package/tools/v1/plans/list-charges-v1-plans.js +1 -1
  306. package/tools/v1/plans/list-charges-v1-plans.js.map +1 -1
  307. package/tools/v1/plans/list-charges-v1-plans.mjs +1 -1
  308. package/tools/v1/plans/list-charges-v1-plans.mjs.map +1 -1
  309. package/tools/v1/plans/list-customers-v1-plans.js +1 -1
  310. package/tools/v1/plans/list-customers-v1-plans.js.map +1 -1
  311. package/tools/v1/plans/list-customers-v1-plans.mjs +1 -1
  312. package/tools/v1/plans/list-customers-v1-plans.mjs.map +1 -1
  313. package/tools/v1/plans/list-v1-plans.js +1 -1
  314. package/tools/v1/plans/list-v1-plans.js.map +1 -1
  315. package/tools/v1/plans/list-v1-plans.mjs +1 -1
  316. package/tools/v1/plans/list-v1-plans.mjs.map +1 -1
  317. package/tools/v1/usage/ingest-v1-usage.d.mts.map +1 -1
  318. package/tools/v1/usage/ingest-v1-usage.d.ts.map +1 -1
  319. package/tools/v1/usage/ingest-v1-usage.js +1 -0
  320. package/tools/v1/usage/ingest-v1-usage.js.map +1 -1
  321. package/tools/v1/usage/ingest-v1-usage.mjs +1 -0
  322. package/tools/v1/usage/ingest-v1-usage.mjs.map +1 -1
  323. package/tools/v1/usage/list-v1-usage.js +1 -1
  324. package/tools/v1/usage/list-v1-usage.js.map +1 -1
  325. package/tools/v1/usage/list-v1-usage.mjs +1 -1
  326. package/tools/v1/usage/list-v1-usage.mjs.map +1 -1
  327. package/tools/v1/usage/search-v1-usage.js +1 -1
  328. package/tools/v1/usage/search-v1-usage.js.map +1 -1
  329. package/tools/v1/usage/search-v1-usage.mjs +1 -1
  330. package/tools/v1/usage/search-v1-usage.mjs.map +1 -1
  331. package/tools/v2/contracts/edit-commit-v2-contracts.d.mts.map +1 -1
  332. package/tools/v2/contracts/edit-commit-v2-contracts.d.ts.map +1 -1
  333. package/tools/v2/contracts/edit-commit-v2-contracts.js +6 -0
  334. package/tools/v2/contracts/edit-commit-v2-contracts.js.map +1 -1
  335. package/tools/v2/contracts/edit-commit-v2-contracts.mjs +6 -0
  336. package/tools/v2/contracts/edit-commit-v2-contracts.mjs.map +1 -1
  337. package/tools/v2/contracts/edit-credit-v2-contracts.d.mts.map +1 -1
  338. package/tools/v2/contracts/edit-credit-v2-contracts.d.ts.map +1 -1
  339. package/tools/v2/contracts/edit-credit-v2-contracts.js +6 -0
  340. package/tools/v2/contracts/edit-credit-v2-contracts.js.map +1 -1
  341. package/tools/v2/contracts/edit-credit-v2-contracts.mjs +6 -0
  342. package/tools/v2/contracts/edit-credit-v2-contracts.mjs.map +1 -1
  343. package/tools/v2/contracts/edit-v2-contracts.d.mts.map +1 -1
  344. package/tools/v2/contracts/edit-v2-contracts.d.ts.map +1 -1
  345. package/tools/v2/contracts/edit-v2-contracts.js +55 -4
  346. package/tools/v2/contracts/edit-v2-contracts.js.map +1 -1
  347. package/tools/v2/contracts/edit-v2-contracts.mjs +55 -4
  348. package/tools/v2/contracts/edit-v2-contracts.mjs.map +1 -1
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_rate_cards_contracts_v1_rates',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet all rates for a rate card at a point in time\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n entitled: {\n type: 'boolean'\n },\n product_custom_fields: {\n type: 'object'\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n product_tags: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n rate: {\n $ref: '#/$defs/rate'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n billing_frequency: {\n type: 'string',\n enum: [ 'MONTHLY',\n 'QUARTERLY',\n 'ANNUAL',\n 'WEEKLY'\n ]\n },\n commit_rate: {\n type: 'object',\n description: 'A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit.',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'TIERED',\n 'CUSTOM'\n ]\n },\n price: {\n type: 'number',\n description: 'Commit rate price. For FLAT rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n }\n },\n required: [ 'rate_type'\n ]\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n pricing_group_values: {\n type: 'object'\n }\n },\n required: [ 'entitled',\n 'product_custom_fields',\n 'product_id',\n 'product_name',\n 'product_tags',\n 'rate',\n 'starting_at'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n rate: {\n type: 'object',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'CUSTOM',\n 'TIERED'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_rate: {\n type: 'object',\n description: 'Only set for CUSTOM rate_type. This field is interpreted by custom rate processors.'\n },\n is_prorated: {\n type: 'boolean',\n description: 'Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true.'\n },\n price: {\n type: 'number',\n description: 'Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.'\n },\n pricing_group_values: {\n type: 'object',\n description: 'if pricing groups are used, this will contain the values used to calculate the price'\n },\n quantity: {\n type: 'number',\n description: 'Default quantity. For SUBSCRIPTION rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n },\n use_list_prices: {\n type: 'boolean',\n description: 'Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed using list prices rather than the standard rates for this product on the contract.'\n }\n },\n required: [ 'rate_type'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n tier: {\n type: 'object',\n properties: {\n price: {\n type: 'number'\n },\n size: {\n type: 'number'\n }\n },\n required: [ 'price'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet all rates for a rate card at a point in time\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n entitled: {\n type: 'boolean'\n },\n product_custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n product_tags: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n rate: {\n $ref: '#/$defs/rate'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n billing_frequency: {\n type: 'string',\n enum: [ 'MONTHLY',\n 'QUARTERLY',\n 'ANNUAL',\n 'WEEKLY'\n ]\n },\n commit_rate: {\n type: 'object',\n description: 'A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit.',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'TIERED',\n 'CUSTOM'\n ]\n },\n price: {\n type: 'number',\n description: 'Commit rate price. For FLAT rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n }\n },\n required: [ 'rate_type'\n ]\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n pricing_group_values: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: [ 'entitled',\n 'product_custom_fields',\n 'product_id',\n 'product_name',\n 'product_tags',\n 'rate',\n 'starting_at'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n rate: {\n type: 'object',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'CUSTOM',\n 'TIERED'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_rate: {\n type: 'object',\n description: 'Only set for CUSTOM rate_type. This field is interpreted by custom rate processors.',\n additionalProperties: true\n },\n is_prorated: {\n type: 'boolean',\n description: 'Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true.'\n },\n price: {\n type: 'number',\n description: 'Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.'\n },\n pricing_group_values: {\n type: 'object',\n description: 'if pricing groups are used, this will contain the values used to calculate the price',\n additionalProperties: true\n },\n quantity: {\n type: 'number',\n description: 'Default quantity. For SUBSCRIPTION rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n },\n use_list_prices: {\n type: 'boolean',\n description: 'Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed using list prices rather than the standard rates for this product on the contract.'\n }\n },\n required: [ 'rate_type'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n tier: {\n type: 'object',\n properties: {\n price: {\n type: 'number'\n },\n size: {\n type: 'number'\n }\n },\n required: [ 'price'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -56,11 +56,13 @@ export const tool: Tool = {
56
56
  type: 'object',
57
57
  description:
58
58
  'List of pricing group key value pairs, rates containing the matching key / value pairs will be included in the response.',
59
+ additionalProperties: true,
59
60
  },
60
61
  pricing_group_values: {
61
62
  type: 'object',
62
63
  description:
63
64
  'List of pricing group key value pairs, rates matching all of the key / value pairs will be included in the response.',
65
+ additionalProperties: true,
64
66
  },
65
67
  product_id: {
66
68
  type: 'string',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'retrieve_contracts_v1_rate_cards',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a specific rate card NOTE: Use `/contract-pricing/rate-cards/getRates` to retrieve rate card rates.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n created_at: {\n type: 'string',\n format: 'date-time'\n },\n created_by: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n aliases: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string'\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'name'\n ]\n }\n },\n credit_type_conversions: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n custom_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n fiat_per_custom_credit: {\n type: 'string'\n }\n },\n required: [ 'custom_credit_type',\n 'fiat_per_custom_credit'\n ]\n }\n },\n custom_fields: {\n type: 'object'\n },\n description: {\n type: 'string'\n },\n fiat_credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'id',\n 'created_at',\n 'created_by',\n 'name'\n ]\n }\n },\n required: [ 'data'\n ],\n $defs: {\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a specific rate card NOTE: Use `/contract-pricing/rate-cards/getRates` to retrieve rate card rates.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n created_at: {\n type: 'string',\n format: 'date-time'\n },\n created_by: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n aliases: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string'\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'name'\n ]\n }\n },\n credit_type_conversions: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n custom_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n fiat_per_custom_credit: {\n type: 'string'\n }\n },\n required: [ 'custom_credit_type',\n 'fiat_per_custom_credit'\n ]\n }\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n description: {\n type: 'string'\n },\n fiat_credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'id',\n 'created_at',\n 'created_by',\n 'name'\n ]\n }\n },\n required: [ 'data'\n ],\n $defs: {\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'retrieve_rate_schedule_contracts_v1_rate_cards',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet all rates for a rate card from starting_at (either in perpetuity or until ending_before, if provided)\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n entitled: {\n type: 'boolean'\n },\n product_custom_fields: {\n type: 'object'\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n product_tags: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n rate: {\n $ref: '#/$defs/rate'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n billing_frequency: {\n type: 'string',\n enum: [ 'MONTHLY',\n 'QUARTERLY',\n 'ANNUAL',\n 'WEEKLY'\n ]\n },\n commit_rate: {\n type: 'object',\n description: 'A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit.',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'TIERED',\n 'CUSTOM'\n ]\n },\n price: {\n type: 'number',\n description: 'Commit rate price. For FLAT rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n }\n },\n required: [ 'rate_type'\n ]\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n pricing_group_values: {\n type: 'object'\n }\n },\n required: [ 'entitled',\n 'product_custom_fields',\n 'product_id',\n 'product_name',\n 'product_tags',\n 'rate',\n 'starting_at'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n rate: {\n type: 'object',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'CUSTOM',\n 'TIERED'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_rate: {\n type: 'object',\n description: 'Only set for CUSTOM rate_type. This field is interpreted by custom rate processors.'\n },\n is_prorated: {\n type: 'boolean',\n description: 'Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true.'\n },\n price: {\n type: 'number',\n description: 'Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.'\n },\n pricing_group_values: {\n type: 'object',\n description: 'if pricing groups are used, this will contain the values used to calculate the price'\n },\n quantity: {\n type: 'number',\n description: 'Default quantity. For SUBSCRIPTION rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n },\n use_list_prices: {\n type: 'boolean',\n description: 'Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed using list prices rather than the standard rates for this product on the contract.'\n }\n },\n required: [ 'rate_type'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n tier: {\n type: 'object',\n properties: {\n price: {\n type: 'number'\n },\n size: {\n type: 'number'\n }\n },\n required: [ 'price'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet all rates for a rate card from starting_at (either in perpetuity or until ending_before, if provided)\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n entitled: {\n type: 'boolean'\n },\n product_custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n product_tags: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n rate: {\n $ref: '#/$defs/rate'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n billing_frequency: {\n type: 'string',\n enum: [ 'MONTHLY',\n 'QUARTERLY',\n 'ANNUAL',\n 'WEEKLY'\n ]\n },\n commit_rate: {\n type: 'object',\n description: 'A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit.',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'TIERED',\n 'CUSTOM'\n ]\n },\n price: {\n type: 'number',\n description: 'Commit rate price. For FLAT rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n }\n },\n required: [ 'rate_type'\n ]\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n pricing_group_values: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: [ 'entitled',\n 'product_custom_fields',\n 'product_id',\n 'product_name',\n 'product_tags',\n 'rate',\n 'starting_at'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n rate: {\n type: 'object',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'CUSTOM',\n 'TIERED'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_rate: {\n type: 'object',\n description: 'Only set for CUSTOM rate_type. This field is interpreted by custom rate processors.',\n additionalProperties: true\n },\n is_prorated: {\n type: 'boolean',\n description: 'Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true.'\n },\n price: {\n type: 'number',\n description: 'Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.'\n },\n pricing_group_values: {\n type: 'object',\n description: 'if pricing groups are used, this will contain the values used to calculate the price',\n additionalProperties: true\n },\n quantity: {\n type: 'number',\n description: 'Default quantity. For SUBSCRIPTION rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n },\n use_list_prices: {\n type: 'boolean',\n description: 'Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed using list prices rather than the standard rates for this product on the contract.'\n }\n },\n required: [ 'rate_type'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n tier: {\n type: 'object',\n properties: {\n price: {\n type: 'number'\n },\n size: {\n type: 'number'\n }\n },\n required: [ 'price'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -62,11 +62,13 @@ export const tool: Tool = {
62
62
  type: 'object',
63
63
  description:
64
64
  'List of pricing group key value pairs, rates containing the matching key / value pairs will be included in the response.',
65
+ additionalProperties: true,
65
66
  },
66
67
  pricing_group_values: {
67
68
  type: 'object',
68
69
  description:
69
70
  'List of pricing group key value pairs, rates matching all of the key / value pairs will be included in the response.',
71
+ additionalProperties: true,
70
72
  },
71
73
  product_id: {
72
74
  type: 'string',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'retrieve_rate_schedule_v1_contracts',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the rate schedule for the rate card on a given contract.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n entitled: {\n type: 'boolean'\n },\n list_rate: {\n $ref: '#/$defs/rate'\n },\n product_custom_fields: {\n type: 'object'\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n product_tags: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n rate_card_id: {\n type: 'string'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n billing_frequency: {\n type: 'string',\n enum: [ 'MONTHLY',\n 'QUARTERLY',\n 'ANNUAL',\n 'WEEKLY'\n ]\n },\n commit_rate: {\n type: 'object',\n description: 'A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit.',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'TIERED',\n 'CUSTOM'\n ]\n },\n price: {\n type: 'number',\n description: 'Commit rate price. For FLAT rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n }\n },\n required: [ 'rate_type'\n ]\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n override_rate: {\n $ref: '#/$defs/rate'\n },\n pricing_group_values: {\n type: 'object'\n }\n },\n required: [ 'entitled',\n 'list_rate',\n 'product_custom_fields',\n 'product_id',\n 'product_name',\n 'product_tags',\n 'rate_card_id',\n 'starting_at'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n rate: {\n type: 'object',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'CUSTOM',\n 'TIERED'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_rate: {\n type: 'object',\n description: 'Only set for CUSTOM rate_type. This field is interpreted by custom rate processors.'\n },\n is_prorated: {\n type: 'boolean',\n description: 'Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true.'\n },\n price: {\n type: 'number',\n description: 'Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.'\n },\n pricing_group_values: {\n type: 'object',\n description: 'if pricing groups are used, this will contain the values used to calculate the price'\n },\n quantity: {\n type: 'number',\n description: 'Default quantity. For SUBSCRIPTION rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n },\n use_list_prices: {\n type: 'boolean',\n description: 'Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed using list prices rather than the standard rates for this product on the contract.'\n }\n },\n required: [ 'rate_type'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n tier: {\n type: 'object',\n properties: {\n price: {\n type: 'number'\n },\n size: {\n type: 'number'\n }\n },\n required: [ 'price'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the rate schedule for the rate card on a given contract.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n entitled: {\n type: 'boolean'\n },\n list_rate: {\n $ref: '#/$defs/rate'\n },\n product_custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n product_tags: {\n type: 'array',\n items: {\n type: 'string'\n }\n },\n rate_card_id: {\n type: 'string'\n },\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n billing_frequency: {\n type: 'string',\n enum: [ 'MONTHLY',\n 'QUARTERLY',\n 'ANNUAL',\n 'WEEKLY'\n ]\n },\n commit_rate: {\n type: 'object',\n description: 'A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit.',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'TIERED',\n 'CUSTOM'\n ]\n },\n price: {\n type: 'number',\n description: 'Commit rate price. For FLAT rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n }\n },\n required: [ 'rate_type'\n ]\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n override_rate: {\n $ref: '#/$defs/rate'\n },\n pricing_group_values: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: [ 'entitled',\n 'list_rate',\n 'product_custom_fields',\n 'product_id',\n 'product_name',\n 'product_tags',\n 'rate_card_id',\n 'starting_at'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n rate: {\n type: 'object',\n properties: {\n rate_type: {\n type: 'string',\n enum: [ 'FLAT',\n 'PERCENTAGE',\n 'SUBSCRIPTION',\n 'CUSTOM',\n 'TIERED'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_rate: {\n type: 'object',\n description: 'Only set for CUSTOM rate_type. This field is interpreted by custom rate processors.',\n additionalProperties: true\n },\n is_prorated: {\n type: 'boolean',\n description: 'Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true.'\n },\n price: {\n type: 'number',\n description: 'Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.'\n },\n pricing_group_values: {\n type: 'object',\n description: 'if pricing groups are used, this will contain the values used to calculate the price',\n additionalProperties: true\n },\n quantity: {\n type: 'number',\n description: 'Default quantity. For SUBSCRIPTION rate_type, this must be >=0.'\n },\n tiers: {\n type: 'array',\n description: 'Only set for TIERED rate_type.',\n items: {\n $ref: '#/$defs/tier'\n }\n },\n use_list_prices: {\n type: 'boolean',\n description: 'Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed using list prices rather than the standard rates for this product on the contract.'\n }\n },\n required: [ 'rate_type'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n tier: {\n type: 'object',\n properties: {\n price: {\n type: 'number'\n },\n size: {\n type: 'number'\n }\n },\n required: [ 'price'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -61,11 +61,13 @@ export const tool: Tool = {
61
61
  type: 'object',
62
62
  description:
63
63
  'List of pricing group key value pairs, rates containing the matching key / value pairs will be included in the response.',
64
+ additionalProperties: true,
64
65
  },
65
66
  pricing_group_values: {
66
67
  type: 'object',
67
68
  description:
68
69
  'List of pricing group key value pairs, rates matching all of the key / value pairs will be included in the response.',
70
+ additionalProperties: true,
69
71
  },
70
72
  product_id: {
71
73
  type: 'string',
@@ -72,6 +72,7 @@ export const tool: Tool = {
72
72
  custom_fields: {
73
73
  type: 'object',
74
74
  description: 'Custom fields to attach to the credit grant.',
75
+ additionalProperties: true,
75
76
  },
76
77
  effective_at: {
77
78
  type: 'string',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_v1_credit_grants',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList credit grants. This list does not included voided grants.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the credit grant'\n },\n balance: {\n type: 'object',\n description: 'The effective balance of the grant as of the end of the customer\\'s current billing period. Expiration deductions will be included only if the grant expires before the end of the current billing period.',\n properties: {\n effective_at: {\n type: 'string',\n description: 'The end_date of the customer\\'s current billing period.',\n format: 'date-time'\n },\n excluding_pending: {\n type: 'number',\n description: 'The grant\\'s current balance including all posted deductions. If the grant has expired, this amount will be 0.'\n },\n including_pending: {\n type: 'number',\n description: 'The grant\\'s current balance including all posted and pending deductions. If the grant expires before the end of the customer\\'s current billing period, this amount will be 0.'\n }\n },\n required: [ 'effective_at',\n 'excluding_pending',\n 'including_pending'\n ]\n },\n custom_fields: {\n type: 'object'\n },\n customer_id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n deductions: {\n type: 'array',\n items: {\n $ref: '#/$defs/credit_ledger_entry'\n }\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n },\n expires_at: {\n type: 'string',\n format: 'date-time'\n },\n grant_amount: {\n type: 'object',\n description: 'the amount of credits initially granted',\n properties: {\n amount: {\n type: 'number'\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'amount',\n 'credit_type'\n ]\n },\n name: {\n type: 'string'\n },\n paid_amount: {\n type: 'object',\n description: 'the amount paid for this credit grant',\n properties: {\n amount: {\n type: 'number'\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'amount',\n 'credit_type'\n ]\n },\n pending_deductions: {\n type: 'array',\n items: {\n $ref: '#/$defs/credit_ledger_entry'\n }\n },\n priority: {\n type: 'number'\n },\n credit_grant_type: {\n type: 'string'\n },\n invoice_id: {\n type: 'string',\n description: 'the Metronome ID of the invoice with the purchase charge for this credit grant, if applicable'\n },\n products: {\n type: 'array',\n description: 'The products which these credits will be applied to. (If unspecified, the credits will be applied to charges for all products.)',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n reason: {\n type: 'string'\n },\n uniqueness_key: {\n type: 'string',\n description: 'Prevents the creation of duplicates. If a request to create a record is made with a previously used uniqueness key, a new record will not be created and the request will fail with a 409 error.'\n }\n },\n required: [ 'id',\n 'balance',\n 'custom_fields',\n 'customer_id',\n 'deductions',\n 'effective_at',\n 'expires_at',\n 'grant_amount',\n 'name',\n 'paid_amount',\n 'pending_deductions',\n 'priority'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n credit_ledger_entry: {\n type: 'object',\n properties: {\n amount: {\n type: 'number',\n description: 'an amount representing the change to the customer\\'s credit balance'\n },\n created_by: {\n type: 'string'\n },\n credit_grant_id: {\n type: 'string',\n description: 'the credit grant this entry is related to'\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n },\n reason: {\n type: 'string'\n },\n running_balance: {\n type: 'number',\n description: 'the running balance for this credit type at the time of the ledger entry, including all preceding charges'\n },\n invoice_id: {\n type: 'string',\n description: 'if this entry is a deduction, the Metronome ID of the invoice where the credit deduction was consumed; if this entry is a grant, the Metronome ID of the invoice where the grant\\'s paid_amount was charged'\n }\n },\n required: [ 'amount',\n 'created_by',\n 'credit_grant_id',\n 'effective_at',\n 'reason',\n 'running_balance'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList credit grants. This list does not included voided grants.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the credit grant'\n },\n balance: {\n type: 'object',\n description: 'The effective balance of the grant as of the end of the customer\\'s current billing period. Expiration deductions will be included only if the grant expires before the end of the current billing period.',\n properties: {\n effective_at: {\n type: 'string',\n description: 'The end_date of the customer\\'s current billing period.',\n format: 'date-time'\n },\n excluding_pending: {\n type: 'number',\n description: 'The grant\\'s current balance including all posted deductions. If the grant has expired, this amount will be 0.'\n },\n including_pending: {\n type: 'number',\n description: 'The grant\\'s current balance including all posted and pending deductions. If the grant expires before the end of the customer\\'s current billing period, this amount will be 0.'\n }\n },\n required: [ 'effective_at',\n 'excluding_pending',\n 'including_pending'\n ]\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n customer_id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n deductions: {\n type: 'array',\n items: {\n $ref: '#/$defs/credit_ledger_entry'\n }\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n },\n expires_at: {\n type: 'string',\n format: 'date-time'\n },\n grant_amount: {\n type: 'object',\n description: 'the amount of credits initially granted',\n properties: {\n amount: {\n type: 'number'\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'amount',\n 'credit_type'\n ]\n },\n name: {\n type: 'string'\n },\n paid_amount: {\n type: 'object',\n description: 'the amount paid for this credit grant',\n properties: {\n amount: {\n type: 'number'\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'amount',\n 'credit_type'\n ]\n },\n pending_deductions: {\n type: 'array',\n items: {\n $ref: '#/$defs/credit_ledger_entry'\n }\n },\n priority: {\n type: 'number'\n },\n credit_grant_type: {\n type: 'string'\n },\n invoice_id: {\n type: 'string',\n description: 'the Metronome ID of the invoice with the purchase charge for this credit grant, if applicable'\n },\n products: {\n type: 'array',\n description: 'The products which these credits will be applied to. (If unspecified, the credits will be applied to charges for all products.)',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n reason: {\n type: 'string'\n },\n uniqueness_key: {\n type: 'string',\n description: 'Prevents the creation of duplicates. If a request to create a record is made with a previously used uniqueness key, a new record will not be created and the request will fail with a 409 error.'\n }\n },\n required: [ 'id',\n 'balance',\n 'custom_fields',\n 'customer_id',\n 'deductions',\n 'effective_at',\n 'expires_at',\n 'grant_amount',\n 'name',\n 'paid_amount',\n 'pending_deductions',\n 'priority'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n credit_ledger_entry: {\n type: 'object',\n properties: {\n amount: {\n type: 'number',\n description: 'an amount representing the change to the customer\\'s credit balance'\n },\n created_by: {\n type: 'string'\n },\n credit_grant_id: {\n type: 'string',\n description: 'the credit grant this entry is related to'\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n },\n reason: {\n type: 'string'\n },\n running_balance: {\n type: 'number',\n description: 'the running balance for this credit type at the time of the ledger entry, including all preceding charges'\n },\n invoice_id: {\n type: 'string',\n description: 'if this entry is a deduction, the Metronome ID of the invoice where the credit deduction was consumed; if this entry is a grant, the Metronome ID of the invoice where the grant\\'s paid_amount was charged'\n }\n },\n required: [ 'amount',\n 'created_by',\n 'credit_grant_id',\n 'effective_at',\n 'reason',\n 'running_balance'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -23,6 +23,7 @@ export const tool: Tool = {
23
23
  properties: {
24
24
  custom_fields: {
25
25
  type: 'object',
26
+ additionalProperties: true,
26
27
  },
27
28
  entity: {
28
29
  type: 'string',
@@ -99,6 +99,7 @@ export const tool: Tool = {
99
99
  },
100
100
  custom_fields: {
101
101
  type: 'object',
102
+ additionalProperties: true,
102
103
  },
103
104
  description: {
104
105
  type: 'string',
@@ -118,6 +119,11 @@ export const tool: Tool = {
118
119
  type: 'string',
119
120
  description: 'Defaults to USD (cents) if not passed.',
120
121
  },
122
+ do_not_invoice: {
123
+ type: 'boolean',
124
+ description:
125
+ 'This field is only applicable to commit invoice schedules. If true, this schedule will not generate an invoice.',
126
+ },
121
127
  recurring_schedule: {
122
128
  type: 'object',
123
129
  description:
@@ -216,9 +222,11 @@ export const tool: Tool = {
216
222
  properties: {
217
223
  presentation_group_values: {
218
224
  type: 'object',
225
+ additionalProperties: true,
219
226
  },
220
227
  pricing_group_values: {
221
228
  type: 'object',
229
+ additionalProperties: true,
222
230
  },
223
231
  product_id: {
224
232
  type: 'string',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'create_v1_customers',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new customer\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/customer'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n customer: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n custom_fields: {\n type: 'object'\n }\n },\n required: [ 'id',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new customer\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/customer'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n customer: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: [ 'id',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -91,6 +91,7 @@ export const tool: Tool = {
91
91
  },
92
92
  custom_fields: {
93
93
  type: 'object',
94
+ additionalProperties: true,
94
95
  },
95
96
  customer_billing_provider_configurations: {
96
97
  type: 'array',
@@ -106,6 +107,7 @@ export const tool: Tool = {
106
107
  type: 'object',
107
108
  description:
108
109
  'Configuration for the billing provider. The structure of this object is specific to the billing provider and delivery provider combination. Defaults to an empty object, however, for most billing provider + delivery method combinations, it will not be a valid configuration.',
110
+ additionalProperties: true,
109
111
  },
110
112
  delivery_method: {
111
113
  type: 'string',
@@ -92,6 +92,7 @@ export const tool: Tool = {
92
92
  },
93
93
  custom_fields: {
94
94
  type: 'object',
95
+ additionalProperties: true,
95
96
  },
96
97
  description: {
97
98
  type: 'string',
@@ -122,9 +123,11 @@ export const tool: Tool = {
122
123
  properties: {
123
124
  presentation_group_values: {
124
125
  type: 'object',
126
+ additionalProperties: true,
125
127
  },
126
128
  pricing_group_values: {
127
129
  type: 'object',
130
+ additionalProperties: true,
128
131
  },
129
132
  product_id: {
130
133
  type: 'string',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_billable_metrics_v1_customers',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet all billable metrics for a given customer.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n aggregate: {\n type: 'string',\n description: '(DEPRECATED) use aggregation_type instead'\n },\n aggregate_keys: {\n type: 'array',\n description: '(DEPRECATED) use aggregation_key instead',\n items: {\n type: 'string'\n }\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object'\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n filter: {\n type: 'object',\n description: '(DEPRECATED) use property_filters & event_type_filter instead'\n },\n group_by: {\n type: 'array',\n description: '(DEPRECATED) use group_keys instead',\n items: {\n type: 'string',\n description: 'A list of keys that can be used to additionally segment the values of the billable metric when making usage queries'\n }\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet all billable metrics for a given customer.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n aggregate: {\n type: 'string',\n description: '(DEPRECATED) use aggregation_type instead'\n },\n aggregate_keys: {\n type: 'array',\n description: '(DEPRECATED) use aggregation_key instead',\n items: {\n type: 'string'\n }\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n filter: {\n type: 'object',\n description: '(DEPRECATED) use property_filters & event_type_filter instead',\n additionalProperties: true\n },\n group_by: {\n type: 'array',\n description: '(DEPRECATED) use group_keys instead',\n items: {\n type: 'string',\n description: 'A list of keys that can be used to additionally segment the values of the billable metric when making usage queries'\n }\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_costs_v1_customers',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetch 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.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n credit_types: {\n type: 'object'\n },\n end_timestamp: {\n type: 'string',\n format: 'date-time'\n },\n start_timestamp: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'credit_types',\n 'end_timestamp',\n 'start_timestamp'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ]\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetch 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.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n credit_types: {\n type: 'object',\n additionalProperties: true\n },\n end_timestamp: {\n type: 'string',\n format: 'date-time'\n },\n start_timestamp: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'credit_types',\n 'end_timestamp',\n 'start_timestamp'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ]\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_v1_customers',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all customers.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/customer_detail'\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n customer_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n created_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was created.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object'\n },\n customer_config: {\n type: 'object',\n properties: {\n salesforce_account_id: {\n type: 'string',\n description: 'The Salesforce account ID for the customer'\n }\n },\n required: [ 'salesforce_account_id'\n ]\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was archived. Null if the customer is active.',\n format: 'date-time'\n },\n current_billable_status: {\n type: 'object',\n description: 'This field\\'s availability is dependent on your client\\'s configuration.',\n properties: {\n value: {\n type: 'string',\n enum: [ 'billable',\n 'unbillable'\n ]\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'value'\n ]\n }\n },\n required: [ 'id',\n 'created_at',\n 'custom_fields',\n 'customer_config',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all customers.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/customer_detail'\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n customer_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n created_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was created.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n customer_config: {\n type: 'object',\n properties: {\n salesforce_account_id: {\n type: 'string',\n description: 'The Salesforce account ID for the customer'\n }\n },\n required: [ 'salesforce_account_id'\n ]\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was archived. Null if the customer is active.',\n format: 'date-time'\n },\n current_billable_status: {\n type: 'object',\n description: 'This field\\'s availability is dependent on your client\\'s configuration.',\n properties: {\n value: {\n type: 'string',\n enum: [ 'billable',\n 'unbillable'\n ]\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'value'\n ]\n }\n },\n required: [ 'id',\n 'created_at',\n 'custom_fields',\n 'customer_config',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'retrieve_customers_v1_named_schedules',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a named schedule for the given customer. This endpoint's availability is dependent on your client's configuration.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n value: {\n type: 'object'\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'starting_at',\n 'value'\n ]\n }\n }\n },\n required: [ 'data'\n ]\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a named schedule for the given customer. This endpoint's availability is dependent on your client's configuration.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n starting_at: {\n type: 'string',\n format: 'date-time'\n },\n value: {\n type: 'object',\n additionalProperties: true\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'starting_at',\n 'value'\n ]\n }\n }\n },\n required: [ 'data'\n ]\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -37,6 +37,7 @@ export const tool: Tool = {
37
37
  type: 'object',
38
38
  description:
39
39
  'The value to set for the named schedule. The structure of this object is specific to the named schedule.',
40
+ additionalProperties: true,
40
41
  },
41
42
  ending_before: {
42
43
  type: 'string',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_customers_v1_plans',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList the given customer's plans in reverse-chronological order.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the ID of the customer plan'\n },\n custom_fields: {\n type: 'object'\n },\n plan_description: {\n type: 'string'\n },\n plan_id: {\n type: 'string',\n description: 'the ID of the plan'\n },\n plan_name: {\n type: 'string'\n },\n starting_on: {\n type: 'string',\n format: 'date-time'\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n net_payment_terms_days: {\n type: 'number'\n },\n trial_info: {\n type: 'object',\n properties: {\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n spending_caps: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n amount: {\n type: 'number'\n },\n amount_remaining: {\n type: 'number'\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'amount',\n 'amount_remaining',\n 'credit_type'\n ]\n }\n }\n },\n required: [ 'ending_before',\n 'spending_caps'\n ]\n }\n },\n required: [ 'id',\n 'custom_fields',\n 'plan_description',\n 'plan_id',\n 'plan_name',\n 'starting_on'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList the given customer's plans in reverse-chronological order.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the ID of the customer plan'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n plan_description: {\n type: 'string'\n },\n plan_id: {\n type: 'string',\n description: 'the ID of the plan'\n },\n plan_name: {\n type: 'string'\n },\n starting_on: {\n type: 'string',\n format: 'date-time'\n },\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n net_payment_terms_days: {\n type: 'number'\n },\n trial_info: {\n type: 'object',\n properties: {\n ending_before: {\n type: 'string',\n format: 'date-time'\n },\n spending_caps: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n amount: {\n type: 'number'\n },\n amount_remaining: {\n type: 'number'\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n }\n },\n required: [ 'amount',\n 'amount_remaining',\n 'credit_type'\n ]\n }\n }\n },\n required: [ 'ending_before',\n 'spending_caps'\n ]\n }\n },\n required: [ 'id',\n 'custom_fields',\n 'plan_description',\n 'plan_id',\n 'plan_name',\n 'starting_on'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -39,6 +39,7 @@ export const tool: Tool = {
39
39
  },
40
40
  properties: {
41
41
  type: 'object',
42
+ additionalProperties: true,
42
43
  },
43
44
  timestamp: {
44
45
  type: 'string',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'retrieve_v1_customers',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a customer by Metronome ID.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/customer_detail'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n customer_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n created_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was created.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object'\n },\n customer_config: {\n type: 'object',\n properties: {\n salesforce_account_id: {\n type: 'string',\n description: 'The Salesforce account ID for the customer'\n }\n },\n required: [ 'salesforce_account_id'\n ]\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was archived. Null if the customer is active.',\n format: 'date-time'\n },\n current_billable_status: {\n type: 'object',\n description: 'This field\\'s availability is dependent on your client\\'s configuration.',\n properties: {\n value: {\n type: 'string',\n enum: [ 'billable',\n 'unbillable'\n ]\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'value'\n ]\n }\n },\n required: [ 'id',\n 'created_at',\n 'custom_fields',\n 'customer_config',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a customer by Metronome ID.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/customer_detail'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n customer_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n created_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was created.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n customer_config: {\n type: 'object',\n properties: {\n salesforce_account_id: {\n type: 'string',\n description: 'The Salesforce account ID for the customer'\n }\n },\n required: [ 'salesforce_account_id'\n ]\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was archived. Null if the customer is active.',\n format: 'date-time'\n },\n current_billable_status: {\n type: 'object',\n description: 'This field\\'s availability is dependent on your client\\'s configuration.',\n properties: {\n value: {\n type: 'string',\n enum: [ 'billable',\n 'unbillable'\n ]\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'value'\n ]\n }\n },\n required: [ 'id',\n 'created_at',\n 'custom_fields',\n 'customer_config',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'set_name_v1_customers',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nUpdates the specified customer's name.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/customer'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n customer: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n custom_fields: {\n type: 'object'\n }\n },\n required: [ 'id',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nUpdates the specified customer's name.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/customer'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n customer: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: [ 'id',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -48,6 +48,7 @@ export const tool: Tool = {
48
48
  type: 'object',
49
49
  description:
50
50
  '<key, value> pairs of the billable metric group key values and their display names. e.g. {"a": "Asia", "b": "Euro"}',
51
+ additionalProperties: true,
51
52
  },
52
53
  },
53
54
  required: ['group_key_name'],
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'get_details_v1_plans',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetch high level details of a specific plan.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/plan_detail'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n plan_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n custom_fields: {\n type: 'object'\n },\n name: {\n type: 'string'\n },\n credit_grants: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n amount_granted: {\n type: 'number'\n },\n amount_granted_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n amount_paid: {\n type: 'number'\n },\n amount_paid_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n effective_duration: {\n type: 'number'\n },\n name: {\n type: 'string'\n },\n priority: {\n type: 'string'\n },\n send_invoice: {\n type: 'boolean'\n },\n reason: {\n type: 'string'\n },\n recurrence_duration: {\n type: 'number'\n },\n recurrence_interval: {\n type: 'number'\n }\n },\n required: [ 'amount_granted',\n 'amount_granted_credit_type',\n 'amount_paid',\n 'amount_paid_credit_type',\n 'effective_duration',\n 'name',\n 'priority',\n 'send_invoice'\n ]\n }\n },\n description: {\n type: 'string'\n },\n minimums: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n name: {\n type: 'string'\n },\n start_period: {\n type: 'number',\n description: 'Used in price ramps. Indicates how many billing periods pass before the charge applies.'\n },\n value: {\n type: 'number'\n }\n },\n required: [ 'credit_type',\n 'name',\n 'start_period',\n 'value'\n ]\n }\n },\n overage_rates: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n fiat_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n start_period: {\n type: 'number',\n description: 'Used in price ramps. Indicates how many billing periods pass before the charge applies.'\n },\n to_fiat_conversion_factor: {\n type: 'number'\n }\n },\n required: [ 'credit_type',\n 'fiat_credit_type',\n 'start_period',\n 'to_fiat_conversion_factor'\n ]\n }\n }\n },\n required: [ 'id',\n 'custom_fields',\n 'name'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetch high level details of a specific plan.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/plan_detail'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n plan_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n credit_grants: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n amount_granted: {\n type: 'number'\n },\n amount_granted_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n amount_paid: {\n type: 'number'\n },\n amount_paid_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n effective_duration: {\n type: 'number'\n },\n name: {\n type: 'string'\n },\n priority: {\n type: 'string'\n },\n send_invoice: {\n type: 'boolean'\n },\n reason: {\n type: 'string'\n },\n recurrence_duration: {\n type: 'number'\n },\n recurrence_interval: {\n type: 'number'\n }\n },\n required: [ 'amount_granted',\n 'amount_granted_credit_type',\n 'amount_paid',\n 'amount_paid_credit_type',\n 'effective_duration',\n 'name',\n 'priority',\n 'send_invoice'\n ]\n }\n },\n description: {\n type: 'string'\n },\n minimums: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n name: {\n type: 'string'\n },\n start_period: {\n type: 'number',\n description: 'Used in price ramps. Indicates how many billing periods pass before the charge applies.'\n },\n value: {\n type: 'number'\n }\n },\n required: [ 'credit_type',\n 'name',\n 'start_period',\n 'value'\n ]\n }\n },\n overage_rates: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n fiat_credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n start_period: {\n type: 'number',\n description: 'Used in price ramps. Indicates how many billing periods pass before the charge applies.'\n },\n to_fiat_conversion_factor: {\n type: 'number'\n }\n },\n required: [ 'credit_type',\n 'fiat_credit_type',\n 'start_period',\n 'to_fiat_conversion_factor'\n ]\n }\n }\n },\n required: [ 'id',\n 'custom_fields',\n 'name'\n ]\n },\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_charges_v1_plans',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetches a list of charges of a specific plan.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n charge_type: {\n type: 'string',\n enum: [ 'usage',\n 'fixed',\n 'composite',\n 'minimum',\n 'seat'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_fields: {\n type: 'object'\n },\n name: {\n type: 'string'\n },\n prices: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n tier: {\n type: 'number',\n description: 'Used in pricing tiers. Indicates at what metric value the price applies.'\n },\n value: {\n type: 'number'\n },\n collection_interval: {\n type: 'number'\n },\n collection_schedule: {\n type: 'string'\n },\n quantity: {\n type: 'number'\n }\n },\n required: [ 'tier',\n 'value'\n ]\n }\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n quantity: {\n type: 'number'\n },\n start_period: {\n type: 'number',\n description: 'Used in price ramps. Indicates how many billing periods pass before the charge applies.'\n },\n tier_reset_frequency: {\n type: 'number',\n description: 'Used in pricing tiers. Indicates how often the tier resets. Default is 1 - the tier count resets every billing period.'\n },\n unit_conversion: {\n type: 'object',\n description: 'Specifies how quantities for usage based charges will be converted.',\n properties: {\n division_factor: {\n type: 'number',\n description: 'The conversion factor'\n },\n rounding_behavior: {\n type: 'string',\n description: 'Whether usage should be rounded down or up to the nearest whole number. If null, quantity will be rounded to 20 decimal places.',\n enum: [ 'floor',\n 'ceiling'\n ]\n }\n },\n required: [ 'division_factor'\n ]\n }\n },\n required: [ 'id',\n 'charge_type',\n 'credit_type',\n 'custom_fields',\n 'name',\n 'prices',\n 'product_id',\n 'product_name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetches a list of charges of a specific plan.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n charge_type: {\n type: 'string',\n enum: [ 'usage',\n 'fixed',\n 'composite',\n 'minimum',\n 'seat'\n ]\n },\n credit_type: {\n $ref: '#/$defs/credit_type_data'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n name: {\n type: 'string'\n },\n prices: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n tier: {\n type: 'number',\n description: 'Used in pricing tiers. Indicates at what metric value the price applies.'\n },\n value: {\n type: 'number'\n },\n collection_interval: {\n type: 'number'\n },\n collection_schedule: {\n type: 'string'\n },\n quantity: {\n type: 'number'\n }\n },\n required: [ 'tier',\n 'value'\n ]\n }\n },\n product_id: {\n type: 'string'\n },\n product_name: {\n type: 'string'\n },\n quantity: {\n type: 'number'\n },\n start_period: {\n type: 'number',\n description: 'Used in price ramps. Indicates how many billing periods pass before the charge applies.'\n },\n tier_reset_frequency: {\n type: 'number',\n description: 'Used in pricing tiers. Indicates how often the tier resets. Default is 1 - the tier count resets every billing period.'\n },\n unit_conversion: {\n type: 'object',\n description: 'Specifies how quantities for usage based charges will be converted.',\n properties: {\n division_factor: {\n type: 'number',\n description: 'The conversion factor'\n },\n rounding_behavior: {\n type: 'string',\n description: 'Whether usage should be rounded down or up to the nearest whole number. If null, quantity will be rounded to 20 decimal places.',\n enum: [ 'floor',\n 'ceiling'\n ]\n }\n },\n required: [ 'division_factor'\n ]\n }\n },\n required: [ 'id',\n 'charge_type',\n 'credit_type',\n 'custom_fields',\n 'name',\n 'prices',\n 'product_id',\n 'product_name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n credit_type_data: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_customers_v1_plans',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetches a list of customers on a specific plan (by default, only currently active plans are included)\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n customer_details: {\n $ref: '#/$defs/customer_detail'\n },\n plan_details: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n custom_fields: {\n type: 'object'\n },\n customer_plan_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n starting_on: {\n type: 'string',\n description: 'The start date of the plan',\n format: 'date-time'\n },\n ending_before: {\n type: 'string',\n description: 'The end date of the plan',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'custom_fields',\n 'customer_plan_id',\n 'name',\n 'starting_on'\n ]\n }\n },\n required: [ 'customer_details',\n 'plan_details'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n customer_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n created_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was created.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object'\n },\n customer_config: {\n type: 'object',\n properties: {\n salesforce_account_id: {\n type: 'string',\n description: 'The Salesforce account ID for the customer'\n }\n },\n required: [ 'salesforce_account_id'\n ]\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was archived. Null if the customer is active.',\n format: 'date-time'\n },\n current_billable_status: {\n type: 'object',\n description: 'This field\\'s availability is dependent on your client\\'s configuration.',\n properties: {\n value: {\n type: 'string',\n enum: [ 'billable',\n 'unbillable'\n ]\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'value'\n ]\n }\n },\n required: [ 'id',\n 'created_at',\n 'custom_fields',\n 'customer_config',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nFetches a list of customers on a specific plan (by default, only currently active plans are included)\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n customer_details: {\n $ref: '#/$defs/customer_detail'\n },\n plan_details: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n customer_plan_id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n starting_on: {\n type: 'string',\n description: 'The start date of the plan',\n format: 'date-time'\n },\n ending_before: {\n type: 'string',\n description: 'The end date of the plan',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'custom_fields',\n 'customer_plan_id',\n 'name',\n 'starting_on'\n ]\n }\n },\n required: [ 'customer_details',\n 'plan_details'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n customer_detail: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'the Metronome ID of the customer'\n },\n created_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was created.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n customer_config: {\n type: 'object',\n properties: {\n salesforce_account_id: {\n type: 'string',\n description: 'The Salesforce account ID for the customer'\n }\n },\n required: [ 'salesforce_account_id'\n ]\n },\n external_id: {\n type: 'string',\n description: '(deprecated, use ingest_aliases instead) the first ID (Metronome or ingest alias) that can be used in usage events'\n },\n ingest_aliases: {\n type: 'array',\n description: 'aliases for this customer that can be used instead of the Metronome customer ID in usage events',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string'\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the customer was archived. Null if the customer is active.',\n format: 'date-time'\n },\n current_billable_status: {\n type: 'object',\n description: 'This field\\'s availability is dependent on your client\\'s configuration.',\n properties: {\n value: {\n type: 'string',\n enum: [ 'billable',\n 'unbillable'\n ]\n },\n effective_at: {\n type: 'string',\n format: 'date-time'\n }\n },\n required: [ 'value'\n ]\n }\n },\n required: [ 'id',\n 'created_at',\n 'custom_fields',\n 'customer_config',\n 'external_id',\n 'ingest_aliases',\n 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_v1_plans',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all available plans.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n custom_fields: {\n type: 'object'\n }\n },\n required: [ 'id',\n 'description',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ]\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all available plans.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n description: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n }\n },\n required: [ 'id',\n 'description',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ]\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {