chargebee 3.25.0 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +39 -0
  3. package/cjs/RequestWrapper.js +27 -0
  4. package/cjs/chargebee.cjs.js +3 -0
  5. package/cjs/chargebee.cjs.worker.js +2 -0
  6. package/cjs/chargebeeZodValidationError.js +18 -0
  7. package/cjs/createChargebee.js +5 -0
  8. package/cjs/environment.js +1 -1
  9. package/cjs/resources/api_endpoints.js +120 -1
  10. package/cjs/schema/addon.schema.js +269 -0
  11. package/cjs/schema/address.schema.js +35 -0
  12. package/cjs/schema/alert.schema.js +74 -0
  13. package/cjs/schema/alert_status.schema.js +31 -0
  14. package/cjs/schema/attached_item.schema.js +144 -0
  15. package/cjs/schema/business_entity.schema.js +46 -0
  16. package/cjs/schema/card.schema.js +165 -0
  17. package/cjs/schema/comment.schema.js +69 -0
  18. package/cjs/schema/coupon.schema.js +323 -0
  19. package/cjs/schema/coupon_code.schema.js +49 -0
  20. package/cjs/schema/coupon_set.schema.js +88 -0
  21. package/cjs/schema/credit_note.schema.js +502 -0
  22. package/cjs/schema/currency.schema.js +32 -0
  23. package/cjs/schema/customer.schema.js +1201 -0
  24. package/cjs/schema/customer_entitlement.schema.js +14 -0
  25. package/cjs/schema/differential_price.schema.js +106 -0
  26. package/cjs/schema/entitlement.schema.js +54 -0
  27. package/cjs/schema/entitlement_override.schema.js +35 -0
  28. package/cjs/schema/estimate.schema.js +1535 -0
  29. package/cjs/schema/event.schema.js +1060 -0
  30. package/cjs/schema/export.schema.js +3385 -0
  31. package/cjs/schema/feature.schema.js +78 -0
  32. package/cjs/schema/gift.schema.js +293 -0
  33. package/cjs/schema/grant_block.schema.js +47 -0
  34. package/cjs/schema/hosted_page.schema.js +1777 -0
  35. package/cjs/schema/in_app_subscription.schema.js +68 -0
  36. package/cjs/schema/index.js +88 -0
  37. package/cjs/schema/invoice.schema.js +1685 -0
  38. package/cjs/schema/item.schema.js +195 -0
  39. package/cjs/schema/item_entitlement.schema.js +45 -0
  40. package/cjs/schema/item_family.schema.js +57 -0
  41. package/cjs/schema/item_price.schema.js +335 -0
  42. package/cjs/schema/ledger_account_balance.schema.js +21 -0
  43. package/cjs/schema/ledger_operation.schema.js +104 -0
  44. package/cjs/schema/meter.schema.js +13 -0
  45. package/cjs/schema/metered_feature.schema.js +20 -0
  46. package/cjs/schema/non_subscription.schema.js +28 -0
  47. package/cjs/schema/offer_event.schema.js +13 -0
  48. package/cjs/schema/offer_fulfillment.schema.js +20 -0
  49. package/cjs/schema/omnichannel_one_time_order.schema.js +26 -0
  50. package/cjs/schema/omnichannel_subscription.schema.js +122 -0
  51. package/cjs/schema/omnichannel_subscription_item.schema.js +13 -0
  52. package/cjs/schema/order.schema.js +441 -0
  53. package/cjs/schema/payment_intent.schema.js +127 -0
  54. package/cjs/schema/payment_schedule_scheme.schema.js +20 -0
  55. package/cjs/schema/payment_source.schema.js +630 -0
  56. package/cjs/schema/payment_voucher.schema.js +57 -0
  57. package/cjs/schema/personalized_offer.schema.js +28 -0
  58. package/cjs/schema/plan.schema.js +363 -0
  59. package/cjs/schema/portal_session.schema.js +22 -0
  60. package/cjs/schema/price_variant.schema.js +93 -0
  61. package/cjs/schema/pricing_page_session.schema.js +135 -0
  62. package/cjs/schema/promotional_credit.schema.js +78 -0
  63. package/cjs/schema/promotional_grant.schema.js +17 -0
  64. package/cjs/schema/purchase.schema.js +277 -0
  65. package/cjs/schema/quote.schema.js +1667 -0
  66. package/cjs/schema/ramp.schema.js +245 -0
  67. package/cjs/schema/recorded_purchase.schema.js +32 -0
  68. package/cjs/schema/resource_migration.schema.js +14 -0
  69. package/cjs/schema/site_migration_detail.schema.js +81 -0
  70. package/cjs/schema/subscription.schema.js +3344 -0
  71. package/cjs/schema/subscription_entitlement.schema.js +25 -0
  72. package/cjs/schema/time_machine.schema.js +17 -0
  73. package/cjs/schema/transaction.schema.js +744 -0
  74. package/cjs/schema/unbilled_charge.schema.js +139 -0
  75. package/cjs/schema/usage.schema.js +93 -0
  76. package/cjs/schema/usage_charge.schema.js +17 -0
  77. package/cjs/schema/usage_event.schema.js +28 -0
  78. package/cjs/schema/usage_file.schema.js +13 -0
  79. package/cjs/schema/usage_summary.schema.js +17 -0
  80. package/cjs/schema/virtual_bank_account.schema.js +71 -0
  81. package/cjs/schema/webhook_endpoint.schema.js +508 -0
  82. package/cjs/validationLoader.js +59 -0
  83. package/esm/RequestWrapper.js +27 -0
  84. package/esm/chargebee.esm.js +2 -0
  85. package/esm/chargebee.esm.worker.js +1 -0
  86. package/esm/chargebeeZodValidationError.js +14 -0
  87. package/esm/createChargebee.js +5 -0
  88. package/esm/environment.js +1 -1
  89. package/esm/resources/api_endpoints.js +120 -1
  90. package/esm/schema/addon.schema.js +266 -0
  91. package/esm/schema/address.schema.js +32 -0
  92. package/esm/schema/alert.schema.js +71 -0
  93. package/esm/schema/alert_status.schema.js +28 -0
  94. package/esm/schema/attached_item.schema.js +141 -0
  95. package/esm/schema/business_entity.schema.js +43 -0
  96. package/esm/schema/card.schema.js +162 -0
  97. package/esm/schema/comment.schema.js +66 -0
  98. package/esm/schema/coupon.schema.js +320 -0
  99. package/esm/schema/coupon_code.schema.js +46 -0
  100. package/esm/schema/coupon_set.schema.js +85 -0
  101. package/esm/schema/credit_note.schema.js +499 -0
  102. package/esm/schema/currency.schema.js +29 -0
  103. package/esm/schema/customer.schema.js +1198 -0
  104. package/esm/schema/customer_entitlement.schema.js +11 -0
  105. package/esm/schema/differential_price.schema.js +103 -0
  106. package/esm/schema/entitlement.schema.js +51 -0
  107. package/esm/schema/entitlement_override.schema.js +32 -0
  108. package/esm/schema/estimate.schema.js +1532 -0
  109. package/esm/schema/event.schema.js +1057 -0
  110. package/esm/schema/export.schema.js +3382 -0
  111. package/esm/schema/feature.schema.js +75 -0
  112. package/esm/schema/gift.schema.js +290 -0
  113. package/esm/schema/grant_block.schema.js +44 -0
  114. package/esm/schema/hosted_page.schema.js +1774 -0
  115. package/esm/schema/in_app_subscription.schema.js +65 -0
  116. package/esm/schema/index.js +72 -0
  117. package/esm/schema/invoice.schema.js +1682 -0
  118. package/esm/schema/item.schema.js +192 -0
  119. package/esm/schema/item_entitlement.schema.js +42 -0
  120. package/esm/schema/item_family.schema.js +54 -0
  121. package/esm/schema/item_price.schema.js +332 -0
  122. package/esm/schema/ledger_account_balance.schema.js +18 -0
  123. package/esm/schema/ledger_operation.schema.js +101 -0
  124. package/esm/schema/meter.schema.js +10 -0
  125. package/esm/schema/metered_feature.schema.js +17 -0
  126. package/esm/schema/non_subscription.schema.js +25 -0
  127. package/esm/schema/offer_event.schema.js +10 -0
  128. package/esm/schema/offer_fulfillment.schema.js +17 -0
  129. package/esm/schema/omnichannel_one_time_order.schema.js +23 -0
  130. package/esm/schema/omnichannel_subscription.schema.js +119 -0
  131. package/esm/schema/omnichannel_subscription_item.schema.js +10 -0
  132. package/esm/schema/order.schema.js +438 -0
  133. package/esm/schema/payment_intent.schema.js +124 -0
  134. package/esm/schema/payment_schedule_scheme.schema.js +17 -0
  135. package/esm/schema/payment_source.schema.js +627 -0
  136. package/esm/schema/payment_voucher.schema.js +54 -0
  137. package/esm/schema/personalized_offer.schema.js +25 -0
  138. package/esm/schema/plan.schema.js +360 -0
  139. package/esm/schema/portal_session.schema.js +19 -0
  140. package/esm/schema/price_variant.schema.js +90 -0
  141. package/esm/schema/pricing_page_session.schema.js +132 -0
  142. package/esm/schema/promotional_credit.schema.js +75 -0
  143. package/esm/schema/promotional_grant.schema.js +14 -0
  144. package/esm/schema/purchase.schema.js +274 -0
  145. package/esm/schema/quote.schema.js +1664 -0
  146. package/esm/schema/ramp.schema.js +242 -0
  147. package/esm/schema/recorded_purchase.schema.js +29 -0
  148. package/esm/schema/resource_migration.schema.js +11 -0
  149. package/esm/schema/site_migration_detail.schema.js +78 -0
  150. package/esm/schema/subscription.schema.js +3341 -0
  151. package/esm/schema/subscription_entitlement.schema.js +22 -0
  152. package/esm/schema/time_machine.schema.js +14 -0
  153. package/esm/schema/transaction.schema.js +741 -0
  154. package/esm/schema/unbilled_charge.schema.js +136 -0
  155. package/esm/schema/usage.schema.js +90 -0
  156. package/esm/schema/usage_charge.schema.js +14 -0
  157. package/esm/schema/usage_event.schema.js +25 -0
  158. package/esm/schema/usage_file.schema.js +10 -0
  159. package/esm/schema/usage_summary.schema.js +14 -0
  160. package/esm/schema/virtual_bank_account.schema.js +68 -0
  161. package/esm/schema/webhook_endpoint.schema.js +505 -0
  162. package/esm/validationLoader.js +56 -0
  163. package/package.json +4 -1
  164. package/types/core.d.ts +3 -0
  165. package/types/index.d.ts +24 -0
  166. package/types/resources/Content.d.ts +4 -0
  167. package/types/resources/CreditNote.d.ts +1 -0
  168. package/types/resources/GrantBlock.d.ts +59 -0
  169. package/types/resources/HostedPage.d.ts +5 -1
  170. package/types/resources/LedgerAccountBalance.d.ts +50 -0
  171. package/types/resources/LedgerOperation.d.ts +141 -0
  172. package/types/resources/OmnichannelSubscription.d.ts +2 -0
  173. package/types/resources/PromotionalGrant.d.ts +37 -0
@@ -0,0 +1,505 @@
1
+ // Generated Zod schemas: WebhookEndpoint
2
+ // Actions: create, update, list
3
+ // Do not edit manually – regenerate via sdk-generator
4
+ import { z } from 'zod';
5
+ //WebhookEndpoint.create
6
+ const CreateWebhookEndpointBodySchema = z.looseObject({
7
+ name: z.string().max(50),
8
+ api_version: z.enum(['v1', 'v2']).optional(),
9
+ url: z.string().max(512),
10
+ primary_url: z.boolean().default(false).optional(),
11
+ disabled: z.boolean().default(false).optional(),
12
+ basic_auth_password: z.string().max(250).optional(),
13
+ basic_auth_username: z.string().max(250).optional(),
14
+ send_card_resource: z.boolean().default(false).optional(),
15
+ chargebee_response_schema_type: z
16
+ .enum(['plans_addons', 'items', 'compat'])
17
+ .optional(),
18
+ enabled_events: z
19
+ .array(z
20
+ .enum([
21
+ 'coupon_created',
22
+ 'coupon_updated',
23
+ 'coupon_deleted',
24
+ 'coupon_set_created',
25
+ 'coupon_set_updated',
26
+ 'coupon_set_deleted',
27
+ 'coupon_codes_added',
28
+ 'coupon_codes_deleted',
29
+ 'coupon_codes_updated',
30
+ 'customer_created',
31
+ 'customer_changed',
32
+ 'customer_deleted',
33
+ 'customer_moved_out',
34
+ 'customer_moved_in',
35
+ 'promotional_credits_added',
36
+ 'promotional_credits_deducted',
37
+ 'subscription_created',
38
+ 'subscription_created_with_backdating',
39
+ 'subscription_started',
40
+ 'subscription_trial_end_reminder',
41
+ 'subscription_activated',
42
+ 'subscription_activated_with_backdating',
43
+ 'subscription_changed',
44
+ 'subscription_trial_extended',
45
+ 'mrr_updated',
46
+ 'subscription_changed_with_backdating',
47
+ 'subscription_cancellation_scheduled',
48
+ 'subscription_cancellation_reminder',
49
+ 'subscription_cancelled',
50
+ 'subscription_canceled_with_backdating',
51
+ 'subscription_reactivated',
52
+ 'subscription_reactivated_with_backdating',
53
+ 'subscription_renewed',
54
+ 'subscription_items_renewed',
55
+ 'subscription_scheduled_cancellation_removed',
56
+ 'subscription_changes_scheduled',
57
+ 'subscription_scheduled_changes_removed',
58
+ 'subscription_shipping_address_updated',
59
+ 'subscription_deleted',
60
+ 'subscription_paused',
61
+ 'subscription_pause_scheduled',
62
+ 'subscription_scheduled_pause_removed',
63
+ 'subscription_resumed',
64
+ 'subscription_resumption_scheduled',
65
+ 'subscription_scheduled_resumption_removed',
66
+ 'subscription_advance_invoice_schedule_added',
67
+ 'subscription_advance_invoice_schedule_updated',
68
+ 'subscription_advance_invoice_schedule_removed',
69
+ 'pending_invoice_created',
70
+ 'pending_invoice_updated',
71
+ 'invoice_generated',
72
+ 'invoice_generated_with_backdating',
73
+ 'invoice_updated',
74
+ 'invoice_deleted',
75
+ 'credit_note_created',
76
+ 'credit_note_created_with_backdating',
77
+ 'credit_note_updated',
78
+ 'credit_note_deleted',
79
+ 'payment_schedules_created',
80
+ 'payment_schedules_updated',
81
+ 'payment_schedule_scheme_created',
82
+ 'payment_schedule_scheme_deleted',
83
+ 'subscription_renewal_reminder',
84
+ 'add_usages_reminder',
85
+ 'payment_due_reminder',
86
+ 'transaction_created',
87
+ 'transaction_updated',
88
+ 'transaction_deleted',
89
+ 'payment_succeeded',
90
+ 'payment_failed',
91
+ 'dunning_updated',
92
+ 'payment_refunded',
93
+ 'payment_initiated',
94
+ 'refund_initiated',
95
+ 'netd_payment_due_reminder',
96
+ 'authorization_succeeded',
97
+ 'authorization_voided',
98
+ 'card_added',
99
+ 'card_updated',
100
+ 'card_expiry_reminder',
101
+ 'card_expired',
102
+ 'card_deleted',
103
+ 'payment_source_added',
104
+ 'payment_source_updated',
105
+ 'payment_source_deleted',
106
+ 'payment_source_expiring',
107
+ 'payment_source_expired',
108
+ 'payment_source_locally_deleted',
109
+ 'virtual_bank_account_added',
110
+ 'virtual_bank_account_updated',
111
+ 'virtual_bank_account_deleted',
112
+ 'token_created',
113
+ 'token_consumed',
114
+ 'token_expired',
115
+ 'unbilled_charges_created',
116
+ 'unbilled_charges_voided',
117
+ 'unbilled_charges_deleted',
118
+ 'unbilled_charges_invoiced',
119
+ 'order_created',
120
+ 'order_updated',
121
+ 'order_cancelled',
122
+ 'order_delivered',
123
+ 'order_returned',
124
+ 'order_ready_to_process',
125
+ 'order_ready_to_ship',
126
+ 'order_deleted',
127
+ 'order_resent',
128
+ 'quote_created',
129
+ 'quote_updated',
130
+ 'quote_deleted',
131
+ 'tax_withheld_recorded',
132
+ 'tax_withheld_deleted',
133
+ 'tax_withheld_refunded',
134
+ 'gift_scheduled',
135
+ 'gift_unclaimed',
136
+ 'gift_claimed',
137
+ 'gift_expired',
138
+ 'gift_cancelled',
139
+ 'gift_updated',
140
+ 'hierarchy_created',
141
+ 'hierarchy_deleted',
142
+ 'payment_intent_created',
143
+ 'payment_intent_updated',
144
+ 'contract_term_created',
145
+ 'contract_term_renewed',
146
+ 'contract_term_terminated',
147
+ 'contract_term_completed',
148
+ 'contract_term_cancelled',
149
+ 'item_family_created',
150
+ 'item_family_updated',
151
+ 'item_family_deleted',
152
+ 'item_created',
153
+ 'item_updated',
154
+ 'item_deleted',
155
+ 'item_price_created',
156
+ 'item_price_updated',
157
+ 'item_price_deleted',
158
+ 'attached_item_created',
159
+ 'attached_item_updated',
160
+ 'attached_item_deleted',
161
+ 'differential_price_created',
162
+ 'differential_price_updated',
163
+ 'differential_price_deleted',
164
+ 'feature_created',
165
+ 'feature_updated',
166
+ 'feature_deleted',
167
+ 'feature_activated',
168
+ 'feature_reactivated',
169
+ 'feature_archived',
170
+ 'item_entitlements_updated',
171
+ 'entitlement_overrides_updated',
172
+ 'entitlement_overrides_removed',
173
+ 'item_entitlements_removed',
174
+ 'entitlement_overrides_auto_removed',
175
+ 'subscription_entitlements_created',
176
+ 'subscription_entitlements_updated',
177
+ 'business_entity_created',
178
+ 'business_entity_updated',
179
+ 'business_entity_deleted',
180
+ 'customer_business_entity_changed',
181
+ 'subscription_business_entity_changed',
182
+ 'purchase_created',
183
+ 'voucher_created',
184
+ 'voucher_expired',
185
+ 'voucher_create_failed',
186
+ 'product_created',
187
+ 'product_updated',
188
+ 'product_deleted',
189
+ 'variant_created',
190
+ 'variant_updated',
191
+ 'variant_deleted',
192
+ 'item_price_entitlements_updated',
193
+ 'item_price_entitlements_removed',
194
+ 'subscription_ramp_created',
195
+ 'subscription_ramp_deleted',
196
+ 'subscription_ramp_applied',
197
+ 'subscription_ramp_drafted',
198
+ 'subscription_ramp_updated',
199
+ 'price_variant_created',
200
+ 'price_variant_updated',
201
+ 'price_variant_deleted',
202
+ 'customer_entitlements_updated',
203
+ 'subscription_moved_in',
204
+ 'subscription_moved_out',
205
+ 'subscription_movement_failed',
206
+ 'omnichannel_subscription_created',
207
+ 'omnichannel_subscription_item_renewed',
208
+ 'omnichannel_subscription_item_downgrade_scheduled',
209
+ 'omnichannel_subscription_item_scheduled_downgrade_removed',
210
+ 'omnichannel_subscription_item_downgraded',
211
+ 'omnichannel_subscription_item_expired',
212
+ 'omnichannel_subscription_item_cancellation_scheduled',
213
+ 'omnichannel_subscription_item_scheduled_cancellation_removed',
214
+ 'omnichannel_subscription_item_resubscribed',
215
+ 'omnichannel_subscription_item_upgraded',
216
+ 'omnichannel_subscription_item_cancelled',
217
+ 'omnichannel_subscription_imported',
218
+ 'omnichannel_subscription_item_grace_period_started',
219
+ 'omnichannel_subscription_item_grace_period_expired',
220
+ 'omnichannel_subscription_item_dunning_started',
221
+ 'omnichannel_subscription_item_dunning_expired',
222
+ 'rule_created',
223
+ 'rule_updated',
224
+ 'rule_deleted',
225
+ 'record_purchase_failed',
226
+ 'omnichannel_subscription_item_change_scheduled',
227
+ 'omnichannel_subscription_item_scheduled_change_removed',
228
+ 'omnichannel_subscription_item_reactivated',
229
+ 'sales_order_created',
230
+ 'sales_order_updated',
231
+ 'omnichannel_subscription_item_changed',
232
+ 'omnichannel_subscription_item_paused',
233
+ 'omnichannel_subscription_item_resumed',
234
+ 'omnichannel_one_time_order_created',
235
+ 'omnichannel_one_time_order_item_cancelled',
236
+ 'usage_file_ingested',
237
+ 'omnichannel_subscription_item_pause_scheduled',
238
+ 'omnichannel_subscription_moved_in',
239
+ 'omnichannel_transaction_created',
240
+ 'alert_status_changed',
241
+ 'omnichannel_subscription_item_updated',
242
+ 'omnichannel_subscription_item_recovered',
243
+ 'plan_created',
244
+ 'plan_updated',
245
+ 'plan_deleted',
246
+ 'addon_created',
247
+ 'addon_updated',
248
+ 'addon_deleted',
249
+ ])
250
+ .optional())
251
+ .optional(),
252
+ });
253
+ export { CreateWebhookEndpointBodySchema };
254
+ //WebhookEndpoint.update
255
+ const UpdateWebhookEndpointBodySchema = z.looseObject({
256
+ name: z.string().max(50).optional(),
257
+ api_version: z.enum(['v1', 'v2']).optional(),
258
+ url: z.string().max(512).optional(),
259
+ primary_url: z.boolean().default(false).optional(),
260
+ send_card_resource: z.boolean().default(false).optional(),
261
+ basic_auth_password: z.string().max(250).optional(),
262
+ basic_auth_username: z.string().max(250).optional(),
263
+ disabled: z.boolean().default(false).optional(),
264
+ enabled_events: z
265
+ .array(z
266
+ .enum([
267
+ 'coupon_created',
268
+ 'coupon_updated',
269
+ 'coupon_deleted',
270
+ 'coupon_set_created',
271
+ 'coupon_set_updated',
272
+ 'coupon_set_deleted',
273
+ 'coupon_codes_added',
274
+ 'coupon_codes_deleted',
275
+ 'coupon_codes_updated',
276
+ 'customer_created',
277
+ 'customer_changed',
278
+ 'customer_deleted',
279
+ 'customer_moved_out',
280
+ 'customer_moved_in',
281
+ 'promotional_credits_added',
282
+ 'promotional_credits_deducted',
283
+ 'subscription_created',
284
+ 'subscription_created_with_backdating',
285
+ 'subscription_started',
286
+ 'subscription_trial_end_reminder',
287
+ 'subscription_activated',
288
+ 'subscription_activated_with_backdating',
289
+ 'subscription_changed',
290
+ 'subscription_trial_extended',
291
+ 'mrr_updated',
292
+ 'subscription_changed_with_backdating',
293
+ 'subscription_cancellation_scheduled',
294
+ 'subscription_cancellation_reminder',
295
+ 'subscription_cancelled',
296
+ 'subscription_canceled_with_backdating',
297
+ 'subscription_reactivated',
298
+ 'subscription_reactivated_with_backdating',
299
+ 'subscription_renewed',
300
+ 'subscription_items_renewed',
301
+ 'subscription_scheduled_cancellation_removed',
302
+ 'subscription_changes_scheduled',
303
+ 'subscription_scheduled_changes_removed',
304
+ 'subscription_shipping_address_updated',
305
+ 'subscription_deleted',
306
+ 'subscription_paused',
307
+ 'subscription_pause_scheduled',
308
+ 'subscription_scheduled_pause_removed',
309
+ 'subscription_resumed',
310
+ 'subscription_resumption_scheduled',
311
+ 'subscription_scheduled_resumption_removed',
312
+ 'subscription_advance_invoice_schedule_added',
313
+ 'subscription_advance_invoice_schedule_updated',
314
+ 'subscription_advance_invoice_schedule_removed',
315
+ 'pending_invoice_created',
316
+ 'pending_invoice_updated',
317
+ 'invoice_generated',
318
+ 'invoice_generated_with_backdating',
319
+ 'invoice_updated',
320
+ 'invoice_deleted',
321
+ 'credit_note_created',
322
+ 'credit_note_created_with_backdating',
323
+ 'credit_note_updated',
324
+ 'credit_note_deleted',
325
+ 'payment_schedules_created',
326
+ 'payment_schedules_updated',
327
+ 'payment_schedule_scheme_created',
328
+ 'payment_schedule_scheme_deleted',
329
+ 'subscription_renewal_reminder',
330
+ 'add_usages_reminder',
331
+ 'payment_due_reminder',
332
+ 'transaction_created',
333
+ 'transaction_updated',
334
+ 'transaction_deleted',
335
+ 'payment_succeeded',
336
+ 'payment_failed',
337
+ 'dunning_updated',
338
+ 'payment_refunded',
339
+ 'payment_initiated',
340
+ 'refund_initiated',
341
+ 'netd_payment_due_reminder',
342
+ 'authorization_succeeded',
343
+ 'authorization_voided',
344
+ 'card_added',
345
+ 'card_updated',
346
+ 'card_expiry_reminder',
347
+ 'card_expired',
348
+ 'card_deleted',
349
+ 'payment_source_added',
350
+ 'payment_source_updated',
351
+ 'payment_source_deleted',
352
+ 'payment_source_expiring',
353
+ 'payment_source_expired',
354
+ 'payment_source_locally_deleted',
355
+ 'virtual_bank_account_added',
356
+ 'virtual_bank_account_updated',
357
+ 'virtual_bank_account_deleted',
358
+ 'token_created',
359
+ 'token_consumed',
360
+ 'token_expired',
361
+ 'unbilled_charges_created',
362
+ 'unbilled_charges_voided',
363
+ 'unbilled_charges_deleted',
364
+ 'unbilled_charges_invoiced',
365
+ 'order_created',
366
+ 'order_updated',
367
+ 'order_cancelled',
368
+ 'order_delivered',
369
+ 'order_returned',
370
+ 'order_ready_to_process',
371
+ 'order_ready_to_ship',
372
+ 'order_deleted',
373
+ 'order_resent',
374
+ 'quote_created',
375
+ 'quote_updated',
376
+ 'quote_deleted',
377
+ 'tax_withheld_recorded',
378
+ 'tax_withheld_deleted',
379
+ 'tax_withheld_refunded',
380
+ 'gift_scheduled',
381
+ 'gift_unclaimed',
382
+ 'gift_claimed',
383
+ 'gift_expired',
384
+ 'gift_cancelled',
385
+ 'gift_updated',
386
+ 'hierarchy_created',
387
+ 'hierarchy_deleted',
388
+ 'payment_intent_created',
389
+ 'payment_intent_updated',
390
+ 'contract_term_created',
391
+ 'contract_term_renewed',
392
+ 'contract_term_terminated',
393
+ 'contract_term_completed',
394
+ 'contract_term_cancelled',
395
+ 'item_family_created',
396
+ 'item_family_updated',
397
+ 'item_family_deleted',
398
+ 'item_created',
399
+ 'item_updated',
400
+ 'item_deleted',
401
+ 'item_price_created',
402
+ 'item_price_updated',
403
+ 'item_price_deleted',
404
+ 'attached_item_created',
405
+ 'attached_item_updated',
406
+ 'attached_item_deleted',
407
+ 'differential_price_created',
408
+ 'differential_price_updated',
409
+ 'differential_price_deleted',
410
+ 'feature_created',
411
+ 'feature_updated',
412
+ 'feature_deleted',
413
+ 'feature_activated',
414
+ 'feature_reactivated',
415
+ 'feature_archived',
416
+ 'item_entitlements_updated',
417
+ 'entitlement_overrides_updated',
418
+ 'entitlement_overrides_removed',
419
+ 'item_entitlements_removed',
420
+ 'entitlement_overrides_auto_removed',
421
+ 'subscription_entitlements_created',
422
+ 'subscription_entitlements_updated',
423
+ 'business_entity_created',
424
+ 'business_entity_updated',
425
+ 'business_entity_deleted',
426
+ 'customer_business_entity_changed',
427
+ 'subscription_business_entity_changed',
428
+ 'purchase_created',
429
+ 'voucher_created',
430
+ 'voucher_expired',
431
+ 'voucher_create_failed',
432
+ 'product_created',
433
+ 'product_updated',
434
+ 'product_deleted',
435
+ 'variant_created',
436
+ 'variant_updated',
437
+ 'variant_deleted',
438
+ 'item_price_entitlements_updated',
439
+ 'item_price_entitlements_removed',
440
+ 'subscription_ramp_created',
441
+ 'subscription_ramp_deleted',
442
+ 'subscription_ramp_applied',
443
+ 'subscription_ramp_drafted',
444
+ 'subscription_ramp_updated',
445
+ 'price_variant_created',
446
+ 'price_variant_updated',
447
+ 'price_variant_deleted',
448
+ 'customer_entitlements_updated',
449
+ 'subscription_moved_in',
450
+ 'subscription_moved_out',
451
+ 'subscription_movement_failed',
452
+ 'omnichannel_subscription_created',
453
+ 'omnichannel_subscription_item_renewed',
454
+ 'omnichannel_subscription_item_downgrade_scheduled',
455
+ 'omnichannel_subscription_item_scheduled_downgrade_removed',
456
+ 'omnichannel_subscription_item_downgraded',
457
+ 'omnichannel_subscription_item_expired',
458
+ 'omnichannel_subscription_item_cancellation_scheduled',
459
+ 'omnichannel_subscription_item_scheduled_cancellation_removed',
460
+ 'omnichannel_subscription_item_resubscribed',
461
+ 'omnichannel_subscription_item_upgraded',
462
+ 'omnichannel_subscription_item_cancelled',
463
+ 'omnichannel_subscription_imported',
464
+ 'omnichannel_subscription_item_grace_period_started',
465
+ 'omnichannel_subscription_item_grace_period_expired',
466
+ 'omnichannel_subscription_item_dunning_started',
467
+ 'omnichannel_subscription_item_dunning_expired',
468
+ 'rule_created',
469
+ 'rule_updated',
470
+ 'rule_deleted',
471
+ 'record_purchase_failed',
472
+ 'omnichannel_subscription_item_change_scheduled',
473
+ 'omnichannel_subscription_item_scheduled_change_removed',
474
+ 'omnichannel_subscription_item_reactivated',
475
+ 'sales_order_created',
476
+ 'sales_order_updated',
477
+ 'omnichannel_subscription_item_changed',
478
+ 'omnichannel_subscription_item_paused',
479
+ 'omnichannel_subscription_item_resumed',
480
+ 'omnichannel_one_time_order_created',
481
+ 'omnichannel_one_time_order_item_cancelled',
482
+ 'usage_file_ingested',
483
+ 'omnichannel_subscription_item_pause_scheduled',
484
+ 'omnichannel_subscription_moved_in',
485
+ 'omnichannel_transaction_created',
486
+ 'alert_status_changed',
487
+ 'omnichannel_subscription_item_updated',
488
+ 'omnichannel_subscription_item_recovered',
489
+ 'plan_created',
490
+ 'plan_updated',
491
+ 'plan_deleted',
492
+ 'addon_created',
493
+ 'addon_updated',
494
+ 'addon_deleted',
495
+ ])
496
+ .optional())
497
+ .optional(),
498
+ });
499
+ export { UpdateWebhookEndpointBodySchema };
500
+ //WebhookEndpoint.list
501
+ const ListWebhookEndpointBodySchema = z.looseObject({
502
+ limit: z.number().int().min(1).max(100).optional(),
503
+ offset: z.string().max(1000).optional(),
504
+ });
505
+ export { ListWebhookEndpointBodySchema };
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Lazy schema loader for opt-in Zod validation.
3
+ *
4
+ * Schemas are loaded on first use. Node.js automatically caches imported modules,
5
+ * so repeated imports of the same schema file are efficient.
6
+ *
7
+ * Each resource module lives at {@code schema/<resource_snake>.schema.ts}
8
+ * and exports one body schema per action.
9
+ *
10
+ * The body schema const name follows {@code ZodNamingStrategy.bodySchemaName} in sdk-generator:
11
+ * {@code {PascalAction}{PascalResource}BodySchema}
12
+ *
13
+ * Uses native dynamic import() - TypeScript transpiles appropriately for ESM/CJS targets.
14
+ */
15
+ function toCamel(s) {
16
+ return s.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
17
+ }
18
+ function toPascal(s) {
19
+ const camel = toCamel(s);
20
+ return camel.charAt(0).toUpperCase() + camel.slice(1);
21
+ }
22
+ /** Matches ZodNamingStrategy.bodySchemaName() in sdk-generator. */
23
+ function schemaConstName(resourceKey, actionName) {
24
+ return toPascal(actionName) + toPascal(resourceKey) + 'BodySchema';
25
+ }
26
+ /** camelCase resource key → snake_case module basename (e.g. virtualBankAccount → virtual_bank_account). */
27
+ function resourceSchemaBasename(resourceKey) {
28
+ return resourceKey
29
+ .replace(/([A-Z])/g, '_$1')
30
+ .toLowerCase()
31
+ .replace(/^_/, '');
32
+ }
33
+ /**
34
+ * Load the Zod schema for a given resource + action.
35
+ * Returns null if no schema file exists for this combination.
36
+ *
37
+ * Node.js automatically caches the imported modules, so repeated calls
38
+ * for the same resource will reuse the cached module.
39
+ *
40
+ * TypeScript compiler handles module system differences:
41
+ * - ESM build: keeps await import() as-is
42
+ * - CJS build: transpiles to require() or Promise-based equivalent
43
+ */
44
+ export async function getSchema(resourceKey, actionName) {
45
+ var _a;
46
+ const base = resourceSchemaBasename(resourceKey);
47
+ const constName = schemaConstName(resourceKey, actionName);
48
+ try {
49
+ const mod = await import(`./schema/${base}.schema.js`);
50
+ const schema = (_a = mod[constName]) !== null && _a !== void 0 ? _a : null;
51
+ return schema;
52
+ }
53
+ catch (_b) {
54
+ return null;
55
+ }
56
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chargebee",
3
- "version": "3.25.0",
3
+ "version": "3.27.0",
4
4
  "description": "A library for integrating with Chargebee.",
5
5
  "scripts": {
6
6
  "prepack": "npm install && npm run build",
@@ -75,5 +75,8 @@
75
75
  "semi": true,
76
76
  "singleQuote": true,
77
77
  "parser": "typescript"
78
+ },
79
+ "dependencies": {
80
+ "zod": "^4.3.6"
78
81
  }
79
82
  }
package/types/core.d.ts CHANGED
@@ -5,6 +5,8 @@ declare module 'chargebee' {
5
5
  timeout?: number;
6
6
  timemachineWaitInMillis?: number;
7
7
  exportWaitInMillis?: number;
8
+ /** When true, request parameters are validated against Zod schemas before each HTTP call (where a schema exists). */
9
+ enableValidation?: boolean;
8
10
  }
9
11
  export type ChargebeeResponse<T> = T & {
10
12
  headers: { [key: string]: string };
@@ -626,6 +628,7 @@ declare module 'chargebee' {
626
628
  | 'js_api'
627
629
  | 'migration'
628
630
  | 'external_service';
631
+ type StatusEnum = 'available' | 'exhausted' | 'scheduled' | 'in_grace_period';
629
632
  type TaxExemptReasonEnum =
630
633
  | 'tax_not_configured'
631
634
  | 'region_non_taxable'
package/types/index.d.ts CHANGED
@@ -36,6 +36,7 @@
36
36
  ///<reference path='./resources/FilterCondition.d.ts' />
37
37
  ///<reference path='./resources/GatewayErrorDetail.d.ts' />
38
38
  ///<reference path='./resources/Gift.d.ts' />
39
+ ///<reference path='./resources/GrantBlock.d.ts' />
39
40
  ///<reference path='./resources/Hierarchy.d.ts' />
40
41
  ///<reference path='./resources/HostedPage.d.ts' />
41
42
  ///<reference path='./resources/ImpactedCustomer.d.ts' />
@@ -49,6 +50,8 @@
49
50
  ///<reference path='./resources/ItemEntitlement.d.ts' />
50
51
  ///<reference path='./resources/ItemFamily.d.ts' />
51
52
  ///<reference path='./resources/ItemPrice.d.ts' />
53
+ ///<reference path='./resources/LedgerAccountBalance.d.ts' />
54
+ ///<reference path='./resources/LedgerOperation.d.ts' />
52
55
  ///<reference path='./resources/Metadata.d.ts' />
53
56
  ///<reference path='./resources/NonSubscription.d.ts' />
54
57
  ///<reference path='./resources/OfferEvent.d.ts' />
@@ -74,6 +77,7 @@
74
77
  ///<reference path='./resources/PriceVariant.d.ts' />
75
78
  ///<reference path='./resources/PricingPageSession.d.ts' />
76
79
  ///<reference path='./resources/PromotionalCredit.d.ts' />
80
+ ///<reference path='./resources/PromotionalGrant.d.ts' />
77
81
  ///<reference path='./resources/Purchase.d.ts' />
78
82
  ///<reference path='./resources/Quote.d.ts' />
79
83
  ///<reference path='./resources/QuoteLineGroup.d.ts' />
@@ -164,6 +168,11 @@ declare module 'chargebee' {
164
168
  * @httpClient optional http client implementation, default http client will be used if not provided
165
169
  */
166
170
  httpClient?: HttpClientInterface;
171
+
172
+ /**
173
+ * @enableValidation When true, every request's parameters are validated against each endpoint's generated Zod schema before the HTTP request is sent. Violations throw `ChargebeeZodValidationError` with structured Zod issues. Calls with no params argument are validated as `{}`. Required resource ids in the URL path are still checked separately.
174
+ */
175
+ enableValidation?: boolean;
167
176
  };
168
177
 
169
178
  export interface HttpClientInterface {
@@ -209,6 +218,7 @@ declare module 'chargebee' {
209
218
  export: Export.ExportResource;
210
219
  feature: Feature.FeatureResource;
211
220
  gift: Gift.GiftResource;
221
+ grantBlock: GrantBlock.GrantBlockResource;
212
222
  hostedPage: HostedPage.HostedPageResource;
213
223
  inAppSubscription: InAppSubscription.InAppSubscriptionResource;
214
224
  invoice: Invoice.InvoiceResource;
@@ -216,6 +226,8 @@ declare module 'chargebee' {
216
226
  itemEntitlement: ItemEntitlement.ItemEntitlementResource;
217
227
  itemFamily: ItemFamily.ItemFamilyResource;
218
228
  itemPrice: ItemPrice.ItemPriceResource;
229
+ ledgerAccountBalance: LedgerAccountBalance.LedgerAccountBalanceResource;
230
+ ledgerOperation: LedgerOperation.LedgerOperationResource;
219
231
  nonSubscription: NonSubscription.NonSubscriptionResource;
220
232
  offerEvent: OfferEvent.OfferEventResource;
221
233
  offerFulfillment: OfferFulfillment.OfferFulfillmentResource;
@@ -233,6 +245,7 @@ declare module 'chargebee' {
233
245
  priceVariant: PriceVariant.PriceVariantResource;
234
246
  pricingPageSession: PricingPageSession.PricingPageSessionResource;
235
247
  promotionalCredit: PromotionalCredit.PromotionalCreditResource;
248
+ promotionalGrant: PromotionalGrant.PromotionalGrantResource;
236
249
  purchase: Purchase.PurchaseResource;
237
250
  quote: Quote.QuoteResource;
238
251
  ramp: Ramp.RampResource;
@@ -443,4 +456,15 @@ declare module 'chargebee' {
443
456
  name: string;
444
457
  readonly rawBody?: string;
445
458
  }
459
+
460
+ /**
461
+ * Thrown when `enableValidation` is on and request parameters fail the action's Zod schema.
462
+ * Carries `actionName` and the original `ZodError` (issues, `flatten()`, etc.) for programmatic handling.
463
+ */
464
+ export class ChargebeeZodValidationError extends Error {
465
+ constructor(actionName: string, zodError: import('zod').ZodError);
466
+ name: string;
467
+ readonly actionName: string;
468
+ readonly zodError: import('zod').ZodError;
469
+ }
446
470
  }