@usehercules/sdk 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/LICENSE +1 -1
  3. package/README.md +14 -20
  4. package/client.d.mts +6 -3
  5. package/client.d.mts.map +1 -1
  6. package/client.d.ts +6 -3
  7. package/client.d.ts.map +1 -1
  8. package/client.js +1 -1
  9. package/client.js.map +1 -1
  10. package/client.mjs +1 -1
  11. package/client.mjs.map +1 -1
  12. package/package.json +1 -1
  13. package/resources/beta/beta.d.mts +4 -4
  14. package/resources/beta/beta.d.mts.map +1 -1
  15. package/resources/beta/beta.d.ts +4 -4
  16. package/resources/beta/beta.d.ts.map +1 -1
  17. package/resources/beta/beta.js +4 -4
  18. package/resources/beta/beta.js.map +1 -1
  19. package/resources/beta/beta.mjs +4 -4
  20. package/resources/beta/beta.mjs.map +1 -1
  21. package/resources/beta/index.d.mts +1 -1
  22. package/resources/beta/index.d.mts.map +1 -1
  23. package/resources/beta/index.d.ts +1 -1
  24. package/resources/beta/index.d.ts.map +1 -1
  25. package/resources/beta/index.js +3 -3
  26. package/resources/beta/index.js.map +1 -1
  27. package/resources/beta/index.mjs +1 -1
  28. package/resources/beta/index.mjs.map +1 -1
  29. package/resources/beta/pay/coupons.d.mts +156 -0
  30. package/resources/beta/pay/coupons.d.mts.map +1 -0
  31. package/resources/beta/pay/coupons.d.ts +156 -0
  32. package/resources/beta/pay/coupons.d.ts.map +1 -0
  33. package/resources/beta/pay/coupons.js +51 -0
  34. package/resources/beta/pay/coupons.js.map +1 -0
  35. package/resources/beta/pay/coupons.mjs +47 -0
  36. package/resources/beta/pay/coupons.mjs.map +1 -0
  37. package/resources/beta/pay/customers.d.mts +160 -0
  38. package/resources/beta/pay/customers.d.mts.map +1 -0
  39. package/resources/beta/pay/customers.d.ts +160 -0
  40. package/resources/beta/pay/customers.d.ts.map +1 -0
  41. package/resources/beta/pay/customers.js +60 -0
  42. package/resources/beta/pay/customers.js.map +1 -0
  43. package/resources/beta/pay/customers.mjs +56 -0
  44. package/resources/beta/pay/customers.mjs.map +1 -0
  45. package/resources/beta/{subscriptions → pay}/entitlements.d.mts +25 -19
  46. package/resources/beta/pay/entitlements.d.mts.map +1 -0
  47. package/resources/beta/{subscriptions → pay}/entitlements.d.ts +25 -19
  48. package/resources/beta/pay/entitlements.d.ts.map +1 -0
  49. package/resources/beta/pay/entitlements.js +41 -0
  50. package/resources/beta/pay/entitlements.js.map +1 -0
  51. package/resources/beta/pay/entitlements.mjs +37 -0
  52. package/resources/beta/pay/entitlements.mjs.map +1 -0
  53. package/resources/beta/{subscriptions → pay}/index.d.mts +2 -2
  54. package/resources/beta/pay/index.d.mts.map +1 -0
  55. package/resources/beta/{subscriptions → pay}/index.d.ts +2 -2
  56. package/resources/beta/pay/index.d.ts.map +1 -0
  57. package/resources/beta/{subscriptions → pay}/index.js +5 -5
  58. package/resources/beta/pay/index.js.map +1 -0
  59. package/resources/beta/{subscriptions → pay}/index.mjs +2 -2
  60. package/resources/beta/pay/index.mjs.map +1 -0
  61. package/resources/beta/pay/pay.d.mts +206 -0
  62. package/resources/beta/pay/pay.d.mts.map +1 -0
  63. package/resources/beta/pay/pay.d.ts +206 -0
  64. package/resources/beta/pay/pay.d.ts.map +1 -0
  65. package/resources/beta/pay/pay.js +54 -0
  66. package/resources/beta/pay/pay.js.map +1 -0
  67. package/resources/beta/pay/pay.mjs +49 -0
  68. package/resources/beta/pay/pay.mjs.map +1 -0
  69. package/resources/beta/pay/products/entitlements.d.mts +53 -0
  70. package/resources/beta/pay/products/entitlements.d.mts.map +1 -0
  71. package/resources/beta/pay/products/entitlements.d.ts +53 -0
  72. package/resources/beta/pay/products/entitlements.d.ts.map +1 -0
  73. package/resources/beta/pay/products/entitlements.js +38 -0
  74. package/resources/beta/pay/products/entitlements.js.map +1 -0
  75. package/resources/beta/pay/products/entitlements.mjs +34 -0
  76. package/resources/beta/pay/products/entitlements.mjs.map +1 -0
  77. package/resources/beta/pay/products/index.d.mts +4 -0
  78. package/resources/beta/pay/products/index.d.mts.map +1 -0
  79. package/resources/beta/pay/products/index.d.ts +4 -0
  80. package/resources/beta/pay/products/index.d.ts.map +1 -0
  81. package/resources/beta/pay/products/index.js +11 -0
  82. package/resources/beta/pay/products/index.js.map +1 -0
  83. package/resources/beta/{subscriptions/plans → pay/products}/index.mjs +2 -1
  84. package/resources/beta/pay/products/index.mjs.map +1 -0
  85. package/resources/beta/pay/products/products.d.mts +183 -0
  86. package/resources/beta/pay/products/products.d.mts.map +1 -0
  87. package/resources/beta/pay/products/products.d.ts +183 -0
  88. package/resources/beta/pay/products/products.d.ts.map +1 -0
  89. package/resources/beta/pay/products/products.js +61 -0
  90. package/resources/beta/pay/products/products.js.map +1 -0
  91. package/resources/beta/pay/products/products.mjs +56 -0
  92. package/resources/beta/pay/products/products.mjs.map +1 -0
  93. package/resources/beta/pay/products/variants.d.mts +206 -0
  94. package/resources/beta/pay/products/variants.d.mts.map +1 -0
  95. package/resources/beta/pay/products/variants.d.ts +206 -0
  96. package/resources/beta/pay/products/variants.d.ts.map +1 -0
  97. package/resources/beta/pay/products/variants.js +56 -0
  98. package/resources/beta/pay/products/variants.js.map +1 -0
  99. package/resources/beta/pay/products/variants.mjs +52 -0
  100. package/resources/beta/pay/products/variants.mjs.map +1 -0
  101. package/resources/beta/pay/products.d.mts +2 -0
  102. package/resources/beta/pay/products.d.mts.map +1 -0
  103. package/resources/beta/pay/products.d.ts +2 -0
  104. package/resources/beta/pay/products.d.ts.map +1 -0
  105. package/resources/beta/{subscriptions/plans.js → pay/products.js} +2 -2
  106. package/resources/beta/pay/products.js.map +1 -0
  107. package/resources/beta/{subscriptions.mjs → pay/products.mjs} +2 -2
  108. package/resources/beta/pay/products.mjs.map +1 -0
  109. package/resources/beta/pay.d.mts +2 -0
  110. package/resources/beta/pay.d.mts.map +1 -0
  111. package/resources/beta/pay.d.ts +2 -0
  112. package/resources/beta/pay.d.ts.map +1 -0
  113. package/resources/beta/{subscriptions.js → pay.js} +2 -2
  114. package/resources/beta/pay.js.map +1 -0
  115. package/resources/beta/{subscriptions/plans.mjs → pay.mjs} +2 -2
  116. package/resources/beta/pay.mjs.map +1 -0
  117. package/src/client.ts +6 -4
  118. package/src/resources/beta/beta.ts +18 -18
  119. package/src/resources/beta/index.ts +8 -8
  120. package/src/resources/beta/pay/coupons.ts +218 -0
  121. package/src/resources/beta/pay/customers.ts +229 -0
  122. package/src/resources/beta/{subscriptions → pay}/entitlements.ts +29 -29
  123. package/src/resources/beta/{subscriptions → pay}/index.ts +15 -15
  124. package/src/resources/beta/pay/pay.ts +326 -0
  125. package/src/resources/beta/{subscriptions/plans → pay/products}/entitlements.ts +26 -21
  126. package/src/resources/beta/pay/products/index.ts +28 -0
  127. package/src/resources/beta/pay/products/products.ts +280 -0
  128. package/src/resources/beta/pay/products/variants.ts +279 -0
  129. package/src/resources/beta/{subscriptions.ts → pay/products.ts} +1 -1
  130. package/src/resources/beta/{subscriptions/plans.ts → pay.ts} +1 -1
  131. package/src/version.ts +1 -1
  132. package/version.d.mts +1 -1
  133. package/version.d.ts +1 -1
  134. package/version.js +1 -1
  135. package/version.mjs +1 -1
  136. package/resources/beta/subscriptions/coupons.d.mts +0 -124
  137. package/resources/beta/subscriptions/coupons.d.mts.map +0 -1
  138. package/resources/beta/subscriptions/coupons.d.ts +0 -124
  139. package/resources/beta/subscriptions/coupons.d.ts.map +0 -1
  140. package/resources/beta/subscriptions/coupons.js +0 -45
  141. package/resources/beta/subscriptions/coupons.js.map +0 -1
  142. package/resources/beta/subscriptions/coupons.mjs +0 -41
  143. package/resources/beta/subscriptions/coupons.mjs.map +0 -1
  144. package/resources/beta/subscriptions/customers.d.mts +0 -93
  145. package/resources/beta/subscriptions/customers.d.mts.map +0 -1
  146. package/resources/beta/subscriptions/customers.d.ts +0 -93
  147. package/resources/beta/subscriptions/customers.d.ts.map +0 -1
  148. package/resources/beta/subscriptions/customers.js +0 -57
  149. package/resources/beta/subscriptions/customers.js.map +0 -1
  150. package/resources/beta/subscriptions/customers.mjs +0 -53
  151. package/resources/beta/subscriptions/customers.mjs.map +0 -1
  152. package/resources/beta/subscriptions/entitlements.d.mts.map +0 -1
  153. package/resources/beta/subscriptions/entitlements.d.ts.map +0 -1
  154. package/resources/beta/subscriptions/entitlements.js +0 -38
  155. package/resources/beta/subscriptions/entitlements.js.map +0 -1
  156. package/resources/beta/subscriptions/entitlements.mjs +0 -34
  157. package/resources/beta/subscriptions/entitlements.mjs.map +0 -1
  158. package/resources/beta/subscriptions/index.d.mts.map +0 -1
  159. package/resources/beta/subscriptions/index.d.ts.map +0 -1
  160. package/resources/beta/subscriptions/index.js.map +0 -1
  161. package/resources/beta/subscriptions/index.mjs.map +0 -1
  162. package/resources/beta/subscriptions/plans/entitlements.d.mts +0 -48
  163. package/resources/beta/subscriptions/plans/entitlements.d.mts.map +0 -1
  164. package/resources/beta/subscriptions/plans/entitlements.d.ts +0 -48
  165. package/resources/beta/subscriptions/plans/entitlements.d.ts.map +0 -1
  166. package/resources/beta/subscriptions/plans/entitlements.js +0 -34
  167. package/resources/beta/subscriptions/plans/entitlements.js.map +0 -1
  168. package/resources/beta/subscriptions/plans/entitlements.mjs +0 -30
  169. package/resources/beta/subscriptions/plans/entitlements.mjs.map +0 -1
  170. package/resources/beta/subscriptions/plans/index.d.mts +0 -3
  171. package/resources/beta/subscriptions/plans/index.d.mts.map +0 -1
  172. package/resources/beta/subscriptions/plans/index.d.ts +0 -3
  173. package/resources/beta/subscriptions/plans/index.d.ts.map +0 -1
  174. package/resources/beta/subscriptions/plans/index.js +0 -9
  175. package/resources/beta/subscriptions/plans/index.js.map +0 -1
  176. package/resources/beta/subscriptions/plans/index.mjs.map +0 -1
  177. package/resources/beta/subscriptions/plans/plans.d.mts +0 -87
  178. package/resources/beta/subscriptions/plans/plans.d.mts.map +0 -1
  179. package/resources/beta/subscriptions/plans/plans.d.ts +0 -87
  180. package/resources/beta/subscriptions/plans/plans.d.ts.map +0 -1
  181. package/resources/beta/subscriptions/plans/plans.js +0 -49
  182. package/resources/beta/subscriptions/plans/plans.js.map +0 -1
  183. package/resources/beta/subscriptions/plans/plans.mjs +0 -44
  184. package/resources/beta/subscriptions/plans/plans.mjs.map +0 -1
  185. package/resources/beta/subscriptions/plans.d.mts +0 -2
  186. package/resources/beta/subscriptions/plans.d.mts.map +0 -1
  187. package/resources/beta/subscriptions/plans.d.ts +0 -2
  188. package/resources/beta/subscriptions/plans.d.ts.map +0 -1
  189. package/resources/beta/subscriptions/plans.js.map +0 -1
  190. package/resources/beta/subscriptions/plans.mjs.map +0 -1
  191. package/resources/beta/subscriptions/subscriptions.d.mts +0 -130
  192. package/resources/beta/subscriptions/subscriptions.d.mts.map +0 -1
  193. package/resources/beta/subscriptions/subscriptions.d.ts +0 -130
  194. package/resources/beta/subscriptions/subscriptions.d.ts.map +0 -1
  195. package/resources/beta/subscriptions/subscriptions.js +0 -47
  196. package/resources/beta/subscriptions/subscriptions.js.map +0 -1
  197. package/resources/beta/subscriptions/subscriptions.mjs +0 -42
  198. package/resources/beta/subscriptions/subscriptions.mjs.map +0 -1
  199. package/resources/beta/subscriptions.d.mts +0 -2
  200. package/resources/beta/subscriptions.d.mts.map +0 -1
  201. package/resources/beta/subscriptions.d.ts +0 -2
  202. package/resources/beta/subscriptions.d.ts.map +0 -1
  203. package/resources/beta/subscriptions.js.map +0 -1
  204. package/resources/beta/subscriptions.mjs.map +0 -1
  205. package/src/resources/beta/subscriptions/coupons.ts +0 -185
  206. package/src/resources/beta/subscriptions/customers.ts +0 -168
  207. package/src/resources/beta/subscriptions/plans/index.ts +0 -18
  208. package/src/resources/beta/subscriptions/plans/plans.ts +0 -159
  209. package/src/resources/beta/subscriptions/subscriptions.ts +0 -241
@@ -0,0 +1,206 @@
1
+ import { APIResource } from "../../../../core/resource.js";
2
+ import { APIPromise } from "../../../../core/api-promise.js";
3
+ import { CursorIDPage, type CursorIDPageParams, PagePromise } from "../../../../core/pagination.js";
4
+ import { RequestOptions } from "../../../../internal/request-options.js";
5
+ export declare class Variants extends APIResource {
6
+ /**
7
+ * Creates a new variant with pricing for a product. Use variants to offer multiple
8
+ * pricing tiers or configurations (e.g., Basic at $10/month, Pro at $25/month). A
9
+ * Stripe Price is automatically created.
10
+ */
11
+ create(productID: string, body: VariantCreateParams, options?: RequestOptions): APIPromise<Variant>;
12
+ /**
13
+ * Updates an existing variant. Use this to modify the name, description, or active
14
+ * status. Pricing cannot be changed after creation—create a new variant instead.
15
+ */
16
+ update(variantID: string, params: VariantUpdateParams, options?: RequestOptions): APIPromise<Variant>;
17
+ /**
18
+ * Retrieves all variants for a product. Variants represent different pricing tiers
19
+ * or configurations (e.g., Basic, Pro, Enterprise) within a single product.
20
+ */
21
+ list(productID: string, query?: VariantListParams | null | undefined, options?: RequestOptions): PagePromise<VariantsCursorIDPage, Variant>;
22
+ /**
23
+ * Archives a variant, preventing new subscriptions. The associated Stripe Price is
24
+ * also archived. Existing subscriptions remain active.
25
+ */
26
+ archive(variantID: string, params: VariantArchiveParams, options?: RequestOptions): APIPromise<Variant>;
27
+ /**
28
+ * Retrieves a variant by ID. Returns the variant object including pricing details
29
+ * and status.
30
+ */
31
+ get(variantID: string, params: VariantGetParams, options?: RequestOptions): APIPromise<Variant>;
32
+ }
33
+ export type VariantsCursorIDPage = CursorIDPage<Variant>;
34
+ /**
35
+ * A product variant representing a specific tier or configuration. Each variant
36
+ * has its own pricing. Variants allow a single product to have multiple pricing
37
+ * options (e.g., Basic, Pro, Enterprise tiers).
38
+ */
39
+ export interface Variant {
40
+ /**
41
+ * Unique identifier for the price
42
+ */
43
+ id: string;
44
+ /**
45
+ * Whether the variant is available for new purchases
46
+ */
47
+ active: boolean;
48
+ /**
49
+ * Timestamp when the variant was created
50
+ */
51
+ created: string;
52
+ /**
53
+ * Display name for the variant (e.g., Basic, Standard, Premium)
54
+ */
55
+ name: string;
56
+ /**
57
+ * Price configuration for a product. Can be one-time or recurring (subscription).
58
+ */
59
+ default_price?: Variant.DefaultPrice | null;
60
+ /**
61
+ * Detailed description of what this variant includes
62
+ */
63
+ description?: string | null;
64
+ }
65
+ export declare namespace Variant {
66
+ /**
67
+ * Price configuration for a product. Can be one-time or recurring (subscription).
68
+ */
69
+ interface DefaultPrice {
70
+ /**
71
+ * Unique identifier for the price
72
+ */
73
+ id: string;
74
+ /**
75
+ * How to handle the billing cycle when switching plans. 'now' resets to current
76
+ * time, 'unchanged' keeps the original anchor. Null for one-time prices.
77
+ */
78
+ billing_cycle_anchor: 'now' | 'unchanged' | null;
79
+ /**
80
+ * Three-letter ISO currency code (e.g., usd, eur)
81
+ */
82
+ currency: string;
83
+ /**
84
+ * Billing frequency for recurring prices: day, week, month, or year. Null for
85
+ * one-time prices.
86
+ */
87
+ interval: 'day' | 'week' | 'month' | 'year' | null;
88
+ /**
89
+ * Number of intervals between billings for recurring prices. Null for one-time
90
+ * prices.
91
+ */
92
+ interval_count: number | null;
93
+ /**
94
+ * How to handle prorations when switching plans. 'default' creates prorations,
95
+ * 'none' disables them. Null for one-time prices.
96
+ */
97
+ proration_behavior: 'default' | 'none' | null;
98
+ /**
99
+ * When to calculate proration. 'now' uses current time, 'start_of_period' uses the
100
+ * billing period start. Null for one-time prices or to use Stripe's default.
101
+ */
102
+ proration_date: 'now' | 'start_of_period' | null;
103
+ /**
104
+ * Price type: one_time for single purchases, recurring for subscriptions
105
+ */
106
+ type: 'one_time' | 'recurring';
107
+ /**
108
+ * Price amount in the smallest currency unit (e.g., cents)
109
+ */
110
+ unit_amount: number | null;
111
+ }
112
+ }
113
+ export interface VariantCreateParams {
114
+ /**
115
+ * Display name for the variant (e.g., Basic, Standard, Premium)
116
+ */
117
+ name: string;
118
+ /**
119
+ * Price amount in the smallest currency unit (e.g., cents). Use 0 for free
120
+ * variants.
121
+ */
122
+ unit_amount: number;
123
+ /**
124
+ * Optional custom ID for the variant. If not provided, one will be generated.
125
+ */
126
+ id?: string;
127
+ /**
128
+ * Default billing cycle anchor behavior when switching to this price. 'now' resets
129
+ * to current time, 'unchanged' keeps original anchor. Only applies to recurring
130
+ * prices.
131
+ */
132
+ billing_cycle_anchor?: 'now' | 'unchanged';
133
+ /**
134
+ * Three-letter ISO currency code
135
+ */
136
+ currency?: string;
137
+ /**
138
+ * Detailed description of what this variant includes
139
+ */
140
+ description?: string;
141
+ /**
142
+ * Billing frequency for recurring prices: day, week, month, or year. Required for
143
+ * recurring type, ignored for one_time.
144
+ */
145
+ interval?: 'day' | 'week' | 'month' | 'year';
146
+ /**
147
+ * Number of intervals between billings for recurring prices. Required for
148
+ * recurring type, ignored for one_time.
149
+ */
150
+ interval_count?: number;
151
+ /**
152
+ * Default proration behavior when switching to this price. 'default' creates
153
+ * prorations, 'none' disables them. Only applies to recurring prices.
154
+ */
155
+ proration_behavior?: 'default' | 'none';
156
+ /**
157
+ * Default proration date calculation when switching to this price. 'now' uses
158
+ * current time, 'start_of_period' uses billing period start. Only applies to
159
+ * recurring prices.
160
+ */
161
+ proration_date?: 'now' | 'start_of_period';
162
+ /**
163
+ * Price type: one_time for single purchases, recurring for subscriptions
164
+ */
165
+ type?: 'one_time' | 'recurring';
166
+ }
167
+ export interface VariantUpdateParams {
168
+ /**
169
+ * Path param: The unique identifier of the product
170
+ */
171
+ product_id: string;
172
+ /**
173
+ * Body param: Whether the variant is available for new purchases
174
+ */
175
+ active?: boolean;
176
+ /**
177
+ * Body param: Detailed description of what this variant includes
178
+ */
179
+ description?: string;
180
+ /**
181
+ * Body param: Display name for the variant
182
+ */
183
+ name?: string;
184
+ }
185
+ export interface VariantListParams extends CursorIDPageParams {
186
+ /**
187
+ * Filter by active status
188
+ */
189
+ active?: 'true' | 'false';
190
+ }
191
+ export interface VariantArchiveParams {
192
+ /**
193
+ * The unique identifier of the product
194
+ */
195
+ product_id: string;
196
+ }
197
+ export interface VariantGetParams {
198
+ /**
199
+ * The unique identifier of the product
200
+ */
201
+ product_id: string;
202
+ }
203
+ export declare namespace Variants {
204
+ export { type Variant as Variant, type VariantsCursorIDPage as VariantsCursorIDPage, type VariantCreateParams as VariantCreateParams, type VariantUpdateParams as VariantUpdateParams, type VariantListParams as VariantListParams, type VariantArchiveParams as VariantArchiveParams, type VariantGetParams as VariantGetParams, };
205
+ }
206
+ //# sourceMappingURL=variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/resources/beta/pay/products/variants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Variants = void 0;
5
+ const resource_1 = require("../../../../core/resource.js");
6
+ const pagination_1 = require("../../../../core/pagination.js");
7
+ const path_1 = require("../../../../internal/utils/path.js");
8
+ class Variants extends resource_1.APIResource {
9
+ /**
10
+ * Creates a new variant with pricing for a product. Use variants to offer multiple
11
+ * pricing tiers or configurations (e.g., Basic at $10/month, Pro at $25/month). A
12
+ * Stripe Price is automatically created.
13
+ */
14
+ create(productID, body, options) {
15
+ return this._client.post((0, path_1.path) `/v1/pay/products/${productID}/variants`, { body, ...options });
16
+ }
17
+ /**
18
+ * Updates an existing variant. Use this to modify the name, description, or active
19
+ * status. Pricing cannot be changed after creation—create a new variant instead.
20
+ */
21
+ update(variantID, params, options) {
22
+ const { product_id, ...body } = params;
23
+ return this._client.patch((0, path_1.path) `/v1/pay/products/${product_id}/variants/${variantID}`, {
24
+ body,
25
+ ...options,
26
+ });
27
+ }
28
+ /**
29
+ * Retrieves all variants for a product. Variants represent different pricing tiers
30
+ * or configurations (e.g., Basic, Pro, Enterprise) within a single product.
31
+ */
32
+ list(productID, query = {}, options) {
33
+ return this._client.getAPIList((0, path_1.path) `/v1/pay/products/${productID}/variants`, (pagination_1.CursorIDPage), {
34
+ query,
35
+ ...options,
36
+ });
37
+ }
38
+ /**
39
+ * Archives a variant, preventing new subscriptions. The associated Stripe Price is
40
+ * also archived. Existing subscriptions remain active.
41
+ */
42
+ archive(variantID, params, options) {
43
+ const { product_id } = params;
44
+ return this._client.delete((0, path_1.path) `/v1/pay/products/${product_id}/variants/${variantID}`, options);
45
+ }
46
+ /**
47
+ * Retrieves a variant by ID. Returns the variant object including pricing details
48
+ * and status.
49
+ */
50
+ get(variantID, params, options) {
51
+ const { product_id } = params;
52
+ return this._client.get((0, path_1.path) `/v1/pay/products/${product_id}/variants/${variantID}`, options);
53
+ }
54
+ }
55
+ exports.Variants = Variants;
56
+ //# sourceMappingURL=variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.js","sourceRoot":"","sources":["../../../../src/resources/beta/pay/products/variants.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,2DAAwD;AAExD,+DAAiG;AAEjG,6DAAuD;AAEvD,MAAa,QAAS,SAAQ,sBAAW;IACvC;;;;OAIG;IACH,MAAM,CAAC,SAAiB,EAAE,IAAyB,EAAE,OAAwB;QAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,WAAI,EAAA,oBAAoB,SAAS,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAiB,EAAE,MAA2B,EAAE,OAAwB;QAC7E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,oBAAoB,UAAU,aAAa,SAAS,EAAE,EAAE;YACpF,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,CACF,SAAiB,EACjB,QAA8C,EAAE,EAChD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAA,WAAI,EAAA,oBAAoB,SAAS,WAAW,EAAE,CAAA,yBAAqB,CAAA,EAAE;YAClG,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,SAAiB,EAAE,MAA4B,EAAE,OAAwB;QAC/E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,oBAAoB,UAAU,aAAa,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IAClG,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,SAAiB,EAAE,MAAwB,EAAE,OAAwB;QACvE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,oBAAoB,UAAU,aAAa,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;CACF;AAtDD,4BAsDC"}
@@ -0,0 +1,52 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../../../../core/resource.mjs";
3
+ import { CursorIDPage } from "../../../../core/pagination.mjs";
4
+ import { path } from "../../../../internal/utils/path.mjs";
5
+ export class Variants extends APIResource {
6
+ /**
7
+ * Creates a new variant with pricing for a product. Use variants to offer multiple
8
+ * pricing tiers or configurations (e.g., Basic at $10/month, Pro at $25/month). A
9
+ * Stripe Price is automatically created.
10
+ */
11
+ create(productID, body, options) {
12
+ return this._client.post(path `/v1/pay/products/${productID}/variants`, { body, ...options });
13
+ }
14
+ /**
15
+ * Updates an existing variant. Use this to modify the name, description, or active
16
+ * status. Pricing cannot be changed after creation—create a new variant instead.
17
+ */
18
+ update(variantID, params, options) {
19
+ const { product_id, ...body } = params;
20
+ return this._client.patch(path `/v1/pay/products/${product_id}/variants/${variantID}`, {
21
+ body,
22
+ ...options,
23
+ });
24
+ }
25
+ /**
26
+ * Retrieves all variants for a product. Variants represent different pricing tiers
27
+ * or configurations (e.g., Basic, Pro, Enterprise) within a single product.
28
+ */
29
+ list(productID, query = {}, options) {
30
+ return this._client.getAPIList(path `/v1/pay/products/${productID}/variants`, (CursorIDPage), {
31
+ query,
32
+ ...options,
33
+ });
34
+ }
35
+ /**
36
+ * Archives a variant, preventing new subscriptions. The associated Stripe Price is
37
+ * also archived. Existing subscriptions remain active.
38
+ */
39
+ archive(variantID, params, options) {
40
+ const { product_id } = params;
41
+ return this._client.delete(path `/v1/pay/products/${product_id}/variants/${variantID}`, options);
42
+ }
43
+ /**
44
+ * Retrieves a variant by ID. Returns the variant object including pricing details
45
+ * and status.
46
+ */
47
+ get(variantID, params, options) {
48
+ const { product_id } = params;
49
+ return this._client.get(path `/v1/pay/products/${product_id}/variants/${variantID}`, options);
50
+ }
51
+ }
52
+ //# sourceMappingURL=variants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.mjs","sourceRoot":"","sources":["../../../../src/resources/beta/pay/products/variants.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAwC;OAEtD,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,QAAS,SAAQ,WAAW;IACvC;;;;OAIG;IACH,MAAM,CAAC,SAAiB,EAAE,IAAyB,EAAE,OAAwB;QAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,oBAAoB,SAAS,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAiB,EAAE,MAA2B,EAAE,OAAwB;QAC7E,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA,oBAAoB,UAAU,aAAa,SAAS,EAAE,EAAE;YACpF,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,CACF,SAAiB,EACjB,QAA8C,EAAE,EAChD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA,oBAAoB,SAAS,WAAW,EAAE,CAAA,YAAqB,CAAA,EAAE;YAClG,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,SAAiB,EAAE,MAA4B,EAAE,OAAwB;QAC/E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,oBAAoB,UAAU,aAAa,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IAClG,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,SAAiB,EAAE,MAAwB,EAAE,OAAwB;QACvE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,oBAAoB,UAAU,aAAa,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from "./products/index.mjs";
2
+ //# sourceMappingURL=products.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.d.mts","sourceRoot":"","sources":["../../../src/resources/beta/pay/products.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./products/index.js";
2
+ //# sourceMappingURL=products.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/resources/beta/pay/products.ts"],"names":[],"mappings":""}
@@ -2,5 +2,5 @@
2
2
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const tslib_1 = require("../../../internal/tslib.js");
5
- tslib_1.__exportStar(require("./plans/index.js"), exports);
6
- //# sourceMappingURL=plans.js.map
5
+ tslib_1.__exportStar(require("./products/index.js"), exports);
6
+ //# sourceMappingURL=products.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../src/resources/beta/pay/products.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,8DAAiC"}
@@ -1,3 +1,3 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- export * from "./subscriptions/index.mjs";
3
- //# sourceMappingURL=subscriptions.mjs.map
2
+ export * from "./products/index.mjs";
3
+ //# sourceMappingURL=products.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"products.mjs","sourceRoot":"","sources":["../../../src/resources/beta/pay/products.ts"],"names":[],"mappings":"AAAA,sFAAsF"}
@@ -0,0 +1,2 @@
1
+ export * from "./pay/index.mjs";
2
+ //# sourceMappingURL=pay.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.d.mts","sourceRoot":"","sources":["../../src/resources/beta/pay.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./pay/index.js";
2
+ //# sourceMappingURL=pay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../src/resources/beta/pay.ts"],"names":[],"mappings":""}
@@ -2,5 +2,5 @@
2
2
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const tslib_1 = require("../../internal/tslib.js");
5
- tslib_1.__exportStar(require("./subscriptions/index.js"), exports);
6
- //# sourceMappingURL=subscriptions.js.map
5
+ tslib_1.__exportStar(require("./pay/index.js"), exports);
6
+ //# sourceMappingURL=pay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../src/resources/beta/pay.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,yDAA4B"}
@@ -1,3 +1,3 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
- export * from "./plans/index.mjs";
3
- //# sourceMappingURL=plans.mjs.map
2
+ export * from "./pay/index.mjs";
3
+ //# sourceMappingURL=pay.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pay.mjs","sourceRoot":"","sources":["../../src/resources/beta/pay.ts"],"names":[],"mappings":"AAAA,sFAAsF"}
package/src/client.ts CHANGED
@@ -32,13 +32,15 @@ import {
32
32
  } from './internal/utils/log';
33
33
  import { isEmptyObj } from './internal/utils/values';
34
34
 
35
+ export type ApiVersion = '2025-12-09';
36
+
35
37
  export interface ClientOptions {
36
38
  /**
37
39
  * Defaults to process.env['HERCULES_API_KEY'].
38
40
  */
39
41
  apiKey?: string | null | undefined;
40
42
 
41
- apiVersion?: string | undefined;
43
+ apiVersion: ApiVersion;
42
44
 
43
45
  /**
44
46
  * Override the default base URL for the API, e.g., "https://api.example.com/v2/"
@@ -114,7 +116,7 @@ export interface ClientOptions {
114
116
  */
115
117
  export class Hercules {
116
118
  apiKey: string | null;
117
- apiVersion: string;
119
+ apiVersion: ApiVersion;
118
120
 
119
121
  baseURL: string;
120
122
  maxRetries: number;
@@ -144,9 +146,9 @@ export class Hercules {
144
146
  constructor({
145
147
  baseURL = readEnv('HERCULES_BASE_URL'),
146
148
  apiKey = readEnv('HERCULES_API_KEY') ?? null,
147
- apiVersion = '2025-12-09',
149
+ apiVersion,
148
150
  ...opts
149
- }: ClientOptions = {}) {
151
+ }: ClientOptions & { apiVersion: ApiVersion }) {
150
152
  const options: ClientOptions = {
151
153
  apiKey,
152
154
  apiVersion,
@@ -1,31 +1,31 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../../core/resource';
4
- import * as SubscriptionsAPI from './subscriptions/subscriptions';
4
+ import * as PayAPI from './pay/pay';
5
5
  import {
6
- SubscriptionCancelParams,
7
- SubscriptionCancelResponse,
8
- SubscriptionCheckParams,
9
- SubscriptionCheckResponse,
10
- SubscriptionCheckoutParams,
11
- SubscriptionCheckoutResponse,
12
- Subscriptions,
13
- } from './subscriptions/subscriptions';
6
+ Pay,
7
+ PayCancelParams,
8
+ PayCancelResponse,
9
+ PayCheckParams,
10
+ PayCheckResponse,
11
+ PayCheckoutParams,
12
+ PayCheckoutResponse,
13
+ } from './pay/pay';
14
14
 
15
15
  export class Beta extends APIResource {
16
- subscriptions: SubscriptionsAPI.Subscriptions = new SubscriptionsAPI.Subscriptions(this._client);
16
+ pay: PayAPI.Pay = new PayAPI.Pay(this._client);
17
17
  }
18
18
 
19
- Beta.Subscriptions = Subscriptions;
19
+ Beta.Pay = Pay;
20
20
 
21
21
  export declare namespace Beta {
22
22
  export {
23
- Subscriptions as Subscriptions,
24
- type SubscriptionCancelResponse as SubscriptionCancelResponse,
25
- type SubscriptionCheckResponse as SubscriptionCheckResponse,
26
- type SubscriptionCheckoutResponse as SubscriptionCheckoutResponse,
27
- type SubscriptionCancelParams as SubscriptionCancelParams,
28
- type SubscriptionCheckParams as SubscriptionCheckParams,
29
- type SubscriptionCheckoutParams as SubscriptionCheckoutParams,
23
+ Pay as Pay,
24
+ type PayCancelResponse as PayCancelResponse,
25
+ type PayCheckResponse as PayCheckResponse,
26
+ type PayCheckoutResponse as PayCheckoutResponse,
27
+ type PayCancelParams as PayCancelParams,
28
+ type PayCheckParams as PayCheckParams,
29
+ type PayCheckoutParams as PayCheckoutParams,
30
30
  };
31
31
  }
@@ -2,11 +2,11 @@
2
2
 
3
3
  export { Beta } from './beta';
4
4
  export {
5
- Subscriptions,
6
- type SubscriptionCancelResponse,
7
- type SubscriptionCheckResponse,
8
- type SubscriptionCheckoutResponse,
9
- type SubscriptionCancelParams,
10
- type SubscriptionCheckParams,
11
- type SubscriptionCheckoutParams,
12
- } from './subscriptions/index';
5
+ Pay,
6
+ type PayCancelResponse,
7
+ type PayCheckResponse,
8
+ type PayCheckoutResponse,
9
+ type PayCancelParams,
10
+ type PayCheckParams,
11
+ type PayCheckoutParams,
12
+ } from './pay/index';