@stigg/typescript 0.1.0-alpha.2 → 0.1.0-alpha.21

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 (378) hide show
  1. package/CHANGELOG.md +270 -0
  2. package/README.md +9 -0
  3. package/client.d.mts +7 -9
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +7 -9
  6. package/client.d.ts.map +1 -1
  7. package/client.js +29 -26
  8. package/client.js.map +1 -1
  9. package/client.mjs +30 -27
  10. package/client.mjs.map +1 -1
  11. package/internal/parse.d.mts.map +1 -1
  12. package/internal/parse.d.ts.map +1 -1
  13. package/internal/parse.js +5 -0
  14. package/internal/parse.js.map +1 -1
  15. package/internal/parse.mjs +5 -0
  16. package/internal/parse.mjs.map +1 -1
  17. package/internal/qs/formats.d.mts +7 -0
  18. package/internal/qs/formats.d.mts.map +1 -0
  19. package/internal/qs/formats.d.ts +7 -0
  20. package/internal/qs/formats.d.ts.map +1 -0
  21. package/internal/qs/formats.js +13 -0
  22. package/internal/qs/formats.js.map +1 -0
  23. package/internal/qs/formats.mjs +9 -0
  24. package/internal/qs/formats.mjs.map +1 -0
  25. package/internal/qs/index.d.mts +10 -0
  26. package/internal/qs/index.d.mts.map +1 -0
  27. package/internal/qs/index.d.ts +10 -0
  28. package/internal/qs/index.d.ts.map +1 -0
  29. package/internal/qs/index.js +14 -0
  30. package/internal/qs/index.js.map +1 -0
  31. package/internal/qs/index.mjs +10 -0
  32. package/internal/qs/index.mjs.map +1 -0
  33. package/internal/qs/stringify.d.mts +3 -0
  34. package/internal/qs/stringify.d.mts.map +1 -0
  35. package/internal/qs/stringify.d.ts +3 -0
  36. package/internal/qs/stringify.d.ts.map +1 -0
  37. package/internal/qs/stringify.js +277 -0
  38. package/internal/qs/stringify.js.map +1 -0
  39. package/internal/qs/stringify.mjs +274 -0
  40. package/internal/qs/stringify.mjs.map +1 -0
  41. package/internal/qs/types.d.mts +57 -0
  42. package/internal/qs/types.d.mts.map +1 -0
  43. package/internal/qs/types.d.ts +57 -0
  44. package/internal/qs/types.d.ts.map +1 -0
  45. package/internal/qs/types.js +3 -0
  46. package/internal/qs/types.js.map +1 -0
  47. package/internal/qs/types.mjs +2 -0
  48. package/internal/qs/types.mjs.map +1 -0
  49. package/internal/qs/utils.d.mts +15 -0
  50. package/internal/qs/utils.d.mts.map +1 -0
  51. package/internal/qs/utils.d.ts +15 -0
  52. package/internal/qs/utils.d.ts.map +1 -0
  53. package/internal/qs/utils.js +230 -0
  54. package/internal/qs/utils.js.map +1 -0
  55. package/internal/qs/utils.mjs +217 -0
  56. package/internal/qs/utils.mjs.map +1 -0
  57. package/internal/tslib.js +17 -17
  58. package/internal/utils/query.d.mts +2 -0
  59. package/internal/utils/query.d.mts.map +1 -0
  60. package/internal/utils/query.d.ts +2 -0
  61. package/internal/utils/query.d.ts.map +1 -0
  62. package/internal/utils/query.js +10 -0
  63. package/internal/utils/query.js.map +1 -0
  64. package/internal/utils/query.mjs +6 -0
  65. package/internal/utils/query.mjs.map +1 -0
  66. package/internal/utils.d.mts +1 -0
  67. package/internal/utils.d.ts +1 -0
  68. package/internal/utils.js +1 -0
  69. package/internal/utils.js.map +1 -1
  70. package/internal/utils.mjs +1 -0
  71. package/package.json +12 -1
  72. package/resources/index.d.mts +1 -1
  73. package/resources/index.d.mts.map +1 -1
  74. package/resources/index.d.ts +1 -1
  75. package/resources/index.d.ts.map +1 -1
  76. package/resources/index.js.map +1 -1
  77. package/resources/index.mjs +1 -1
  78. package/resources/index.mjs.map +1 -1
  79. package/resources/v1/addons/addons.d.mts +1305 -0
  80. package/resources/v1/addons/addons.d.mts.map +1 -0
  81. package/resources/v1/addons/addons.d.ts +1305 -0
  82. package/resources/v1/addons/addons.d.ts.map +1 -0
  83. package/resources/v1/addons/addons.js +81 -0
  84. package/resources/v1/addons/addons.js.map +1 -0
  85. package/resources/v1/addons/addons.mjs +76 -0
  86. package/resources/v1/addons/addons.mjs.map +1 -0
  87. package/resources/v1/addons/entitlements.d.mts +860 -0
  88. package/resources/v1/addons/entitlements.d.mts.map +1 -0
  89. package/resources/v1/addons/entitlements.d.ts +860 -0
  90. package/resources/v1/addons/entitlements.d.ts.map +1 -0
  91. package/resources/v1/addons/entitlements.js +36 -0
  92. package/resources/v1/addons/entitlements.js.map +1 -0
  93. package/resources/v1/addons/entitlements.mjs +32 -0
  94. package/resources/v1/addons/entitlements.mjs.map +1 -0
  95. package/resources/v1/addons/index.d.mts +3 -0
  96. package/resources/v1/addons/index.d.mts.map +1 -0
  97. package/resources/v1/addons/index.d.ts +3 -0
  98. package/resources/v1/addons/index.d.ts.map +1 -0
  99. package/resources/v1/addons/index.js +9 -0
  100. package/resources/v1/addons/index.js.map +1 -0
  101. package/resources/v1/addons/index.mjs +4 -0
  102. package/resources/v1/addons/index.mjs.map +1 -0
  103. package/resources/v1/addons.d.mts +2 -0
  104. package/resources/v1/addons.d.mts.map +1 -0
  105. package/resources/v1/addons.d.ts +2 -0
  106. package/resources/v1/addons.d.ts.map +1 -0
  107. package/resources/v1/addons.js +6 -0
  108. package/resources/v1/addons.js.map +1 -0
  109. package/resources/v1/addons.mjs +3 -0
  110. package/resources/v1/addons.mjs.map +1 -0
  111. package/resources/v1/coupons.d.mts +113 -82
  112. package/resources/v1/coupons.d.mts.map +1 -1
  113. package/resources/v1/coupons.d.ts +113 -82
  114. package/resources/v1/coupons.d.ts.map +1 -1
  115. package/resources/v1/coupons.js +19 -3
  116. package/resources/v1/coupons.js.map +1 -1
  117. package/resources/v1/coupons.mjs +19 -3
  118. package/resources/v1/coupons.mjs.map +1 -1
  119. package/resources/v1/customers/customers.d.mts +221 -45
  120. package/resources/v1/customers/customers.d.mts.map +1 -1
  121. package/resources/v1/customers/customers.d.ts +221 -45
  122. package/resources/v1/customers/customers.d.ts.map +1 -1
  123. package/resources/v1/customers/customers.js +32 -15
  124. package/resources/v1/customers/customers.js.map +1 -1
  125. package/resources/v1/customers/customers.mjs +32 -15
  126. package/resources/v1/customers/customers.mjs.map +1 -1
  127. package/resources/v1/customers/index.d.mts +2 -2
  128. package/resources/v1/customers/index.d.mts.map +1 -1
  129. package/resources/v1/customers/index.d.ts +2 -2
  130. package/resources/v1/customers/index.d.ts.map +1 -1
  131. package/resources/v1/customers/index.js +3 -3
  132. package/resources/v1/customers/index.js.map +1 -1
  133. package/resources/v1/customers/index.mjs +1 -1
  134. package/resources/v1/customers/index.mjs.map +1 -1
  135. package/resources/v1/customers/payment-method.d.mts +10 -2
  136. package/resources/v1/customers/payment-method.d.mts.map +1 -1
  137. package/resources/v1/customers/payment-method.d.ts +10 -2
  138. package/resources/v1/customers/payment-method.d.ts.map +1 -1
  139. package/resources/v1/customers/payment-method.js +7 -2
  140. package/resources/v1/customers/payment-method.js.map +1 -1
  141. package/resources/v1/customers/payment-method.mjs +7 -2
  142. package/resources/v1/customers/payment-method.mjs.map +1 -1
  143. package/resources/v1/customers/promotional-entitlements.d.mts +501 -0
  144. package/resources/v1/customers/promotional-entitlements.d.mts.map +1 -0
  145. package/resources/v1/customers/promotional-entitlements.d.ts +501 -0
  146. package/resources/v1/customers/promotional-entitlements.d.ts.map +1 -0
  147. package/resources/v1/customers/promotional-entitlements.js +35 -0
  148. package/resources/v1/customers/promotional-entitlements.js.map +1 -0
  149. package/resources/v1/customers/promotional-entitlements.mjs +31 -0
  150. package/resources/v1/customers/promotional-entitlements.mjs.map +1 -0
  151. package/resources/v1/events/credits/credits.d.mts +260 -0
  152. package/resources/v1/events/credits/credits.d.mts.map +1 -0
  153. package/resources/v1/events/credits/credits.d.ts +260 -0
  154. package/resources/v1/events/credits/credits.d.ts.map +1 -0
  155. package/resources/v1/events/credits/credits.js +41 -0
  156. package/resources/v1/events/credits/credits.js.map +1 -0
  157. package/resources/v1/events/credits/credits.mjs +36 -0
  158. package/resources/v1/events/credits/credits.mjs.map +1 -0
  159. package/resources/v1/events/credits/grants.d.mts +549 -0
  160. package/resources/v1/events/credits/grants.d.mts.map +1 -0
  161. package/resources/v1/events/credits/grants.d.ts +549 -0
  162. package/resources/v1/events/credits/grants.d.ts.map +1 -0
  163. package/resources/v1/events/credits/grants.js +37 -0
  164. package/resources/v1/events/credits/grants.js.map +1 -0
  165. package/resources/v1/events/credits/grants.mjs +33 -0
  166. package/resources/v1/events/credits/grants.mjs.map +1 -0
  167. package/resources/v1/events/credits/index.d.mts +3 -0
  168. package/resources/v1/events/credits/index.d.mts.map +1 -0
  169. package/resources/v1/events/credits/index.d.ts +3 -0
  170. package/resources/v1/events/credits/index.d.ts.map +1 -0
  171. package/resources/v1/events/credits/index.js +9 -0
  172. package/resources/v1/events/credits/index.js.map +1 -0
  173. package/resources/v1/events/credits/index.mjs +4 -0
  174. package/resources/v1/events/credits/index.mjs.map +1 -0
  175. package/resources/v1/events/credits.d.mts +2 -0
  176. package/resources/v1/events/credits.d.mts.map +1 -0
  177. package/resources/v1/events/credits.d.ts +2 -0
  178. package/resources/v1/events/credits.d.ts.map +1 -0
  179. package/resources/v1/events/credits.js +6 -0
  180. package/resources/v1/events/credits.js.map +1 -0
  181. package/resources/v1/events/credits.mjs +3 -0
  182. package/resources/v1/events/credits.mjs.map +1 -0
  183. package/resources/v1/events/events.d.mts +70 -0
  184. package/resources/v1/events/events.d.mts.map +1 -0
  185. package/resources/v1/events/events.d.ts +70 -0
  186. package/resources/v1/events/events.d.ts.map +1 -0
  187. package/resources/v1/events/events.js +27 -0
  188. package/resources/v1/events/events.js.map +1 -0
  189. package/resources/v1/events/events.mjs +22 -0
  190. package/resources/v1/events/events.mjs.map +1 -0
  191. package/resources/v1/events/index.d.mts +3 -0
  192. package/resources/v1/events/index.d.mts.map +1 -0
  193. package/resources/v1/events/index.d.ts +3 -0
  194. package/resources/v1/events/index.d.ts.map +1 -0
  195. package/resources/v1/events/index.js +9 -0
  196. package/resources/v1/events/index.js.map +1 -0
  197. package/resources/v1/events/index.mjs +4 -0
  198. package/resources/v1/events/index.mjs.map +1 -0
  199. package/resources/v1/events.d.mts +2 -0
  200. package/resources/v1/events.d.mts.map +1 -0
  201. package/resources/v1/events.d.ts +2 -0
  202. package/resources/v1/events.d.ts.map +1 -0
  203. package/resources/v1/events.js +6 -0
  204. package/resources/v1/events.js.map +1 -0
  205. package/resources/v1/events.mjs +3 -0
  206. package/resources/v1/events.mjs.map +1 -0
  207. package/resources/v1/features.d.mts +447 -0
  208. package/resources/v1/features.d.mts.map +1 -0
  209. package/resources/v1/features.d.ts +447 -0
  210. package/resources/v1/features.d.ts.map +1 -0
  211. package/resources/v1/features.js +54 -0
  212. package/resources/v1/features.js.map +1 -0
  213. package/resources/v1/features.mjs +50 -0
  214. package/resources/v1/features.mjs.map +1 -0
  215. package/resources/v1/index.d.mts +10 -4
  216. package/resources/v1/index.d.mts.map +1 -1
  217. package/resources/v1/index.d.ts +10 -4
  218. package/resources/v1/index.d.ts.map +1 -1
  219. package/resources/v1/index.js +17 -5
  220. package/resources/v1/index.js.map +1 -1
  221. package/resources/v1/index.mjs +7 -1
  222. package/resources/v1/index.mjs.map +1 -1
  223. package/resources/v1/plans/entitlements.d.mts +860 -0
  224. package/resources/v1/plans/entitlements.d.mts.map +1 -0
  225. package/resources/v1/plans/entitlements.d.ts +860 -0
  226. package/resources/v1/plans/entitlements.d.ts.map +1 -0
  227. package/resources/v1/plans/entitlements.js +36 -0
  228. package/resources/v1/plans/entitlements.js.map +1 -0
  229. package/resources/v1/plans/entitlements.mjs +32 -0
  230. package/resources/v1/plans/entitlements.mjs.map +1 -0
  231. package/resources/v1/plans/index.d.mts +3 -0
  232. package/resources/v1/plans/index.d.mts.map +1 -0
  233. package/resources/v1/plans/index.d.ts +3 -0
  234. package/resources/v1/plans/index.d.ts.map +1 -0
  235. package/resources/v1/plans/index.js +9 -0
  236. package/resources/v1/plans/index.js.map +1 -0
  237. package/resources/v1/plans/index.mjs +4 -0
  238. package/resources/v1/plans/index.mjs.map +1 -0
  239. package/resources/v1/plans/plans.d.mts +976 -0
  240. package/resources/v1/plans/plans.d.mts.map +1 -0
  241. package/resources/v1/plans/plans.d.ts +976 -0
  242. package/resources/v1/plans/plans.d.ts.map +1 -0
  243. package/resources/v1/plans/plans.js +79 -0
  244. package/resources/v1/plans/plans.js.map +1 -0
  245. package/resources/v1/plans/plans.mjs +74 -0
  246. package/resources/v1/plans/plans.mjs.map +1 -0
  247. package/resources/v1/plans.d.mts +2 -0
  248. package/resources/v1/plans.d.mts.map +1 -0
  249. package/resources/v1/plans.d.ts +2 -0
  250. package/resources/v1/plans.d.ts.map +1 -0
  251. package/resources/v1/plans.js +6 -0
  252. package/resources/v1/plans.js.map +1 -0
  253. package/resources/v1/plans.mjs +3 -0
  254. package/resources/v1/plans.mjs.map +1 -0
  255. package/resources/v1/products.d.mts +335 -0
  256. package/resources/v1/products.d.mts.map +1 -0
  257. package/resources/v1/products.d.ts +335 -0
  258. package/resources/v1/products.d.ts.map +1 -0
  259. package/resources/v1/products.js +55 -0
  260. package/resources/v1/products.js.map +1 -0
  261. package/resources/v1/products.mjs +51 -0
  262. package/resources/v1/products.mjs.map +1 -0
  263. package/resources/v1/subscriptions/future-update.d.mts +15 -19
  264. package/resources/v1/subscriptions/future-update.d.mts.map +1 -1
  265. package/resources/v1/subscriptions/future-update.d.ts +15 -19
  266. package/resources/v1/subscriptions/future-update.d.ts.map +1 -1
  267. package/resources/v1/subscriptions/future-update.js +6 -2
  268. package/resources/v1/subscriptions/future-update.js.map +1 -1
  269. package/resources/v1/subscriptions/future-update.mjs +6 -2
  270. package/resources/v1/subscriptions/future-update.mjs.map +1 -1
  271. package/resources/v1/subscriptions/index.d.mts +4 -2
  272. package/resources/v1/subscriptions/index.d.mts.map +1 -1
  273. package/resources/v1/subscriptions/index.d.ts +4 -2
  274. package/resources/v1/subscriptions/index.d.ts.map +1 -1
  275. package/resources/v1/subscriptions/index.js +5 -1
  276. package/resources/v1/subscriptions/index.js.map +1 -1
  277. package/resources/v1/subscriptions/index.mjs +3 -1
  278. package/resources/v1/subscriptions/index.mjs.map +1 -1
  279. package/resources/v1/subscriptions/invoice.d.mts +37 -0
  280. package/resources/v1/subscriptions/invoice.d.mts.map +1 -0
  281. package/resources/v1/subscriptions/invoice.d.ts +37 -0
  282. package/resources/v1/subscriptions/invoice.d.ts.map +1 -0
  283. package/resources/v1/subscriptions/invoice.js +20 -0
  284. package/resources/v1/subscriptions/invoice.js.map +1 -0
  285. package/resources/v1/subscriptions/invoice.mjs +16 -0
  286. package/resources/v1/subscriptions/invoice.mjs.map +1 -0
  287. package/resources/v1/subscriptions/subscriptions.d.mts +2547 -561
  288. package/resources/v1/subscriptions/subscriptions.d.mts.map +1 -1
  289. package/resources/v1/subscriptions/subscriptions.d.ts +2547 -561
  290. package/resources/v1/subscriptions/subscriptions.d.ts.map +1 -1
  291. package/resources/v1/subscriptions/subscriptions.js +47 -11
  292. package/resources/v1/subscriptions/subscriptions.js.map +1 -1
  293. package/resources/v1/subscriptions/subscriptions.mjs +49 -13
  294. package/resources/v1/subscriptions/subscriptions.mjs.map +1 -1
  295. package/resources/v1/subscriptions/usage.d.mts +101 -0
  296. package/resources/v1/subscriptions/usage.d.mts.map +1 -0
  297. package/resources/v1/subscriptions/usage.d.ts +101 -0
  298. package/resources/v1/subscriptions/usage.d.ts.map +1 -0
  299. package/resources/v1/subscriptions/usage.js +27 -0
  300. package/resources/v1/subscriptions/usage.js.map +1 -0
  301. package/resources/v1/subscriptions/usage.mjs +23 -0
  302. package/resources/v1/subscriptions/usage.mjs.map +1 -0
  303. package/resources/v1/usage.d.mts +238 -0
  304. package/resources/v1/usage.d.mts.map +1 -0
  305. package/resources/v1/usage.d.ts +238 -0
  306. package/resources/v1/usage.d.ts.map +1 -0
  307. package/resources/v1/usage.js +27 -0
  308. package/resources/v1/usage.js.map +1 -0
  309. package/resources/v1/usage.mjs +23 -0
  310. package/resources/v1/usage.mjs.map +1 -0
  311. package/resources/v1/v1.d.mts +30 -149
  312. package/resources/v1/v1.d.mts.map +1 -1
  313. package/resources/v1/v1.d.ts +30 -149
  314. package/resources/v1/v1.d.ts.map +1 -1
  315. package/resources/v1/v1.js +24 -12
  316. package/resources/v1/v1.js.map +1 -1
  317. package/resources/v1/v1.mjs +24 -12
  318. package/resources/v1/v1.mjs.map +1 -1
  319. package/src/client.ts +41 -47
  320. package/src/internal/parse.ts +6 -0
  321. package/src/internal/qs/LICENSE.md +13 -0
  322. package/src/internal/qs/README.md +3 -0
  323. package/src/internal/qs/formats.ts +10 -0
  324. package/src/internal/qs/index.ts +13 -0
  325. package/src/internal/qs/stringify.ts +385 -0
  326. package/src/internal/qs/types.ts +71 -0
  327. package/src/internal/qs/utils.ts +265 -0
  328. package/src/internal/utils/query.ts +7 -0
  329. package/src/internal/utils.ts +1 -0
  330. package/src/resources/index.ts +1 -7
  331. package/src/resources/v1/addons/addons.ts +3253 -0
  332. package/src/resources/v1/addons/entitlements.ts +1120 -0
  333. package/src/resources/v1/addons/index.ts +26 -0
  334. package/src/resources/v1/addons.ts +3 -0
  335. package/src/resources/v1/coupons.ts +126 -216
  336. package/src/resources/v1/customers/customers.ts +296 -61
  337. package/src/resources/v1/customers/index.ts +16 -2
  338. package/src/resources/v1/customers/payment-method.ts +10 -2
  339. package/src/resources/v1/customers/promotional-entitlements.ts +672 -0
  340. package/src/resources/v1/events/credits/credits.ts +356 -0
  341. package/src/resources/v1/events/credits/grants.ts +795 -0
  342. package/src/resources/v1/events/credits/index.ts +20 -0
  343. package/src/resources/v1/events/credits.ts +3 -0
  344. package/src/resources/v1/events/events.ts +103 -0
  345. package/src/resources/v1/events/index.ts +13 -0
  346. package/src/resources/v1/events.ts +3 -0
  347. package/src/resources/v1/features.ts +574 -0
  348. package/src/resources/v1/index.ts +70 -15
  349. package/src/resources/v1/plans/entitlements.ts +1112 -0
  350. package/src/resources/v1/plans/index.ts +24 -0
  351. package/src/resources/v1/plans/plans.ts +2035 -0
  352. package/src/resources/v1/plans.ts +3 -0
  353. package/src/resources/v1/products.ts +426 -0
  354. package/src/resources/v1/subscriptions/future-update.ts +15 -27
  355. package/src/resources/v1/subscriptions/index.ts +15 -11
  356. package/src/resources/v1/subscriptions/invoice.ts +45 -0
  357. package/src/resources/v1/subscriptions/subscriptions.ts +5836 -777
  358. package/src/resources/v1/subscriptions/usage.ts +129 -0
  359. package/src/resources/v1/usage.ts +293 -0
  360. package/src/resources/v1/v1.ts +168 -197
  361. package/src/version.ts +1 -1
  362. package/version.d.mts +1 -1
  363. package/version.d.mts.map +1 -1
  364. package/version.d.ts +1 -1
  365. package/version.d.ts.map +1 -1
  366. package/version.js +1 -1
  367. package/version.js.map +1 -1
  368. package/version.mjs +1 -1
  369. package/version.mjs.map +1 -1
  370. package/resources/v1/customers/usage.d.mts +0 -98
  371. package/resources/v1/customers/usage.d.mts.map +0 -1
  372. package/resources/v1/customers/usage.d.ts +0 -98
  373. package/resources/v1/customers/usage.d.ts.map +0 -1
  374. package/resources/v1/customers/usage.js +0 -20
  375. package/resources/v1/customers/usage.js.map +0 -1
  376. package/resources/v1/customers/usage.mjs +0 -16
  377. package/resources/v1/customers/usage.mjs.map +0 -1
  378. package/src/resources/v1/customers/usage.ts +0 -132
@@ -0,0 +1,129 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import { APIPromise } from '../../../core/api-promise';
5
+ import { RequestOptions } from '../../../internal/request-options';
6
+ import { path } from '../../../internal/utils/path';
7
+
8
+ /**
9
+ * Operations related to subscriptions
10
+ */
11
+ export class Usage extends APIResource {
12
+ /**
13
+ * Immediately charges usage for a subscription via the billing integration.
14
+ * Calculates usage since the last charge and creates an invoice.
15
+ */
16
+ chargeUsage(
17
+ id: string,
18
+ body: UsageChargeUsageParams,
19
+ options?: RequestOptions,
20
+ ): APIPromise<UsageChargeUsageResponse> {
21
+ return this._client.post(path`/api/v1/subscriptions/${id}/usage/charge`, { body, ...options });
22
+ }
23
+
24
+ /**
25
+ * Triggers a usage sync for a subscription, reporting current usage to the billing
26
+ * provider.
27
+ */
28
+ sync(id: string, options?: RequestOptions): APIPromise<UsageSyncResponse> {
29
+ return this._client.post(path`/api/v1/subscriptions/${id}/usage/sync`, options);
30
+ }
31
+ }
32
+
33
+ /**
34
+ * Response object
35
+ */
36
+ export interface UsageChargeUsageResponse {
37
+ /**
38
+ * Result of charging subscription usage including the billing period and charged
39
+ * items.
40
+ */
41
+ data: UsageChargeUsageResponse.Data;
42
+ }
43
+
44
+ export namespace UsageChargeUsageResponse {
45
+ /**
46
+ * Result of charging subscription usage including the billing period and charged
47
+ * items.
48
+ */
49
+ export interface Data {
50
+ /**
51
+ * The invoice ID in the billing integration
52
+ */
53
+ invoiceBillingId: string | null;
54
+
55
+ /**
56
+ * End of the usage billing period
57
+ */
58
+ periodEnd: string;
59
+
60
+ /**
61
+ * Start of the usage billing period
62
+ */
63
+ periodStart: string;
64
+
65
+ /**
66
+ * The subscription ID for which usage was charged
67
+ */
68
+ subscriptionId: string;
69
+
70
+ /**
71
+ * Usage items that were charged
72
+ */
73
+ usageCharged: Array<Data.UsageCharged>;
74
+ }
75
+
76
+ export namespace Data {
77
+ /**
78
+ * A single usage item that was charged.
79
+ */
80
+ export interface UsageCharged {
81
+ /**
82
+ * The feature ID for which usage was charged
83
+ */
84
+ featureId: string | null;
85
+
86
+ /**
87
+ * The number of units charged
88
+ */
89
+ usageAmount: number;
90
+ }
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Response object
96
+ */
97
+ export interface UsageSyncResponse {
98
+ /**
99
+ * Result of triggering a subscription usage sync.
100
+ */
101
+ data: UsageSyncResponse.Data;
102
+ }
103
+
104
+ export namespace UsageSyncResponse {
105
+ /**
106
+ * Result of triggering a subscription usage sync.
107
+ */
108
+ export interface Data {
109
+ /**
110
+ * Whether usage was synced to the billing provider
111
+ */
112
+ triggered: boolean;
113
+ }
114
+ }
115
+
116
+ export interface UsageChargeUsageParams {
117
+ /**
118
+ * Cutoff date for usage calculation. If not provided, the current time is used.
119
+ */
120
+ untilDate?: string;
121
+ }
122
+
123
+ export declare namespace Usage {
124
+ export {
125
+ type UsageChargeUsageResponse as UsageChargeUsageResponse,
126
+ type UsageSyncResponse as UsageSyncResponse,
127
+ type UsageChargeUsageParams as UsageChargeUsageParams,
128
+ };
129
+ }
@@ -0,0 +1,293 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { RequestOptions } from '../../internal/request-options';
6
+ import { path } from '../../internal/utils/path';
7
+
8
+ /**
9
+ * Operations related to usage & metering
10
+ */
11
+ export class Usage extends APIResource {
12
+ /**
13
+ * Retrieves historical usage data for a customer's metered feature over time.
14
+ */
15
+ history(
16
+ featureID: string,
17
+ params: UsageHistoryParams,
18
+ options?: RequestOptions,
19
+ ): APIPromise<UsageHistoryResponse> {
20
+ const { customerId, ...query } = params;
21
+ return this._client.get(path`/api/v1/usage/${customerId}/history/${featureID}`, { query, ...options });
22
+ }
23
+
24
+ /**
25
+ * Reports usage measurements for metered features. The reported usage is used to
26
+ * track, limit, and bill customer consumption.
27
+ */
28
+ report(body: UsageReportParams, options?: RequestOptions): APIPromise<UsageReportResponse> {
29
+ return this._client.post('/api/v1/usage', { body, ...options });
30
+ }
31
+ }
32
+
33
+ /**
34
+ * Response object
35
+ */
36
+ export interface UsageHistoryResponse {
37
+ /**
38
+ * Historical usage time series
39
+ */
40
+ data: UsageHistoryResponse.Data;
41
+ }
42
+
43
+ export namespace UsageHistoryResponse {
44
+ /**
45
+ * Historical usage time series
46
+ */
47
+ export interface Data {
48
+ /**
49
+ * Markers for events that affecting feature usage
50
+ */
51
+ markers: Array<Data.Marker>;
52
+
53
+ /**
54
+ * Series of usage history
55
+ */
56
+ series: Array<Data.Series>;
57
+ }
58
+
59
+ export namespace Data {
60
+ /**
61
+ * Usage reset or change marker
62
+ */
63
+ export interface Marker {
64
+ /**
65
+ * Timestamp of the marker
66
+ */
67
+ timestamp: string;
68
+
69
+ /**
70
+ * Type of marker for a usage history point
71
+ */
72
+ type: 'PERIODIC_RESET' | 'SUBSCRIPTION_CHANGE_RESET';
73
+ }
74
+
75
+ /**
76
+ * Usage data points with tags
77
+ */
78
+ export interface Series {
79
+ /**
80
+ * Points in the usage history series
81
+ */
82
+ points: Array<Series.Point>;
83
+
84
+ /**
85
+ * Tags for the usage history series
86
+ */
87
+ tags: Array<Series.Tag>;
88
+ }
89
+
90
+ export namespace Series {
91
+ /**
92
+ * Single usage data point
93
+ */
94
+ export interface Point {
95
+ /**
96
+ * Indicates whether there was usage reset in this point, see `markers` for details
97
+ */
98
+ isResetPoint: boolean;
99
+
100
+ /**
101
+ * Timestamp of the usage history point
102
+ */
103
+ timestamp: string;
104
+
105
+ /**
106
+ * Value of the usage history point
107
+ */
108
+ value: number;
109
+ }
110
+
111
+ /**
112
+ * Grouping tag key-value
113
+ */
114
+ export interface Tag {
115
+ /**
116
+ * Key of the tag
117
+ */
118
+ key: string;
119
+
120
+ /**
121
+ * Value of the tag
122
+ */
123
+ value: string;
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Response containing reported usage measurements with current usage values,
131
+ * period information, and reset dates for each measurement.
132
+ */
133
+ export interface UsageReportResponse {
134
+ /**
135
+ * Array of usage measurements with current values and period info
136
+ */
137
+ data: Array<UsageReportResponse.Data>;
138
+ }
139
+
140
+ export namespace UsageReportResponse {
141
+ /**
142
+ * Recorded usage with period info
143
+ */
144
+ export interface Data {
145
+ /**
146
+ * Unique identifier for the entity
147
+ */
148
+ id: string;
149
+
150
+ /**
151
+ * Timestamp of when the record was created
152
+ */
153
+ createdAt: string;
154
+
155
+ /**
156
+ * Customer id
157
+ */
158
+ customerId: string;
159
+
160
+ /**
161
+ * Feature id
162
+ */
163
+ featureId: string;
164
+
165
+ /**
166
+ * Timestamp
167
+ */
168
+ timestamp: string;
169
+
170
+ /**
171
+ * The usage measurement record
172
+ */
173
+ value: number;
174
+
175
+ /**
176
+ * The current measured usage value
177
+ */
178
+ currentUsage?: number | null;
179
+
180
+ /**
181
+ * The date when the next usage reset will occur
182
+ */
183
+ nextResetDate?: string | null;
184
+
185
+ /**
186
+ * Resource id
187
+ */
188
+ resourceId?: string | null;
189
+
190
+ /**
191
+ * The end date of the usage period in which this measurement resides (for
192
+ * entitlements with a reset period)
193
+ */
194
+ usagePeriodEnd?: string | null;
195
+
196
+ /**
197
+ * The start date of the usage period in which this measurement resides (for
198
+ * entitlements with a reset period)
199
+ */
200
+ usagePeriodStart?: string | null;
201
+ }
202
+ }
203
+
204
+ export interface UsageHistoryParams {
205
+ /**
206
+ * Path param: Customer id
207
+ */
208
+ customerId: string;
209
+
210
+ /**
211
+ * Query param: The start date of the range
212
+ */
213
+ startDate: string;
214
+
215
+ /**
216
+ * Query param: The end date of the range
217
+ */
218
+ endDate?: string;
219
+
220
+ /**
221
+ * Query param
222
+ */
223
+ groupBy?: string;
224
+
225
+ /**
226
+ * Query param: When true, includes usage data from the most recent cancelled or
227
+ * expired subscription
228
+ */
229
+ includeInactiveSubscriptions?: boolean;
230
+
231
+ /**
232
+ * Query param: Resource id
233
+ */
234
+ resourceId?: string | null;
235
+ }
236
+
237
+ export interface UsageReportParams {
238
+ /**
239
+ * A list of usage reports to be submitted in bulk
240
+ */
241
+ usages: Array<UsageReportParams.Usage>;
242
+ }
243
+
244
+ export namespace UsageReportParams {
245
+ /**
246
+ * Single usage measurement
247
+ */
248
+ export interface Usage {
249
+ /**
250
+ * Customer id
251
+ */
252
+ customerId: string;
253
+
254
+ /**
255
+ * Feature id
256
+ */
257
+ featureId: string;
258
+
259
+ /**
260
+ * The value to report for usage
261
+ */
262
+ value: number;
263
+
264
+ /**
265
+ * Timestamp of when the record was created
266
+ */
267
+ createdAt?: string;
268
+
269
+ /**
270
+ * Additional dimensions for the usage report
271
+ */
272
+ dimensions?: { [key: string]: string | number | boolean };
273
+
274
+ /**
275
+ * Resource id
276
+ */
277
+ resourceId?: string | null;
278
+
279
+ /**
280
+ * The method by which the usage value should be updated
281
+ */
282
+ updateBehavior?: 'DELTA' | 'SET';
283
+ }
284
+ }
285
+
286
+ export declare namespace Usage {
287
+ export {
288
+ type UsageHistoryResponse as UsageHistoryResponse,
289
+ type UsageReportResponse as UsageReportResponse,
290
+ type UsageHistoryParams as UsageHistoryParams,
291
+ type UsageReportParams as UsageReportParams,
292
+ };
293
+ }