Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
PR Complexity Score: 5.0 - Moderate
View Breakdown
- Lines Changed: 631
- Files Changed: 25
- Complexity Added: 8
- Raw Score: 99.62
Overview
This PR releases version 3.24.0 of the Chargebee Node client, updating the client version and changelog accordingly.
It introduces a full Alert/AlertStatus API surface, a new QuoteEntitlement resource, and a FilterCondition model.
It also expands supported payment methods/gateways, adds new parameters to several APIs, and adjusts various enums and typings to align with the latest backend capabilities.
Key Changes
- Bumps the library to v3.24.0, documenting new APIs and enum values in
CHANGELOG.mdand updating the client version metadata. - Adds full typed resource support and endpoints for
Alert(create, retrieve, list, update, delete, and list applicable alerts for a subscription) including thresholds, statuses, and filter conditions. - Adds typed resource support and endpoints for
AlertStatusto list alert statuses by subscription or by alert, using a newAlarmStatusEnum(within_limit,in_alarm) instead of the oldalert_statusfield. - Introduces the
QuoteEntitlementresource andFilterConditiontype, with corresponding entries in endpoints and Content mappings so these objects can be returned in API responses. - Extends various enums to support new gateways (
moyasar,payway), modes (absolute,percentage), card brands (mada), webhook status (rate_limited), and multiple new payment method / payment method type values (twint,go_pay,grab_pay,pay_co,after_pay,swish,payme). - Adds new request/query parameters to multiple APIs: listing alerts and alert statuses (filters, pagination, status/type), listing invoices (
excludefilter), creating/updating alerts (threshold, status, filter conditions), creating payment intents (defer_payment_method_type), and quote charge/charge-items operations (net_term_days). - Relaxes some field requirements and adds flexibility in payment flows by making
PaymentIntent.gateway_account_idoptional and allowing optionalgateway_account_idin virtual bank account creation, plus broadening where the new payment method values are accepted across customer, estimate, gift, invoice, purchase, subscription, payment source, and payment intent types. - Removes deprecated alert fields (
Alert.alarm_triggered_at,Alert.scope,AlertStatus.alert_status) in favor of the new alarm status model and cleans up the now-circularAlertStatusEnumalias in core types.
Risks & Considerations
- The removal/renaming of alert-related fields (
Alert.alarm_triggered_at,Alert.scope,AlertStatus.alert_status→alarm_status) is breaking for consumers relying on the old properties or types. Alert.typeis now required, and new threshold/filter condition parameters may cause compile‑time errors or behavior changes in clients that pass objects not matching the updated typings.- Making
PaymentIntent.gateway_account_idoptional and adding optionalgateway_account_idfor virtual bank accounts may expose cases where client code assumed this field was always present. - The new
alertStatuproperty name on the top-level client appears misspelled and may be a typo (alertStatusexpected), which could lead to confusion or runtime issues if users try to access the resource by the correct name. - Enum expansions (payment methods, gateways, webhook statuses) should be validated against backend support; misalignment could cause runtime API errors if the server is not yet aware of some values.
File-level change summary
| File | Change summary |
|---|---|
| CHANGELOG.md | Adds v3.24.0 entry documenting new resources, actions, parameters, attributes, and enum values. |
| VERSION | Bumps library version from 3.23.1 to 3.24.0. |
| package-lock.json | Updates package metadata version to 3.24.0. |
| package.json | Updates NPM package version to 3.24.0. |
| src/environment.ts | Updates clientVersion constant to v3.24.0. |
| src/resources/api_endpoints.ts | Registers new quoteEntitlement, alert, alertStatus, and filterCondition endpoints with corresponding HTTP methods and paths. |
| types/core.d.ts | Extends core enums (e.g., AlarmStatusEnum, GatewayEnum, ModeEnum, payment method enums) and adjusts EntityTypeEnum while removing the circular AlertStatusEnum alias. |
| types/index.d.ts | Adds references for FilterCondition and QuoteEntitlement resource typings and exposes alert/alertStatu resources on the ChargeBee client. |
| types/resources/Alert.d.ts | Redefines Alert model and introduces the full Alert.AlertResource interface, request/response types, threshold and filter condition inputs, and list/filter parameters. |
| types/resources/AlertStatus.d.ts | Updates AlertStatus model to use alarm_status and adds AlertStatusResource with list-by-subscription and list-by-alert APIs and filterable inputs. |
| types/resources/Card.d.ts | Adds mada as a supported card brand in card details. |
| types/resources/Content.d.ts | Adds filter_condition and quote_entitlement to the union of content types that events/exports can return. |
| types/resources/Customer.d.ts | Extends payment method enums in offline payment detail sections to include new payment methods. |
| types/resources/Estimate.d.ts | Extends payment method enums in estimate payment detail sections to include new payment methods. |
| types/resources/Event.d.ts | Adds rate_limited to webhook_status enums used on events and event list filters. |
| types/resources/FilterCondition.d.ts | Introduces the FilterCondition interface for plan-price-based filter conditions. |
| types/resources/Gift.d.ts | Extends gift payment method enums to include new payment methods. |
| types/resources/Invoice.d.ts | Adds exclude filter to invoice list input and extends payment method enums in invoice payment details. |
| types/resources/PaymentIntent.d.ts | Makes gateway_account_id optional, adds defer_payment_method_type, and extends payment method enums across payment intent and payment attempt structures. |
| types/resources/PaymentSource.d.ts | Adds mada to card brand enums and extends payment method enums in payment source payment details and create APIs. |
| types/resources/Purchase.d.ts | Extends purchase payment method enums to include new payment methods. |
| types/resources/Quote.d.ts | Adds net_term_days request parameter to quote create/edit for charge items and charges. |
| types/resources/QuoteEntitlement.d.ts | Adds the QuoteEntitlement interface describing entitlements tied to plan/addon/charge prices on quotes. |
| types/resources/Subscription.d.ts | Extends subscription payment method enums in multiple contexts to include new payment methods. |
| types/resources/VirtualBankAccount.d.ts | Allows optional gateway_account_id for creating virtual bank accounts (both via permanent token and generic create). |
cb-karthikp
approved these changes
May 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v3.24.0 (2026-05-04)
New Resources:
QuoteEntitlementhas been added.New Actions:
list_applicable_alerts_for_a_subscriptionhas been added toAlert.retrieve_an_alerthas been added toAlert.update_an_alerthas been added toAlert.delete_an_alerthas been added toAlert.list_alertshas been added toAlert.create_an_alerthas been added toAlert.list_alert_statuses_for_a_subscriptionhas been added toAlertStatus.list_alert_statuses_for_an_alerthas been added toAlertStatus.New Attributes:
alarm_statushas been added toAlertStatus.New Parameters:
limithas been added as query parameter tolist_applicable_alerts_for_a_subscriptioninAlert.offsethas been added as query parameter tolist_applicable_alerts_for_a_subscriptioninAlert.statushas been added as query parameter tolist_applicable_alerts_for_a_subscriptioninAlert.typehas been added as query parameter tolist_applicable_alerts_for_a_subscriptioninAlert.limithas been added as query parameter tolist_alertsinAlert.offsethas been added as query parameter tolist_alertsinAlert.idhas been added as query parameter tolist_alertsinAlert.typehas been added as query parameter tolist_alertsinAlert.subscription_idhas been added as query parameter tolist_alertsinAlert.statushas been added as query parameter tolist_alertsinAlert.limithas been added as query parameter tolist_alert_statuses_for_a_subscriptioninAlertStatus.offsethas been added as query parameter tolist_alert_statuses_for_a_subscriptioninAlertStatus.alarm_statushas been added as query parameter tolist_alert_statuses_for_a_subscriptioninAlertStatus.alert_idhas been added as query parameter tolist_alert_statuses_for_a_subscriptioninAlertStatus.limithas been added as query parameter tolist_alert_statuses_for_an_alertinAlertStatus.offsethas been added as query parameter tolist_alert_statuses_for_an_alertinAlertStatus.alarm_statushas been added as query parameter tolist_alert_statuses_for_an_alertinAlertStatus.excludehas been added as query parameter tolist_invoicesinInvoice.thresholdhas been added as request body parameter toupdate_an_alertinAlert.statushas been added as request body parameter toupdate_an_alertinAlert.thresholdhas been added as request body parameter tocreate_an_alertinAlert.filter_conditionshas been added as request body parameter tocreate_an_alertinAlert.typehas been added as request body parameter tocreate_an_alertinAlert.namehas been added as request body parameter tocreate_an_alertinAlert.descriptionhas been added as request body parameter tocreate_an_alertinAlert.metered_feature_idhas been added as request body parameter tocreate_an_alertinAlert.subscription_idhas been added as request body parameter tocreate_an_alertinAlert.metahas been added as request body parameter tocreate_an_alertinAlert.defer_payment_method_typehas been added as request body parameter tocreate_a_payment_intentinPaymentIntent.net_term_dayshas been added as request body parameter toedit_quote_for_charge_items_and_chargesinQuote.net_term_dayshas been added as request body parameter tocreate_a_quote_for_charge_and_charge_itemsinQuote.Deleted Attributes:
alarm_triggered_athas been removed fromAlert.scopehas been removed fromAlert.alert_statushas been removed fromAlertStatus.New Enums:
within_limitandin_alarmhave been added as new values enumAlarmStatus.moyasarandpaywayhave been added as new values enumGateway.absoluteandpercentagehave been added as new values enumMode.twint,go_pay,grab_pay,pay_co,after_pay,swish, andpaymehave been added as new values enumPaymentMethod.twint,go_pay,grab_pay,pay_co,after_pay,swish, andpaymehave been added as new values enumPaymentMethodType.twint,go_pay,grab_pay,pay_co,after_pay,swish, andpaymehave been added as new values enumType.madahas been added as a new value to enum attributecard_typeinCard.rate_limitedhas been added as a new value to enum attributewebhook_statusinEvent.twint,go_pay,grab_pay,pay_co,after_pay,swish, andpaymehave been added as new values to enum attributepayment_method_typeinPaymentIntent.twint,go_pay,grab_pay,pay_co,after_pay,swish, andpaymehave been added as new values to enum attributeactive_payment_attempt.payment_method_typeinPaymentIntent.madahas been added as a new value to enum attributecard.brandinPaymentSource.plan_price,addon_price,charge_price, andchargehave been added as new values to enum attributeentity_typeinQuoteEntitlement.disabledandenabledhave been added as new values to enum query parameterstatus.isinlist_applicable_alerts_for_a_subscriptionofAlert.enabledanddisabledhave been added as new values to enum request body parameterstatusinupdate_an_alertofAlert.disabledandenabledhave been added as new values to enum query parameterstatus.isinlist_alertsofAlert.plan_price_idhas been added as a new value to enum request body parameterfilter_conditions.fieldincreate_an_alertofAlert.not_equalsandequalshave been added as new values to enum request body parameterfilter_conditions.operatorincreate_an_alertofAlert.rate_limitedhas been added as a new value to enum query parameterwebhook_status.isinlist_eventsofEvent.rate_limitedhas been added as a new value to enum query parameterwebhook_status.is_notinlist_eventsofEvent.rate_limitedhas been added as a new value to enum query parameterwebhook_status.ininlist_eventsofEvent.rate_limitedhas been added as a new value to enum query parameterwebhook_status.not_ininlist_eventsofEvent.twint,go_pay,grab_pay,pay_co,after_pay,swish, andpaymehave been added as new values to enum request body parameterpayment_method_typeinupdate_a_payment_intentofPaymentIntent.twint,go_pay,grab_pay,pay_co,after_pay,swish, andpaymehave been added as new values to enum request body parameterpayment_method_typeincreate_a_payment_intentofPaymentIntent.madahas been added as a new value to enum request body parametercard.brandincreate_using_permanent_tokenofPaymentSource.