@metronome/sdk 0.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/CHANGELOG.md +113 -28
  2. package/README.md +123 -51
  3. package/api-promise.d.mts +2 -0
  4. package/api-promise.d.mts.map +1 -0
  5. package/api-promise.d.ts +2 -0
  6. package/api-promise.d.ts.map +1 -0
  7. package/api-promise.js +6 -0
  8. package/api-promise.js.map +1 -0
  9. package/api-promise.mjs +2 -0
  10. package/api-promise.mjs.map +1 -0
  11. package/bin/cli +46 -0
  12. package/bin/migration-config.json +6 -0
  13. package/client.d.mts +232 -0
  14. package/client.d.mts.map +1 -0
  15. package/client.d.ts +232 -0
  16. package/client.d.ts.map +1 -0
  17. package/client.js +464 -0
  18. package/client.js.map +1 -0
  19. package/client.mjs +460 -0
  20. package/client.mjs.map +1 -0
  21. package/core/api-promise.d.mts +46 -0
  22. package/core/api-promise.d.mts.map +1 -0
  23. package/core/api-promise.d.ts +46 -0
  24. package/core/api-promise.d.ts.map +1 -0
  25. package/core/api-promise.js +74 -0
  26. package/core/api-promise.js.map +1 -0
  27. package/core/api-promise.mjs +70 -0
  28. package/core/api-promise.mjs.map +1 -0
  29. package/core/error.d.mts +46 -0
  30. package/core/error.d.mts.map +1 -0
  31. package/core/error.d.ts +46 -0
  32. package/core/error.d.ts.map +1 -0
  33. package/core/error.js +113 -0
  34. package/core/error.js.map +1 -0
  35. package/core/error.mjs +97 -0
  36. package/core/error.mjs.map +1 -0
  37. package/core/pagination.d.mts +137 -0
  38. package/core/pagination.d.mts.map +1 -0
  39. package/core/pagination.d.ts +137 -0
  40. package/core/pagination.d.ts.map +1 -0
  41. package/core/pagination.js +158 -0
  42. package/core/pagination.js.map +1 -0
  43. package/core/pagination.mjs +150 -0
  44. package/core/pagination.mjs.map +1 -0
  45. package/core/resource.d.mts +6 -0
  46. package/core/resource.d.mts.map +1 -0
  47. package/core/resource.d.ts +6 -0
  48. package/core/resource.d.ts.map +1 -0
  49. package/core/resource.js +11 -0
  50. package/core/resource.js.map +1 -0
  51. package/core/resource.mjs +7 -0
  52. package/core/resource.mjs.map +1 -0
  53. package/core/uploads.d.mts +3 -0
  54. package/core/uploads.d.mts.map +1 -0
  55. package/core/uploads.d.ts +3 -0
  56. package/core/uploads.d.ts.map +1 -0
  57. package/core/uploads.js +6 -0
  58. package/core/uploads.js.map +1 -0
  59. package/core/uploads.mjs +2 -0
  60. package/core/uploads.mjs.map +1 -0
  61. package/error.d.mts +2 -0
  62. package/error.d.mts.map +1 -0
  63. package/error.d.ts +1 -46
  64. package/error.d.ts.map +1 -1
  65. package/error.js +3 -110
  66. package/error.js.map +1 -1
  67. package/error.mjs +1 -96
  68. package/error.mjs.map +1 -1
  69. package/index.d.mts +7 -144
  70. package/index.d.mts.map +1 -0
  71. package/index.d.ts +6 -143
  72. package/index.d.ts.map +1 -1
  73. package/index.js +14 -120
  74. package/index.js.map +1 -1
  75. package/index.mjs +6 -93
  76. package/index.mjs.map +1 -1
  77. package/internal/builtin-types.d.mts +73 -0
  78. package/internal/builtin-types.d.mts.map +1 -0
  79. package/internal/builtin-types.d.ts +73 -0
  80. package/internal/builtin-types.d.ts.map +1 -0
  81. package/internal/builtin-types.js +4 -0
  82. package/internal/builtin-types.js.map +1 -0
  83. package/internal/builtin-types.mjs +3 -0
  84. package/internal/builtin-types.mjs.map +1 -0
  85. package/internal/detect-platform.d.mts +15 -0
  86. package/internal/detect-platform.d.mts.map +1 -0
  87. package/internal/detect-platform.d.ts +15 -0
  88. package/internal/detect-platform.d.ts.map +1 -0
  89. package/internal/detect-platform.js +162 -0
  90. package/internal/detect-platform.js.map +1 -0
  91. package/internal/detect-platform.mjs +157 -0
  92. package/internal/detect-platform.mjs.map +1 -0
  93. package/internal/errors.d.mts +3 -0
  94. package/internal/errors.d.mts.map +1 -0
  95. package/internal/errors.d.ts +3 -0
  96. package/internal/errors.d.ts.map +1 -0
  97. package/internal/errors.js +41 -0
  98. package/internal/errors.js.map +1 -0
  99. package/internal/errors.mjs +36 -0
  100. package/internal/errors.mjs.map +1 -0
  101. package/internal/headers.d.mts +26 -0
  102. package/internal/headers.d.mts.map +1 -0
  103. package/internal/headers.d.ts +26 -0
  104. package/internal/headers.d.ts.map +1 -0
  105. package/internal/headers.js +120 -0
  106. package/internal/headers.js.map +1 -0
  107. package/internal/headers.mjs +112 -0
  108. package/internal/headers.mjs.map +1 -0
  109. package/internal/parse.d.mts +12 -0
  110. package/internal/parse.d.mts.map +1 -0
  111. package/internal/parse.d.ts +12 -0
  112. package/internal/parse.d.ts.map +1 -0
  113. package/internal/parse.js +35 -0
  114. package/internal/parse.js.map +1 -0
  115. package/internal/parse.mjs +32 -0
  116. package/internal/parse.mjs.map +1 -0
  117. package/internal/qs/formats.d.mts +7 -0
  118. package/internal/qs/formats.d.mts.map +1 -0
  119. package/internal/qs/formats.d.ts +1 -0
  120. package/internal/qs/formats.d.ts.map +1 -1
  121. package/internal/qs/formats.js +4 -2
  122. package/internal/qs/formats.js.map +1 -1
  123. package/internal/qs/formats.mjs +2 -1
  124. package/internal/qs/formats.mjs.map +1 -1
  125. package/internal/qs/index.d.mts +10 -0
  126. package/internal/qs/index.d.mts.map +1 -0
  127. package/internal/qs/index.d.ts.map +1 -1
  128. package/internal/qs/stringify.d.mts +3 -0
  129. package/internal/qs/stringify.d.mts.map +1 -0
  130. package/internal/qs/stringify.d.ts.map +1 -1
  131. package/internal/qs/stringify.js +16 -19
  132. package/internal/qs/stringify.js.map +1 -1
  133. package/internal/qs/stringify.mjs +17 -19
  134. package/internal/qs/stringify.mjs.map +1 -1
  135. package/internal/qs/types.d.mts +57 -0
  136. package/internal/qs/types.d.mts.map +1 -0
  137. package/internal/qs/utils.d.mts +15 -0
  138. package/internal/qs/utils.d.mts.map +1 -0
  139. package/internal/qs/utils.d.ts +1 -0
  140. package/internal/qs/utils.d.ts.map +1 -1
  141. package/internal/qs/utils.js +22 -21
  142. package/internal/qs/utils.js.map +1 -1
  143. package/internal/qs/utils.mjs +12 -12
  144. package/internal/qs/utils.mjs.map +1 -1
  145. package/internal/request-options.d.mts +75 -0
  146. package/internal/request-options.d.mts.map +1 -0
  147. package/internal/request-options.d.ts +75 -0
  148. package/internal/request-options.d.ts.map +1 -0
  149. package/internal/request-options.js +14 -0
  150. package/internal/request-options.js.map +1 -0
  151. package/internal/request-options.mjs +10 -0
  152. package/internal/request-options.mjs.map +1 -0
  153. package/internal/shim-types.d.mts +17 -0
  154. package/internal/shim-types.d.mts.map +1 -0
  155. package/internal/shim-types.d.ts +17 -0
  156. package/internal/shim-types.d.ts.map +1 -0
  157. package/internal/shim-types.js +4 -0
  158. package/internal/shim-types.js.map +1 -0
  159. package/internal/shim-types.mjs +3 -0
  160. package/internal/shim-types.mjs.map +1 -0
  161. package/internal/shims.d.mts +20 -0
  162. package/internal/shims.d.mts.map +1 -0
  163. package/internal/shims.d.ts +20 -0
  164. package/internal/shims.d.ts.map +1 -0
  165. package/internal/shims.js +92 -0
  166. package/internal/shims.js.map +1 -0
  167. package/internal/shims.mjs +85 -0
  168. package/internal/shims.mjs.map +1 -0
  169. package/internal/to-file.d.mts +45 -0
  170. package/internal/to-file.d.mts.map +1 -0
  171. package/internal/to-file.d.ts +45 -0
  172. package/internal/to-file.d.ts.map +1 -0
  173. package/internal/to-file.js +91 -0
  174. package/internal/to-file.js.map +1 -0
  175. package/internal/to-file.mjs +88 -0
  176. package/internal/to-file.mjs.map +1 -0
  177. package/internal/tslib.js +81 -0
  178. package/internal/tslib.mjs +17 -0
  179. package/internal/types.d.mts +69 -0
  180. package/internal/types.d.mts.map +1 -0
  181. package/internal/types.d.ts +69 -0
  182. package/internal/types.d.ts.map +1 -0
  183. package/internal/types.js +4 -0
  184. package/internal/types.js.map +1 -0
  185. package/internal/types.mjs +3 -0
  186. package/internal/types.mjs.map +1 -0
  187. package/internal/uploads.d.mts +42 -0
  188. package/internal/uploads.d.mts.map +1 -0
  189. package/internal/uploads.d.ts +42 -0
  190. package/internal/uploads.d.ts.map +1 -0
  191. package/internal/uploads.js +141 -0
  192. package/internal/uploads.js.map +1 -0
  193. package/internal/uploads.mjs +131 -0
  194. package/internal/uploads.mjs.map +1 -0
  195. package/internal/utils/base64.d.mts +3 -0
  196. package/internal/utils/base64.d.mts.map +1 -0
  197. package/internal/utils/base64.d.ts +3 -0
  198. package/internal/utils/base64.d.ts.map +1 -0
  199. package/internal/utils/base64.js +38 -0
  200. package/internal/utils/base64.js.map +1 -0
  201. package/internal/utils/base64.mjs +33 -0
  202. package/internal/utils/base64.mjs.map +1 -0
  203. package/internal/utils/bytes.d.mts +4 -0
  204. package/internal/utils/bytes.d.mts.map +1 -0
  205. package/internal/utils/bytes.d.ts +4 -0
  206. package/internal/utils/bytes.d.ts.map +1 -0
  207. package/internal/utils/bytes.js +31 -0
  208. package/internal/utils/bytes.js.map +1 -0
  209. package/internal/utils/bytes.mjs +26 -0
  210. package/internal/utils/bytes.mjs.map +1 -0
  211. package/internal/utils/env.d.mts +9 -0
  212. package/internal/utils/env.d.mts.map +1 -0
  213. package/internal/utils/env.d.ts +9 -0
  214. package/internal/utils/env.d.ts.map +1 -0
  215. package/internal/utils/env.js +22 -0
  216. package/internal/utils/env.js.map +1 -0
  217. package/internal/utils/env.mjs +18 -0
  218. package/internal/utils/env.mjs.map +1 -0
  219. package/internal/utils/log.d.mts +37 -0
  220. package/internal/utils/log.d.mts.map +1 -0
  221. package/internal/utils/log.d.ts +37 -0
  222. package/internal/utils/log.d.ts.map +1 -0
  223. package/internal/utils/log.js +85 -0
  224. package/internal/utils/log.js.map +1 -0
  225. package/internal/utils/log.mjs +79 -0
  226. package/internal/utils/log.mjs.map +1 -0
  227. package/internal/utils/path.d.mts +15 -0
  228. package/internal/utils/path.d.mts.map +1 -0
  229. package/internal/utils/path.d.ts +15 -0
  230. package/internal/utils/path.d.ts.map +1 -0
  231. package/internal/utils/path.js +79 -0
  232. package/internal/utils/path.js.map +1 -0
  233. package/internal/utils/path.mjs +74 -0
  234. package/internal/utils/path.mjs.map +1 -0
  235. package/internal/utils/sleep.d.mts +2 -0
  236. package/internal/utils/sleep.d.mts.map +1 -0
  237. package/internal/utils/sleep.d.ts +2 -0
  238. package/internal/utils/sleep.d.ts.map +1 -0
  239. package/internal/utils/sleep.js +7 -0
  240. package/internal/utils/sleep.js.map +1 -0
  241. package/internal/utils/sleep.mjs +3 -0
  242. package/internal/utils/sleep.mjs.map +1 -0
  243. package/internal/utils/uuid.d.mts +5 -0
  244. package/internal/utils/uuid.d.mts.map +1 -0
  245. package/internal/utils/uuid.d.ts +5 -0
  246. package/internal/utils/uuid.d.ts.map +1 -0
  247. package/internal/utils/uuid.js +19 -0
  248. package/internal/utils/uuid.js.map +1 -0
  249. package/internal/utils/uuid.mjs +15 -0
  250. package/internal/utils/uuid.mjs.map +1 -0
  251. package/internal/utils/values.d.mts +18 -0
  252. package/internal/utils/values.d.mts.map +1 -0
  253. package/internal/utils/values.d.ts +18 -0
  254. package/internal/utils/values.d.ts.map +1 -0
  255. package/internal/utils/values.js +112 -0
  256. package/internal/utils/values.js.map +1 -0
  257. package/internal/utils/values.mjs +94 -0
  258. package/internal/utils/values.mjs.map +1 -0
  259. package/internal/utils.d.mts +7 -0
  260. package/internal/utils.d.mts.map +1 -0
  261. package/internal/utils.d.ts +7 -0
  262. package/internal/utils.d.ts.map +1 -0
  263. package/internal/utils.js +11 -0
  264. package/internal/utils.js.map +1 -0
  265. package/internal/utils.mjs +8 -0
  266. package/internal/utils.mjs.map +1 -0
  267. package/package.json +113 -64
  268. package/pagination.d.mts +2 -0
  269. package/pagination.d.mts.map +1 -0
  270. package/pagination.d.ts +1 -36
  271. package/pagination.d.ts.map +1 -1
  272. package/pagination.js +3 -40
  273. package/pagination.js.map +1 -1
  274. package/pagination.mjs +1 -38
  275. package/pagination.mjs.map +1 -1
  276. package/resource.d.mts +2 -0
  277. package/resource.d.mts.map +1 -0
  278. package/resource.d.ts +1 -5
  279. package/resource.d.ts.map +1 -1
  280. package/resource.js +3 -8
  281. package/resource.js.map +1 -1
  282. package/resource.mjs +1 -6
  283. package/resource.mjs.map +1 -1
  284. package/resources/index.d.mts +5 -0
  285. package/resources/index.d.mts.map +1 -0
  286. package/resources/index.d.ts.map +1 -1
  287. package/resources/index.js +2 -15
  288. package/resources/index.js.map +1 -1
  289. package/resources/shared.d.mts +2363 -0
  290. package/resources/shared.d.mts.map +1 -0
  291. package/resources/shared.d.ts +1470 -465
  292. package/resources/shared.d.ts.map +1 -1
  293. package/resources/v1/alerts.d.mts +207 -0
  294. package/resources/v1/alerts.d.mts.map +1 -0
  295. package/resources/v1/alerts.d.ts +107 -32
  296. package/resources/v1/alerts.d.ts.map +1 -1
  297. package/resources/v1/alerts.js +74 -3
  298. package/resources/v1/alerts.js.map +1 -1
  299. package/resources/v1/alerts.mjs +74 -3
  300. package/resources/v1/alerts.mjs.map +1 -1
  301. package/resources/v1/audit-logs.d.mts +108 -0
  302. package/resources/v1/audit-logs.d.mts.map +1 -0
  303. package/resources/v1/audit-logs.d.ts +45 -12
  304. package/resources/v1/audit-logs.d.ts.map +1 -1
  305. package/resources/v1/audit-logs.js +53 -12
  306. package/resources/v1/audit-logs.js.map +1 -1
  307. package/resources/v1/audit-logs.mjs +52 -10
  308. package/resources/v1/audit-logs.mjs.map +1 -1
  309. package/resources/v1/billable-metrics.d.mts +293 -0
  310. package/resources/v1/billable-metrics.d.mts.map +1 -0
  311. package/resources/v1/billable-metrics.d.ts +70 -15
  312. package/resources/v1/billable-metrics.d.ts.map +1 -1
  313. package/resources/v1/billable-metrics.js +70 -16
  314. package/resources/v1/billable-metrics.js.map +1 -1
  315. package/resources/v1/billable-metrics.mjs +69 -14
  316. package/resources/v1/billable-metrics.mjs.map +1 -1
  317. package/resources/v1/contracts/contracts.d.mts +3006 -0
  318. package/resources/v1/contracts/contracts.d.mts.map +1 -0
  319. package/resources/v1/contracts/contracts.d.ts +428 -1299
  320. package/resources/v1/contracts/contracts.d.ts.map +1 -1
  321. package/resources/v1/contracts/contracts.js +269 -50
  322. package/resources/v1/contracts/contracts.js.map +1 -1
  323. package/resources/v1/contracts/contracts.mjs +267 -26
  324. package/resources/v1/contracts/contracts.mjs.map +1 -1
  325. package/resources/v1/contracts/index.d.mts +5 -0
  326. package/resources/v1/contracts/index.d.mts.map +1 -0
  327. package/resources/v1/contracts/index.d.ts +3 -3
  328. package/resources/v1/contracts/index.d.ts.map +1 -1
  329. package/resources/v1/contracts/index.js +1 -3
  330. package/resources/v1/contracts/index.js.map +1 -1
  331. package/resources/v1/contracts/index.mjs +2 -2
  332. package/resources/v1/contracts/index.mjs.map +1 -1
  333. package/resources/v1/contracts/named-schedules.d.mts +82 -0
  334. package/resources/v1/contracts/named-schedules.d.mts.map +1 -0
  335. package/resources/v1/contracts/named-schedules.d.ts +5 -4
  336. package/resources/v1/contracts/named-schedules.d.ts.map +1 -1
  337. package/resources/v1/contracts/named-schedules.js +3 -2
  338. package/resources/v1/contracts/named-schedules.js.map +1 -1
  339. package/resources/v1/contracts/named-schedules.mjs +3 -2
  340. package/resources/v1/contracts/named-schedules.mjs.map +1 -1
  341. package/resources/v1/contracts/products.d.mts +502 -0
  342. package/resources/v1/contracts/products.d.mts.map +1 -0
  343. package/resources/v1/contracts/products.d.ts +44 -17
  344. package/resources/v1/contracts/products.d.ts.map +1 -1
  345. package/resources/v1/contracts/products.js +41 -17
  346. package/resources/v1/contracts/products.js.map +1 -1
  347. package/resources/v1/contracts/products.mjs +40 -15
  348. package/resources/v1/contracts/products.mjs.map +1 -1
  349. package/resources/v1/contracts/rate-cards/index.d.mts +5 -0
  350. package/resources/v1/contracts/rate-cards/index.d.mts.map +1 -0
  351. package/resources/v1/contracts/rate-cards/index.d.ts +2 -2
  352. package/resources/v1/contracts/rate-cards/index.d.ts.map +1 -1
  353. package/resources/v1/contracts/rate-cards/index.js +1 -3
  354. package/resources/v1/contracts/rate-cards/index.js.map +1 -1
  355. package/resources/v1/contracts/rate-cards/index.mjs +2 -2
  356. package/resources/v1/contracts/rate-cards/index.mjs.map +1 -1
  357. package/resources/v1/contracts/rate-cards/named-schedules.d.mts +94 -0
  358. package/resources/v1/contracts/rate-cards/named-schedules.d.mts.map +1 -0
  359. package/resources/v1/contracts/rate-cards/named-schedules.d.ts +5 -4
  360. package/resources/v1/contracts/rate-cards/named-schedules.d.ts.map +1 -1
  361. package/resources/v1/contracts/rate-cards/named-schedules.js +3 -2
  362. package/resources/v1/contracts/rate-cards/named-schedules.js.map +1 -1
  363. package/resources/v1/contracts/rate-cards/named-schedules.mjs +3 -2
  364. package/resources/v1/contracts/rate-cards/named-schedules.mjs.map +1 -1
  365. package/resources/v1/contracts/rate-cards/product-orders.d.mts +85 -0
  366. package/resources/v1/contracts/rate-cards/product-orders.d.mts.map +1 -0
  367. package/resources/v1/contracts/rate-cards/product-orders.d.ts +12 -6
  368. package/resources/v1/contracts/rate-cards/product-orders.d.ts.map +1 -1
  369. package/resources/v1/contracts/rate-cards/product-orders.js +8 -3
  370. package/resources/v1/contracts/rate-cards/product-orders.js.map +1 -1
  371. package/resources/v1/contracts/rate-cards/product-orders.mjs +8 -3
  372. package/resources/v1/contracts/rate-cards/product-orders.mjs.map +1 -1
  373. package/resources/v1/contracts/rate-cards/rate-cards.d.mts +452 -0
  374. package/resources/v1/contracts/rate-cards/rate-cards.d.mts.map +1 -0
  375. package/resources/v1/contracts/rate-cards/rate-cards.d.ts +134 -41
  376. package/resources/v1/contracts/rate-cards/rate-cards.d.ts.map +1 -1
  377. package/resources/v1/contracts/rate-cards/rate-cards.js +127 -47
  378. package/resources/v1/contracts/rate-cards/rate-cards.js.map +1 -1
  379. package/resources/v1/contracts/rate-cards/rate-cards.mjs +123 -20
  380. package/resources/v1/contracts/rate-cards/rate-cards.mjs.map +1 -1
  381. package/resources/v1/contracts/rate-cards/rates.d.mts +382 -0
  382. package/resources/v1/contracts/rate-cards/rates.d.mts.map +1 -0
  383. package/resources/v1/contracts/rate-cards/rates.d.ts +25 -82
  384. package/resources/v1/contracts/rate-cards/rates.d.ts.map +1 -1
  385. package/resources/v1/contracts/rate-cards/rates.js +13 -9
  386. package/resources/v1/contracts/rate-cards/rates.js.map +1 -1
  387. package/resources/v1/contracts/rate-cards/rates.mjs +12 -7
  388. package/resources/v1/contracts/rate-cards/rates.mjs.map +1 -1
  389. package/resources/v1/contracts/rate-cards.d.mts +2 -0
  390. package/resources/v1/contracts/rate-cards.d.mts.map +1 -0
  391. package/resources/v1/contracts/rate-cards.d.ts.map +1 -1
  392. package/resources/v1/contracts/rate-cards.js +2 -15
  393. package/resources/v1/contracts/rate-cards.js.map +1 -1
  394. package/resources/v1/contracts.d.mts +2 -0
  395. package/resources/v1/contracts.d.mts.map +1 -0
  396. package/resources/v1/contracts.d.ts.map +1 -1
  397. package/resources/v1/contracts.js +2 -15
  398. package/resources/v1/contracts.js.map +1 -1
  399. package/resources/v1/credit-grants.d.mts +505 -0
  400. package/resources/v1/credit-grants.d.mts.map +1 -0
  401. package/resources/v1/credit-grants.d.ts +73 -74
  402. package/resources/v1/credit-grants.d.ts.map +1 -1
  403. package/resources/v1/credit-grants.js +52 -18
  404. package/resources/v1/credit-grants.js.map +1 -1
  405. package/resources/v1/credit-grants.mjs +51 -16
  406. package/resources/v1/credit-grants.mjs.map +1 -1
  407. package/resources/v1/custom-fields.d.mts +151 -0
  408. package/resources/v1/custom-fields.d.mts.map +1 -0
  409. package/resources/v1/custom-fields.d.ts +69 -38
  410. package/resources/v1/custom-fields.d.ts.map +1 -1
  411. package/resources/v1/custom-fields.js +66 -22
  412. package/resources/v1/custom-fields.js.map +1 -1
  413. package/resources/v1/custom-fields.mjs +66 -22
  414. package/resources/v1/custom-fields.mjs.map +1 -1
  415. package/resources/v1/customers/alerts.d.mts +309 -0
  416. package/resources/v1/customers/alerts.d.mts.map +1 -0
  417. package/resources/v1/customers/alerts.d.ts +176 -50
  418. package/resources/v1/customers/alerts.d.ts.map +1 -1
  419. package/resources/v1/customers/alerts.js +131 -10
  420. package/resources/v1/customers/alerts.js.map +1 -1
  421. package/resources/v1/customers/alerts.mjs +131 -10
  422. package/resources/v1/customers/alerts.mjs.map +1 -1
  423. package/resources/v1/customers/billing-config.d.mts +125 -0
  424. package/resources/v1/customers/billing-config.d.mts.map +1 -0
  425. package/resources/v1/customers/billing-config.d.ts +8 -7
  426. package/resources/v1/customers/billing-config.d.ts.map +1 -1
  427. package/resources/v1/customers/billing-config.js +8 -6
  428. package/resources/v1/customers/billing-config.js.map +1 -1
  429. package/resources/v1/customers/billing-config.mjs +8 -6
  430. package/resources/v1/customers/billing-config.mjs.map +1 -1
  431. package/resources/v1/customers/commits.d.mts +456 -0
  432. package/resources/v1/customers/commits.d.mts.map +1 -0
  433. package/resources/v1/customers/commits.d.ts +139 -47
  434. package/resources/v1/customers/commits.d.ts.map +1 -1
  435. package/resources/v1/customers/commits.js +131 -12
  436. package/resources/v1/customers/commits.js.map +1 -1
  437. package/resources/v1/customers/commits.mjs +131 -12
  438. package/resources/v1/customers/commits.mjs.map +1 -1
  439. package/resources/v1/customers/credits.d.mts +310 -0
  440. package/resources/v1/customers/credits.d.mts.map +1 -0
  441. package/resources/v1/customers/credits.d.ts +124 -46
  442. package/resources/v1/customers/credits.d.ts.map +1 -1
  443. package/resources/v1/customers/credits.js +116 -11
  444. package/resources/v1/customers/credits.js.map +1 -1
  445. package/resources/v1/customers/credits.mjs +116 -11
  446. package/resources/v1/customers/credits.mjs.map +1 -1
  447. package/resources/v1/customers/customers.d.mts +819 -0
  448. package/resources/v1/customers/customers.d.mts.map +1 -0
  449. package/resources/v1/customers/customers.d.ts +319 -55
  450. package/resources/v1/customers/customers.d.ts.map +1 -1
  451. package/resources/v1/customers/customers.js +220 -76
  452. package/resources/v1/customers/customers.js.map +1 -1
  453. package/resources/v1/customers/customers.mjs +213 -44
  454. package/resources/v1/customers/customers.mjs.map +1 -1
  455. package/resources/v1/customers/index.d.mts +9 -0
  456. package/resources/v1/customers/index.d.mts.map +1 -0
  457. package/resources/v1/customers/index.d.ts +6 -6
  458. package/resources/v1/customers/index.d.ts.map +1 -1
  459. package/resources/v1/customers/index.js +1 -8
  460. package/resources/v1/customers/index.js.map +1 -1
  461. package/resources/v1/customers/index.mjs +3 -3
  462. package/resources/v1/customers/index.mjs.map +1 -1
  463. package/resources/v1/customers/invoices.d.mts +825 -0
  464. package/resources/v1/customers/invoices.d.mts.map +1 -0
  465. package/resources/v1/customers/invoices.d.ts +309 -25
  466. package/resources/v1/customers/invoices.d.ts.map +1 -1
  467. package/resources/v1/customers/invoices.js +180 -22
  468. package/resources/v1/customers/invoices.js.map +1 -1
  469. package/resources/v1/customers/invoices.mjs +179 -19
  470. package/resources/v1/customers/invoices.mjs.map +1 -1
  471. package/resources/v1/customers/named-schedules.d.mts +82 -0
  472. package/resources/v1/customers/named-schedules.d.mts.map +1 -0
  473. package/resources/v1/customers/named-schedules.d.ts +5 -4
  474. package/resources/v1/customers/named-schedules.d.ts.map +1 -1
  475. package/resources/v1/customers/named-schedules.js +3 -2
  476. package/resources/v1/customers/named-schedules.js.map +1 -1
  477. package/resources/v1/customers/named-schedules.mjs +3 -2
  478. package/resources/v1/customers/named-schedules.mjs.map +1 -1
  479. package/resources/v1/customers/plans.d.mts +281 -0
  480. package/resources/v1/customers/plans.d.mts.map +1 -0
  481. package/resources/v1/customers/plans.d.ts +14 -12
  482. package/resources/v1/customers/plans.d.ts.map +1 -1
  483. package/resources/v1/customers/plans.js +8 -15
  484. package/resources/v1/customers/plans.js.map +1 -1
  485. package/resources/v1/customers/plans.mjs +7 -12
  486. package/resources/v1/customers/plans.mjs.map +1 -1
  487. package/resources/v1/customers.d.mts +2 -0
  488. package/resources/v1/customers.d.mts.map +1 -0
  489. package/resources/v1/customers.d.ts.map +1 -1
  490. package/resources/v1/customers.js +2 -15
  491. package/resources/v1/customers.js.map +1 -1
  492. package/resources/v1/dashboards.d.mts +133 -0
  493. package/resources/v1/dashboards.d.mts.map +1 -0
  494. package/resources/v1/dashboards.d.ts +33 -6
  495. package/resources/v1/dashboards.d.ts.map +1 -1
  496. package/resources/v1/dashboards.js +30 -4
  497. package/resources/v1/dashboards.js.map +1 -1
  498. package/resources/v1/dashboards.mjs +30 -4
  499. package/resources/v1/dashboards.mjs.map +1 -1
  500. package/resources/v1/index.d.mts +16 -0
  501. package/resources/v1/index.d.mts.map +1 -0
  502. package/resources/v1/index.d.ts +10 -9
  503. package/resources/v1/index.d.ts.map +1 -1
  504. package/resources/v1/index.js +3 -12
  505. package/resources/v1/index.js.map +1 -1
  506. package/resources/v1/index.mjs +8 -7
  507. package/resources/v1/index.mjs.map +1 -1
  508. package/resources/v1/invoices.d.mts +83 -0
  509. package/resources/v1/invoices.d.mts.map +1 -0
  510. package/resources/v1/invoices.d.ts +28 -6
  511. package/resources/v1/invoices.d.ts.map +1 -1
  512. package/resources/v1/invoices.js +24 -3
  513. package/resources/v1/invoices.js.map +1 -1
  514. package/resources/v1/invoices.mjs +24 -3
  515. package/resources/v1/invoices.mjs.map +1 -1
  516. package/resources/v1/payments.d.mts +116 -0
  517. package/resources/v1/payments.d.mts.map +1 -0
  518. package/resources/v1/payments.d.ts +116 -0
  519. package/resources/v1/payments.d.ts.map +1 -0
  520. package/resources/v1/payments.js +71 -0
  521. package/resources/v1/payments.js.map +1 -0
  522. package/resources/v1/payments.mjs +67 -0
  523. package/resources/v1/payments.mjs.map +1 -0
  524. package/resources/v1/plans.d.mts +240 -0
  525. package/resources/v1/plans.d.mts.map +1 -0
  526. package/resources/v1/plans.d.ts +24 -15
  527. package/resources/v1/plans.d.ts.map +1 -1
  528. package/resources/v1/plans.js +19 -26
  529. package/resources/v1/plans.js.map +1 -1
  530. package/resources/v1/plans.mjs +18 -22
  531. package/resources/v1/plans.mjs.map +1 -1
  532. package/resources/v1/pricing-units.d.mts +34 -0
  533. package/resources/v1/pricing-units.d.mts.map +1 -0
  534. package/resources/v1/pricing-units.d.ts +12 -9
  535. package/resources/v1/pricing-units.d.ts.map +1 -1
  536. package/resources/v1/pricing-units.js +20 -12
  537. package/resources/v1/pricing-units.js.map +1 -1
  538. package/resources/v1/pricing-units.mjs +19 -10
  539. package/resources/v1/pricing-units.mjs.map +1 -1
  540. package/resources/v1/services.d.mts +33 -0
  541. package/resources/v1/services.d.mts.map +1 -0
  542. package/resources/v1/services.d.ts +10 -7
  543. package/resources/v1/services.d.ts.map +1 -1
  544. package/resources/v1/services.js +7 -5
  545. package/resources/v1/services.js.map +1 -1
  546. package/resources/v1/services.mjs +7 -5
  547. package/resources/v1/services.mjs.map +1 -1
  548. package/resources/v1/usage.d.mts +490 -0
  549. package/resources/v1/usage.d.mts.map +1 -0
  550. package/resources/v1/usage.d.ts +223 -58
  551. package/resources/v1/usage.d.ts.map +1 -1
  552. package/resources/v1/usage.js +214 -26
  553. package/resources/v1/usage.js.map +1 -1
  554. package/resources/v1/usage.mjs +213 -24
  555. package/resources/v1/usage.mjs.map +1 -1
  556. package/resources/v1/v1.d.mts +62 -0
  557. package/resources/v1/v1.d.mts.map +1 -0
  558. package/resources/v1/v1.d.ts +19 -15
  559. package/resources/v1/v1.d.ts.map +1 -1
  560. package/resources/v1/v1.js +19 -48
  561. package/resources/v1/v1.js.map +1 -1
  562. package/resources/v1/v1.mjs +12 -19
  563. package/resources/v1/v1.mjs.map +1 -1
  564. package/resources/v1.d.mts +2 -0
  565. package/resources/v1.d.mts.map +1 -0
  566. package/resources/v1.d.ts.map +1 -1
  567. package/resources/v1.js +2 -15
  568. package/resources/v1.js.map +1 -1
  569. package/resources/v2/contracts.d.mts +2900 -0
  570. package/resources/v2/contracts.d.mts.map +1 -0
  571. package/resources/v2/contracts.d.ts +399 -3830
  572. package/resources/v2/contracts.d.ts.map +1 -1
  573. package/resources/v2/contracts.js +102 -12
  574. package/resources/v2/contracts.js.map +1 -1
  575. package/resources/v2/contracts.mjs +102 -12
  576. package/resources/v2/contracts.mjs.map +1 -1
  577. package/resources/v2/index.d.mts +3 -0
  578. package/resources/v2/index.d.mts.map +1 -0
  579. package/resources/v2/index.d.ts.map +1 -1
  580. package/resources/v2/v2.d.mts +10 -0
  581. package/resources/v2/v2.d.mts.map +1 -0
  582. package/resources/v2/v2.d.ts +1 -1
  583. package/resources/v2/v2.d.ts.map +1 -1
  584. package/resources/v2/v2.js +3 -25
  585. package/resources/v2/v2.js.map +1 -1
  586. package/resources/v2/v2.mjs +1 -1
  587. package/resources/v2.d.mts +2 -0
  588. package/resources/v2.d.mts.map +1 -0
  589. package/resources/v2.d.ts.map +1 -1
  590. package/resources/v2.js +2 -15
  591. package/resources/v2.js.map +1 -1
  592. package/resources/webhooks.d.mts +22 -0
  593. package/resources/webhooks.d.mts.map +1 -0
  594. package/resources/webhooks.d.ts +1 -1
  595. package/resources/webhooks.d.ts.map +1 -1
  596. package/resources/webhooks.js +3 -3
  597. package/resources/webhooks.js.map +1 -1
  598. package/resources/webhooks.mjs +1 -1
  599. package/resources/webhooks.mjs.map +1 -1
  600. package/resources.d.mts +2 -0
  601. package/resources.d.mts.map +1 -0
  602. package/resources.d.ts.map +1 -1
  603. package/resources.js +2 -15
  604. package/resources.js.map +1 -1
  605. package/src/api-promise.ts +2 -0
  606. package/src/client.ts +809 -0
  607. package/src/core/README.md +3 -0
  608. package/src/core/api-promise.ts +92 -0
  609. package/src/core/error.ts +130 -0
  610. package/src/core/pagination.ts +319 -0
  611. package/src/core/resource.ts +11 -0
  612. package/src/core/uploads.ts +2 -0
  613. package/src/error.ts +2 -130
  614. package/src/index.ts +6 -221
  615. package/src/internal/README.md +3 -0
  616. package/src/internal/builtin-types.ts +93 -0
  617. package/src/internal/detect-platform.ts +196 -0
  618. package/src/internal/errors.ts +33 -0
  619. package/src/internal/headers.ts +144 -0
  620. package/src/internal/parse.ts +50 -0
  621. package/src/internal/qs/formats.ts +3 -2
  622. package/src/internal/qs/index.ts +3 -3
  623. package/src/internal/qs/stringify.ts +18 -21
  624. package/src/internal/qs/utils.ts +16 -16
  625. package/src/internal/request-options.ts +91 -0
  626. package/src/internal/shim-types.ts +26 -0
  627. package/src/internal/shims.ts +107 -0
  628. package/src/internal/to-file.ts +154 -0
  629. package/src/internal/types.ts +95 -0
  630. package/src/internal/uploads.ts +187 -0
  631. package/src/internal/utils/base64.ts +40 -0
  632. package/src/internal/utils/bytes.ts +32 -0
  633. package/src/internal/utils/env.ts +18 -0
  634. package/src/internal/utils/log.ts +126 -0
  635. package/src/internal/utils/path.ts +88 -0
  636. package/src/internal/utils/sleep.ts +3 -0
  637. package/src/internal/utils/uuid.ts +17 -0
  638. package/src/internal/utils/values.ts +105 -0
  639. package/src/internal/utils.ts +8 -0
  640. package/src/pagination.ts +2 -82
  641. package/src/resource.ts +2 -11
  642. package/src/resources/index.ts +4 -4
  643. package/src/resources/shared.ts +1921 -506
  644. package/src/resources/v1/alerts.ts +108 -33
  645. package/src/resources/v1/audit-logs.ts +48 -26
  646. package/src/resources/v1/billable-metrics.ts +79 -34
  647. package/src/resources/v1/contracts/contracts.ts +490 -1632
  648. package/src/resources/v1/contracts/index.ts +7 -6
  649. package/src/resources/v1/contracts/named-schedules.ts +8 -6
  650. package/src/resources/v1/contracts/products.ts +50 -38
  651. package/src/resources/v1/contracts/rate-cards/index.ts +6 -6
  652. package/src/resources/v1/contracts/rate-cards/named-schedules.ts +8 -6
  653. package/src/resources/v1/contracts/rate-cards/product-orders.ts +13 -10
  654. package/src/resources/v1/contracts/rate-cards/rate-cards.ts +145 -72
  655. package/src/resources/v1/contracts/rate-cards/rates.ts +28 -98
  656. package/src/resources/v1/contracts/rate-cards.ts +1 -1
  657. package/src/resources/v1/contracts.ts +1 -1
  658. package/src/resources/v1/credit-grants.ts +100 -112
  659. package/src/resources/v1/custom-fields.ts +106 -74
  660. package/src/resources/v1/customers/alerts.ts +195 -55
  661. package/src/resources/v1/customers/billing-config.ts +27 -13
  662. package/src/resources/v1/customers/commits.ts +146 -54
  663. package/src/resources/v1/customers/credits.ts +131 -53
  664. package/src/resources/v1/customers/customers.ts +407 -115
  665. package/src/resources/v1/customers/index.ts +20 -18
  666. package/src/resources/v1/customers/invoices.ts +343 -42
  667. package/src/resources/v1/customers/named-schedules.ts +8 -6
  668. package/src/resources/v1/customers/plans.ts +24 -22
  669. package/src/resources/v1/customers.ts +1 -1
  670. package/src/resources/v1/dashboards.ts +34 -7
  671. package/src/resources/v1/index.ts +43 -25
  672. package/src/resources/v1/invoices.ts +28 -9
  673. package/src/resources/v1/payments.ts +170 -0
  674. package/src/resources/v1/plans.ts +42 -43
  675. package/src/resources/v1/pricing-units.ts +15 -23
  676. package/src/resources/v1/services.ts +10 -7
  677. package/src/resources/v1/usage.ts +247 -73
  678. package/src/resources/v1/v1.ts +78 -49
  679. package/src/resources/v1.ts +1 -1
  680. package/src/resources/v2/contracts.ts +469 -4930
  681. package/src/resources/v2/index.ts +2 -2
  682. package/src/resources/v2/v2.ts +3 -3
  683. package/src/resources/v2.ts +1 -1
  684. package/src/resources/webhooks.ts +2 -2
  685. package/src/resources.ts +1 -1
  686. package/src/tsconfig.json +2 -2
  687. package/src/uploads.ts +2 -255
  688. package/src/version.ts +1 -1
  689. package/uploads.d.mts +2 -0
  690. package/uploads.d.mts.map +1 -0
  691. package/uploads.d.ts +1 -74
  692. package/uploads.d.ts.map +1 -1
  693. package/uploads.js +3 -168
  694. package/uploads.js.map +1 -1
  695. package/uploads.mjs +1 -157
  696. package/uploads.mjs.map +1 -1
  697. package/version.d.mts +2 -0
  698. package/version.d.mts.map +1 -0
  699. package/version.d.ts +1 -1
  700. package/version.js +1 -1
  701. package/version.mjs +1 -1
  702. package/_shims/MultipartBody.d.ts +0 -9
  703. package/_shims/MultipartBody.d.ts.map +0 -1
  704. package/_shims/MultipartBody.js +0 -16
  705. package/_shims/MultipartBody.js.map +0 -1
  706. package/_shims/MultipartBody.mjs +0 -12
  707. package/_shims/MultipartBody.mjs.map +0 -1
  708. package/_shims/README.md +0 -46
  709. package/_shims/auto/runtime-bun.d.ts +0 -5
  710. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  711. package/_shims/auto/runtime-bun.js +0 -21
  712. package/_shims/auto/runtime-bun.js.map +0 -1
  713. package/_shims/auto/runtime-bun.mjs +0 -2
  714. package/_shims/auto/runtime-bun.mjs.map +0 -1
  715. package/_shims/auto/runtime-node.d.ts +0 -5
  716. package/_shims/auto/runtime-node.d.ts.map +0 -1
  717. package/_shims/auto/runtime-node.js +0 -21
  718. package/_shims/auto/runtime-node.js.map +0 -1
  719. package/_shims/auto/runtime-node.mjs +0 -2
  720. package/_shims/auto/runtime-node.mjs.map +0 -1
  721. package/_shims/auto/runtime.d.ts +0 -5
  722. package/_shims/auto/runtime.d.ts.map +0 -1
  723. package/_shims/auto/runtime.js +0 -21
  724. package/_shims/auto/runtime.js.map +0 -1
  725. package/_shims/auto/runtime.mjs +0 -2
  726. package/_shims/auto/runtime.mjs.map +0 -1
  727. package/_shims/auto/types-node.d.ts +0 -5
  728. package/_shims/auto/types-node.d.ts.map +0 -1
  729. package/_shims/auto/types-node.js +0 -21
  730. package/_shims/auto/types-node.js.map +0 -1
  731. package/_shims/auto/types-node.mjs +0 -2
  732. package/_shims/auto/types-node.mjs.map +0 -1
  733. package/_shims/auto/types.d.ts +0 -101
  734. package/_shims/auto/types.js +0 -3
  735. package/_shims/auto/types.mjs +0 -3
  736. package/_shims/bun-runtime.d.ts +0 -6
  737. package/_shims/bun-runtime.d.ts.map +0 -1
  738. package/_shims/bun-runtime.js +0 -14
  739. package/_shims/bun-runtime.js.map +0 -1
  740. package/_shims/bun-runtime.mjs +0 -10
  741. package/_shims/bun-runtime.mjs.map +0 -1
  742. package/_shims/index.d.ts +0 -83
  743. package/_shims/index.js +0 -17
  744. package/_shims/index.mjs +0 -11
  745. package/_shims/manual-types.d.ts +0 -12
  746. package/_shims/manual-types.js +0 -3
  747. package/_shims/manual-types.mjs +0 -3
  748. package/_shims/node-runtime.d.ts +0 -3
  749. package/_shims/node-runtime.d.ts.map +0 -1
  750. package/_shims/node-runtime.js +0 -89
  751. package/_shims/node-runtime.js.map +0 -1
  752. package/_shims/node-runtime.mjs +0 -56
  753. package/_shims/node-runtime.mjs.map +0 -1
  754. package/_shims/node-types.d.ts +0 -42
  755. package/_shims/node-types.js +0 -3
  756. package/_shims/node-types.mjs +0 -3
  757. package/_shims/registry.d.ts +0 -37
  758. package/_shims/registry.d.ts.map +0 -1
  759. package/_shims/registry.js +0 -41
  760. package/_shims/registry.js.map +0 -1
  761. package/_shims/registry.mjs +0 -37
  762. package/_shims/registry.mjs.map +0 -1
  763. package/_shims/web-runtime.d.ts +0 -5
  764. package/_shims/web-runtime.d.ts.map +0 -1
  765. package/_shims/web-runtime.js +0 -78
  766. package/_shims/web-runtime.js.map +0 -1
  767. package/_shims/web-runtime.mjs +0 -71
  768. package/_shims/web-runtime.mjs.map +0 -1
  769. package/_shims/web-types.d.ts +0 -83
  770. package/_shims/web-types.js +0 -3
  771. package/_shims/web-types.mjs +0 -3
  772. package/core.d.ts +0 -255
  773. package/core.d.ts.map +0 -1
  774. package/core.js +0 -924
  775. package/core.js.map +0 -1
  776. package/core.mjs +0 -892
  777. package/core.mjs.map +0 -1
  778. package/shims/node.d.ts +0 -30
  779. package/shims/node.d.ts.map +0 -1
  780. package/shims/node.js +0 -31
  781. package/shims/node.js.map +0 -1
  782. package/shims/node.mjs +0 -5
  783. package/shims/node.mjs.map +0 -1
  784. package/shims/web.d.ts +0 -26
  785. package/shims/web.d.ts.map +0 -1
  786. package/shims/web.js +0 -31
  787. package/shims/web.js.map +0 -1
  788. package/shims/web.mjs +0 -5
  789. package/shims/web.mjs.map +0 -1
  790. package/src/_shims/MultipartBody.ts +0 -9
  791. package/src/_shims/README.md +0 -46
  792. package/src/_shims/auto/runtime-bun.ts +0 -4
  793. package/src/_shims/auto/runtime-node.ts +0 -4
  794. package/src/_shims/auto/runtime.ts +0 -4
  795. package/src/_shims/auto/types-node.ts +0 -4
  796. package/src/_shims/auto/types.d.ts +0 -101
  797. package/src/_shims/auto/types.js +0 -3
  798. package/src/_shims/auto/types.mjs +0 -3
  799. package/src/_shims/bun-runtime.ts +0 -14
  800. package/src/_shims/index.d.ts +0 -83
  801. package/src/_shims/index.js +0 -17
  802. package/src/_shims/index.mjs +0 -11
  803. package/src/_shims/manual-types.d.ts +0 -12
  804. package/src/_shims/manual-types.js +0 -3
  805. package/src/_shims/manual-types.mjs +0 -3
  806. package/src/_shims/node-runtime.ts +0 -81
  807. package/src/_shims/node-types.d.ts +0 -42
  808. package/src/_shims/node-types.js +0 -3
  809. package/src/_shims/node-types.mjs +0 -3
  810. package/src/_shims/registry.ts +0 -67
  811. package/src/_shims/web-runtime.ts +0 -103
  812. package/src/_shims/web-types.d.ts +0 -83
  813. package/src/_shims/web-types.js +0 -3
  814. package/src/_shims/web-types.mjs +0 -3
  815. package/src/core.ts +0 -1236
  816. package/src/shims/node.ts +0 -50
  817. package/src/shims/web.ts +0 -50
@@ -1,9 +1,38 @@
1
- import { APIResource } from "../../resource.js";
2
- import * as Core from "../../core.js";
1
+ import { APIResource } from "../../core/resource.js";
2
+ import { APIPromise } from "../../core/api-promise.js";
3
+ import { CursorPageWithoutLimit, type CursorPageWithoutLimitParams, PagePromise } from "../../core/pagination.js";
4
+ import { RequestOptions } from "../../internal/request-options.js";
3
5
  export declare class CustomFields extends APIResource {
4
6
  /**
5
- * Add a key to the allow list for a given entity. There is a 100 character limit
6
- * on custom field keys.
7
+ * Creates a new custom field key for a given entity (e.g. billable metric,
8
+ * contract, alert).
9
+ *
10
+ * Custom fields are properties that you can add to Metronome objects to store
11
+ * metadata like foreign keys or other descriptors. This metadata can get
12
+ * transferred to or accessed by other systems to contextualize Metronome data and
13
+ * power business processes. For example, to service workflows like revenue
14
+ * recognition, reconciliation, and invoicing, custom fields help Metronome know
15
+ * the relationship between entities in the platform and third-party systems.
16
+ *
17
+ * ### Use this endpoint to:
18
+ *
19
+ * - Create a new custom field key for Customer objects in Metronome. You can then
20
+ * use the Set Custom Field Values endpoint to set the value of this key for a
21
+ * specific customer.
22
+ * - Specify whether the key should enforce uniqueness. If the key is set to
23
+ * enforce uniqueness and you attempt to set a custom field value for the key
24
+ * that already exists, it will fail.
25
+ *
26
+ * ### Usage guidelines:
27
+ *
28
+ * - Custom fields set on commits, credits, and contracts can be used to scope
29
+ * alert evaluation. For example, you can create a spend threshold alert that
30
+ * only considers spend associated with contracts with custom field key
31
+ * `contract_type` and value `paygo`
32
+ * - Custom fields set on products can be used in the Stripe integration to set
33
+ * metadata on invoices.
34
+ * - Custom fields for customers, contracts, invoices, products, commits, scheduled
35
+ * charges, and subscriptions are passed down to the invoice.
7
36
  *
8
37
  * @example
9
38
  * ```ts
@@ -14,9 +43,12 @@ export declare class CustomFields extends APIResource {
14
43
  * });
15
44
  * ```
16
45
  */
17
- addKey(body: CustomFieldAddKeyParams, options?: Core.RequestOptions): Core.APIPromise<void>;
46
+ addKey(body: CustomFieldAddKeyParams, options?: RequestOptions): APIPromise<void>;
18
47
  /**
19
- * Deletes one or more custom fields on an instance of a Metronome entity.
48
+ * Remove specific custom field values from a Metronome entity instance by
49
+ * specifying the field keys to delete. Use this endpoint to clean up unwanted
50
+ * custom field data while preserving other fields on the same entity. Requires the
51
+ * entity type, entity ID, and array of keys to remove.
20
52
  *
21
53
  * @example
22
54
  * ```ts
@@ -27,21 +59,29 @@ export declare class CustomFields extends APIResource {
27
59
  * });
28
60
  * ```
29
61
  */
30
- deleteValues(body: CustomFieldDeleteValuesParams, options?: Core.RequestOptions): Core.APIPromise<void>;
62
+ deleteValues(body: CustomFieldDeleteValuesParams, options?: RequestOptions): APIPromise<void>;
31
63
  /**
32
- * List all active custom field keys, optionally filtered by entity type.
64
+ * Retrieve all your active custom field keys, with optional filtering by entity
65
+ * type (customer, contract, product, etc.). Use this endpoint to discover what
66
+ * custom field keys are available before setting values on entities or to audit
67
+ * your custom field configuration across different entity types.
33
68
  *
34
69
  * @example
35
70
  * ```ts
36
- * const response = await client.v1.customFields.listKeys({
37
- * entities: ['customer'],
38
- * });
71
+ * // Automatically fetches more pages as needed.
72
+ * for await (const customFieldListKeysResponse of client.v1.customFields.listKeys(
73
+ * { entities: ['customer'] },
74
+ * )) {
75
+ * // ...
76
+ * }
39
77
  * ```
40
78
  */
41
- listKeys(params?: CustomFieldListKeysParams, options?: Core.RequestOptions): Core.APIPromise<CustomFieldListKeysResponse>;
42
- listKeys(options?: Core.RequestOptions): Core.APIPromise<CustomFieldListKeysResponse>;
79
+ listKeys(params?: CustomFieldListKeysParams | null | undefined, options?: RequestOptions): PagePromise<CustomFieldListKeysResponsesCursorPageWithoutLimit, CustomFieldListKeysResponse>;
43
80
  /**
44
- * Remove a key from the allow list for a given entity.
81
+ * Removes a custom field key from the allowlist for a specific entity type,
82
+ * preventing future use of that key across all instances of the entity. Existing
83
+ * values for this key on entity instances will no longer be accessible once the
84
+ * key is removed.
45
85
  *
46
86
  * @example
47
87
  * ```ts
@@ -51,15 +91,12 @@ export declare class CustomFields extends APIResource {
51
91
  * });
52
92
  * ```
53
93
  */
54
- removeKey(body: CustomFieldRemoveKeyParams, options?: Core.RequestOptions): Core.APIPromise<void>;
94
+ removeKey(body: CustomFieldRemoveKeyParams, options?: RequestOptions): APIPromise<void>;
55
95
  /**
56
- * Sets one or more custom fields on an instance of a Metronome entity. If a
57
- * key/value pair passed in this request matches one already set on the entity, its
58
- * value will be overwritten. Any key/value pairs that exist on the entity that do
59
- * not match those passed in this request will remain untouched. This endpoint is
60
- * transactional and will update all key/value pairs or no key/value pairs. Partial
61
- * updates are not supported. There is a 200 character limit on custom field
62
- * values.
96
+ * Sets custom field values on a specific Metronome entity instance. Overwrites
97
+ * existing values for matching keys while preserving other fields. All updates are
98
+ * transactional—either all values are set or none are. Custom field values are
99
+ * limited to 200 characters each.
63
100
  *
64
101
  * @example
65
102
  * ```ts
@@ -70,18 +107,13 @@ export declare class CustomFields extends APIResource {
70
107
  * });
71
108
  * ```
72
109
  */
73
- setValues(body: CustomFieldSetValuesParams, options?: Core.RequestOptions): Core.APIPromise<void>;
110
+ setValues(body: CustomFieldSetValuesParams, options?: RequestOptions): APIPromise<void>;
74
111
  }
112
+ export type CustomFieldListKeysResponsesCursorPageWithoutLimit = CursorPageWithoutLimit<CustomFieldListKeysResponse>;
75
113
  export interface CustomFieldListKeysResponse {
76
- data: Array<CustomFieldListKeysResponse.Data>;
77
- next_page: string | null;
78
- }
79
- export declare namespace CustomFieldListKeysResponse {
80
- interface Data {
81
- enforce_uniqueness: boolean;
82
- entity: 'alert' | 'billable_metric' | 'charge' | 'commit' | 'contract_credit' | 'contract_product' | 'contract' | 'credit_grant' | 'customer_plan' | 'customer' | 'discount' | 'invoice' | 'plan' | 'professional_service' | 'product' | 'rate_card' | 'scheduled_charge' | 'subscription';
83
- key: string;
84
- }
114
+ enforce_uniqueness: boolean;
115
+ entity: 'alert' | 'billable_metric' | 'charge' | 'commit' | 'contract_credit' | 'contract_product' | 'contract' | 'credit_grant' | 'customer_plan' | 'customer' | 'discount' | 'invoice' | 'plan' | 'professional_service' | 'product' | 'rate_card' | 'scheduled_charge' | 'subscription';
116
+ key: string;
85
117
  }
86
118
  export interface CustomFieldAddKeyParams {
87
119
  enforce_uniqueness: boolean;
@@ -93,11 +125,7 @@ export interface CustomFieldDeleteValuesParams {
93
125
  entity_id: string;
94
126
  keys: Array<string>;
95
127
  }
96
- export interface CustomFieldListKeysParams {
97
- /**
98
- * Query param: Cursor that indicates where the next page of results should start.
99
- */
100
- next_page?: string;
128
+ export interface CustomFieldListKeysParams extends CursorPageWithoutLimitParams {
101
129
  /**
102
130
  * Body param: Optional list of entity types to return keys for
103
131
  */
@@ -108,6 +136,9 @@ export interface CustomFieldRemoveKeyParams {
108
136
  key: string;
109
137
  }
110
138
  export interface CustomFieldSetValuesParams {
139
+ /**
140
+ * Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
141
+ */
111
142
  custom_fields: {
112
143
  [key: string]: string;
113
144
  };
@@ -115,6 +146,6 @@ export interface CustomFieldSetValuesParams {
115
146
  entity_id: string;
116
147
  }
117
148
  export declare namespace CustomFields {
118
- export { type CustomFieldListKeysResponse as CustomFieldListKeysResponse, type CustomFieldAddKeyParams as CustomFieldAddKeyParams, type CustomFieldDeleteValuesParams as CustomFieldDeleteValuesParams, type CustomFieldListKeysParams as CustomFieldListKeysParams, type CustomFieldRemoveKeyParams as CustomFieldRemoveKeyParams, type CustomFieldSetValuesParams as CustomFieldSetValuesParams, };
149
+ export { type CustomFieldListKeysResponse as CustomFieldListKeysResponse, type CustomFieldListKeysResponsesCursorPageWithoutLimit as CustomFieldListKeysResponsesCursorPageWithoutLimit, type CustomFieldAddKeyParams as CustomFieldAddKeyParams, type CustomFieldDeleteValuesParams as CustomFieldDeleteValuesParams, type CustomFieldListKeysParams as CustomFieldListKeysParams, type CustomFieldRemoveKeyParams as CustomFieldRemoveKeyParams, type CustomFieldSetValuesParams as CustomFieldSetValuesParams, };
119
150
  }
120
151
  //# sourceMappingURL=custom-fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.d.ts","sourceRoot":"","sources":["../../src/resources/v1/custom-fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-fields.d.ts","sourceRoot":"","sources":["../../src/resources/v1/custom-fields.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,40 @@
2
2
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.CustomFields = void 0;
5
- const resource_1 = require("../../resource.js");
6
- const core_1 = require("../../core.js");
5
+ const resource_1 = require("../../core/resource.js");
6
+ const pagination_1 = require("../../core/pagination.js");
7
+ const headers_1 = require("../../internal/headers.js");
7
8
  class CustomFields extends resource_1.APIResource {
8
9
  /**
9
- * Add a key to the allow list for a given entity. There is a 100 character limit
10
- * on custom field keys.
10
+ * Creates a new custom field key for a given entity (e.g. billable metric,
11
+ * contract, alert).
12
+ *
13
+ * Custom fields are properties that you can add to Metronome objects to store
14
+ * metadata like foreign keys or other descriptors. This metadata can get
15
+ * transferred to or accessed by other systems to contextualize Metronome data and
16
+ * power business processes. For example, to service workflows like revenue
17
+ * recognition, reconciliation, and invoicing, custom fields help Metronome know
18
+ * the relationship between entities in the platform and third-party systems.
19
+ *
20
+ * ### Use this endpoint to:
21
+ *
22
+ * - Create a new custom field key for Customer objects in Metronome. You can then
23
+ * use the Set Custom Field Values endpoint to set the value of this key for a
24
+ * specific customer.
25
+ * - Specify whether the key should enforce uniqueness. If the key is set to
26
+ * enforce uniqueness and you attempt to set a custom field value for the key
27
+ * that already exists, it will fail.
28
+ *
29
+ * ### Usage guidelines:
30
+ *
31
+ * - Custom fields set on commits, credits, and contracts can be used to scope
32
+ * alert evaluation. For example, you can create a spend threshold alert that
33
+ * only considers spend associated with contracts with custom field key
34
+ * `contract_type` and value `paygo`
35
+ * - Custom fields set on products can be used in the Stripe integration to set
36
+ * metadata on invoices.
37
+ * - Custom fields for customers, contracts, invoices, products, commits, scheduled
38
+ * charges, and subscriptions are passed down to the invoice.
11
39
  *
12
40
  * @example
13
41
  * ```ts
@@ -22,11 +50,14 @@ class CustomFields extends resource_1.APIResource {
22
50
  return this._client.post('/v1/customFields/addKey', {
23
51
  body,
24
52
  ...options,
25
- headers: { Accept: '*/*', ...options?.headers },
53
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
26
54
  });
27
55
  }
28
56
  /**
29
- * Deletes one or more custom fields on an instance of a Metronome entity.
57
+ * Remove specific custom field values from a Metronome entity instance by
58
+ * specifying the field keys to delete. Use this endpoint to clean up unwanted
59
+ * custom field data while preserving other fields on the same entity. Requires the
60
+ * entity type, entity ID, and array of keys to remove.
30
61
  *
31
62
  * @example
32
63
  * ```ts
@@ -41,18 +72,34 @@ class CustomFields extends resource_1.APIResource {
41
72
  return this._client.post('/v1/customFields/deleteValues', {
42
73
  body,
43
74
  ...options,
44
- headers: { Accept: '*/*', ...options?.headers },
75
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
45
76
  });
46
77
  }
78
+ /**
79
+ * Retrieve all your active custom field keys, with optional filtering by entity
80
+ * type (customer, contract, product, etc.). Use this endpoint to discover what
81
+ * custom field keys are available before setting values on entities or to audit
82
+ * your custom field configuration across different entity types.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * // Automatically fetches more pages as needed.
87
+ * for await (const customFieldListKeysResponse of client.v1.customFields.listKeys(
88
+ * { entities: ['customer'] },
89
+ * )) {
90
+ * // ...
91
+ * }
92
+ * ```
93
+ */
47
94
  listKeys(params = {}, options) {
48
- if ((0, core_1.isRequestOptions)(params)) {
49
- return this.listKeys({}, params);
50
- }
51
- const { next_page, ...body } = params;
52
- return this._client.post('/v1/customFields/listKeys', { query: { next_page }, body, ...options });
95
+ const { next_page, ...body } = params ?? {};
96
+ return this._client.getAPIList('/v1/customFields/listKeys', (pagination_1.CursorPageWithoutLimit), { query: { next_page }, body, method: 'post', ...options });
53
97
  }
54
98
  /**
55
- * Remove a key from the allow list for a given entity.
99
+ * Removes a custom field key from the allowlist for a specific entity type,
100
+ * preventing future use of that key across all instances of the entity. Existing
101
+ * values for this key on entity instances will no longer be accessible once the
102
+ * key is removed.
56
103
  *
57
104
  * @example
58
105
  * ```ts
@@ -66,17 +113,14 @@ class CustomFields extends resource_1.APIResource {
66
113
  return this._client.post('/v1/customFields/removeKey', {
67
114
  body,
68
115
  ...options,
69
- headers: { Accept: '*/*', ...options?.headers },
116
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
70
117
  });
71
118
  }
72
119
  /**
73
- * Sets one or more custom fields on an instance of a Metronome entity. If a
74
- * key/value pair passed in this request matches one already set on the entity, its
75
- * value will be overwritten. Any key/value pairs that exist on the entity that do
76
- * not match those passed in this request will remain untouched. This endpoint is
77
- * transactional and will update all key/value pairs or no key/value pairs. Partial
78
- * updates are not supported. There is a 200 character limit on custom field
79
- * values.
120
+ * Sets custom field values on a specific Metronome entity instance. Overwrites
121
+ * existing values for matching keys while preserving other fields. All updates are
122
+ * transactional—either all values are set or none are. Custom field values are
123
+ * limited to 200 characters each.
80
124
  *
81
125
  * @example
82
126
  * ```ts
@@ -91,7 +135,7 @@ class CustomFields extends resource_1.APIResource {
91
135
  return this._client.post('/v1/customFields/setValues', {
92
136
  body,
93
137
  ...options,
94
- headers: { Accept: '*/*', ...options?.headers },
138
+ headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
95
139
  });
96
140
  }
97
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../../src/resources/v1/custom-fields.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,gDAA6C;AAC7C,wCAA8C;AAG9C,MAAa,YAAa,SAAQ,sBAAW;IAC3C;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAA6B,EAAE,OAA6B;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAmC,EAAE,OAA6B;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;YACxD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAiBD,QAAQ,CACN,SAA0D,EAAE,EAC5D,OAA6B;QAE7B,IAAI,IAAA,uBAAgB,EAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAClC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAgC,EAAE,OAA6B;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,IAAgC,EAAE,OAA6B;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;CACF;AAhHD,oCAgHC"}
1
+ {"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../../src/resources/v1/custom-fields.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,qDAAkD;AAElD,yDAI+B;AAC/B,uDAAsD;AAGtD,MAAa,YAAa,SAAQ,sBAAW;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,MAAM,CAAC,IAA6B,EAAE,OAAwB;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,IAAmC,EAAE,OAAwB;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;YACxD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CACN,SAAuD,EAAE,EACzD,OAAwB;QAExB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,2BAA2B,EAC3B,CAAA,mCAAmD,CAAA,EACnD,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,IAAgC,EAAE,OAAwB;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,IAAgC,EAAE,OAAwB;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AAhJD,oCAgJC"}
@@ -1,10 +1,38 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- import { APIResource } from "../../resource.mjs";
3
- import { isRequestOptions } from "../../core.mjs";
2
+ import { APIResource } from "../../core/resource.mjs";
3
+ import { CursorPageWithoutLimit, } from "../../core/pagination.mjs";
4
+ import { buildHeaders } from "../../internal/headers.mjs";
4
5
  export class CustomFields extends APIResource {
5
6
  /**
6
- * Add a key to the allow list for a given entity. There is a 100 character limit
7
- * on custom field keys.
7
+ * Creates a new custom field key for a given entity (e.g. billable metric,
8
+ * contract, alert).
9
+ *
10
+ * Custom fields are properties that you can add to Metronome objects to store
11
+ * metadata like foreign keys or other descriptors. This metadata can get
12
+ * transferred to or accessed by other systems to contextualize Metronome data and
13
+ * power business processes. For example, to service workflows like revenue
14
+ * recognition, reconciliation, and invoicing, custom fields help Metronome know
15
+ * the relationship between entities in the platform and third-party systems.
16
+ *
17
+ * ### Use this endpoint to:
18
+ *
19
+ * - Create a new custom field key for Customer objects in Metronome. You can then
20
+ * use the Set Custom Field Values endpoint to set the value of this key for a
21
+ * specific customer.
22
+ * - Specify whether the key should enforce uniqueness. If the key is set to
23
+ * enforce uniqueness and you attempt to set a custom field value for the key
24
+ * that already exists, it will fail.
25
+ *
26
+ * ### Usage guidelines:
27
+ *
28
+ * - Custom fields set on commits, credits, and contracts can be used to scope
29
+ * alert evaluation. For example, you can create a spend threshold alert that
30
+ * only considers spend associated with contracts with custom field key
31
+ * `contract_type` and value `paygo`
32
+ * - Custom fields set on products can be used in the Stripe integration to set
33
+ * metadata on invoices.
34
+ * - Custom fields for customers, contracts, invoices, products, commits, scheduled
35
+ * charges, and subscriptions are passed down to the invoice.
8
36
  *
9
37
  * @example
10
38
  * ```ts
@@ -19,11 +47,14 @@ export class CustomFields extends APIResource {
19
47
  return this._client.post('/v1/customFields/addKey', {
20
48
  body,
21
49
  ...options,
22
- headers: { Accept: '*/*', ...options?.headers },
50
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
23
51
  });
24
52
  }
25
53
  /**
26
- * Deletes one or more custom fields on an instance of a Metronome entity.
54
+ * Remove specific custom field values from a Metronome entity instance by
55
+ * specifying the field keys to delete. Use this endpoint to clean up unwanted
56
+ * custom field data while preserving other fields on the same entity. Requires the
57
+ * entity type, entity ID, and array of keys to remove.
27
58
  *
28
59
  * @example
29
60
  * ```ts
@@ -38,18 +69,34 @@ export class CustomFields extends APIResource {
38
69
  return this._client.post('/v1/customFields/deleteValues', {
39
70
  body,
40
71
  ...options,
41
- headers: { Accept: '*/*', ...options?.headers },
72
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
42
73
  });
43
74
  }
75
+ /**
76
+ * Retrieve all your active custom field keys, with optional filtering by entity
77
+ * type (customer, contract, product, etc.). Use this endpoint to discover what
78
+ * custom field keys are available before setting values on entities or to audit
79
+ * your custom field configuration across different entity types.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * // Automatically fetches more pages as needed.
84
+ * for await (const customFieldListKeysResponse of client.v1.customFields.listKeys(
85
+ * { entities: ['customer'] },
86
+ * )) {
87
+ * // ...
88
+ * }
89
+ * ```
90
+ */
44
91
  listKeys(params = {}, options) {
45
- if (isRequestOptions(params)) {
46
- return this.listKeys({}, params);
47
- }
48
- const { next_page, ...body } = params;
49
- return this._client.post('/v1/customFields/listKeys', { query: { next_page }, body, ...options });
92
+ const { next_page, ...body } = params ?? {};
93
+ return this._client.getAPIList('/v1/customFields/listKeys', (CursorPageWithoutLimit), { query: { next_page }, body, method: 'post', ...options });
50
94
  }
51
95
  /**
52
- * Remove a key from the allow list for a given entity.
96
+ * Removes a custom field key from the allowlist for a specific entity type,
97
+ * preventing future use of that key across all instances of the entity. Existing
98
+ * values for this key on entity instances will no longer be accessible once the
99
+ * key is removed.
53
100
  *
54
101
  * @example
55
102
  * ```ts
@@ -63,17 +110,14 @@ export class CustomFields extends APIResource {
63
110
  return this._client.post('/v1/customFields/removeKey', {
64
111
  body,
65
112
  ...options,
66
- headers: { Accept: '*/*', ...options?.headers },
113
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
67
114
  });
68
115
  }
69
116
  /**
70
- * Sets one or more custom fields on an instance of a Metronome entity. If a
71
- * key/value pair passed in this request matches one already set on the entity, its
72
- * value will be overwritten. Any key/value pairs that exist on the entity that do
73
- * not match those passed in this request will remain untouched. This endpoint is
74
- * transactional and will update all key/value pairs or no key/value pairs. Partial
75
- * updates are not supported. There is a 200 character limit on custom field
76
- * values.
117
+ * Sets custom field values on a specific Metronome entity instance. Overwrites
118
+ * existing values for matching keys while preserving other fields. All updates are
119
+ * transactional—either all values are set or none are. Custom field values are
120
+ * limited to 200 characters each.
77
121
  *
78
122
  * @example
79
123
  * ```ts
@@ -88,7 +132,7 @@ export class CustomFields extends APIResource {
88
132
  return this._client.post('/v1/customFields/setValues', {
89
133
  body,
90
134
  ...options,
91
- headers: { Accept: '*/*', ...options?.headers },
135
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
92
136
  });
93
137
  }
94
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.mjs","sourceRoot":"","sources":["../../src/resources/v1/custom-fields.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OACf,EAAE,gBAAgB,EAAE;AAG3B,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAA6B,EAAE,OAA6B;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAmC,EAAE,OAA6B;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;YACxD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAiBD,QAAQ,CACN,SAA0D,EAAE,EAC5D,OAA6B;QAE7B,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAClC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAgC,EAAE,OAA6B;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,IAAgC,EAAE,OAA6B;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"custom-fields.mjs","sourceRoot":"","sources":["../../src/resources/v1/custom-fields.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EACL,sBAAsB,GAGvB;OACM,EAAE,YAAY,EAAE;AAGvB,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,MAAM,CAAC,IAA6B,EAAE,OAAwB;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,IAAmC,EAAE,OAAwB;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;YACxD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CACN,SAAuD,EAAE,EACzD,OAAwB;QAExB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,2BAA2B,EAC3B,CAAA,sBAAmD,CAAA,EACnD,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,IAAgC,EAAE,OAAwB;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,IAAgC,EAAE,OAAwB;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACrD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}