@stigg/typescript 0.1.0-alpha.1 → 0.1.0-alpha.10

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 (308) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/README.md +40 -0
  3. package/client.d.mts +6 -8
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +6 -8
  6. package/client.d.ts.map +1 -1
  7. package/client.js +23 -21
  8. package/client.js.map +1 -1
  9. package/client.mjs +24 -22
  10. package/client.mjs.map +1 -1
  11. package/core/pagination.d.mts +11 -5
  12. package/core/pagination.d.mts.map +1 -1
  13. package/core/pagination.d.ts +11 -5
  14. package/core/pagination.d.ts.map +1 -1
  15. package/core/pagination.js +9 -9
  16. package/core/pagination.js.map +1 -1
  17. package/core/pagination.mjs +9 -9
  18. package/core/pagination.mjs.map +1 -1
  19. package/internal/parse.d.mts.map +1 -1
  20. package/internal/parse.d.ts.map +1 -1
  21. package/internal/parse.js +5 -0
  22. package/internal/parse.js.map +1 -1
  23. package/internal/parse.mjs +5 -0
  24. package/internal/parse.mjs.map +1 -1
  25. package/internal/qs/formats.d.mts +7 -0
  26. package/internal/qs/formats.d.mts.map +1 -0
  27. package/internal/qs/formats.d.ts +7 -0
  28. package/internal/qs/formats.d.ts.map +1 -0
  29. package/internal/qs/formats.js +13 -0
  30. package/internal/qs/formats.js.map +1 -0
  31. package/internal/qs/formats.mjs +9 -0
  32. package/internal/qs/formats.mjs.map +1 -0
  33. package/internal/qs/index.d.mts +10 -0
  34. package/internal/qs/index.d.mts.map +1 -0
  35. package/internal/qs/index.d.ts +10 -0
  36. package/internal/qs/index.d.ts.map +1 -0
  37. package/internal/qs/index.js +14 -0
  38. package/internal/qs/index.js.map +1 -0
  39. package/internal/qs/index.mjs +10 -0
  40. package/internal/qs/index.mjs.map +1 -0
  41. package/internal/qs/stringify.d.mts +3 -0
  42. package/internal/qs/stringify.d.mts.map +1 -0
  43. package/internal/qs/stringify.d.ts +3 -0
  44. package/internal/qs/stringify.d.ts.map +1 -0
  45. package/internal/qs/stringify.js +277 -0
  46. package/internal/qs/stringify.js.map +1 -0
  47. package/internal/qs/stringify.mjs +274 -0
  48. package/internal/qs/stringify.mjs.map +1 -0
  49. package/internal/qs/types.d.mts +57 -0
  50. package/internal/qs/types.d.mts.map +1 -0
  51. package/internal/qs/types.d.ts +57 -0
  52. package/internal/qs/types.d.ts.map +1 -0
  53. package/internal/qs/types.js +3 -0
  54. package/internal/qs/types.js.map +1 -0
  55. package/internal/qs/types.mjs +2 -0
  56. package/internal/qs/types.mjs.map +1 -0
  57. package/internal/qs/utils.d.mts +15 -0
  58. package/internal/qs/utils.d.mts.map +1 -0
  59. package/internal/qs/utils.d.ts +15 -0
  60. package/internal/qs/utils.d.ts.map +1 -0
  61. package/internal/qs/utils.js +230 -0
  62. package/internal/qs/utils.js.map +1 -0
  63. package/internal/qs/utils.mjs +217 -0
  64. package/internal/qs/utils.mjs.map +1 -0
  65. package/package.json +1 -1
  66. package/resources/index.d.mts +1 -1
  67. package/resources/index.d.mts.map +1 -1
  68. package/resources/index.d.ts +1 -1
  69. package/resources/index.d.ts.map +1 -1
  70. package/resources/index.js.map +1 -1
  71. package/resources/index.mjs +1 -1
  72. package/resources/index.mjs.map +1 -1
  73. package/resources/v1/coupons.d.mts +154 -157
  74. package/resources/v1/coupons.d.mts.map +1 -1
  75. package/resources/v1/coupons.d.ts +154 -157
  76. package/resources/v1/coupons.d.ts.map +1 -1
  77. package/resources/v1/coupons.js +21 -4
  78. package/resources/v1/coupons.js.map +1 -1
  79. package/resources/v1/coupons.mjs +21 -4
  80. package/resources/v1/coupons.mjs.map +1 -1
  81. package/resources/v1/customers/customers.d.mts +247 -118
  82. package/resources/v1/customers/customers.d.mts.map +1 -1
  83. package/resources/v1/customers/customers.d.ts +247 -118
  84. package/resources/v1/customers/customers.d.ts.map +1 -1
  85. package/resources/v1/customers/customers.js +37 -16
  86. package/resources/v1/customers/customers.js.map +1 -1
  87. package/resources/v1/customers/customers.mjs +37 -16
  88. package/resources/v1/customers/customers.mjs.map +1 -1
  89. package/resources/v1/customers/index.d.mts +2 -2
  90. package/resources/v1/customers/index.d.mts.map +1 -1
  91. package/resources/v1/customers/index.d.ts +2 -2
  92. package/resources/v1/customers/index.d.ts.map +1 -1
  93. package/resources/v1/customers/index.js +3 -3
  94. package/resources/v1/customers/index.js.map +1 -1
  95. package/resources/v1/customers/index.mjs +1 -1
  96. package/resources/v1/customers/index.mjs.map +1 -1
  97. package/resources/v1/customers/payment-method.d.mts +7 -2
  98. package/resources/v1/customers/payment-method.d.mts.map +1 -1
  99. package/resources/v1/customers/payment-method.d.ts +7 -2
  100. package/resources/v1/customers/payment-method.d.ts.map +1 -1
  101. package/resources/v1/customers/payment-method.js +4 -2
  102. package/resources/v1/customers/payment-method.js.map +1 -1
  103. package/resources/v1/customers/payment-method.mjs +4 -2
  104. package/resources/v1/customers/payment-method.mjs.map +1 -1
  105. package/resources/v1/customers/promotional-entitlements.d.mts +498 -0
  106. package/resources/v1/customers/promotional-entitlements.d.mts.map +1 -0
  107. package/resources/v1/customers/promotional-entitlements.d.ts +498 -0
  108. package/resources/v1/customers/promotional-entitlements.d.ts.map +1 -0
  109. package/resources/v1/customers/promotional-entitlements.js +32 -0
  110. package/resources/v1/customers/promotional-entitlements.js.map +1 -0
  111. package/resources/v1/customers/promotional-entitlements.mjs +28 -0
  112. package/resources/v1/customers/promotional-entitlements.mjs.map +1 -0
  113. package/resources/v1/events/addons/addons.d.mts +605 -0
  114. package/resources/v1/events/addons/addons.d.mts.map +1 -0
  115. package/resources/v1/events/addons/addons.d.ts +605 -0
  116. package/resources/v1/events/addons/addons.d.ts.map +1 -0
  117. package/resources/v1/events/addons/addons.js +60 -0
  118. package/resources/v1/events/addons/addons.js.map +1 -0
  119. package/resources/v1/events/addons/addons.mjs +55 -0
  120. package/resources/v1/events/addons/addons.mjs.map +1 -0
  121. package/resources/v1/events/addons/draft.d.mts +121 -0
  122. package/resources/v1/events/addons/draft.d.mts.map +1 -0
  123. package/resources/v1/events/addons/draft.d.ts +121 -0
  124. package/resources/v1/events/addons/draft.d.ts.map +1 -0
  125. package/resources/v1/events/addons/draft.js +22 -0
  126. package/resources/v1/events/addons/draft.js.map +1 -0
  127. package/resources/v1/events/addons/draft.mjs +18 -0
  128. package/resources/v1/events/addons/draft.mjs.map +1 -0
  129. package/resources/v1/events/addons/index.d.mts +3 -0
  130. package/resources/v1/events/addons/index.d.mts.map +1 -0
  131. package/resources/v1/events/addons/index.d.ts +3 -0
  132. package/resources/v1/events/addons/index.d.ts.map +1 -0
  133. package/resources/v1/events/addons/index.js +9 -0
  134. package/resources/v1/events/addons/index.js.map +1 -0
  135. package/resources/v1/events/addons/index.mjs +4 -0
  136. package/resources/v1/events/addons/index.mjs.map +1 -0
  137. package/resources/v1/events/addons.d.mts +2 -0
  138. package/resources/v1/events/addons.d.mts.map +1 -0
  139. package/resources/v1/events/addons.d.ts +2 -0
  140. package/resources/v1/events/addons.d.ts.map +1 -0
  141. package/resources/v1/events/addons.js +6 -0
  142. package/resources/v1/events/addons.js.map +1 -0
  143. package/resources/v1/events/addons.mjs +3 -0
  144. package/resources/v1/events/addons.mjs.map +1 -0
  145. package/resources/v1/events/events.d.mts +75 -0
  146. package/resources/v1/events/events.d.mts.map +1 -0
  147. package/resources/v1/events/events.d.ts +75 -0
  148. package/resources/v1/events/events.d.ts.map +1 -0
  149. package/resources/v1/events/events.js +32 -0
  150. package/resources/v1/events/events.js.map +1 -0
  151. package/resources/v1/events/events.mjs +27 -0
  152. package/resources/v1/events/events.mjs.map +1 -0
  153. package/resources/v1/events/features.d.mts +856 -0
  154. package/resources/v1/events/features.d.mts.map +1 -0
  155. package/resources/v1/events/features.d.ts +856 -0
  156. package/resources/v1/events/features.d.ts.map +1 -0
  157. package/resources/v1/events/features.js +51 -0
  158. package/resources/v1/events/features.js.map +1 -0
  159. package/resources/v1/events/features.mjs +47 -0
  160. package/resources/v1/events/features.mjs.map +1 -0
  161. package/resources/v1/events/index.d.mts +5 -0
  162. package/resources/v1/events/index.d.mts.map +1 -0
  163. package/resources/v1/events/index.d.ts +5 -0
  164. package/resources/v1/events/index.d.ts.map +1 -0
  165. package/resources/v1/events/index.js +13 -0
  166. package/resources/v1/events/index.js.map +1 -0
  167. package/resources/v1/events/index.mjs +6 -0
  168. package/resources/v1/events/index.mjs.map +1 -0
  169. package/resources/v1/events/plans.d.mts +348 -0
  170. package/resources/v1/events/plans.d.mts.map +1 -0
  171. package/resources/v1/events/plans.d.ts +348 -0
  172. package/resources/v1/events/plans.d.ts.map +1 -0
  173. package/resources/v1/events/plans.js +30 -0
  174. package/resources/v1/events/plans.js.map +1 -0
  175. package/resources/v1/events/plans.mjs +26 -0
  176. package/resources/v1/events/plans.mjs.map +1 -0
  177. package/resources/v1/events.d.mts +2 -0
  178. package/resources/v1/events.d.mts.map +1 -0
  179. package/resources/v1/events.d.ts +2 -0
  180. package/resources/v1/events.d.ts.map +1 -0
  181. package/resources/v1/events.js +6 -0
  182. package/resources/v1/events.js.map +1 -0
  183. package/resources/v1/events.mjs +3 -0
  184. package/resources/v1/events.mjs.map +1 -0
  185. package/resources/v1/index.d.mts +7 -4
  186. package/resources/v1/index.d.mts.map +1 -1
  187. package/resources/v1/index.d.ts +7 -4
  188. package/resources/v1/index.d.ts.map +1 -1
  189. package/resources/v1/index.js +9 -3
  190. package/resources/v1/index.js.map +1 -1
  191. package/resources/v1/index.mjs +4 -1
  192. package/resources/v1/index.mjs.map +1 -1
  193. package/resources/v1/products.d.mts +676 -0
  194. package/resources/v1/products.d.mts.map +1 -0
  195. package/resources/v1/products.d.ts +676 -0
  196. package/resources/v1/products.d.ts.map +1 -0
  197. package/resources/v1/products.js +52 -0
  198. package/resources/v1/products.js.map +1 -0
  199. package/resources/v1/products.mjs +48 -0
  200. package/resources/v1/products.mjs.map +1 -0
  201. package/resources/v1/subscriptions/future-update.d.mts +12 -19
  202. package/resources/v1/subscriptions/future-update.d.mts.map +1 -1
  203. package/resources/v1/subscriptions/future-update.d.ts +12 -19
  204. package/resources/v1/subscriptions/future-update.d.ts.map +1 -1
  205. package/resources/v1/subscriptions/future-update.js +3 -2
  206. package/resources/v1/subscriptions/future-update.js.map +1 -1
  207. package/resources/v1/subscriptions/future-update.mjs +3 -2
  208. package/resources/v1/subscriptions/future-update.mjs.map +1 -1
  209. package/resources/v1/subscriptions/index.d.mts +4 -2
  210. package/resources/v1/subscriptions/index.d.mts.map +1 -1
  211. package/resources/v1/subscriptions/index.d.ts +4 -2
  212. package/resources/v1/subscriptions/index.d.ts.map +1 -1
  213. package/resources/v1/subscriptions/index.js +5 -1
  214. package/resources/v1/subscriptions/index.js.map +1 -1
  215. package/resources/v1/subscriptions/index.mjs +3 -1
  216. package/resources/v1/subscriptions/index.mjs.map +1 -1
  217. package/resources/v1/subscriptions/invoice.d.mts +34 -0
  218. package/resources/v1/subscriptions/invoice.d.mts.map +1 -0
  219. package/resources/v1/subscriptions/invoice.d.ts +34 -0
  220. package/resources/v1/subscriptions/invoice.d.ts.map +1 -0
  221. package/resources/v1/subscriptions/invoice.js +17 -0
  222. package/resources/v1/subscriptions/invoice.js.map +1 -0
  223. package/resources/v1/subscriptions/invoice.mjs +13 -0
  224. package/resources/v1/subscriptions/invoice.mjs.map +1 -0
  225. package/resources/v1/subscriptions/subscriptions.d.mts +1545 -518
  226. package/resources/v1/subscriptions/subscriptions.d.mts.map +1 -1
  227. package/resources/v1/subscriptions/subscriptions.d.ts +1545 -518
  228. package/resources/v1/subscriptions/subscriptions.d.ts.map +1 -1
  229. package/resources/v1/subscriptions/subscriptions.js +52 -12
  230. package/resources/v1/subscriptions/subscriptions.js.map +1 -1
  231. package/resources/v1/subscriptions/subscriptions.mjs +53 -13
  232. package/resources/v1/subscriptions/subscriptions.mjs.map +1 -1
  233. package/resources/v1/subscriptions/usage.d.mts +98 -0
  234. package/resources/v1/subscriptions/usage.d.mts.map +1 -0
  235. package/resources/v1/subscriptions/usage.d.ts +98 -0
  236. package/resources/v1/subscriptions/usage.d.ts.map +1 -0
  237. package/resources/v1/subscriptions/usage.js +24 -0
  238. package/resources/v1/subscriptions/usage.js.map +1 -0
  239. package/resources/v1/subscriptions/usage.mjs +20 -0
  240. package/resources/v1/subscriptions/usage.mjs.map +1 -0
  241. package/resources/v1/usage.d.mts +230 -0
  242. package/resources/v1/usage.d.mts.map +1 -0
  243. package/resources/v1/usage.d.ts +230 -0
  244. package/resources/v1/usage.d.ts.map +1 -0
  245. package/resources/v1/usage.js +24 -0
  246. package/resources/v1/usage.js.map +1 -0
  247. package/resources/v1/usage.mjs +20 -0
  248. package/resources/v1/usage.mjs.map +1 -0
  249. package/resources/v1/v1.d.mts +18 -149
  250. package/resources/v1/v1.d.mts.map +1 -1
  251. package/resources/v1/v1.d.ts +18 -149
  252. package/resources/v1/v1.d.ts.map +1 -1
  253. package/resources/v1/v1.js +12 -12
  254. package/resources/v1/v1.js.map +1 -1
  255. package/resources/v1/v1.mjs +12 -12
  256. package/resources/v1/v1.mjs.map +1 -1
  257. package/src/client.ts +33 -40
  258. package/src/core/pagination.ts +24 -18
  259. package/src/internal/parse.ts +6 -0
  260. package/src/internal/qs/LICENSE.md +13 -0
  261. package/src/internal/qs/README.md +3 -0
  262. package/src/internal/qs/formats.ts +10 -0
  263. package/src/internal/qs/index.ts +13 -0
  264. package/src/internal/qs/stringify.ts +385 -0
  265. package/src/internal/qs/types.ts +71 -0
  266. package/src/internal/qs/utils.ts +265 -0
  267. package/src/resources/index.ts +1 -7
  268. package/src/resources/v1/coupons.ts +311 -436
  269. package/src/resources/v1/customers/customers.ts +334 -153
  270. package/src/resources/v1/customers/index.ts +17 -2
  271. package/src/resources/v1/customers/payment-method.ts +7 -2
  272. package/src/resources/v1/customers/promotional-entitlements.ts +669 -0
  273. package/src/resources/v1/events/addons/addons.ts +761 -0
  274. package/src/resources/v1/events/addons/draft.ts +151 -0
  275. package/src/resources/v1/events/addons/index.ts +17 -0
  276. package/src/resources/v1/events/addons.ts +3 -0
  277. package/src/resources/v1/events/events.ts +160 -0
  278. package/src/resources/v1/events/features.ts +1066 -0
  279. package/src/resources/v1/events/index.ts +39 -0
  280. package/src/resources/v1/events/plans.ts +429 -0
  281. package/src/resources/v1/events.ts +3 -0
  282. package/src/resources/v1/index.ts +40 -15
  283. package/src/resources/v1/products.ts +834 -0
  284. package/src/resources/v1/subscriptions/future-update.ts +12 -27
  285. package/src/resources/v1/subscriptions/index.ts +16 -11
  286. package/src/resources/v1/subscriptions/invoice.ts +42 -0
  287. package/src/resources/v1/subscriptions/subscriptions.ts +3316 -832
  288. package/src/resources/v1/subscriptions/usage.ts +126 -0
  289. package/src/resources/v1/usage.ts +284 -0
  290. package/src/resources/v1/v1.ts +96 -197
  291. package/src/version.ts +1 -1
  292. package/version.d.mts +1 -1
  293. package/version.d.mts.map +1 -1
  294. package/version.d.ts +1 -1
  295. package/version.d.ts.map +1 -1
  296. package/version.js +1 -1
  297. package/version.js.map +1 -1
  298. package/version.mjs +1 -1
  299. package/version.mjs.map +1 -1
  300. package/resources/v1/customers/usage.d.mts +0 -98
  301. package/resources/v1/customers/usage.d.mts.map +0 -1
  302. package/resources/v1/customers/usage.d.ts +0 -98
  303. package/resources/v1/customers/usage.d.ts.map +0 -1
  304. package/resources/v1/customers/usage.js +0 -20
  305. package/resources/v1/customers/usage.js.map +0 -1
  306. package/resources/v1/customers/usage.mjs +0 -16
  307. package/resources/v1/customers/usage.mjs.map +0 -1
  308. package/src/resources/v1/customers/usage.ts +0 -132
@@ -0,0 +1,834 @@
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
+ export class Products extends APIResource {
10
+ /**
11
+ * Archives a product, preventing new subscriptions. All plans and addons are
12
+ * archived.
13
+ */
14
+ archiveProduct(id: string, options?: RequestOptions): APIPromise<ProductArchiveProductResponse> {
15
+ return this._client.post(path`/api/v1/products/${id}/archive`, options);
16
+ }
17
+
18
+ /**
19
+ * Creates a new product.
20
+ */
21
+ createProduct(
22
+ body: ProductCreateProductParams,
23
+ options?: RequestOptions,
24
+ ): APIPromise<ProductCreateProductResponse> {
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
+ pathID: string,
33
+ body: ProductDuplicateProductParams,
34
+ options?: RequestOptions,
35
+ ): APIPromise<ProductDuplicateProductResponse> {
36
+ return this._client.post(path`/api/v1/products/${pathID}/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<ProductUnarchiveProductResponse> {
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(
64
+ id: string,
65
+ body: ProductUpdateProductParams,
66
+ options?: RequestOptions,
67
+ ): APIPromise<ProductUpdateProductResponse> {
68
+ return this._client.patch(path`/api/v1/products/${id}`, { body, ...options });
69
+ }
70
+ }
71
+
72
+ export type ProductListProductsResponsesMyCursorIDPage = MyCursorIDPage<ProductListProductsResponse>;
73
+
74
+ /**
75
+ * Response object
76
+ */
77
+ export interface ProductArchiveProductResponse {
78
+ /**
79
+ * Product configuration object
80
+ */
81
+ data: ProductArchiveProductResponse.Data;
82
+ }
83
+
84
+ export namespace ProductArchiveProductResponse {
85
+ /**
86
+ * Product configuration object
87
+ */
88
+ export interface Data {
89
+ /**
90
+ * The unique identifier for the entity
91
+ */
92
+ id: string;
93
+
94
+ /**
95
+ * Timestamp of when the record was created
96
+ */
97
+ createdAt: string;
98
+
99
+ /**
100
+ * Description of the product
101
+ */
102
+ description: string | null;
103
+
104
+ /**
105
+ * Display name of the product
106
+ */
107
+ displayName: string;
108
+
109
+ /**
110
+ * Metadata associated with the entity
111
+ */
112
+ metadata: { [key: string]: string };
113
+
114
+ /**
115
+ * Indicates if multiple subscriptions to this product are allowed
116
+ */
117
+ multipleSubscriptions: boolean;
118
+
119
+ /**
120
+ * The status of the product
121
+ */
122
+ status: 'PUBLISHED' | 'ARCHIVED';
123
+
124
+ /**
125
+ * Timestamp of when the record was last updated
126
+ */
127
+ updatedAt: string;
128
+
129
+ /**
130
+ * Product behavior settings for subscription lifecycle management.
131
+ */
132
+ productSettings?: Data.ProductSettings;
133
+ }
134
+
135
+ export namespace Data {
136
+ /**
137
+ * Product behavior settings for subscription lifecycle management.
138
+ */
139
+ export interface ProductSettings {
140
+ /**
141
+ * Time when the subscription will be cancelled
142
+ */
143
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
144
+
145
+ /**
146
+ * Setup for the end of the subscription
147
+ */
148
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
149
+
150
+ /**
151
+ * Setup for the start of the subscription
152
+ */
153
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
154
+
155
+ /**
156
+ * ID of the plan to downgrade to at the end of the billing period
157
+ */
158
+ downgradePlanId?: string | null;
159
+
160
+ /**
161
+ * Indicates if the subscription should be prorated at the end of the billing
162
+ * period
163
+ */
164
+ prorateAtEndOfBillingPeriod?: boolean | null;
165
+
166
+ /**
167
+ * ID of the plan to start the subscription with
168
+ */
169
+ subscriptionStartPlanId?: string | null;
170
+ }
171
+ }
172
+ }
173
+
174
+ /**
175
+ * Response object
176
+ */
177
+ export interface ProductCreateProductResponse {
178
+ /**
179
+ * Product configuration object
180
+ */
181
+ data: ProductCreateProductResponse.Data;
182
+ }
183
+
184
+ export namespace ProductCreateProductResponse {
185
+ /**
186
+ * Product configuration object
187
+ */
188
+ export interface Data {
189
+ /**
190
+ * The unique identifier for the entity
191
+ */
192
+ id: string;
193
+
194
+ /**
195
+ * Timestamp of when the record was created
196
+ */
197
+ createdAt: string;
198
+
199
+ /**
200
+ * Description of the product
201
+ */
202
+ description: string | null;
203
+
204
+ /**
205
+ * Display name of the product
206
+ */
207
+ displayName: string;
208
+
209
+ /**
210
+ * Metadata associated with the entity
211
+ */
212
+ metadata: { [key: string]: string };
213
+
214
+ /**
215
+ * Indicates if multiple subscriptions to this product are allowed
216
+ */
217
+ multipleSubscriptions: boolean;
218
+
219
+ /**
220
+ * The status of the product
221
+ */
222
+ status: 'PUBLISHED' | 'ARCHIVED';
223
+
224
+ /**
225
+ * Timestamp of when the record was last updated
226
+ */
227
+ updatedAt: string;
228
+
229
+ /**
230
+ * Product behavior settings for subscription lifecycle management.
231
+ */
232
+ productSettings?: Data.ProductSettings;
233
+ }
234
+
235
+ export namespace Data {
236
+ /**
237
+ * Product behavior settings for subscription lifecycle management.
238
+ */
239
+ export interface ProductSettings {
240
+ /**
241
+ * Time when the subscription will be cancelled
242
+ */
243
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
244
+
245
+ /**
246
+ * Setup for the end of the subscription
247
+ */
248
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
249
+
250
+ /**
251
+ * Setup for the start of the subscription
252
+ */
253
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
254
+
255
+ /**
256
+ * ID of the plan to downgrade to at the end of the billing period
257
+ */
258
+ downgradePlanId?: string | null;
259
+
260
+ /**
261
+ * Indicates if the subscription should be prorated at the end of the billing
262
+ * period
263
+ */
264
+ prorateAtEndOfBillingPeriod?: boolean | null;
265
+
266
+ /**
267
+ * ID of the plan to start the subscription with
268
+ */
269
+ subscriptionStartPlanId?: string | null;
270
+ }
271
+ }
272
+ }
273
+
274
+ /**
275
+ * Response object
276
+ */
277
+ export interface ProductDuplicateProductResponse {
278
+ /**
279
+ * Product configuration object
280
+ */
281
+ data: ProductDuplicateProductResponse.Data;
282
+ }
283
+
284
+ export namespace ProductDuplicateProductResponse {
285
+ /**
286
+ * Product configuration object
287
+ */
288
+ export interface Data {
289
+ /**
290
+ * The unique identifier for the entity
291
+ */
292
+ id: string;
293
+
294
+ /**
295
+ * Timestamp of when the record was created
296
+ */
297
+ createdAt: string;
298
+
299
+ /**
300
+ * Description of the product
301
+ */
302
+ description: string | null;
303
+
304
+ /**
305
+ * Display name of the product
306
+ */
307
+ displayName: string;
308
+
309
+ /**
310
+ * Metadata associated with the entity
311
+ */
312
+ metadata: { [key: string]: string };
313
+
314
+ /**
315
+ * Indicates if multiple subscriptions to this product are allowed
316
+ */
317
+ multipleSubscriptions: boolean;
318
+
319
+ /**
320
+ * The status of the product
321
+ */
322
+ status: 'PUBLISHED' | 'ARCHIVED';
323
+
324
+ /**
325
+ * Timestamp of when the record was last updated
326
+ */
327
+ updatedAt: string;
328
+
329
+ /**
330
+ * Product behavior settings for subscription lifecycle management.
331
+ */
332
+ productSettings?: Data.ProductSettings;
333
+ }
334
+
335
+ export namespace Data {
336
+ /**
337
+ * Product behavior settings for subscription lifecycle management.
338
+ */
339
+ export interface ProductSettings {
340
+ /**
341
+ * Time when the subscription will be cancelled
342
+ */
343
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
344
+
345
+ /**
346
+ * Setup for the end of the subscription
347
+ */
348
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
349
+
350
+ /**
351
+ * Setup for the start of the subscription
352
+ */
353
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
354
+
355
+ /**
356
+ * ID of the plan to downgrade to at the end of the billing period
357
+ */
358
+ downgradePlanId?: string | null;
359
+
360
+ /**
361
+ * Indicates if the subscription should be prorated at the end of the billing
362
+ * period
363
+ */
364
+ prorateAtEndOfBillingPeriod?: boolean | null;
365
+
366
+ /**
367
+ * ID of the plan to start the subscription with
368
+ */
369
+ subscriptionStartPlanId?: string | null;
370
+ }
371
+ }
372
+ }
373
+
374
+ /**
375
+ * Product configuration object
376
+ */
377
+ export interface ProductListProductsResponse {
378
+ /**
379
+ * The unique identifier for the entity
380
+ */
381
+ id: string;
382
+
383
+ /**
384
+ * Timestamp of when the record was created
385
+ */
386
+ createdAt: string;
387
+
388
+ /**
389
+ * Description of the product
390
+ */
391
+ description: string | null;
392
+
393
+ /**
394
+ * Display name of the product
395
+ */
396
+ displayName: string;
397
+
398
+ /**
399
+ * Metadata associated with the entity
400
+ */
401
+ metadata: { [key: string]: string };
402
+
403
+ /**
404
+ * Indicates if multiple subscriptions to this product are allowed
405
+ */
406
+ multipleSubscriptions: boolean;
407
+
408
+ /**
409
+ * The status of the product
410
+ */
411
+ status: 'PUBLISHED' | 'ARCHIVED';
412
+
413
+ /**
414
+ * Timestamp of when the record was last updated
415
+ */
416
+ updatedAt: string;
417
+
418
+ /**
419
+ * Product behavior settings for subscription lifecycle management.
420
+ */
421
+ productSettings?: ProductListProductsResponse.ProductSettings;
422
+ }
423
+
424
+ export namespace ProductListProductsResponse {
425
+ /**
426
+ * Product behavior settings for subscription lifecycle management.
427
+ */
428
+ export interface ProductSettings {
429
+ /**
430
+ * Time when the subscription will be cancelled
431
+ */
432
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
433
+
434
+ /**
435
+ * Setup for the end of the subscription
436
+ */
437
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
438
+
439
+ /**
440
+ * Setup for the start of the subscription
441
+ */
442
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
443
+
444
+ /**
445
+ * ID of the plan to downgrade to at the end of the billing period
446
+ */
447
+ downgradePlanId?: string | null;
448
+
449
+ /**
450
+ * Indicates if the subscription should be prorated at the end of the billing
451
+ * period
452
+ */
453
+ prorateAtEndOfBillingPeriod?: boolean | null;
454
+
455
+ /**
456
+ * ID of the plan to start the subscription with
457
+ */
458
+ subscriptionStartPlanId?: string | null;
459
+ }
460
+ }
461
+
462
+ /**
463
+ * Response object
464
+ */
465
+ export interface ProductUnarchiveProductResponse {
466
+ /**
467
+ * Product configuration object
468
+ */
469
+ data: ProductUnarchiveProductResponse.Data;
470
+ }
471
+
472
+ export namespace ProductUnarchiveProductResponse {
473
+ /**
474
+ * Product configuration object
475
+ */
476
+ export interface Data {
477
+ /**
478
+ * The unique identifier for the entity
479
+ */
480
+ id: string;
481
+
482
+ /**
483
+ * Timestamp of when the record was created
484
+ */
485
+ createdAt: string;
486
+
487
+ /**
488
+ * Description of the product
489
+ */
490
+ description: string | null;
491
+
492
+ /**
493
+ * Display name of the product
494
+ */
495
+ displayName: string;
496
+
497
+ /**
498
+ * Metadata associated with the entity
499
+ */
500
+ metadata: { [key: string]: string };
501
+
502
+ /**
503
+ * Indicates if multiple subscriptions to this product are allowed
504
+ */
505
+ multipleSubscriptions: boolean;
506
+
507
+ /**
508
+ * The status of the product
509
+ */
510
+ status: 'PUBLISHED' | 'ARCHIVED';
511
+
512
+ /**
513
+ * Timestamp of when the record was last updated
514
+ */
515
+ updatedAt: string;
516
+
517
+ /**
518
+ * Product behavior settings for subscription lifecycle management.
519
+ */
520
+ productSettings?: Data.ProductSettings;
521
+ }
522
+
523
+ export namespace Data {
524
+ /**
525
+ * Product behavior settings for subscription lifecycle management.
526
+ */
527
+ export interface ProductSettings {
528
+ /**
529
+ * Time when the subscription will be cancelled
530
+ */
531
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
532
+
533
+ /**
534
+ * Setup for the end of the subscription
535
+ */
536
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
537
+
538
+ /**
539
+ * Setup for the start of the subscription
540
+ */
541
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
542
+
543
+ /**
544
+ * ID of the plan to downgrade to at the end of the billing period
545
+ */
546
+ downgradePlanId?: string | null;
547
+
548
+ /**
549
+ * Indicates if the subscription should be prorated at the end of the billing
550
+ * period
551
+ */
552
+ prorateAtEndOfBillingPeriod?: boolean | null;
553
+
554
+ /**
555
+ * ID of the plan to start the subscription with
556
+ */
557
+ subscriptionStartPlanId?: string | null;
558
+ }
559
+ }
560
+ }
561
+
562
+ /**
563
+ * Response object
564
+ */
565
+ export interface ProductUpdateProductResponse {
566
+ /**
567
+ * Product configuration object
568
+ */
569
+ data: ProductUpdateProductResponse.Data;
570
+ }
571
+
572
+ export namespace ProductUpdateProductResponse {
573
+ /**
574
+ * Product configuration object
575
+ */
576
+ export interface Data {
577
+ /**
578
+ * The unique identifier for the entity
579
+ */
580
+ id: string;
581
+
582
+ /**
583
+ * Timestamp of when the record was created
584
+ */
585
+ createdAt: string;
586
+
587
+ /**
588
+ * Description of the product
589
+ */
590
+ description: string | null;
591
+
592
+ /**
593
+ * Display name of the product
594
+ */
595
+ displayName: string;
596
+
597
+ /**
598
+ * Metadata associated with the entity
599
+ */
600
+ metadata: { [key: string]: string };
601
+
602
+ /**
603
+ * Indicates if multiple subscriptions to this product are allowed
604
+ */
605
+ multipleSubscriptions: boolean;
606
+
607
+ /**
608
+ * The status of the product
609
+ */
610
+ status: 'PUBLISHED' | 'ARCHIVED';
611
+
612
+ /**
613
+ * Timestamp of when the record was last updated
614
+ */
615
+ updatedAt: string;
616
+
617
+ /**
618
+ * Product behavior settings for subscription lifecycle management.
619
+ */
620
+ productSettings?: Data.ProductSettings;
621
+ }
622
+
623
+ export namespace Data {
624
+ /**
625
+ * Product behavior settings for subscription lifecycle management.
626
+ */
627
+ export interface ProductSettings {
628
+ /**
629
+ * Time when the subscription will be cancelled
630
+ */
631
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
632
+
633
+ /**
634
+ * Setup for the end of the subscription
635
+ */
636
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
637
+
638
+ /**
639
+ * Setup for the start of the subscription
640
+ */
641
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
642
+
643
+ /**
644
+ * ID of the plan to downgrade to at the end of the billing period
645
+ */
646
+ downgradePlanId?: string | null;
647
+
648
+ /**
649
+ * Indicates if the subscription should be prorated at the end of the billing
650
+ * period
651
+ */
652
+ prorateAtEndOfBillingPeriod?: boolean | null;
653
+
654
+ /**
655
+ * ID of the plan to start the subscription with
656
+ */
657
+ subscriptionStartPlanId?: string | null;
658
+ }
659
+ }
660
+ }
661
+
662
+ export interface ProductCreateProductParams {
663
+ /**
664
+ * The unique identifier for the entity
665
+ */
666
+ id: string;
667
+
668
+ /**
669
+ * Description of the product
670
+ */
671
+ description?: string | null;
672
+
673
+ /**
674
+ * Display name of the product
675
+ */
676
+ displayName?: string;
677
+
678
+ /**
679
+ * Additional metadata for the product
680
+ */
681
+ metadata?: { [key: string]: string } | null;
682
+
683
+ /**
684
+ * Indicates if multiple subscriptions to this product are allowed
685
+ */
686
+ multipleSubscriptions?: boolean;
687
+ }
688
+
689
+ export interface ProductDuplicateProductParams {
690
+ /**
691
+ * The unique identifier for the entity
692
+ */
693
+ body_id: string;
694
+
695
+ /**
696
+ * Description of the product
697
+ */
698
+ description?: string | null;
699
+
700
+ /**
701
+ * Display name of the product
702
+ */
703
+ displayName?: string;
704
+ }
705
+
706
+ export interface ProductListProductsParams extends MyCursorIDPageParams {
707
+ /**
708
+ * Filter by entity ID
709
+ */
710
+ id?: string;
711
+
712
+ /**
713
+ * Filter by creation date using range operators: gt, gte, lt, lte
714
+ */
715
+ createdAt?: ProductListProductsParams.CreatedAt;
716
+
717
+ /**
718
+ * Filter by product status. Supports comma-separated values for multiple statuses
719
+ */
720
+ status?: string;
721
+ }
722
+
723
+ export namespace ProductListProductsParams {
724
+ /**
725
+ * Filter by creation date using range operators: gt, gte, lt, lte
726
+ */
727
+ export interface CreatedAt {
728
+ /**
729
+ * Greater than the specified createdAt value
730
+ */
731
+ gt?: string;
732
+
733
+ /**
734
+ * Greater than or equal to the specified createdAt value
735
+ */
736
+ gte?: string;
737
+
738
+ /**
739
+ * Less than the specified createdAt value
740
+ */
741
+ lt?: string;
742
+
743
+ /**
744
+ * Less than or equal to the specified createdAt value
745
+ */
746
+ lte?: string;
747
+ }
748
+ }
749
+
750
+ export interface ProductUpdateProductParams {
751
+ /**
752
+ * Description of the product
753
+ */
754
+ description?: string | null;
755
+
756
+ /**
757
+ * Display name of the product
758
+ */
759
+ displayName?: string;
760
+
761
+ /**
762
+ * Additional metadata for the product
763
+ */
764
+ metadata?: { [key: string]: string } | null;
765
+
766
+ /**
767
+ * Indicates if multiple subscriptions to this product are allowed
768
+ */
769
+ multipleSubscriptions?: boolean;
770
+
771
+ productSettings?: ProductUpdateProductParams.ProductSettings;
772
+
773
+ /**
774
+ * Rule defining when usage resets upon subscription update.
775
+ */
776
+ usageResetCutoffRule?: ProductUpdateProductParams.UsageResetCutoffRule;
777
+ }
778
+
779
+ export namespace ProductUpdateProductParams {
780
+ export interface ProductSettings {
781
+ /**
782
+ * Time when the subscription will be cancelled
783
+ */
784
+ subscriptionCancellationTime: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
785
+
786
+ /**
787
+ * Setup for the end of the subscription
788
+ */
789
+ subscriptionEndSetup: 'DOWNGRADE_TO_FREE' | 'CANCEL_SUBSCRIPTION';
790
+
791
+ /**
792
+ * Setup for the start of the subscription
793
+ */
794
+ subscriptionStartSetup: 'PLAN_SELECTION' | 'TRIAL_PERIOD' | 'FREE_PLAN';
795
+
796
+ /**
797
+ * ID of the plan to downgrade to at the end of the billing period
798
+ */
799
+ downgradePlanId?: string | null;
800
+
801
+ prorateAtEndOfBillingPeriod?: boolean | null;
802
+
803
+ /**
804
+ * ID of the plan to start the subscription with
805
+ */
806
+ subscriptionStartPlanId?: string | null;
807
+ }
808
+
809
+ /**
810
+ * Rule defining when usage resets upon subscription update.
811
+ */
812
+ export interface UsageResetCutoffRule {
813
+ /**
814
+ * Behavior of the usage reset cutoff rule
815
+ */
816
+ behavior: 'NEVER_RESET' | 'ALWAYS_RESET' | 'BILLING_PERIOD_CHANGE';
817
+ }
818
+ }
819
+
820
+ export declare namespace Products {
821
+ export {
822
+ type ProductArchiveProductResponse as ProductArchiveProductResponse,
823
+ type ProductCreateProductResponse as ProductCreateProductResponse,
824
+ type ProductDuplicateProductResponse as ProductDuplicateProductResponse,
825
+ type ProductListProductsResponse as ProductListProductsResponse,
826
+ type ProductUnarchiveProductResponse as ProductUnarchiveProductResponse,
827
+ type ProductUpdateProductResponse as ProductUpdateProductResponse,
828
+ type ProductListProductsResponsesMyCursorIDPage as ProductListProductsResponsesMyCursorIDPage,
829
+ type ProductCreateProductParams as ProductCreateProductParams,
830
+ type ProductDuplicateProductParams as ProductDuplicateProductParams,
831
+ type ProductListProductsParams as ProductListProductsParams,
832
+ type ProductUpdateProductParams as ProductUpdateProductParams,
833
+ };
834
+ }