@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,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './plans/index';
@@ -0,0 +1,426 @@
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 { MyCursorIDPage, type MyCursorIDPageParams, PagePromise } from '../../core/pagination';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { path } from '../../internal/utils/path';
8
+
9
+ /**
10
+ * Operations related to products
11
+ */
12
+ export class Products extends APIResource {
13
+ /**
14
+ * Archives a product, preventing new subscriptions. All plans and addons are
15
+ * archived.
16
+ */
17
+ archiveProduct(id: string, options?: RequestOptions): APIPromise<Product> {
18
+ return this._client.post(path`/api/v1/products/${id}/archive`, options);
19
+ }
20
+
21
+ /**
22
+ * Creates a new product.
23
+ */
24
+ createProduct(body: ProductCreateProductParams, options?: RequestOptions): APIPromise<Product> {
25
+ return this._client.post('/api/v1/products', { body, ...options });
26
+ }
27
+
28
+ /**
29
+ * Duplicates an existing product, including its plans, addons, and configuration.
30
+ */
31
+ duplicateProduct(
32
+ id: string,
33
+ body: ProductDuplicateProductParams,
34
+ options?: RequestOptions,
35
+ ): APIPromise<Product> {
36
+ return this._client.post(path`/api/v1/products/${id}/duplicate`, { body, ...options });
37
+ }
38
+
39
+ /**
40
+ * Retrieves a paginated list of products in the environment.
41
+ */
42
+ listProducts(
43
+ query: ProductListProductsParams | null | undefined = {},
44
+ options?: RequestOptions,
45
+ ): PagePromise<ProductListProductsResponsesMyCursorIDPage, ProductListProductsResponse> {
46
+ return this._client.getAPIList('/api/v1/products', MyCursorIDPage<ProductListProductsResponse>, {
47
+ query,
48
+ ...options,
49
+ });
50
+ }
51
+
52
+ /**
53
+ * Restores an archived product, allowing new subscriptions to be created.
54
+ */
55
+ unarchiveProduct(id: string, options?: RequestOptions): APIPromise<Product> {
56
+ return this._client.post(path`/api/v1/products/${id}/unarchive`, options);
57
+ }
58
+
59
+ /**
60
+ * Updates an existing product's properties such as display name, description, and
61
+ * metadata.
62
+ */
63
+ updateProduct(id: string, body: ProductUpdateProductParams, options?: RequestOptions): APIPromise<Product> {
64
+ return this._client.patch(path`/api/v1/products/${id}`, { body, ...options });
65
+ }
66
+ }
67
+
68
+ export type ProductListProductsResponsesMyCursorIDPage = MyCursorIDPage<ProductListProductsResponse>;
69
+
70
+ /**
71
+ * Response object
72
+ */
73
+ export interface Product {
74
+ /**
75
+ * Product configuration object
76
+ */
77
+ data: Product.Data;
78
+ }
79
+
80
+ export namespace Product {
81
+ /**
82
+ * Product configuration object
83
+ */
84
+ export interface Data {
85
+ /**
86
+ * The unique identifier for the entity
87
+ */
88
+ id: string;
89
+
90
+ /**
91
+ * Timestamp of when the record was created
92
+ */
93
+ createdAt: string;
94
+
95
+ /**
96
+ * Description of the product
97
+ */
98
+ description: string | null;
99
+
100
+ /**
101
+ * Display name of the product
102
+ */
103
+ displayName: string;
104
+
105
+ /**
106
+ * Metadata associated with the entity
107
+ */
108
+ metadata: { [key: string]: string };
109
+
110
+ /**
111
+ * Indicates if multiple subscriptions to this product are allowed
112
+ */
113
+ multipleSubscriptions: boolean;
114
+
115
+ /**
116
+ * The status of the product
117
+ */
118
+ status: 'PUBLISHED' | 'ARCHIVED';
119
+
120
+ /**
121
+ * Timestamp of when the record was last updated
122
+ */
123
+ updatedAt: string;
124
+
125
+ /**
126
+ * Product behavior settings for subscription lifecycle management.
127
+ */
128
+ productSettings?: Data.ProductSettings;
129
+ }
130
+
131
+ export namespace Data {
132
+ /**
133
+ * Product behavior settings for subscription lifecycle management.
134
+ */
135
+ export interface ProductSettings {
136
+ /**
137
+ * Time when the subscription will be cancelled
138
+ */
139
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
140
+
141
+ /**
142
+ * Setup for the end of the subscription
143
+ */
144
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
145
+
146
+ /**
147
+ * Setup for the start of the subscription
148
+ */
149
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
150
+
151
+ /**
152
+ * ID of the plan to downgrade to at the end of the billing period
153
+ */
154
+ downgradePlanId?: string | null;
155
+
156
+ /**
157
+ * Indicates if the subscription should be prorated at the end of the billing
158
+ * period
159
+ */
160
+ prorateAtEndOfBillingPeriod?: boolean | null;
161
+
162
+ /**
163
+ * ID of the plan to start the subscription with
164
+ */
165
+ subscriptionStartPlanId?: string | null;
166
+ }
167
+ }
168
+ }
169
+
170
+ /**
171
+ * Product configuration object
172
+ */
173
+ export interface ProductListProductsResponse {
174
+ /**
175
+ * The unique identifier for the entity
176
+ */
177
+ id: string;
178
+
179
+ /**
180
+ * Timestamp of when the record was created
181
+ */
182
+ createdAt: string;
183
+
184
+ /**
185
+ * Description of the product
186
+ */
187
+ description: string | null;
188
+
189
+ /**
190
+ * Display name of the product
191
+ */
192
+ displayName: string;
193
+
194
+ /**
195
+ * Metadata associated with the entity
196
+ */
197
+ metadata: { [key: string]: string };
198
+
199
+ /**
200
+ * Indicates if multiple subscriptions to this product are allowed
201
+ */
202
+ multipleSubscriptions: boolean;
203
+
204
+ /**
205
+ * The status of the product
206
+ */
207
+ status: 'PUBLISHED' | 'ARCHIVED';
208
+
209
+ /**
210
+ * Timestamp of when the record was last updated
211
+ */
212
+ updatedAt: string;
213
+
214
+ /**
215
+ * Product behavior settings for subscription lifecycle management.
216
+ */
217
+ productSettings?: ProductListProductsResponse.ProductSettings;
218
+ }
219
+
220
+ export namespace ProductListProductsResponse {
221
+ /**
222
+ * Product behavior settings for subscription lifecycle management.
223
+ */
224
+ export interface ProductSettings {
225
+ /**
226
+ * Time when the subscription will be cancelled
227
+ */
228
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
229
+
230
+ /**
231
+ * Setup for the end of the subscription
232
+ */
233
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
234
+
235
+ /**
236
+ * Setup for the start of the subscription
237
+ */
238
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
239
+
240
+ /**
241
+ * ID of the plan to downgrade to at the end of the billing period
242
+ */
243
+ downgradePlanId?: string | null;
244
+
245
+ /**
246
+ * Indicates if the subscription should be prorated at the end of the billing
247
+ * period
248
+ */
249
+ prorateAtEndOfBillingPeriod?: boolean | null;
250
+
251
+ /**
252
+ * ID of the plan to start the subscription with
253
+ */
254
+ subscriptionStartPlanId?: string | null;
255
+ }
256
+ }
257
+
258
+ export interface ProductCreateProductParams {
259
+ /**
260
+ * The unique identifier for the entity
261
+ */
262
+ id: string;
263
+
264
+ /**
265
+ * Description of the product
266
+ */
267
+ description?: string | null;
268
+
269
+ /**
270
+ * Display name of the product
271
+ */
272
+ displayName?: string;
273
+
274
+ /**
275
+ * Additional metadata for the product
276
+ */
277
+ metadata?: { [key: string]: string } | null;
278
+
279
+ /**
280
+ * Indicates if multiple subscriptions to this product are allowed
281
+ */
282
+ multipleSubscriptions?: boolean;
283
+ }
284
+
285
+ export interface ProductDuplicateProductParams {
286
+ /**
287
+ * The unique identifier for the entity
288
+ */
289
+ id: string;
290
+
291
+ /**
292
+ * Description of the product
293
+ */
294
+ description?: string | null;
295
+
296
+ /**
297
+ * Display name of the product
298
+ */
299
+ displayName?: string;
300
+ }
301
+
302
+ export interface ProductListProductsParams extends MyCursorIDPageParams {
303
+ /**
304
+ * Filter by entity ID
305
+ */
306
+ id?: string;
307
+
308
+ /**
309
+ * Filter by creation date using range operators: gt, gte, lt, lte
310
+ */
311
+ createdAt?: ProductListProductsParams.CreatedAt;
312
+
313
+ /**
314
+ * Filter by product status. Supports comma-separated values for multiple statuses
315
+ */
316
+ status?: string;
317
+ }
318
+
319
+ export namespace ProductListProductsParams {
320
+ /**
321
+ * Filter by creation date using range operators: gt, gte, lt, lte
322
+ */
323
+ export interface CreatedAt {
324
+ /**
325
+ * Greater than the specified createdAt value
326
+ */
327
+ gt?: string;
328
+
329
+ /**
330
+ * Greater than or equal to the specified createdAt value
331
+ */
332
+ gte?: string;
333
+
334
+ /**
335
+ * Less than the specified createdAt value
336
+ */
337
+ lt?: string;
338
+
339
+ /**
340
+ * Less than or equal to the specified createdAt value
341
+ */
342
+ lte?: string;
343
+ }
344
+ }
345
+
346
+ export interface ProductUpdateProductParams {
347
+ /**
348
+ * Description of the product
349
+ */
350
+ description?: string | null;
351
+
352
+ /**
353
+ * Display name of the product
354
+ */
355
+ displayName?: string;
356
+
357
+ /**
358
+ * Additional metadata for the product
359
+ */
360
+ metadata?: { [key: string]: string } | null;
361
+
362
+ /**
363
+ * Indicates if multiple subscriptions to this product are allowed
364
+ */
365
+ multipleSubscriptions?: boolean;
366
+
367
+ productSettings?: ProductUpdateProductParams.ProductSettings;
368
+
369
+ /**
370
+ * Rule defining when usage resets upon subscription update.
371
+ */
372
+ usageResetCutoffRule?: ProductUpdateProductParams.UsageResetCutoffRule;
373
+ }
374
+
375
+ export namespace ProductUpdateProductParams {
376
+ export interface ProductSettings {
377
+ /**
378
+ * Time when the subscription will be cancelled
379
+ */
380
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
381
+
382
+ /**
383
+ * Setup for the end of the subscription
384
+ */
385
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
386
+
387
+ /**
388
+ * Setup for the start of the subscription
389
+ */
390
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
391
+
392
+ /**
393
+ * ID of the plan to downgrade to at the end of the billing period
394
+ */
395
+ downgradePlanId?: string | null;
396
+
397
+ prorateAtEndOfBillingPeriod?: boolean | null;
398
+
399
+ /**
400
+ * ID of the plan to start the subscription with
401
+ */
402
+ subscriptionStartPlanId?: string | null;
403
+ }
404
+
405
+ /**
406
+ * Rule defining when usage resets upon subscription update.
407
+ */
408
+ export interface UsageResetCutoffRule {
409
+ /**
410
+ * Behavior of the usage reset cutoff rule
411
+ */
412
+ behavior: 'NEVER_RESET' | 'ALWAYS_RESET' | 'BILLING_PERIOD_CHANGE';
413
+ }
414
+ }
415
+
416
+ export declare namespace Products {
417
+ export {
418
+ type Product as Product,
419
+ type ProductListProductsResponse as ProductListProductsResponse,
420
+ type ProductListProductsResponsesMyCursorIDPage as ProductListProductsResponsesMyCursorIDPage,
421
+ type ProductCreateProductParams as ProductCreateProductParams,
422
+ type ProductDuplicateProductParams as ProductDuplicateProductParams,
423
+ type ProductListProductsParams as ProductListProductsParams,
424
+ type ProductUpdateProductParams as ProductUpdateProductParams,
425
+ };
426
+ }
@@ -5,43 +5,34 @@ import { APIPromise } from '../../../core/api-promise';
5
5
  import { RequestOptions } from '../../../internal/request-options';
6
6
  import { path } from '../../../internal/utils/path';
7
7
 
8
+ /**
9
+ * Operations related to subscriptions
10
+ */
8
11
  export class FutureUpdate extends APIResource {
9
12
  /**
10
- * Perform cancel future update on a Subscription
13
+ * Cancels a subscription update that is pending payment completion.
11
14
  */
12
- cancelPendingPayment(
13
- id: string,
14
- options?: RequestOptions,
15
- ): APIPromise<FutureUpdateCancelPendingPaymentResponse> {
15
+ cancelPendingPayment(id: string, options?: RequestOptions): APIPromise<CancelSubscription> {
16
16
  return this._client.delete(path`/api/v1/subscriptions/${id}/future-update/pending-payment`, options);
17
17
  }
18
18
 
19
19
  /**
20
- * Perform cancel future update on a Subscription
20
+ * Cancels a scheduled subscription update, such as a future downgrade or plan
21
+ * change.
21
22
  */
22
- cancelSchedule(id: string, options?: RequestOptions): APIPromise<FutureUpdateCancelScheduleResponse> {
23
+ cancelSchedule(id: string, options?: RequestOptions): APIPromise<CancelSubscription> {
23
24
  return this._client.delete(path`/api/v1/subscriptions/${id}/future-update/schedule`, options);
24
25
  }
25
26
  }
26
27
 
27
- export interface FutureUpdateCancelPendingPaymentResponse {
28
- data: FutureUpdateCancelPendingPaymentResponse.Data;
28
+ /**
29
+ * Response object
30
+ */
31
+ export interface CancelSubscription {
32
+ data: CancelSubscription.Data;
29
33
  }
30
34
 
31
- export namespace FutureUpdateCancelPendingPaymentResponse {
32
- export interface Data {
33
- /**
34
- * Subscription ID
35
- */
36
- id: string;
37
- }
38
- }
39
-
40
- export interface FutureUpdateCancelScheduleResponse {
41
- data: FutureUpdateCancelScheduleResponse.Data;
42
- }
43
-
44
- export namespace FutureUpdateCancelScheduleResponse {
35
+ export namespace CancelSubscription {
45
36
  export interface Data {
46
37
  /**
47
38
  * Subscription ID
@@ -51,8 +42,5 @@ export namespace FutureUpdateCancelScheduleResponse {
51
42
  }
52
43
 
53
44
  export declare namespace FutureUpdate {
54
- export {
55
- type FutureUpdateCancelPendingPaymentResponse as FutureUpdateCancelPendingPaymentResponse,
56
- type FutureUpdateCancelScheduleResponse as FutureUpdateCancelScheduleResponse,
57
- };
45
+ export { type CancelSubscription as CancelSubscription };
58
46
  }
@@ -1,24 +1,28 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- export {
4
- FutureUpdate,
5
- type FutureUpdateCancelPendingPaymentResponse,
6
- type FutureUpdateCancelScheduleResponse,
7
- } from './future-update';
3
+ export { FutureUpdate, type CancelSubscription } from './future-update';
4
+ export { Invoice, type InvoiceMarkAsPaidResponse } from './invoice';
8
5
  export {
9
6
  Subscriptions,
10
- type SubscriptionCreateResponse,
11
- type SubscriptionRetrieveResponse,
7
+ type Subscription,
12
8
  type SubscriptionListResponse,
13
- type SubscriptionDelegateResponse,
14
- type SubscriptionMigrateResponse,
9
+ type SubscriptionImportResponse,
15
10
  type SubscriptionPreviewResponse,
16
- type SubscriptionTransferResponse,
17
- type SubscriptionCreateParams,
11
+ type SubscriptionProvisionResponse,
12
+ type SubscriptionUpdateParams,
18
13
  type SubscriptionListParams,
14
+ type SubscriptionCancelParams,
19
15
  type SubscriptionDelegateParams,
16
+ type SubscriptionImportParams,
20
17
  type SubscriptionMigrateParams,
21
18
  type SubscriptionPreviewParams,
19
+ type SubscriptionProvisionParams,
22
20
  type SubscriptionTransferParams,
23
21
  type SubscriptionListResponsesMyCursorIDPage,
24
22
  } from './subscriptions';
23
+ export {
24
+ Usage,
25
+ type UsageChargeUsageResponse,
26
+ type UsageSyncResponse,
27
+ type UsageChargeUsageParams,
28
+ } from './usage';
@@ -0,0 +1,45 @@
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 Invoice extends APIResource {
12
+ /**
13
+ * Marks the latest invoice of a subscription as paid in the billing provider. The
14
+ * invoice must exist and have an OPEN status.
15
+ */
16
+ markAsPaid(id: string, options?: RequestOptions): APIPromise<InvoiceMarkAsPaidResponse> {
17
+ return this._client.post(path`/api/v1/subscriptions/${id}/invoice/paid`, options);
18
+ }
19
+ }
20
+
21
+ /**
22
+ * Response object
23
+ */
24
+ export interface InvoiceMarkAsPaidResponse {
25
+ /**
26
+ * Result of marking a subscription invoice as paid.
27
+ */
28
+ data: InvoiceMarkAsPaidResponse.Data;
29
+ }
30
+
31
+ export namespace InvoiceMarkAsPaidResponse {
32
+ /**
33
+ * Result of marking a subscription invoice as paid.
34
+ */
35
+ export interface Data {
36
+ /**
37
+ * The subscription ID whose invoice was marked as paid
38
+ */
39
+ id: string;
40
+ }
41
+ }
42
+
43
+ export declare namespace Invoice {
44
+ export { type InvoiceMarkAsPaidResponse as InvoiceMarkAsPaidResponse };
45
+ }