Skip to content

Release 10.0.0 - #108

Merged
imlukedewitt merged 5 commits into
mainfrom
publish
Aug 14, 2026
Merged

Release 10.0.0#108
imlukedewitt merged 5 commits into
mainfrom
publish

Conversation

@imlukedewitt

@imlukedewitt imlukedewitt commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

ab-typescript-sdk 10.0.0 Changelog

Breaking Changes

  • unit_balance is now a number | string union. This affects SubscriptionComponent, CreateSubscriptionComponent, MeteredUsage, and PrepaidUsage. Code that assumed a number no longer type-checks without narrowing. The runtime schema also accepts strings now.
  • GetOneTimeTokenRequest.paymentProfile is now a union of credit card and bank account profiles. The endpoint can return either variant, keyed on payment_type. The profile fields are not reachable until the value is narrowed, and the container ships narrowing helpers for each variant.
  • listSubscriptions now takes ListSubscriptionsInputProduct for the product filter. The filter accepts a product ID or an exact product name. Product handles are not supported.
  • ListSubcriptionGroupPrepaymentItem is renamed to ListSubscriptionGroupPrepaymentItem. We corrected a typo in the schema title, and the generated type name follows the title. The properties of the interface are unchanged.
  • CreditCardPaymentProfile.cardType is now nullable. The API can now return null on a profile that previously always carried a value.

The reordered query parameters in the spec do not affect TypeScript. listSubscriptions takes an options object, so parameter order does not change any call site.

New Features

  • Added updateInvoice and deleteInvoice to the invoices controller. Both act only on ad hoc invoices in draft status.
  • Added support for the subscription_product_change_scheduled webhook event, as EventKey.SubscriptionProductChangeScheduled and WebhookSubscription.SubscriptionProductChangeScheduled. The payload deserializes into the existing SubscriptionProductChange model.
  • Added nine filters to listSubscriptions: q, qScope, customerId, collectionMethod, groupStatus, dunningExemption, paymentGateways, currencies, and brandingThemeId.
  • Added three SubscriptionListInclude members: CurrentAccountBalanceInCents, CurrentBillingAmount, and Coupons.
  • Added five SubscriptionStateFilter members: EnumExpiredCardsLiveSubscriptions, EnumExpiredCardsAllSubscriptions, AwaitingSignup, AwaitingSignupDate, and PrepaidDunning.

New Models

  • UpdateInvoice
  • UpdateInvoiceItem
  • UpdateInvoiceRequest
  • GetOneTimeTokenBankAccountPaymentProfile
  • QScope (enum)
  • GroupStatus (enum)
  • CollectionMethod1 (enum). The 1 suffix avoids a collision with the existing CollectionMethod, which is unchanged.

New union types, each with narrowing helpers:

  • SubscriptionComponentUnitBalance
  • CreateSubscriptionComponentUnitBalance
  • MeteredUsageNewUnitBalance
  • PrepaidUsageNewUnitBalance
  • PrepaidUsageNewOverageUnitBalance
  • GetOneTimeTokenRequestPaymentProfile
  • ListSubscriptionsInputProduct
  • UpdateInvoiceItemQuantity
  • UpdateInvoiceItemUnitPrice
  • UpdateInvoiceItemProductId
  • UpdateInvoiceItemComponentId
  • UpdateInvoiceItemPricePointId
  • UpdateInvoiceItemProductPricePointId

Model Enhancements

  • Component, CreateOrUpdateProduct, Product, EBBComponent, MeteredComponent, OnOffComponent, PrepaidUsageComponent, QuantityBasedComponent, UpdateComponent
    • Added unspscCode (string | null).
  • Customer
    • Added surcharging (boolean).
    • Added brandingThemeId (number | null).
  • CustomerAttributes
    • Added surcharging (boolean).
  • CreateCustomer
    • Added surcharging (boolean).
    • Added brandingThemeId (number | null).
  • UpdateCustomer
    • Added surcharging (boolean).
    • Added brandingThemeId (number | null).
  • ProductFamily
    • Added surcharging (boolean).
  • CreateProductFamily
    • Added surcharging (boolean).
  • CreateSubscription
    • Added brandingThemeId (number | null). Write-only. The subscription response does not return it.
  • UpdateSubscription
    • Added brandingThemeId (number | null). Write-only. The subscription response does not return it.
  • Invoice
    • Added brandingThemeId (number | null).
  • SubscriptionProductChange
    • Added previousProductPricePointId (number | null).
    • Added newProductPricePointId (number | null).
    • Added effectiveAt (string | null).
    • Only the subscription_product_change_scheduled event populates these three fields.

Bug Fixes

  • subscription_product_change_scheduled events no longer fail schema validation. The payload carries previous_product_price_point_id, new_product_price_point_id, and effective_at. SubscriptionProductChange did not model these fields. They are now part of the interface and the runtime schema.

Internal / Non-functional Changes

  • Doc comments reworded across models and controllers after a wording and punctuation pass in the spec (no behavioral impact).
  • Version and user agent bumped to 10.0.0. @apimatic/core bumped to 0.10.30.

lucassus
lucassus previously approved these changes Aug 13, 2026
@imlukedewitt
imlukedewitt merged commit ed4c80a into main Aug 14, 2026
1 check passed
@imlukedewitt
imlukedewitt deleted the publish branch August 14, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants