@stigg/typescript 0.1.0-alpha.3 → 0.1.0-alpha.7

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 (204) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +9 -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 +16 -21
  8. package/client.js.map +1 -1
  9. package/client.mjs +17 -22
  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/package.json +1 -1
  58. package/resources/index.d.mts +1 -1
  59. package/resources/index.d.mts.map +1 -1
  60. package/resources/index.d.ts +1 -1
  61. package/resources/index.d.ts.map +1 -1
  62. package/resources/index.js.map +1 -1
  63. package/resources/index.mjs +1 -1
  64. package/resources/index.mjs.map +1 -1
  65. package/resources/v1/coupons.d.mts +55 -96
  66. package/resources/v1/coupons.d.mts.map +1 -1
  67. package/resources/v1/coupons.d.ts +55 -96
  68. package/resources/v1/coupons.d.ts.map +1 -1
  69. package/resources/v1/coupons.js +4 -3
  70. package/resources/v1/coupons.js.map +1 -1
  71. package/resources/v1/coupons.mjs +4 -3
  72. package/resources/v1/coupons.mjs.map +1 -1
  73. package/resources/v1/customers/customers.d.mts +170 -46
  74. package/resources/v1/customers/customers.d.mts.map +1 -1
  75. package/resources/v1/customers/customers.d.ts +170 -46
  76. package/resources/v1/customers/customers.d.ts.map +1 -1
  77. package/resources/v1/customers/customers.js +32 -15
  78. package/resources/v1/customers/customers.js.map +1 -1
  79. package/resources/v1/customers/customers.mjs +32 -15
  80. package/resources/v1/customers/customers.mjs.map +1 -1
  81. package/resources/v1/customers/index.d.mts +2 -2
  82. package/resources/v1/customers/index.d.mts.map +1 -1
  83. package/resources/v1/customers/index.d.ts +2 -2
  84. package/resources/v1/customers/index.d.ts.map +1 -1
  85. package/resources/v1/customers/index.js +3 -3
  86. package/resources/v1/customers/index.js.map +1 -1
  87. package/resources/v1/customers/index.mjs +1 -1
  88. package/resources/v1/customers/index.mjs.map +1 -1
  89. package/resources/v1/customers/payment-method.d.mts +4 -2
  90. package/resources/v1/customers/payment-method.d.mts.map +1 -1
  91. package/resources/v1/customers/payment-method.d.ts +4 -2
  92. package/resources/v1/customers/payment-method.d.ts.map +1 -1
  93. package/resources/v1/customers/payment-method.js +4 -2
  94. package/resources/v1/customers/payment-method.js.map +1 -1
  95. package/resources/v1/customers/payment-method.mjs +4 -2
  96. package/resources/v1/customers/payment-method.mjs.map +1 -1
  97. package/resources/v1/customers/promotional-entitlements.d.mts +352 -0
  98. package/resources/v1/customers/promotional-entitlements.d.mts.map +1 -0
  99. package/resources/v1/customers/promotional-entitlements.d.ts +352 -0
  100. package/resources/v1/customers/promotional-entitlements.d.ts.map +1 -0
  101. package/resources/v1/customers/promotional-entitlements.js +25 -0
  102. package/resources/v1/customers/promotional-entitlements.js.map +1 -0
  103. package/resources/v1/customers/promotional-entitlements.mjs +21 -0
  104. package/resources/v1/customers/promotional-entitlements.mjs.map +1 -0
  105. package/resources/v1/events.d.mts +63 -0
  106. package/resources/v1/events.d.mts.map +1 -0
  107. package/resources/v1/events.d.ts +63 -0
  108. package/resources/v1/events.d.ts.map +1 -0
  109. package/resources/v1/events.js +16 -0
  110. package/resources/v1/events.js.map +1 -0
  111. package/resources/v1/events.mjs +12 -0
  112. package/resources/v1/events.mjs.map +1 -0
  113. package/resources/v1/index.d.mts +7 -4
  114. package/resources/v1/index.d.mts.map +1 -1
  115. package/resources/v1/index.d.ts +7 -4
  116. package/resources/v1/index.d.ts.map +1 -1
  117. package/resources/v1/index.js +7 -1
  118. package/resources/v1/index.js.map +1 -1
  119. package/resources/v1/index.mjs +4 -1
  120. package/resources/v1/index.mjs.map +1 -1
  121. package/resources/v1/products.d.mts +126 -0
  122. package/resources/v1/products.d.mts.map +1 -0
  123. package/resources/v1/products.d.ts +126 -0
  124. package/resources/v1/products.d.ts.map +1 -0
  125. package/resources/v1/products.js +19 -0
  126. package/resources/v1/products.js.map +1 -0
  127. package/resources/v1/products.mjs +15 -0
  128. package/resources/v1/products.mjs.map +1 -0
  129. package/resources/v1/subscriptions/future-update.d.mts +9 -22
  130. package/resources/v1/subscriptions/future-update.d.mts.map +1 -1
  131. package/resources/v1/subscriptions/future-update.d.ts +9 -22
  132. package/resources/v1/subscriptions/future-update.d.ts.map +1 -1
  133. package/resources/v1/subscriptions/future-update.js +3 -2
  134. package/resources/v1/subscriptions/future-update.js.map +1 -1
  135. package/resources/v1/subscriptions/future-update.mjs +3 -2
  136. package/resources/v1/subscriptions/future-update.mjs.map +1 -1
  137. package/resources/v1/subscriptions/index.d.mts +2 -2
  138. package/resources/v1/subscriptions/index.d.mts.map +1 -1
  139. package/resources/v1/subscriptions/index.d.ts +2 -2
  140. package/resources/v1/subscriptions/index.d.ts.map +1 -1
  141. package/resources/v1/subscriptions/index.js.map +1 -1
  142. package/resources/v1/subscriptions/index.mjs +1 -1
  143. package/resources/v1/subscriptions/index.mjs.map +1 -1
  144. package/resources/v1/subscriptions/subscriptions.d.mts +987 -949
  145. package/resources/v1/subscriptions/subscriptions.d.mts.map +1 -1
  146. package/resources/v1/subscriptions/subscriptions.d.ts +987 -949
  147. package/resources/v1/subscriptions/subscriptions.d.ts.map +1 -1
  148. package/resources/v1/subscriptions/subscriptions.js +39 -11
  149. package/resources/v1/subscriptions/subscriptions.js.map +1 -1
  150. package/resources/v1/subscriptions/subscriptions.mjs +40 -12
  151. package/resources/v1/subscriptions/subscriptions.mjs.map +1 -1
  152. package/resources/v1/usage.d.mts +230 -0
  153. package/resources/v1/usage.d.mts.map +1 -0
  154. package/resources/v1/usage.d.ts +230 -0
  155. package/resources/v1/usage.d.ts.map +1 -0
  156. package/resources/v1/usage.js +24 -0
  157. package/resources/v1/usage.js.map +1 -0
  158. package/resources/v1/usage.mjs +20 -0
  159. package/resources/v1/usage.mjs.map +1 -0
  160. package/resources/v1/v1.d.mts +18 -172
  161. package/resources/v1/v1.d.mts.map +1 -1
  162. package/resources/v1/v1.d.ts +18 -172
  163. package/resources/v1/v1.d.ts.map +1 -1
  164. package/resources/v1/v1.js +12 -12
  165. package/resources/v1/v1.js.map +1 -1
  166. package/resources/v1/v1.mjs +12 -12
  167. package/resources/v1/v1.mjs.map +1 -1
  168. package/src/client.ts +25 -40
  169. package/src/internal/parse.ts +6 -0
  170. package/src/internal/qs/LICENSE.md +13 -0
  171. package/src/internal/qs/README.md +3 -0
  172. package/src/internal/qs/formats.ts +10 -0
  173. package/src/internal/qs/index.ts +13 -0
  174. package/src/internal/qs/stringify.ts +385 -0
  175. package/src/internal/qs/types.ts +71 -0
  176. package/src/internal/qs/utils.ts +265 -0
  177. package/src/resources/index.ts +1 -7
  178. package/src/resources/v1/coupons.ts +63 -231
  179. package/src/resources/v1/customers/customers.ts +234 -60
  180. package/src/resources/v1/customers/index.ts +13 -2
  181. package/src/resources/v1/customers/payment-method.ts +4 -2
  182. package/src/resources/v1/customers/promotional-entitlements.ts +468 -0
  183. package/src/resources/v1/events.ts +74 -0
  184. package/src/resources/v1/index.ts +28 -15
  185. package/src/resources/v1/products.ts +162 -0
  186. package/src/resources/v1/subscriptions/future-update.ts +9 -30
  187. package/src/resources/v1/subscriptions/index.ts +8 -11
  188. package/src/resources/v1/subscriptions/subscriptions.ts +2699 -2280
  189. package/src/resources/v1/usage.ts +284 -0
  190. package/src/resources/v1/v1.ts +72 -220
  191. package/src/version.ts +1 -1
  192. package/version.d.mts +1 -1
  193. package/version.d.ts +1 -1
  194. package/version.js +1 -1
  195. package/version.mjs +1 -1
  196. package/resources/v1/customers/usage.d.mts +0 -4
  197. package/resources/v1/customers/usage.d.mts.map +0 -1
  198. package/resources/v1/customers/usage.d.ts +0 -4
  199. package/resources/v1/customers/usage.d.ts.map +0 -1
  200. package/resources/v1/customers/usage.js +0 -9
  201. package/resources/v1/customers/usage.js.map +0 -1
  202. package/resources/v1/customers/usage.mjs +0 -5
  203. package/resources/v1/customers/usage.mjs.map +0 -1
  204. package/src/resources/v1/customers/usage.ts +0 -5
@@ -1,312 +1,73 @@
1
1
  import { APIResource } from "../../../core/resource.js";
2
2
  import * as FutureUpdateAPI from "./future-update.js";
3
- import { FutureUpdate, FutureUpdateCancelPendingPaymentResponse, FutureUpdateCancelScheduleResponse } from "./future-update.js";
3
+ import { CancelSubscription, FutureUpdate } from "./future-update.js";
4
4
  import { APIPromise } from "../../../core/api-promise.js";
5
5
  import { MyCursorIDPage, type MyCursorIDPageParams, PagePromise } from "../../../core/pagination.js";
6
6
  import { RequestOptions } from "../../../internal/request-options.js";
7
7
  export declare class Subscriptions extends APIResource {
8
8
  futureUpdate: FutureUpdateAPI.FutureUpdate;
9
9
  /**
10
- * Provision subscription
10
+ * Retrieves a subscription by its unique identifier, including plan details,
11
+ * billing period, status, and add-ons.
11
12
  */
12
- create(body: SubscriptionCreateParams, options?: RequestOptions): APIPromise<SubscriptionCreateResponse>;
13
+ retrieve(id: string, options?: RequestOptions): APIPromise<Subscription>;
13
14
  /**
14
- * Get a single subscription by ID
15
+ * Updates an active subscription's properties including billing period, add-ons,
16
+ * unit quantities, and discounts.
15
17
  */
16
- retrieve(id: string, options?: RequestOptions): APIPromise<SubscriptionRetrieveResponse>;
18
+ update(id: string, body: SubscriptionUpdateParams, options?: RequestOptions): APIPromise<Subscription>;
17
19
  /**
18
- * Get a list of subscriptions
20
+ * Retrieves a paginated list of subscriptions, with optional filters for customer,
21
+ * status, and plan.
19
22
  */
20
23
  list(query?: SubscriptionListParams | null | undefined, options?: RequestOptions): PagePromise<SubscriptionListResponsesMyCursorIDPage, SubscriptionListResponse>;
21
24
  /**
22
- * Delegate subscription payment to customer
25
+ * Cancels an active subscription, either immediately or at a specified time such
26
+ * as end of billing period.
23
27
  */
24
- delegate(id: string, body: SubscriptionDelegateParams, options?: RequestOptions): APIPromise<SubscriptionDelegateResponse>;
28
+ cancel(id: string, body: SubscriptionCancelParams, options?: RequestOptions): APIPromise<Subscription>;
25
29
  /**
26
- * Migrate subscription to latest plan version
30
+ * Delegates the payment responsibility of a subscription to a different customer.
31
+ * The delegated customer will be billed for this subscription.
27
32
  */
28
- migrate(id: string, body: SubscriptionMigrateParams, options?: RequestOptions): APIPromise<SubscriptionMigrateResponse>;
33
+ delegate(id: string, body: SubscriptionDelegateParams, options?: RequestOptions): APIPromise<Subscription>;
29
34
  /**
30
- * Preview subscription
35
+ * Imports multiple subscriptions in bulk. Used for migrating subscription data
36
+ * from external systems.
31
37
  */
32
- preview(body: SubscriptionPreviewParams, options?: RequestOptions): APIPromise<SubscriptionPreviewResponse>;
38
+ import(body: SubscriptionImportParams, options?: RequestOptions): APIPromise<SubscriptionImportResponse>;
33
39
  /**
34
- * Transfer subscription to resource
40
+ * Migrates a subscription to the latest published version of its plan or add-ons.
41
+ * Handles prorated charges or credits automatically.
35
42
  */
36
- transfer(id: string, body: SubscriptionTransferParams, options?: RequestOptions): APIPromise<SubscriptionTransferResponse>;
37
- }
38
- export type SubscriptionListResponsesMyCursorIDPage = MyCursorIDPage<SubscriptionListResponse>;
39
- /**
40
- * Response object
41
- */
42
- export interface SubscriptionCreateResponse {
43
+ migrate(id: string, body: SubscriptionMigrateParams, options?: RequestOptions): APIPromise<Subscription>;
43
44
  /**
44
- * Provisioning result with status and subscription or checkout URL.
45
+ * Previews the pricing impact of creating or updating a subscription without
46
+ * making changes. Returns estimated costs, taxes, and proration details.
45
47
  */
46
- data: SubscriptionCreateResponse.Data;
47
- }
48
- export declare namespace SubscriptionCreateResponse {
48
+ preview(body: SubscriptionPreviewParams, options?: RequestOptions): APIPromise<SubscriptionPreviewResponse>;
49
49
  /**
50
- * Provisioning result with status and subscription or checkout URL.
50
+ * Creates a new subscription for an existing customer. When payment is required
51
+ * and no payment method exists, returns a checkout URL.
51
52
  */
52
- interface Data {
53
- /**
54
- * Unique identifier for the provisioned subscription
55
- */
56
- id: string;
57
- entitlements: Array<Data.Entitlement>;
58
- /**
59
- * Provision status: SUCCESS or PAYMENT_REQUIRED
60
- */
61
- status: 'SUCCESS' | 'PAYMENT_REQUIRED';
62
- /**
63
- * Checkout billing ID when payment is required
64
- */
65
- checkoutBillingId?: string | null;
66
- /**
67
- * URL to complete payment when PAYMENT_REQUIRED
68
- */
69
- checkoutUrl?: string | null;
70
- /**
71
- * Whether the subscription is scheduled for future activation
72
- */
73
- isScheduled?: boolean;
74
- /**
75
- * Created subscription (when status is SUCCESS)
76
- */
77
- subscription?: Data.Subscription;
78
- }
79
- namespace Data {
80
- interface Entitlement {
81
- accessDeniedReason?: string | null;
82
- currentUsage?: number;
83
- /**
84
- * entitlement updated at
85
- */
86
- entitlementUpdatedAt?: string | null;
87
- feature?: Entitlement.Feature | null;
88
- hasUnlimitedUsage?: boolean | null;
89
- isGranted?: boolean;
90
- resetPeriod?: 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | null;
91
- usageLimit?: number | null;
92
- /**
93
- * usage period anchor
94
- */
95
- usagePeriodAnchor?: string | null;
96
- /**
97
- * usage period end
98
- */
99
- usagePeriodEnd?: string | null;
100
- /**
101
- * usage period start
102
- */
103
- usagePeriodStart?: string | null;
104
- }
105
- namespace Entitlement {
106
- interface Feature {
107
- /**
108
- * Feature ID
109
- */
110
- refId: string;
111
- }
112
- }
113
- /**
114
- * Created subscription (when status is SUCCESS)
115
- */
116
- interface Subscription {
117
- /**
118
- * Subscription ID
119
- */
120
- id: string;
121
- /**
122
- * Billing ID
123
- */
124
- billingId: string | null;
125
- /**
126
- * Created at
127
- */
128
- createdAt: string;
129
- /**
130
- * Customer ID
131
- */
132
- customerId: string;
133
- /**
134
- * Payment collection
135
- */
136
- paymentCollection: 'NOT_REQUIRED' | 'PROCESSING' | 'FAILED' | 'ACTION_REQUIRED';
137
- /**
138
- * Plan ID
139
- */
140
- planId: string;
141
- /**
142
- * Pricing type
143
- */
144
- pricingType: 'FREE' | 'PAID' | 'CUSTOM';
145
- /**
146
- * Subscription start date
147
- */
148
- startDate: string;
149
- /**
150
- * Subscription status
151
- */
152
- status: 'PAYMENT_PENDING' | 'ACTIVE' | 'EXPIRED' | 'IN_TRIAL' | 'CANCELED' | 'NOT_STARTED';
153
- /**
154
- * Subscription cancellation date
155
- */
156
- cancellationDate?: string | null;
157
- /**
158
- * Subscription cancel reason
159
- */
160
- cancelReason?: 'UPGRADE_OR_DOWNGRADE' | 'CANCELLED_BY_BILLING' | 'EXPIRED' | 'DETACH_BILLING' | 'TRIAL_ENDED' | 'Immediate' | 'TRIAL_CONVERTED' | 'PENDING_PAYMENT_EXPIRED' | 'ScheduledCancellation' | 'CustomerArchived' | 'AutoCancellationRule' | null;
161
- /**
162
- * End of the current billing period
163
- */
164
- currentBillingPeriodEnd?: string | null;
165
- /**
166
- * Start of the current billing period
167
- */
168
- currentBillingPeriodStart?: string | null;
169
- /**
170
- * Subscription effective end date
171
- */
172
- effectiveEndDate?: string | null;
173
- /**
174
- * Subscription end date
175
- */
176
- endDate?: string | null;
177
- /**
178
- * Additional metadata for the subscription
179
- */
180
- metadata?: {
181
- [key: string]: string;
182
- };
183
- /**
184
- * Paying customer ID for delegated billing
185
- */
186
- payingCustomerId?: string | null;
187
- /**
188
- * The method used to collect payments for a subscription
189
- */
190
- paymentCollectionMethod?: 'CHARGE' | 'INVOICE' | 'NONE' | null;
191
- prices?: Array<Subscription.Price>;
192
- /**
193
- * Resource ID
194
- */
195
- resourceId?: string | null;
196
- /**
197
- * Subscription trial end date
198
- */
199
- trialEndDate?: string | null;
200
- }
201
- namespace Subscription {
202
- interface Price {
203
- /**
204
- * Addon identifier for the price override
205
- */
206
- addonId?: string | null;
207
- /**
208
- * Whether this is a base charge override
209
- */
210
- baseCharge?: boolean;
211
- /**
212
- * Block size for pricing
213
- */
214
- blockSize?: number;
215
- /**
216
- * Feature identifier for the price override
217
- */
218
- featureId?: string | null;
219
- /**
220
- * Override price amount
221
- */
222
- price?: Price.Price;
223
- /**
224
- * Pricing tiers configuration
225
- */
226
- tiers?: Array<Price.Tier>;
227
- }
228
- namespace Price {
229
- /**
230
- * Override price amount
231
- */
232
- interface Price {
233
- /**
234
- * The price amount
235
- */
236
- amount?: number;
237
- /**
238
- * The billing country code of the price
239
- */
240
- billingCountryCode?: string | null;
241
- /**
242
- * The price currency
243
- */
244
- currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
245
- }
246
- interface Tier {
247
- /**
248
- * The flat fee price of the price tier
249
- */
250
- flatPrice?: Tier.FlatPrice;
251
- /**
252
- * The unit price of the price tier
253
- */
254
- unitPrice?: Tier.UnitPrice;
255
- /**
256
- * The up to quantity of the price tier
257
- */
258
- upTo?: number;
259
- }
260
- namespace Tier {
261
- /**
262
- * The flat fee price of the price tier
263
- */
264
- interface FlatPrice {
265
- /**
266
- * The price amount
267
- */
268
- amount?: number;
269
- /**
270
- * The billing country code of the price
271
- */
272
- billingCountryCode?: string | null;
273
- /**
274
- * The price currency
275
- */
276
- currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
277
- }
278
- /**
279
- * The unit price of the price tier
280
- */
281
- interface UnitPrice {
282
- /**
283
- * The price amount
284
- */
285
- amount?: number;
286
- /**
287
- * The billing country code of the price
288
- */
289
- billingCountryCode?: string | null;
290
- /**
291
- * The price currency
292
- */
293
- currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
294
- }
295
- }
296
- }
297
- }
298
- }
53
+ provision(body: SubscriptionProvisionParams, options?: RequestOptions): APIPromise<SubscriptionProvisionResponse>;
54
+ /**
55
+ * Transfers a subscription to a different resource ID. Used for multi-resource
56
+ * products where subscriptions apply to specific entities like websites or apps.
57
+ */
58
+ transfer(id: string, body: SubscriptionTransferParams, options?: RequestOptions): APIPromise<Subscription>;
299
59
  }
60
+ export type SubscriptionListResponsesMyCursorIDPage = MyCursorIDPage<SubscriptionListResponse>;
300
61
  /**
301
62
  * Response object
302
63
  */
303
- export interface SubscriptionRetrieveResponse {
64
+ export interface Subscription {
304
65
  /**
305
66
  * Customer subscription to a plan
306
67
  */
307
- data: SubscriptionRetrieveResponse.Data;
68
+ data: Subscription.Data;
308
69
  }
309
- export declare namespace SubscriptionRetrieveResponse {
70
+ export declare namespace Subscription {
310
71
  /**
311
72
  * Customer subscription to a plan
312
73
  */
@@ -521,233 +282,15 @@ export declare namespace SubscriptionListResponse {
521
282
  /**
522
283
  * Response object
523
284
  */
524
- export interface SubscriptionDelegateResponse {
525
- /**
526
- * Customer subscription to a plan
527
- */
528
- data: SubscriptionDelegateResponse.Data;
285
+ export interface SubscriptionImportResponse {
286
+ data: SubscriptionImportResponse.Data;
529
287
  }
530
- export declare namespace SubscriptionDelegateResponse {
531
- /**
532
- * Customer subscription to a plan
533
- */
288
+ export declare namespace SubscriptionImportResponse {
534
289
  interface Data {
535
290
  /**
536
- * Subscription ID
537
- */
538
- id: string;
539
- /**
540
- * Billing ID
541
- */
542
- billingId: string | null;
543
- /**
544
- * Created at
291
+ * Unique identifier for the import task
545
292
  */
546
- createdAt: string;
547
- /**
548
- * Customer ID
549
- */
550
- customerId: string;
551
- /**
552
- * Payment collection
553
- */
554
- paymentCollection: 'NOT_REQUIRED' | 'PROCESSING' | 'FAILED' | 'ACTION_REQUIRED';
555
- /**
556
- * Plan ID
557
- */
558
- planId: string;
559
- /**
560
- * Pricing type
561
- */
562
- pricingType: 'FREE' | 'PAID' | 'CUSTOM';
563
- /**
564
- * Subscription start date
565
- */
566
- startDate: string;
567
- /**
568
- * Subscription status
569
- */
570
- status: 'PAYMENT_PENDING' | 'ACTIVE' | 'EXPIRED' | 'IN_TRIAL' | 'CANCELED' | 'NOT_STARTED';
571
- /**
572
- * Subscription cancellation date
573
- */
574
- cancellationDate?: string | null;
575
- /**
576
- * Subscription cancel reason
577
- */
578
- cancelReason?: 'UPGRADE_OR_DOWNGRADE' | 'CANCELLED_BY_BILLING' | 'EXPIRED' | 'DETACH_BILLING' | 'TRIAL_ENDED' | 'Immediate' | 'TRIAL_CONVERTED' | 'PENDING_PAYMENT_EXPIRED' | 'ScheduledCancellation' | 'CustomerArchived' | 'AutoCancellationRule' | null;
579
- /**
580
- * End of the current billing period
581
- */
582
- currentBillingPeriodEnd?: string | null;
583
- /**
584
- * Start of the current billing period
585
- */
586
- currentBillingPeriodStart?: string | null;
587
- /**
588
- * Subscription effective end date
589
- */
590
- effectiveEndDate?: string | null;
591
- /**
592
- * Subscription end date
593
- */
594
- endDate?: string | null;
595
- /**
596
- * Additional metadata for the subscription
597
- */
598
- metadata?: {
599
- [key: string]: string;
600
- };
601
- /**
602
- * Paying customer ID for delegated billing
603
- */
604
- payingCustomerId?: string | null;
605
- /**
606
- * The method used to collect payments for a subscription
607
- */
608
- paymentCollectionMethod?: 'CHARGE' | 'INVOICE' | 'NONE' | null;
609
- prices?: Array<Data.Price>;
610
- /**
611
- * Resource ID
612
- */
613
- resourceId?: string | null;
614
- /**
615
- * Subscription trial end date
616
- */
617
- trialEndDate?: string | null;
618
- }
619
- namespace Data {
620
- interface Price {
621
- /**
622
- * Price ID
623
- */
624
- id: string;
625
- /**
626
- * Creation timestamp
627
- */
628
- createdAt: string;
629
- /**
630
- * Last update timestamp
631
- */
632
- updatedAt: string;
633
- [k: string]: unknown;
634
- }
635
- }
636
- }
637
- /**
638
- * Response object
639
- */
640
- export interface SubscriptionMigrateResponse {
641
- /**
642
- * Customer subscription to a plan
643
- */
644
- data: SubscriptionMigrateResponse.Data;
645
- }
646
- export declare namespace SubscriptionMigrateResponse {
647
- /**
648
- * Customer subscription to a plan
649
- */
650
- interface Data {
651
- /**
652
- * Subscription ID
653
- */
654
- id: string;
655
- /**
656
- * Billing ID
657
- */
658
- billingId: string | null;
659
- /**
660
- * Created at
661
- */
662
- createdAt: string;
663
- /**
664
- * Customer ID
665
- */
666
- customerId: string;
667
- /**
668
- * Payment collection
669
- */
670
- paymentCollection: 'NOT_REQUIRED' | 'PROCESSING' | 'FAILED' | 'ACTION_REQUIRED';
671
- /**
672
- * Plan ID
673
- */
674
- planId: string;
675
- /**
676
- * Pricing type
677
- */
678
- pricingType: 'FREE' | 'PAID' | 'CUSTOM';
679
- /**
680
- * Subscription start date
681
- */
682
- startDate: string;
683
- /**
684
- * Subscription status
685
- */
686
- status: 'PAYMENT_PENDING' | 'ACTIVE' | 'EXPIRED' | 'IN_TRIAL' | 'CANCELED' | 'NOT_STARTED';
687
- /**
688
- * Subscription cancellation date
689
- */
690
- cancellationDate?: string | null;
691
- /**
692
- * Subscription cancel reason
693
- */
694
- cancelReason?: 'UPGRADE_OR_DOWNGRADE' | 'CANCELLED_BY_BILLING' | 'EXPIRED' | 'DETACH_BILLING' | 'TRIAL_ENDED' | 'Immediate' | 'TRIAL_CONVERTED' | 'PENDING_PAYMENT_EXPIRED' | 'ScheduledCancellation' | 'CustomerArchived' | 'AutoCancellationRule' | null;
695
- /**
696
- * End of the current billing period
697
- */
698
- currentBillingPeriodEnd?: string | null;
699
- /**
700
- * Start of the current billing period
701
- */
702
- currentBillingPeriodStart?: string | null;
703
- /**
704
- * Subscription effective end date
705
- */
706
- effectiveEndDate?: string | null;
707
- /**
708
- * Subscription end date
709
- */
710
- endDate?: string | null;
711
- /**
712
- * Additional metadata for the subscription
713
- */
714
- metadata?: {
715
- [key: string]: string;
716
- };
717
- /**
718
- * Paying customer ID for delegated billing
719
- */
720
- payingCustomerId?: string | null;
721
- /**
722
- * The method used to collect payments for a subscription
723
- */
724
- paymentCollectionMethod?: 'CHARGE' | 'INVOICE' | 'NONE' | null;
725
- prices?: Array<Data.Price>;
726
- /**
727
- * Resource ID
728
- */
729
- resourceId?: string | null;
730
- /**
731
- * Subscription trial end date
732
- */
733
- trialEndDate?: string | null;
734
- }
735
- namespace Data {
736
- interface Price {
737
- /**
738
- * Price ID
739
- */
740
- id: string;
741
- /**
742
- * Creation timestamp
743
- */
744
- createdAt: string;
745
- /**
746
- * Last update timestamp
747
- */
748
- updatedAt: string;
749
- [k: string]: unknown;
750
- }
293
+ taskId: string;
751
294
  }
752
295
  }
753
296
  /**
@@ -1051,73 +594,612 @@ export declare namespace SubscriptionPreviewResponse {
1051
594
  /**
1052
595
  * Response object
1053
596
  */
1054
- export interface SubscriptionTransferResponse {
597
+ export interface SubscriptionProvisionResponse {
1055
598
  /**
1056
- * Customer subscription to a plan
599
+ * Provisioning result with status and subscription or checkout URL.
1057
600
  */
1058
- data: SubscriptionTransferResponse.Data;
601
+ data: SubscriptionProvisionResponse.Data;
1059
602
  }
1060
- export declare namespace SubscriptionTransferResponse {
603
+ export declare namespace SubscriptionProvisionResponse {
1061
604
  /**
1062
- * Customer subscription to a plan
605
+ * Provisioning result with status and subscription or checkout URL.
1063
606
  */
1064
607
  interface Data {
1065
608
  /**
1066
- * Subscription ID
609
+ * Unique identifier for the provisioned subscription
1067
610
  */
1068
611
  id: string;
612
+ entitlements: Array<Data.UnionMember0 | Data.UnionMember1> | null;
1069
613
  /**
1070
- * Billing ID
1071
- */
1072
- billingId: string | null;
1073
- /**
1074
- * Created at
1075
- */
1076
- createdAt: string;
1077
- /**
1078
- * Customer ID
1079
- */
1080
- customerId: string;
1081
- /**
1082
- * Payment collection
1083
- */
1084
- paymentCollection: 'NOT_REQUIRED' | 'PROCESSING' | 'FAILED' | 'ACTION_REQUIRED';
1085
- /**
1086
- * Plan ID
1087
- */
1088
- planId: string;
1089
- /**
1090
- * Pricing type
1091
- */
1092
- pricingType: 'FREE' | 'PAID' | 'CUSTOM';
1093
- /**
1094
- * Subscription start date
1095
- */
1096
- startDate: string;
1097
- /**
1098
- * Subscription status
1099
- */
1100
- status: 'PAYMENT_PENDING' | 'ACTIVE' | 'EXPIRED' | 'IN_TRIAL' | 'CANCELED' | 'NOT_STARTED';
1101
- /**
1102
- * Subscription cancellation date
614
+ * Provision status: SUCCESS or PAYMENT_REQUIRED
1103
615
  */
1104
- cancellationDate?: string | null;
616
+ status: 'SUCCESS' | 'PAYMENT_REQUIRED';
1105
617
  /**
1106
- * Subscription cancel reason
618
+ * Created subscription (when status is SUCCESS)
1107
619
  */
1108
- cancelReason?: 'UPGRADE_OR_DOWNGRADE' | 'CANCELLED_BY_BILLING' | 'EXPIRED' | 'DETACH_BILLING' | 'TRIAL_ENDED' | 'Immediate' | 'TRIAL_CONVERTED' | 'PENDING_PAYMENT_EXPIRED' | 'ScheduledCancellation' | 'CustomerArchived' | 'AutoCancellationRule' | null;
620
+ subscription: Data.Subscription | null;
1109
621
  /**
1110
- * End of the current billing period
622
+ * Checkout billing ID when payment is required
1111
623
  */
1112
- currentBillingPeriodEnd?: string | null;
624
+ checkoutBillingId?: string;
1113
625
  /**
1114
- * Start of the current billing period
626
+ * URL to complete payment when PAYMENT_REQUIRED
1115
627
  */
1116
- currentBillingPeriodStart?: string | null;
628
+ checkoutUrl?: string;
1117
629
  /**
1118
- * Subscription effective end date
630
+ * Whether the subscription is scheduled for future activation
1119
631
  */
1120
- effectiveEndDate?: string | null;
632
+ isScheduled?: boolean;
633
+ }
634
+ namespace Data {
635
+ interface UnionMember0 {
636
+ accessDeniedReason: 'FeatureNotFound' | 'CustomerNotFound' | 'CustomerIsArchived' | 'CustomerResourceNotFound' | 'NoActiveSubscription' | 'NoFeatureEntitlementInSubscription' | 'RequestedUsageExceedingLimit' | 'RequestedValuesMismatch' | 'BudgetExceeded' | 'Unknown' | 'FeatureTypeMismatch' | 'Revoked' | 'InsufficientCredits' | 'EntitlementNotFound' | null;
637
+ isGranted: boolean;
638
+ type: 'FEATURE';
639
+ currentUsage?: number;
640
+ /**
641
+ * Timestamp of the last update to the entitlement grant or configuration.
642
+ */
643
+ entitlementUpdatedAt?: string;
644
+ feature?: UnionMember0.Feature;
645
+ hasUnlimitedUsage?: boolean;
646
+ resetPeriod?: 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | null;
647
+ usageLimit?: number | null;
648
+ /**
649
+ * The anchor for calculating the usage period for metered entitlements with a
650
+ * reset period configured
651
+ */
652
+ usagePeriodAnchor?: string;
653
+ /**
654
+ * The end date of the usage period for metered entitlements with a reset period
655
+ * configured
656
+ */
657
+ usagePeriodEnd?: string;
658
+ /**
659
+ * The start date of the usage period for metered entitlements with a reset period
660
+ * configured
661
+ */
662
+ usagePeriodStart?: string;
663
+ /**
664
+ * The next time the entitlement should be recalculated
665
+ */
666
+ validUntil?: string;
667
+ }
668
+ namespace UnionMember0 {
669
+ interface Feature {
670
+ /**
671
+ * The human-readable name of the entitlement, shown in UI elements.
672
+ */
673
+ displayName: string;
674
+ /**
675
+ * The current status of the feature.
676
+ */
677
+ featureStatus: 'NEW' | 'SUSPENDED' | 'ACTIVE';
678
+ /**
679
+ * The type of feature associated with the entitlement.
680
+ */
681
+ featureType: 'BOOLEAN' | 'NUMBER' | 'ENUM';
682
+ /**
683
+ * The unique reference ID of the entitlement.
684
+ */
685
+ refId: string;
686
+ }
687
+ }
688
+ interface UnionMember1 {
689
+ accessDeniedReason: 'FeatureNotFound' | 'CustomerNotFound' | 'CustomerIsArchived' | 'CustomerResourceNotFound' | 'NoActiveSubscription' | 'NoFeatureEntitlementInSubscription' | 'RequestedUsageExceedingLimit' | 'RequestedValuesMismatch' | 'BudgetExceeded' | 'Unknown' | 'FeatureTypeMismatch' | 'Revoked' | 'InsufficientCredits' | 'EntitlementNotFound' | null;
690
+ /**
691
+ * The currency associated with a credit entitlement.
692
+ */
693
+ currency: UnionMember1.Currency;
694
+ currentUsage: number;
695
+ isGranted: boolean;
696
+ type: 'CREDIT';
697
+ usageLimit: number;
698
+ /**
699
+ * Timestamp of the last update to the credit usage.
700
+ */
701
+ usageUpdatedAt: string;
702
+ /**
703
+ * Timestamp of the last update to the entitlement grant or configuration.
704
+ */
705
+ entitlementUpdatedAt?: string;
706
+ /**
707
+ * The end date of the current billing period for recurring credit grants.
708
+ */
709
+ usagePeriodEnd?: string;
710
+ /**
711
+ * The next time the entitlement should be recalculated
712
+ */
713
+ validUntil?: string;
714
+ }
715
+ namespace UnionMember1 {
716
+ /**
717
+ * The currency associated with a credit entitlement.
718
+ */
719
+ interface Currency {
720
+ /**
721
+ * The unique identifier of the custom currency.
722
+ */
723
+ currencyId: string;
724
+ }
725
+ }
726
+ /**
727
+ * Created subscription (when status is SUCCESS)
728
+ */
729
+ interface Subscription {
730
+ /**
731
+ * Subscription ID
732
+ */
733
+ id: string;
734
+ /**
735
+ * Billing ID
736
+ */
737
+ billingId: string | null;
738
+ /**
739
+ * Created at
740
+ */
741
+ createdAt: string;
742
+ /**
743
+ * Customer ID
744
+ */
745
+ customerId: string;
746
+ /**
747
+ * Payment collection
748
+ */
749
+ paymentCollection: 'NOT_REQUIRED' | 'PROCESSING' | 'FAILED' | 'ACTION_REQUIRED';
750
+ /**
751
+ * Plan ID
752
+ */
753
+ planId: string;
754
+ /**
755
+ * Pricing type
756
+ */
757
+ pricingType: 'FREE' | 'PAID' | 'CUSTOM';
758
+ /**
759
+ * Subscription start date
760
+ */
761
+ startDate: string;
762
+ /**
763
+ * Subscription status
764
+ */
765
+ status: 'PAYMENT_PENDING' | 'ACTIVE' | 'EXPIRED' | 'IN_TRIAL' | 'CANCELED' | 'NOT_STARTED';
766
+ /**
767
+ * Subscription cancellation date
768
+ */
769
+ cancellationDate?: string | null;
770
+ /**
771
+ * Subscription cancel reason
772
+ */
773
+ cancelReason?: 'UPGRADE_OR_DOWNGRADE' | 'CANCELLED_BY_BILLING' | 'EXPIRED' | 'DETACH_BILLING' | 'TRIAL_ENDED' | 'Immediate' | 'TRIAL_CONVERTED' | 'PENDING_PAYMENT_EXPIRED' | 'ScheduledCancellation' | 'CustomerArchived' | 'AutoCancellationRule' | null;
774
+ /**
775
+ * End of the current billing period
776
+ */
777
+ currentBillingPeriodEnd?: string | null;
778
+ /**
779
+ * Start of the current billing period
780
+ */
781
+ currentBillingPeriodStart?: string | null;
782
+ /**
783
+ * Subscription effective end date
784
+ */
785
+ effectiveEndDate?: string | null;
786
+ /**
787
+ * Subscription end date
788
+ */
789
+ endDate?: string | null;
790
+ /**
791
+ * Additional metadata for the subscription
792
+ */
793
+ metadata?: {
794
+ [key: string]: string;
795
+ };
796
+ /**
797
+ * Paying customer ID for delegated billing
798
+ */
799
+ payingCustomerId?: string | null;
800
+ /**
801
+ * The method used to collect payments for a subscription
802
+ */
803
+ paymentCollectionMethod?: 'CHARGE' | 'INVOICE' | 'NONE' | null;
804
+ prices?: Array<Subscription.Price>;
805
+ /**
806
+ * Resource ID
807
+ */
808
+ resourceId?: string | null;
809
+ /**
810
+ * Subscription trial end date
811
+ */
812
+ trialEndDate?: string | null;
813
+ }
814
+ namespace Subscription {
815
+ interface Price {
816
+ /**
817
+ * Addon identifier for the price override
818
+ */
819
+ addonId?: string | null;
820
+ /**
821
+ * Whether this is a base charge override
822
+ */
823
+ baseCharge?: boolean;
824
+ /**
825
+ * Block size for pricing
826
+ */
827
+ blockSize?: number;
828
+ /**
829
+ * Feature identifier for the price override
830
+ */
831
+ featureId?: string | null;
832
+ /**
833
+ * Override price amount
834
+ */
835
+ price?: Price.Price;
836
+ /**
837
+ * Pricing tiers configuration
838
+ */
839
+ tiers?: Array<Price.Tier>;
840
+ }
841
+ namespace Price {
842
+ /**
843
+ * Override price amount
844
+ */
845
+ interface Price {
846
+ /**
847
+ * The price amount
848
+ */
849
+ amount?: number;
850
+ /**
851
+ * The billing country code of the price
852
+ */
853
+ billingCountryCode?: string | null;
854
+ /**
855
+ * The price currency
856
+ */
857
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
858
+ }
859
+ interface Tier {
860
+ /**
861
+ * The flat fee price of the price tier
862
+ */
863
+ flatPrice?: Tier.FlatPrice;
864
+ /**
865
+ * The unit price of the price tier
866
+ */
867
+ unitPrice?: Tier.UnitPrice;
868
+ /**
869
+ * The up to quantity of the price tier
870
+ */
871
+ upTo?: number;
872
+ }
873
+ namespace Tier {
874
+ /**
875
+ * The flat fee price of the price tier
876
+ */
877
+ interface FlatPrice {
878
+ /**
879
+ * The price amount
880
+ */
881
+ amount?: number;
882
+ /**
883
+ * The billing country code of the price
884
+ */
885
+ billingCountryCode?: string | null;
886
+ /**
887
+ * The price currency
888
+ */
889
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
890
+ }
891
+ /**
892
+ * The unit price of the price tier
893
+ */
894
+ interface UnitPrice {
895
+ /**
896
+ * The price amount
897
+ */
898
+ amount?: number;
899
+ /**
900
+ * The billing country code of the price
901
+ */
902
+ billingCountryCode?: string | null;
903
+ /**
904
+ * The price currency
905
+ */
906
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
907
+ }
908
+ }
909
+ }
910
+ }
911
+ }
912
+ }
913
+ export interface SubscriptionUpdateParams {
914
+ addons?: Array<SubscriptionUpdateParams.Addon>;
915
+ appliedCoupon?: SubscriptionUpdateParams.AppliedCoupon;
916
+ awaitPaymentConfirmation?: boolean;
917
+ billingInformation?: SubscriptionUpdateParams.BillingInformation;
918
+ billingPeriod?: 'MONTHLY' | 'ANNUALLY';
919
+ budget?: SubscriptionUpdateParams.Budget | null;
920
+ charges?: Array<SubscriptionUpdateParams.Charge>;
921
+ /**
922
+ * Additional metadata for the subscription
923
+ */
924
+ metadata?: {
925
+ [key: string]: string;
926
+ };
927
+ minimumSpend?: SubscriptionUpdateParams.MinimumSpend | null;
928
+ priceOverrides?: Array<SubscriptionUpdateParams.PriceOverride>;
929
+ promotionCode?: string;
930
+ scheduleStrategy?: 'END_OF_BILLING_PERIOD' | 'END_OF_BILLING_MONTH' | 'IMMEDIATE';
931
+ subscriptionEntitlements?: Array<SubscriptionUpdateParams.SubscriptionEntitlement>;
932
+ /**
933
+ * Subscription trial end date
934
+ */
935
+ trialEndDate?: string;
936
+ }
937
+ export declare namespace SubscriptionUpdateParams {
938
+ interface Addon {
939
+ /**
940
+ * Addon ID
941
+ */
942
+ addonId: string;
943
+ quantity: number;
944
+ }
945
+ interface AppliedCoupon {
946
+ billingCouponId?: string;
947
+ configuration?: AppliedCoupon.Configuration;
948
+ couponId?: string;
949
+ discount?: AppliedCoupon.Discount;
950
+ promotionCode?: string | null;
951
+ }
952
+ namespace AppliedCoupon {
953
+ interface Configuration {
954
+ /**
955
+ * Coupon start date
956
+ */
957
+ startDate?: string;
958
+ }
959
+ interface Discount {
960
+ amountsOff?: Array<Discount.AmountsOff> | null;
961
+ description?: string;
962
+ durationInMonths?: number;
963
+ name?: string;
964
+ percentOff?: number;
965
+ }
966
+ namespace Discount {
967
+ interface AmountsOff {
968
+ amount: number;
969
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
970
+ }
971
+ }
972
+ }
973
+ interface BillingInformation {
974
+ /**
975
+ * Physical address
976
+ */
977
+ billingAddress?: BillingInformation.BillingAddress;
978
+ chargeOnBehalfOfAccount?: string;
979
+ couponId?: string;
980
+ integrationId?: string;
981
+ invoiceDaysUntilDue?: number;
982
+ isBackdated?: boolean;
983
+ isInvoicePaid?: boolean;
984
+ /**
985
+ * Additional metadata for the subscription
986
+ */
987
+ metadata?: {
988
+ [key: string]: unknown;
989
+ };
990
+ prorationBehavior?: 'INVOICE_IMMEDIATELY' | 'CREATE_PRORATIONS' | 'NONE';
991
+ taxIds?: Array<BillingInformation.TaxID>;
992
+ taxPercentage?: number;
993
+ taxRateIds?: Array<string>;
994
+ }
995
+ namespace BillingInformation {
996
+ /**
997
+ * Physical address
998
+ */
999
+ interface BillingAddress {
1000
+ /**
1001
+ * City name
1002
+ */
1003
+ city?: string;
1004
+ /**
1005
+ * Country code or name
1006
+ */
1007
+ country?: string;
1008
+ /**
1009
+ * Street address line 1
1010
+ */
1011
+ line1?: string;
1012
+ /**
1013
+ * Street address line 2
1014
+ */
1015
+ line2?: string;
1016
+ /**
1017
+ * Postal or ZIP code
1018
+ */
1019
+ postalCode?: string;
1020
+ /**
1021
+ * State or province
1022
+ */
1023
+ state?: string;
1024
+ }
1025
+ interface TaxID {
1026
+ type: string;
1027
+ value: string;
1028
+ }
1029
+ }
1030
+ interface Budget {
1031
+ hasSoftLimit: boolean;
1032
+ limit: number;
1033
+ }
1034
+ interface Charge {
1035
+ /**
1036
+ * Charge ID
1037
+ */
1038
+ id: string;
1039
+ quantity: number;
1040
+ type: 'FEATURE' | 'CREDIT';
1041
+ }
1042
+ interface MinimumSpend {
1043
+ minimum?: MinimumSpend.Minimum | null;
1044
+ }
1045
+ namespace MinimumSpend {
1046
+ interface Minimum {
1047
+ amount: number;
1048
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1049
+ }
1050
+ }
1051
+ interface PriceOverride {
1052
+ /**
1053
+ * Addon ID
1054
+ */
1055
+ addonId?: string;
1056
+ /**
1057
+ * Whether this is a base charge override
1058
+ */
1059
+ baseCharge?: boolean;
1060
+ /**
1061
+ * The corresponding custom currency id of the recurring credits price
1062
+ */
1063
+ currencyId?: string;
1064
+ /**
1065
+ * Feature ID
1066
+ */
1067
+ featureId?: string;
1068
+ price?: PriceOverride.Price;
1069
+ }
1070
+ namespace PriceOverride {
1071
+ interface Price {
1072
+ amount: number;
1073
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1074
+ }
1075
+ }
1076
+ interface SubscriptionEntitlement {
1077
+ id?: string;
1078
+ featureId?: string;
1079
+ hasSoftLimit?: boolean;
1080
+ hasUnlimitedUsage?: boolean;
1081
+ monthlyResetPeriodConfiguration?: SubscriptionEntitlement.MonthlyResetPeriodConfiguration;
1082
+ resetPeriod?: 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR';
1083
+ usageLimit?: number;
1084
+ weeklyResetPeriodConfiguration?: SubscriptionEntitlement.WeeklyResetPeriodConfiguration;
1085
+ yearlyResetPeriodConfiguration?: SubscriptionEntitlement.YearlyResetPeriodConfiguration;
1086
+ }
1087
+ namespace SubscriptionEntitlement {
1088
+ interface MonthlyResetPeriodConfiguration {
1089
+ accordingTo: 'SubscriptionStart' | 'StartOfTheMonth';
1090
+ }
1091
+ interface WeeklyResetPeriodConfiguration {
1092
+ accordingTo: 'SubscriptionStart' | 'EverySunday' | 'EveryMonday' | 'EveryTuesday' | 'EveryWednesday' | 'EveryThursday' | 'EveryFriday' | 'EverySaturday';
1093
+ }
1094
+ interface YearlyResetPeriodConfiguration {
1095
+ accordingTo: 'SubscriptionStart';
1096
+ }
1097
+ }
1098
+ }
1099
+ export interface SubscriptionListParams extends MyCursorIDPageParams {
1100
+ /**
1101
+ * Filter by creation date using range operators: gt, gte, lt, lte
1102
+ */
1103
+ createdAt?: SubscriptionListParams.CreatedAt;
1104
+ /**
1105
+ * Filter by customer ID
1106
+ */
1107
+ customerId?: string;
1108
+ /**
1109
+ * Filter by plan ID
1110
+ */
1111
+ planId?: string;
1112
+ /**
1113
+ * Filter by pricing type. Supports comma-separated values for multiple types
1114
+ */
1115
+ pricingType?: string;
1116
+ /**
1117
+ * Filter by resource ID
1118
+ */
1119
+ resourceId?: string;
1120
+ /**
1121
+ * Filter by subscription status. Supports comma-separated values for multiple
1122
+ * statuses
1123
+ */
1124
+ status?: string;
1125
+ }
1126
+ export declare namespace SubscriptionListParams {
1127
+ /**
1128
+ * Filter by creation date using range operators: gt, gte, lt, lte
1129
+ */
1130
+ interface CreatedAt {
1131
+ /**
1132
+ * Greater than the specified createdAt value
1133
+ */
1134
+ gt?: string;
1135
+ /**
1136
+ * Greater than or equal to the specified createdAt value
1137
+ */
1138
+ gte?: string;
1139
+ /**
1140
+ * Less than the specified createdAt value
1141
+ */
1142
+ lt?: string;
1143
+ /**
1144
+ * Less than or equal to the specified createdAt value
1145
+ */
1146
+ lte?: string;
1147
+ }
1148
+ }
1149
+ export interface SubscriptionCancelParams {
1150
+ /**
1151
+ * Action on cancellation (downgrade or revoke)
1152
+ */
1153
+ cancellationAction?: 'DEFAULT' | 'REVOKE_ENTITLEMENTS';
1154
+ /**
1155
+ * When to cancel (immediate, period end, or date)
1156
+ */
1157
+ cancellationTime?: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE' | 'SPECIFIC_DATE';
1158
+ /**
1159
+ * Subscription end date
1160
+ */
1161
+ endDate?: string;
1162
+ /**
1163
+ * If set, enables or disables prorating of credits on subscription cancellation.
1164
+ */
1165
+ prorate?: boolean;
1166
+ }
1167
+ export interface SubscriptionDelegateParams {
1168
+ /**
1169
+ * The unique identifier of the customer who will assume payment responsibility for
1170
+ * this subscription. This customer must already exist in your Stigg account and
1171
+ * have a valid payment method if the subscription requires payment.
1172
+ */
1173
+ targetCustomerId: string;
1174
+ }
1175
+ export interface SubscriptionImportParams {
1176
+ /**
1177
+ * List of subscription objects to import
1178
+ */
1179
+ subscriptions: Array<SubscriptionImportParams.Subscription>;
1180
+ /**
1181
+ * Integration ID to use for importing subscriptions
1182
+ */
1183
+ integrationId?: string | null;
1184
+ }
1185
+ export declare namespace SubscriptionImportParams {
1186
+ interface Subscription {
1187
+ /**
1188
+ * Subscription ID
1189
+ */
1190
+ id: string;
1191
+ /**
1192
+ * Customer ID
1193
+ */
1194
+ customerId: string;
1195
+ /**
1196
+ * Plan ID
1197
+ */
1198
+ planId: string;
1199
+ /**
1200
+ * Billing ID
1201
+ */
1202
+ billingId?: string | null;
1121
1203
  /**
1122
1204
  * Subscription end date
1123
1205
  */
@@ -1128,135 +1210,100 @@ export declare namespace SubscriptionTransferResponse {
1128
1210
  metadata?: {
1129
1211
  [key: string]: string;
1130
1212
  };
1131
- /**
1132
- * Paying customer ID for delegated billing
1133
- */
1134
- payingCustomerId?: string | null;
1135
- /**
1136
- * The method used to collect payments for a subscription
1137
- */
1138
- paymentCollectionMethod?: 'CHARGE' | 'INVOICE' | 'NONE' | null;
1139
- prices?: Array<Data.Price>;
1140
1213
  /**
1141
1214
  * Resource ID
1142
1215
  */
1143
1216
  resourceId?: string | null;
1144
1217
  /**
1145
- * Subscription trial end date
1218
+ * Subscription start date
1146
1219
  */
1147
- trialEndDate?: string | null;
1148
- }
1149
- namespace Data {
1150
- interface Price {
1151
- /**
1152
- * Price ID
1153
- */
1154
- id: string;
1155
- /**
1156
- * Creation timestamp
1157
- */
1158
- createdAt: string;
1159
- /**
1160
- * Last update timestamp
1161
- */
1162
- updatedAt: string;
1163
- [k: string]: unknown;
1164
- }
1220
+ startDate?: string;
1165
1221
  }
1166
1222
  }
1167
- export interface SubscriptionCreateParams {
1223
+ export interface SubscriptionMigrateParams {
1168
1224
  /**
1169
- * Customer ID to provision the subscription for
1225
+ * When to migrate (immediate or period end)
1226
+ */
1227
+ subscriptionMigrationTime?: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE';
1228
+ }
1229
+ export interface SubscriptionPreviewParams {
1230
+ /**
1231
+ * Customer ID
1170
1232
  */
1171
1233
  customerId: string;
1172
1234
  /**
1173
- * Plan ID to provision
1235
+ * Plan ID
1174
1236
  */
1175
1237
  planId: string;
1176
1238
  /**
1177
- * Unique identifier for the subscription
1239
+ * Addons to include
1178
1240
  */
1179
- id?: string;
1180
- addons?: Array<SubscriptionCreateParams.Addon>;
1241
+ addons?: Array<SubscriptionPreviewParams.Addon>;
1181
1242
  /**
1182
- * Coupon configuration
1243
+ * Coupon or discount to apply
1183
1244
  */
1184
- appliedCoupon?: SubscriptionCreateParams.AppliedCoupon;
1245
+ appliedCoupon?: SubscriptionPreviewParams.AppliedCoupon;
1185
1246
  /**
1186
- * Whether to wait for payment confirmation before returning the subscription
1247
+ * Billable features with quantities
1187
1248
  */
1188
- awaitPaymentConfirmation?: boolean;
1249
+ billableFeatures?: Array<SubscriptionPreviewParams.BillableFeature>;
1189
1250
  /**
1190
- * The ISO 3166-1 alpha-2 country code for billing
1251
+ * ISO 3166-1 country code for localization
1191
1252
  */
1192
- billingCountryCode?: string | null;
1253
+ billingCountryCode?: string;
1193
1254
  /**
1194
- * External billing system identifier
1255
+ * Billing and tax configuration
1195
1256
  */
1196
- billingId?: string | null;
1197
- billingInformation?: SubscriptionCreateParams.BillingInformation;
1257
+ billingInformation?: SubscriptionPreviewParams.BillingInformation;
1198
1258
  /**
1199
1259
  * Billing period (MONTHLY or ANNUALLY)
1200
1260
  */
1201
1261
  billingPeriod?: 'MONTHLY' | 'ANNUALLY';
1202
- budget?: SubscriptionCreateParams.Budget | null;
1203
- charges?: Array<SubscriptionCreateParams.Charge>;
1204
- /**
1205
- * Checkout page configuration for payment collection
1206
- */
1207
- checkoutOptions?: SubscriptionCreateParams.CheckoutOptions;
1208
- /**
1209
- * Additional metadata for the subscription
1210
- */
1211
- metadata?: {
1212
- [key: string]: string;
1213
- };
1214
- minimumSpend?: SubscriptionCreateParams.MinimumSpend | null;
1215
1262
  /**
1216
- * Optional paying customer ID for split billing scenarios
1217
- */
1218
- payingCustomerId?: string | null;
1219
- /**
1220
- * How payments should be collected for this subscription
1263
+ * One-time or recurring charges
1221
1264
  */
1222
- paymentCollectionMethod?: 'CHARGE' | 'INVOICE' | 'NONE';
1223
- priceOverrides?: Array<SubscriptionCreateParams.PriceOverride>;
1265
+ charges?: Array<SubscriptionPreviewParams.Charge>;
1224
1266
  /**
1225
- * Optional resource ID for multi-instance subscriptions
1267
+ * Paying customer ID for delegated billing
1226
1268
  */
1227
- resourceId?: string | null;
1269
+ payingCustomerId?: string;
1228
1270
  /**
1229
- * Salesforce ID
1271
+ * Resource ID for multi-instance subscriptions
1230
1272
  */
1231
- salesforceId?: string | null;
1273
+ resourceId?: string;
1232
1274
  /**
1233
- * Strategy for scheduling subscription changes
1275
+ * When to apply subscription changes
1234
1276
  */
1235
1277
  scheduleStrategy?: 'END_OF_BILLING_PERIOD' | 'END_OF_BILLING_MONTH' | 'IMMEDIATE';
1236
1278
  /**
1237
1279
  * Subscription start date
1238
1280
  */
1239
1281
  startDate?: string;
1240
- subscriptionEntitlements?: Array<SubscriptionCreateParams.SubscriptionEntitlement>;
1241
1282
  /**
1242
1283
  * Trial period override settings
1243
1284
  */
1244
- trialOverrideConfiguration?: SubscriptionCreateParams.TrialOverrideConfiguration;
1285
+ trialOverrideConfiguration?: SubscriptionPreviewParams.TrialOverrideConfiguration;
1286
+ /**
1287
+ * Unit quantity for per-unit pricing
1288
+ */
1245
1289
  unitQuantity?: number;
1246
1290
  }
1247
- export declare namespace SubscriptionCreateParams {
1291
+ export declare namespace SubscriptionPreviewParams {
1292
+ /**
1293
+ * Addon configuration
1294
+ */
1248
1295
  interface Addon {
1249
1296
  /**
1250
- * Addon identifier
1297
+ * Addon ID
1251
1298
  */
1252
1299
  addonId: string;
1253
1300
  /**
1254
- * Number of addon units
1301
+ * Number of addon instances
1255
1302
  */
1256
1303
  quantity?: number;
1257
1304
  }
1258
1305
  /**
1259
- * Coupon configuration
1306
+ * Coupon or discount to apply
1260
1307
  */
1261
1308
  interface AppliedCoupon {
1262
1309
  /**
@@ -1328,401 +1375,222 @@ export declare namespace SubscriptionCreateParams {
1328
1375
  }
1329
1376
  }
1330
1377
  }
1331
- interface BillingInformation {
1332
- /**
1333
- * Billing address for the subscription
1334
- */
1335
- billingAddress?: BillingInformation.BillingAddress;
1336
- /**
1337
- * Stripe Connect account to charge on behalf of
1338
- */
1339
- chargeOnBehalfOfAccount?: string | null;
1340
- /**
1341
- * Billing integration identifier
1342
- */
1343
- integrationId?: string | null;
1344
- /**
1345
- * Number of days until invoice is due
1346
- */
1347
- invoiceDaysUntilDue?: number;
1348
- /**
1349
- * Whether the subscription is backdated
1350
- */
1351
- isBackdated?: boolean;
1352
- /**
1353
- * Whether the invoice is marked as paid
1354
- */
1355
- isInvoicePaid?: boolean;
1356
- /**
1357
- * Additional metadata for the subscription
1358
- */
1359
- metadata?: {
1360
- [key: string]: string;
1361
- };
1362
- /**
1363
- * How to handle proration for billing changes
1364
- */
1365
- prorationBehavior?: 'INVOICE_IMMEDIATELY' | 'CREATE_PRORATIONS' | 'NONE';
1366
- /**
1367
- * Customer tax identification numbers
1368
- */
1369
- taxIds?: Array<BillingInformation.TaxID>;
1370
- /**
1371
- * Tax percentage (0-100)
1372
- */
1373
- taxPercentage?: number;
1374
- /**
1375
- * Tax rate identifiers to apply
1376
- */
1377
- taxRateIds?: Array<string>;
1378
- }
1379
- namespace BillingInformation {
1380
- /**
1381
- * Billing address for the subscription
1382
- */
1383
- interface BillingAddress {
1384
- city?: string;
1385
- country?: string;
1386
- line1?: string;
1387
- line2?: string;
1388
- postalCode?: string;
1389
- state?: string;
1390
- }
1391
- interface TaxID {
1392
- /**
1393
- * The type of tax exemption identifier, such as VAT.
1394
- */
1395
- type: string;
1396
- /**
1397
- * The actual tax identifier value
1398
- */
1399
- value: string;
1400
- }
1401
- }
1402
- interface Budget {
1403
- /**
1404
- * Whether the budget is a soft limit
1405
- */
1406
- hasSoftLimit: boolean;
1407
- /**
1408
- * Maximum spending limit
1409
- */
1410
- limit: number;
1411
- }
1412
1378
  /**
1413
- * Charge item
1379
+ * Feature with quantity
1414
1380
  */
1415
- interface Charge {
1381
+ interface BillableFeature {
1416
1382
  /**
1417
- * Charge ID
1383
+ * Feature ID
1418
1384
  */
1419
- id: string;
1385
+ featureId: string;
1420
1386
  /**
1421
- * Charge quantity
1387
+ * Quantity of feature units
1422
1388
  */
1423
1389
  quantity: number;
1424
- /**
1425
- * Charge type
1426
- */
1427
- type: 'FEATURE' | 'CREDIT';
1428
1390
  }
1429
1391
  /**
1430
- * Checkout page configuration for payment collection
1392
+ * Billing and tax configuration
1431
1393
  */
1432
- interface CheckoutOptions {
1433
- /**
1434
- * URL to redirect to if checkout is canceled
1435
- */
1436
- cancelUrl: string;
1437
- /**
1438
- * URL to redirect to after successful checkout
1439
- */
1440
- successUrl: string;
1441
- /**
1442
- * Allow promotional codes during checkout
1443
- */
1444
- allowPromoCodes?: boolean;
1445
- /**
1446
- * Allow tax ID collection during checkout
1447
- */
1448
- allowTaxIdCollection?: boolean;
1394
+ interface BillingInformation {
1449
1395
  /**
1450
- * Collect billing address during checkout
1396
+ * Billing address
1451
1397
  */
1452
- collectBillingAddress?: boolean;
1398
+ billingAddress?: BillingInformation.BillingAddress;
1453
1399
  /**
1454
- * Collect phone number during checkout
1400
+ * Connected account ID for platform billing
1455
1401
  */
1456
- collectPhoneNumber?: boolean;
1402
+ chargeOnBehalfOfAccount?: string;
1457
1403
  /**
1458
- * Optional reference ID for the checkout session
1404
+ * Billing integration ID
1459
1405
  */
1460
- referenceId?: string | null;
1461
- }
1462
- interface MinimumSpend {
1406
+ integrationId?: string;
1463
1407
  /**
1464
- * Minimum spend amount
1408
+ * Days until invoice is due
1465
1409
  */
1466
- minimum?: MinimumSpend.Minimum | null;
1467
- }
1468
- namespace MinimumSpend {
1410
+ invoiceDaysUntilDue?: number;
1469
1411
  /**
1470
- * Minimum spend amount
1412
+ * Whether subscription is backdated
1471
1413
  */
1472
- interface Minimum {
1473
- /**
1474
- * The price amount
1475
- */
1476
- amount?: number;
1477
- /**
1478
- * The billing country code of the price
1479
- */
1480
- billingCountryCode?: string | null;
1481
- /**
1482
- * The price currency
1483
- */
1484
- currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1485
- }
1486
- }
1487
- interface PriceOverride {
1414
+ isBackdated?: boolean;
1488
1415
  /**
1489
- * Addon identifier for the price override
1416
+ * Whether invoice is already paid
1490
1417
  */
1491
- addonId?: string | null;
1418
+ isInvoicePaid?: boolean;
1492
1419
  /**
1493
- * Whether this is a base charge override
1420
+ * Additional billing metadata
1494
1421
  */
1495
- baseCharge?: boolean;
1422
+ metadata?: unknown;
1496
1423
  /**
1497
- * Block size for pricing
1424
+ * Proration behavior
1498
1425
  */
1499
- blockSize?: number;
1500
- creditGrantCadence?: 'BEGINNING_OF_BILLING_PERIOD' | 'MONTHLY';
1501
- creditRate?: PriceOverride.CreditRate;
1426
+ prorationBehavior?: 'INVOICE_IMMEDIATELY' | 'CREATE_PRORATIONS' | 'NONE';
1502
1427
  /**
1503
- * Feature identifier for the price override
1428
+ * Customer tax IDs
1504
1429
  */
1505
- featureId?: string | null;
1430
+ taxIds?: Array<BillingInformation.TaxID>;
1506
1431
  /**
1507
- * Override price amount
1432
+ * Tax percentage to apply
1508
1433
  */
1509
- price?: PriceOverride.Price;
1434
+ taxPercentage?: number;
1510
1435
  /**
1511
- * Pricing tiers configuration
1436
+ * Tax rate IDs from billing provider
1512
1437
  */
1513
- tiers?: Array<PriceOverride.Tier>;
1438
+ taxRateIds?: Array<string>;
1514
1439
  }
1515
- namespace PriceOverride {
1516
- interface CreditRate {
1517
- /**
1518
- * The credit rate amount
1519
- */
1520
- amount: number;
1521
- /**
1522
- * The custom currency refId for the credit rate
1523
- */
1524
- currencyId: string;
1525
- /**
1526
- * A custom formula for calculating cost based on single event dimensions
1527
- */
1528
- costFormula?: string | null;
1529
- }
1440
+ namespace BillingInformation {
1530
1441
  /**
1531
- * Override price amount
1442
+ * Billing address
1532
1443
  */
1533
- interface Price {
1534
- /**
1535
- * The price amount
1536
- */
1537
- amount?: number;
1538
- /**
1539
- * The billing country code of the price
1540
- */
1541
- billingCountryCode?: string | null;
1542
- /**
1543
- * The price currency
1544
- */
1545
- currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1546
- }
1547
- interface Tier {
1548
- /**
1549
- * The flat fee price of the price tier
1550
- */
1551
- flatPrice?: Tier.FlatPrice;
1552
- /**
1553
- * The unit price of the price tier
1554
- */
1555
- unitPrice?: Tier.UnitPrice;
1556
- /**
1557
- * The up to quantity of the price tier
1558
- */
1559
- upTo?: number;
1444
+ interface BillingAddress {
1445
+ city?: string;
1446
+ country?: string;
1447
+ line1?: string;
1448
+ line2?: string;
1449
+ postalCode?: string;
1450
+ state?: string;
1560
1451
  }
1561
- namespace Tier {
1452
+ /**
1453
+ * Tax exemption identifier
1454
+ */
1455
+ interface TaxID {
1562
1456
  /**
1563
- * The flat fee price of the price tier
1457
+ * Tax exemption type (e.g., vat, gst)
1564
1458
  */
1565
- interface FlatPrice {
1566
- /**
1567
- * The price amount
1568
- */
1569
- amount?: number;
1570
- /**
1571
- * The billing country code of the price
1572
- */
1573
- billingCountryCode?: string | null;
1574
- /**
1575
- * The price currency
1576
- */
1577
- currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1578
- }
1459
+ type: string;
1579
1460
  /**
1580
- * The unit price of the price tier
1461
+ * Tax exemption identifier value
1581
1462
  */
1582
- interface UnitPrice {
1583
- /**
1584
- * The price amount
1585
- */
1586
- amount?: number;
1587
- /**
1588
- * The billing country code of the price
1589
- */
1590
- billingCountryCode?: string | null;
1591
- /**
1592
- * The price currency
1593
- */
1594
- currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1595
- }
1463
+ value: string;
1596
1464
  }
1597
1465
  }
1598
- interface SubscriptionEntitlement {
1466
+ /**
1467
+ * Charge item
1468
+ */
1469
+ interface Charge {
1599
1470
  /**
1600
- * Feature ID
1471
+ * Charge ID
1601
1472
  */
1602
- featureId: string;
1603
- usageLimit: number;
1604
- isGranted?: boolean;
1473
+ id: string;
1474
+ /**
1475
+ * Charge quantity
1476
+ */
1477
+ quantity: number;
1478
+ /**
1479
+ * Charge type
1480
+ */
1481
+ type: 'FEATURE' | 'CREDIT';
1605
1482
  }
1606
1483
  /**
1607
1484
  * Trial period override settings
1608
1485
  */
1609
1486
  interface TrialOverrideConfiguration {
1610
1487
  /**
1611
- * Whether the subscription should start with a trial period
1488
+ * Whether to start as trial
1612
1489
  */
1613
1490
  isTrial: boolean;
1614
1491
  /**
1615
- * Behavior when trial ends: CONVERT_TO_PAID or CANCEL_SUBSCRIPTION
1492
+ * Behavior when trial ends
1616
1493
  */
1617
1494
  trialEndBehavior?: 'CONVERT_TO_PAID' | 'CANCEL_SUBSCRIPTION';
1618
1495
  /**
1619
- * Custom trial end date
1496
+ * Trial end date
1620
1497
  */
1621
1498
  trialEndDate?: string;
1622
1499
  }
1623
1500
  }
1624
- export interface SubscriptionListParams extends MyCursorIDPageParams {
1625
- /**
1626
- * Filter by customer ID
1627
- */
1628
- customerId?: string;
1501
+ export interface SubscriptionProvisionParams {
1629
1502
  /**
1630
- * Filter by status (comma-separated)
1503
+ * Customer ID to provision the subscription for
1631
1504
  */
1632
- status?: string;
1633
- }
1634
- export interface SubscriptionDelegateParams {
1505
+ customerId: string;
1635
1506
  /**
1636
- * The unique identifier of the customer who will assume payment responsibility for
1637
- * this subscription. This customer must already exist in your Stigg account and
1638
- * have a valid payment method if the subscription requires payment.
1507
+ * Plan ID to provision
1639
1508
  */
1640
- targetCustomerId: string;
1641
- }
1642
- export interface SubscriptionMigrateParams {
1509
+ planId: string;
1643
1510
  /**
1644
- * When to migrate (immediate or period end)
1511
+ * Unique identifier for the subscription
1645
1512
  */
1646
- subscriptionMigrationTime?: 'END_OF_BILLING_PERIOD' | 'IMMEDIATE';
1647
- }
1648
- export interface SubscriptionPreviewParams {
1513
+ id?: string;
1514
+ addons?: Array<SubscriptionProvisionParams.Addon>;
1649
1515
  /**
1650
- * Customer ID
1516
+ * Coupon configuration
1651
1517
  */
1652
- customerId: string;
1518
+ appliedCoupon?: SubscriptionProvisionParams.AppliedCoupon;
1653
1519
  /**
1654
- * Plan ID
1520
+ * Whether to wait for payment confirmation before returning the subscription
1655
1521
  */
1656
- planId: string;
1522
+ awaitPaymentConfirmation?: boolean;
1657
1523
  /**
1658
- * Addons to include
1524
+ * The ISO 3166-1 alpha-2 country code for billing
1659
1525
  */
1660
- addons?: Array<SubscriptionPreviewParams.Addon>;
1526
+ billingCountryCode?: string | null;
1661
1527
  /**
1662
- * Coupon or discount to apply
1528
+ * External billing system identifier
1663
1529
  */
1664
- appliedCoupon?: SubscriptionPreviewParams.AppliedCoupon;
1530
+ billingId?: string | null;
1531
+ billingInformation?: SubscriptionProvisionParams.BillingInformation;
1665
1532
  /**
1666
- * Billable features with quantities
1533
+ * Billing period (MONTHLY or ANNUALLY)
1667
1534
  */
1668
- billableFeatures?: Array<SubscriptionPreviewParams.BillableFeature>;
1535
+ billingPeriod?: 'MONTHLY' | 'ANNUALLY';
1536
+ budget?: SubscriptionProvisionParams.Budget | null;
1537
+ charges?: Array<SubscriptionProvisionParams.Charge>;
1669
1538
  /**
1670
- * ISO 3166-1 country code for localization
1539
+ * Checkout page configuration for payment collection
1671
1540
  */
1672
- billingCountryCode?: string;
1541
+ checkoutOptions?: SubscriptionProvisionParams.CheckoutOptions;
1673
1542
  /**
1674
- * Billing and tax configuration
1543
+ * Additional metadata for the subscription
1675
1544
  */
1676
- billingInformation?: SubscriptionPreviewParams.BillingInformation;
1545
+ metadata?: {
1546
+ [key: string]: string;
1547
+ };
1548
+ minimumSpend?: SubscriptionProvisionParams.MinimumSpend | null;
1677
1549
  /**
1678
- * Billing period (MONTHLY or ANNUALLY)
1550
+ * Optional paying customer ID for split billing scenarios
1679
1551
  */
1680
- billingPeriod?: 'MONTHLY' | 'ANNUALLY';
1552
+ payingCustomerId?: string | null;
1681
1553
  /**
1682
- * One-time or recurring charges
1554
+ * How payments should be collected for this subscription
1683
1555
  */
1684
- charges?: Array<SubscriptionPreviewParams.Charge>;
1556
+ paymentCollectionMethod?: 'CHARGE' | 'INVOICE' | 'NONE';
1557
+ priceOverrides?: Array<SubscriptionProvisionParams.PriceOverride>;
1685
1558
  /**
1686
- * Paying customer ID for delegated billing
1559
+ * Optional resource ID for multi-instance subscriptions
1687
1560
  */
1688
- payingCustomerId?: string;
1561
+ resourceId?: string | null;
1689
1562
  /**
1690
- * Resource ID for multi-instance subscriptions
1563
+ * Salesforce ID
1691
1564
  */
1692
- resourceId?: string;
1565
+ salesforceId?: string | null;
1693
1566
  /**
1694
- * When to apply subscription changes
1567
+ * Strategy for scheduling subscription changes
1695
1568
  */
1696
1569
  scheduleStrategy?: 'END_OF_BILLING_PERIOD' | 'END_OF_BILLING_MONTH' | 'IMMEDIATE';
1697
1570
  /**
1698
1571
  * Subscription start date
1699
1572
  */
1700
1573
  startDate?: string;
1574
+ subscriptionEntitlements?: Array<SubscriptionProvisionParams.SubscriptionEntitlement>;
1701
1575
  /**
1702
1576
  * Trial period override settings
1703
1577
  */
1704
- trialOverrideConfiguration?: SubscriptionPreviewParams.TrialOverrideConfiguration;
1705
- /**
1706
- * Unit quantity for per-unit pricing
1707
- */
1708
- unitQuantity?: number;
1709
- }
1710
- export declare namespace SubscriptionPreviewParams {
1711
- /**
1712
- * Addon configuration
1713
- */
1578
+ trialOverrideConfiguration?: SubscriptionProvisionParams.TrialOverrideConfiguration;
1579
+ unitQuantity?: number;
1580
+ }
1581
+ export declare namespace SubscriptionProvisionParams {
1714
1582
  interface Addon {
1715
1583
  /**
1716
- * Addon ID
1584
+ * Addon identifier
1717
1585
  */
1718
1586
  addonId: string;
1719
1587
  /**
1720
- * Number of addon instances
1588
+ * Number of addon units
1721
1589
  */
1722
1590
  quantity?: number;
1723
1591
  }
1724
1592
  /**
1725
- * Coupon or discount to apply
1593
+ * Coupon configuration
1726
1594
  */
1727
1595
  interface AppliedCoupon {
1728
1596
  /**
@@ -1794,71 +1662,57 @@ export declare namespace SubscriptionPreviewParams {
1794
1662
  }
1795
1663
  }
1796
1664
  }
1797
- /**
1798
- * Feature with quantity
1799
- */
1800
- interface BillableFeature {
1801
- /**
1802
- * Feature ID
1803
- */
1804
- featureId: string;
1805
- /**
1806
- * Quantity of feature units
1807
- */
1808
- quantity: number;
1809
- }
1810
- /**
1811
- * Billing and tax configuration
1812
- */
1813
1665
  interface BillingInformation {
1814
1666
  /**
1815
- * Billing address
1667
+ * Billing address for the subscription
1816
1668
  */
1817
1669
  billingAddress?: BillingInformation.BillingAddress;
1818
1670
  /**
1819
- * Connected account ID for platform billing
1671
+ * Stripe Connect account to charge on behalf of
1820
1672
  */
1821
- chargeOnBehalfOfAccount?: string;
1673
+ chargeOnBehalfOfAccount?: string | null;
1822
1674
  /**
1823
- * Billing integration ID
1675
+ * Billing integration identifier
1824
1676
  */
1825
- integrationId?: string;
1677
+ integrationId?: string | null;
1826
1678
  /**
1827
- * Days until invoice is due
1679
+ * Number of days until invoice is due
1828
1680
  */
1829
1681
  invoiceDaysUntilDue?: number;
1830
1682
  /**
1831
- * Whether subscription is backdated
1683
+ * Whether the subscription is backdated
1832
1684
  */
1833
1685
  isBackdated?: boolean;
1834
1686
  /**
1835
- * Whether invoice is already paid
1687
+ * Whether the invoice is marked as paid
1836
1688
  */
1837
1689
  isInvoicePaid?: boolean;
1838
1690
  /**
1839
- * Additional billing metadata
1691
+ * Additional metadata for the subscription
1840
1692
  */
1841
- metadata?: unknown;
1693
+ metadata?: {
1694
+ [key: string]: string;
1695
+ };
1842
1696
  /**
1843
- * Proration behavior
1697
+ * How to handle proration for billing changes
1844
1698
  */
1845
1699
  prorationBehavior?: 'INVOICE_IMMEDIATELY' | 'CREATE_PRORATIONS' | 'NONE';
1846
1700
  /**
1847
- * Customer tax IDs
1701
+ * Customer tax identification numbers
1848
1702
  */
1849
1703
  taxIds?: Array<BillingInformation.TaxID>;
1850
1704
  /**
1851
- * Tax percentage to apply
1705
+ * Tax percentage (0-100)
1852
1706
  */
1853
1707
  taxPercentage?: number;
1854
1708
  /**
1855
- * Tax rate IDs from billing provider
1709
+ * Tax rate identifiers to apply
1856
1710
  */
1857
1711
  taxRateIds?: Array<string>;
1858
1712
  }
1859
1713
  namespace BillingInformation {
1860
1714
  /**
1861
- * Billing address
1715
+ * Billing address for the subscription
1862
1716
  */
1863
1717
  interface BillingAddress {
1864
1718
  city?: string;
@@ -1868,20 +1722,27 @@ export declare namespace SubscriptionPreviewParams {
1868
1722
  postalCode?: string;
1869
1723
  state?: string;
1870
1724
  }
1871
- /**
1872
- * Tax exemption identifier
1873
- */
1874
1725
  interface TaxID {
1875
1726
  /**
1876
- * Tax exemption type (e.g., vat, gst)
1727
+ * The type of tax exemption identifier, such as VAT.
1877
1728
  */
1878
1729
  type: string;
1879
1730
  /**
1880
- * Tax exemption identifier value
1731
+ * The actual tax identifier value
1881
1732
  */
1882
1733
  value: string;
1883
1734
  }
1884
1735
  }
1736
+ interface Budget {
1737
+ /**
1738
+ * Whether the budget is a soft limit
1739
+ */
1740
+ hasSoftLimit: boolean;
1741
+ /**
1742
+ * Maximum spending limit
1743
+ */
1744
+ limit: number;
1745
+ }
1885
1746
  /**
1886
1747
  * Charge item
1887
1748
  */
@@ -1899,20 +1760,197 @@ export declare namespace SubscriptionPreviewParams {
1899
1760
  */
1900
1761
  type: 'FEATURE' | 'CREDIT';
1901
1762
  }
1763
+ /**
1764
+ * Checkout page configuration for payment collection
1765
+ */
1766
+ interface CheckoutOptions {
1767
+ /**
1768
+ * URL to redirect to if checkout is canceled
1769
+ */
1770
+ cancelUrl: string;
1771
+ /**
1772
+ * URL to redirect to after successful checkout
1773
+ */
1774
+ successUrl: string;
1775
+ /**
1776
+ * Allow promotional codes during checkout
1777
+ */
1778
+ allowPromoCodes?: boolean;
1779
+ /**
1780
+ * Allow tax ID collection during checkout
1781
+ */
1782
+ allowTaxIdCollection?: boolean;
1783
+ /**
1784
+ * Collect billing address during checkout
1785
+ */
1786
+ collectBillingAddress?: boolean;
1787
+ /**
1788
+ * Collect phone number during checkout
1789
+ */
1790
+ collectPhoneNumber?: boolean;
1791
+ /**
1792
+ * Optional reference ID for the checkout session
1793
+ */
1794
+ referenceId?: string | null;
1795
+ }
1796
+ interface MinimumSpend {
1797
+ /**
1798
+ * Minimum spend amount
1799
+ */
1800
+ minimum?: MinimumSpend.Minimum | null;
1801
+ }
1802
+ namespace MinimumSpend {
1803
+ /**
1804
+ * Minimum spend amount
1805
+ */
1806
+ interface Minimum {
1807
+ /**
1808
+ * The price amount
1809
+ */
1810
+ amount?: number;
1811
+ /**
1812
+ * The billing country code of the price
1813
+ */
1814
+ billingCountryCode?: string | null;
1815
+ /**
1816
+ * The price currency
1817
+ */
1818
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1819
+ }
1820
+ }
1821
+ interface PriceOverride {
1822
+ /**
1823
+ * Addon identifier for the price override
1824
+ */
1825
+ addonId?: string | null;
1826
+ /**
1827
+ * Whether this is a base charge override
1828
+ */
1829
+ baseCharge?: boolean;
1830
+ /**
1831
+ * Block size for pricing
1832
+ */
1833
+ blockSize?: number;
1834
+ creditGrantCadence?: 'BEGINNING_OF_BILLING_PERIOD' | 'MONTHLY';
1835
+ creditRate?: PriceOverride.CreditRate;
1836
+ /**
1837
+ * Feature identifier for the price override
1838
+ */
1839
+ featureId?: string | null;
1840
+ /**
1841
+ * Override price amount
1842
+ */
1843
+ price?: PriceOverride.Price;
1844
+ /**
1845
+ * Pricing tiers configuration
1846
+ */
1847
+ tiers?: Array<PriceOverride.Tier>;
1848
+ }
1849
+ namespace PriceOverride {
1850
+ interface CreditRate {
1851
+ /**
1852
+ * The credit rate amount
1853
+ */
1854
+ amount: number;
1855
+ /**
1856
+ * The custom currency refId for the credit rate
1857
+ */
1858
+ currencyId: string;
1859
+ /**
1860
+ * A custom formula for calculating cost based on single event dimensions
1861
+ */
1862
+ costFormula?: string | null;
1863
+ }
1864
+ /**
1865
+ * Override price amount
1866
+ */
1867
+ interface Price {
1868
+ /**
1869
+ * The price amount
1870
+ */
1871
+ amount?: number;
1872
+ /**
1873
+ * The billing country code of the price
1874
+ */
1875
+ billingCountryCode?: string | null;
1876
+ /**
1877
+ * The price currency
1878
+ */
1879
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1880
+ }
1881
+ interface Tier {
1882
+ /**
1883
+ * The flat fee price of the price tier
1884
+ */
1885
+ flatPrice?: Tier.FlatPrice;
1886
+ /**
1887
+ * The unit price of the price tier
1888
+ */
1889
+ unitPrice?: Tier.UnitPrice;
1890
+ /**
1891
+ * The up to quantity of the price tier
1892
+ */
1893
+ upTo?: number;
1894
+ }
1895
+ namespace Tier {
1896
+ /**
1897
+ * The flat fee price of the price tier
1898
+ */
1899
+ interface FlatPrice {
1900
+ /**
1901
+ * The price amount
1902
+ */
1903
+ amount?: number;
1904
+ /**
1905
+ * The billing country code of the price
1906
+ */
1907
+ billingCountryCode?: string | null;
1908
+ /**
1909
+ * The price currency
1910
+ */
1911
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1912
+ }
1913
+ /**
1914
+ * The unit price of the price tier
1915
+ */
1916
+ interface UnitPrice {
1917
+ /**
1918
+ * The price amount
1919
+ */
1920
+ amount?: number;
1921
+ /**
1922
+ * The billing country code of the price
1923
+ */
1924
+ billingCountryCode?: string | null;
1925
+ /**
1926
+ * The price currency
1927
+ */
1928
+ currency?: 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf';
1929
+ }
1930
+ }
1931
+ }
1932
+ interface SubscriptionEntitlement {
1933
+ /**
1934
+ * Feature ID
1935
+ */
1936
+ featureId: string;
1937
+ usageLimit: number;
1938
+ isGranted?: boolean;
1939
+ }
1902
1940
  /**
1903
1941
  * Trial period override settings
1904
1942
  */
1905
1943
  interface TrialOverrideConfiguration {
1906
1944
  /**
1907
- * Whether to start as trial
1945
+ * Whether the subscription should start with a trial period
1908
1946
  */
1909
1947
  isTrial: boolean;
1910
1948
  /**
1911
- * Behavior when trial ends
1949
+ * Behavior when trial ends: CONVERT_TO_PAID or CANCEL_SUBSCRIPTION
1912
1950
  */
1913
1951
  trialEndBehavior?: 'CONVERT_TO_PAID' | 'CANCEL_SUBSCRIPTION';
1914
1952
  /**
1915
- * Trial end date
1953
+ * Custom trial end date
1916
1954
  */
1917
1955
  trialEndDate?: string;
1918
1956
  }
@@ -1924,7 +1962,7 @@ export interface SubscriptionTransferParams {
1924
1962
  destinationResourceId: string;
1925
1963
  }
1926
1964
  export declare namespace Subscriptions {
1927
- export { type SubscriptionCreateResponse as SubscriptionCreateResponse, type SubscriptionRetrieveResponse as SubscriptionRetrieveResponse, type SubscriptionListResponse as SubscriptionListResponse, type SubscriptionDelegateResponse as SubscriptionDelegateResponse, type SubscriptionMigrateResponse as SubscriptionMigrateResponse, type SubscriptionPreviewResponse as SubscriptionPreviewResponse, type SubscriptionTransferResponse as SubscriptionTransferResponse, type SubscriptionListResponsesMyCursorIDPage as SubscriptionListResponsesMyCursorIDPage, type SubscriptionCreateParams as SubscriptionCreateParams, type SubscriptionListParams as SubscriptionListParams, type SubscriptionDelegateParams as SubscriptionDelegateParams, type SubscriptionMigrateParams as SubscriptionMigrateParams, type SubscriptionPreviewParams as SubscriptionPreviewParams, type SubscriptionTransferParams as SubscriptionTransferParams, };
1928
- export { FutureUpdate as FutureUpdate, type FutureUpdateCancelPendingPaymentResponse as FutureUpdateCancelPendingPaymentResponse, type FutureUpdateCancelScheduleResponse as FutureUpdateCancelScheduleResponse, };
1965
+ export { type Subscription as Subscription, type SubscriptionListResponse as SubscriptionListResponse, type SubscriptionImportResponse as SubscriptionImportResponse, type SubscriptionPreviewResponse as SubscriptionPreviewResponse, type SubscriptionProvisionResponse as SubscriptionProvisionResponse, type SubscriptionListResponsesMyCursorIDPage as SubscriptionListResponsesMyCursorIDPage, type SubscriptionUpdateParams as SubscriptionUpdateParams, type SubscriptionListParams as SubscriptionListParams, type SubscriptionCancelParams as SubscriptionCancelParams, type SubscriptionDelegateParams as SubscriptionDelegateParams, type SubscriptionImportParams as SubscriptionImportParams, type SubscriptionMigrateParams as SubscriptionMigrateParams, type SubscriptionPreviewParams as SubscriptionPreviewParams, type SubscriptionProvisionParams as SubscriptionProvisionParams, type SubscriptionTransferParams as SubscriptionTransferParams, };
1966
+ export { FutureUpdate as FutureUpdate, type CancelSubscription as CancelSubscription };
1929
1967
  }
1930
1968
  //# sourceMappingURL=subscriptions.d.ts.map