diff --git a/CHANGELOG.md b/CHANGELOG.md index a4b4b6e..b10c540 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +### v3.33.0 (2026-09-09) +* * * +### Bug Fixes +* PC-V1 attributes (`plan_id`, `plan_quantity`, `plan_constraint`, `addon_constraint`, `embed`, etc.) are now typed as optional across all affected resources (`Subscription`, `Coupon`, `HostedPage`, `Quote`, `QuotedSubscription`, `Estimate`, `Gift`). PC-V1 and PC-V2 APIs coexist — these fields are absent in PC-V2 responses, so requiring them caused incorrect type errors for PC-V2 users. + + ### v3.32.0 (2026-09-08) * * * ### New Features diff --git a/VERSION b/VERSION index cac6068..949654d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.32.0 +3.33.0 diff --git a/package-lock.json b/package-lock.json index e599cd5..9f34631 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "chargebee", - "version": "3.32.0", + "version": "3.33.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "chargebee", - "version": "3.32.0", + "version": "3.33.0", "dependencies": { "zod": "^4.3.6" }, diff --git a/package.json b/package.json index 3ecbeea..356129c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chargebee", - "version": "3.32.0", + "version": "3.33.0", "description": "A library for integrating with Chargebee.", "scripts": { "prepack": "npm ci && npm run build", diff --git a/src/environment.ts b/src/environment.ts index 7c5a862..ed70aca 100644 --- a/src/environment.ts +++ b/src/environment.ts @@ -9,7 +9,7 @@ export const Environment = { hostSuffix: '.chargebee.com', apiPath: '/api/v2', timeout: DEFAULT_TIME_OUT, - clientVersion: 'v3.32.0', + clientVersion: 'v3.33.0', port: DEFAULT_PORT, timemachineWaitInMillis: DEFAULT_TIME_MACHINE_WAIT, exportWaitInMillis: DEFAULT_EXPORT_WAIT, diff --git a/src/schema/estimate.schema.ts b/src/schema/estimate.schema.ts index 8d70c09..e524d25 100644 --- a/src/schema/estimate.schema.ts +++ b/src/schema/estimate.schema.ts @@ -8,7 +8,7 @@ import { z } from 'zod'; const CreateSubscriptionEstimateSubscriptionSchema = z.object({ id: z.string().max(50).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), @@ -380,7 +380,7 @@ export type CreateSubItemEstimateEstimateBody = z.infer< const CreateSubForCustomerEstimateEstimateSubscriptionSchema = z.object({ id: z.string().max(50).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), @@ -1307,7 +1307,7 @@ const GiftSubscriptionEstimateShippingAddressSchema = z.object({ .optional(), }); const GiftSubscriptionEstimateSubscriptionSchema = z.object({ - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), }); diff --git a/src/schema/gift.schema.ts b/src/schema/gift.schema.ts index 32c3b03..32760dd 100644 --- a/src/schema/gift.schema.ts +++ b/src/schema/gift.schema.ts @@ -102,7 +102,7 @@ const CreateGiftShippingAddressSchema = z.object({ .optional(), }); const CreateGiftSubscriptionSchema = z.looseObject({ - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), }); diff --git a/src/schema/hosted_page.schema.ts b/src/schema/hosted_page.schema.ts index 5734b03..6a0052f 100644 --- a/src/schema/hosted_page.schema.ts +++ b/src/schema/hosted_page.schema.ts @@ -8,7 +8,7 @@ import { z } from 'zod'; const CheckoutNewHostedPageSubscriptionSchema = z.looseObject({ id: z.string().max(50).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), @@ -1635,7 +1635,7 @@ const CheckoutGiftHostedPageGifterSchema = z.object({ customer_id: z.string().max(50).optional(), }); const CheckoutGiftHostedPageSubscriptionSchema = z.looseObject({ - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), coupon: z.string().max(100).optional(), diff --git a/src/schema/omnichannel_subscription.schema.ts b/src/schema/omnichannel_subscription.schema.ts index 3e6438c..e8060e2 100644 --- a/src/schema/omnichannel_subscription.schema.ts +++ b/src/schema/omnichannel_subscription.schema.ts @@ -34,16 +34,16 @@ const ListOmnichannelSubscriptionIdAtSourceSchema = z.object({ not_in: z.string().regex(RegExp('^\\[(.*)(,.*)*\\]$')).optional(), }); const ListOmnichannelSubscriptionUpdatedAtSchema = z.object({ - after: z.string().regex(RegExp('^\\d{10}$')).optional(), - on: z.string().regex(RegExp('^\\d{10}$')).optional(), before: z.string().regex(RegExp('^\\d{10}$')).optional(), between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(), -}); -const ListOmnichannelSubscriptionPurchasedAtSchema = z.object({ after: z.string().regex(RegExp('^\\d{10}$')).optional(), on: z.string().regex(RegExp('^\\d{10}$')).optional(), +}); +const ListOmnichannelSubscriptionPurchasedAtSchema = z.object({ before: z.string().regex(RegExp('^\\d{10}$')).optional(), between: z.string().regex(RegExp('^\\[\\d{10},\\d{10}\\]$')).optional(), + after: z.string().regex(RegExp('^\\d{10}$')).optional(), + on: z.string().regex(RegExp('^\\d{10}$')).optional(), }); const ListOmnichannelSubscriptionSortBySchema = z.looseObject({ asc: z.enum(['created_at', 'updated_at']).optional(), @@ -125,7 +125,9 @@ const OmnichannelTransactionsforomnichannelsubscriptionOmnichannelSubscriptionBo limit: z.number().int().min(1).max(100).optional(), offset: z.string().max(1000).optional(), }); -export { OmnichannelTransactionsforomnichannelsubscriptionOmnichannelSubscriptionBodySchema }; +export { + OmnichannelTransactionsforomnichannelsubscriptionOmnichannelSubscriptionBodySchema, +}; export type OmnichannelTransactionsforomnichannelsubscriptionOmnichannelSubscriptionBody = z.infer< typeof OmnichannelTransactionsforomnichannelsubscriptionOmnichannelSubscriptionBodySchema diff --git a/src/schema/quote.schema.ts b/src/schema/quote.schema.ts index fee5c30..4030383 100644 --- a/src/schema/quote.schema.ts +++ b/src/schema/quote.schema.ts @@ -9,7 +9,7 @@ import { z } from 'zod'; const CreateSubForCustomerQuoteQuoteSubscriptionSchema = z.object({ id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), @@ -126,7 +126,7 @@ export type CreateSubForCustomerQuoteQuoteBody = z.infer< const EditCreateSubForCustomerQuoteQuoteSubscriptionSchema = z.object({ id: z.string().max(50).optional(), po_number: z.string().max(100).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), diff --git a/src/schema/subscription.schema.ts b/src/schema/subscription.schema.ts index f03e326..cd7d19d 100644 --- a/src/schema/subscription.schema.ts +++ b/src/schema/subscription.schema.ts @@ -456,7 +456,7 @@ const CreateSubscriptionCouponsSchema = z.object({ }); const CreateSubscriptionBodySchema = z.looseObject({ id: z.string().max(50).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), @@ -672,7 +672,7 @@ const CreateForCustomerSubscriptionCouponsSchema = z.object({ }); const CreateForCustomerSubscriptionBodySchema = z.looseObject({ id: z.string().max(50).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), @@ -2946,7 +2946,7 @@ const ImportSubscriptionSubscriptionCouponsSchema = z.object({ const ImportSubscriptionSubscriptionBodySchema = z.looseObject({ id: z.string().max(50).optional(), client_profile_id: z.string().max(50).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), @@ -3101,7 +3101,7 @@ const ImportForCustomerSubscriptionCouponsSchema = z.object({ }); const ImportForCustomerSubscriptionBodySchema = z.looseObject({ id: z.string().max(50).optional(), - plan_id: z.string().max(100), + plan_id: z.string().max(100).optional(), plan_quantity: z.number().int().min(1).optional(), plan_quantity_in_decimal: z.string().max(33).optional(), plan_unit_price: z.number().int().min(0).optional(), diff --git a/src/schema/subscription_entitlement.schema.ts b/src/schema/subscription_entitlement.schema.ts index e7d53fc..dfb251a 100644 --- a/src/schema/subscription_entitlement.schema.ts +++ b/src/schema/subscription_entitlement.schema.ts @@ -14,7 +14,9 @@ const SubscriptionEntitlementsForSubscriptionSubscriptionEntitlementBodySchema = embed: z.string().max(1000).optional(), include_scheduled_overrides: z.boolean().default(false).optional(), }); -export { SubscriptionEntitlementsForSubscriptionSubscriptionEntitlementBodySchema }; +export { + SubscriptionEntitlementsForSubscriptionSubscriptionEntitlementBodySchema, +}; export type SubscriptionEntitlementsForSubscriptionSubscriptionEntitlementBody = z.infer< typeof SubscriptionEntitlementsForSubscriptionSubscriptionEntitlementBodySchema @@ -32,7 +34,9 @@ const SetSubscriptionEntitlementAvailabilitySubscriptionEntitlementBodySchema = subscription_entitlements: SetSubscriptionEntitlementAvailabilitySubscriptionEntitlementSubscriptionEntitlementsSchema.optional(), }); -export { SetSubscriptionEntitlementAvailabilitySubscriptionEntitlementBodySchema }; +export { + SetSubscriptionEntitlementAvailabilitySubscriptionEntitlementBodySchema, +}; export type SetSubscriptionEntitlementAvailabilitySubscriptionEntitlementBody = z.infer< typeof SetSubscriptionEntitlementAvailabilitySubscriptionEntitlementBodySchema diff --git a/types/resources/Coupon.d.ts b/types/resources/Coupon.d.ts index f70a8c6..0e48921 100644 --- a/types/resources/Coupon.d.ts +++ b/types/resources/Coupon.d.ts @@ -24,8 +24,8 @@ declare module 'chargebee' { | 'plans_with_quantity' | 'not_applicable'; apply_on: 'invoice_amount' | 'each_specified_item'; - plan_constraint: 'none' | 'all' | 'specific' | 'not_applicable'; - addon_constraint: 'none' | 'all' | 'specific' | 'not_applicable'; + plan_constraint?: 'none' | 'all' | 'specific' | 'not_applicable'; + addon_constraint?: 'none' | 'all' | 'specific' | 'not_applicable'; created_at: number; archived_at?: number; resource_version?: number; diff --git a/types/resources/Estimate.d.ts b/types/resources/Estimate.d.ts index cb7caa9..0b0ce34 100644 --- a/types/resources/Estimate.d.ts +++ b/types/resources/Estimate.d.ts @@ -506,7 +506,7 @@ declare module 'chargebee' { } export interface SubscriptionCreateSubscriptionInputParam { id?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; @@ -667,7 +667,7 @@ declare module 'chargebee' { } export interface SubscriptionCreateSubForCustomerEstimateInputParam { id?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; @@ -1087,7 +1087,7 @@ declare module 'chargebee' { additional_information?: any; } export interface SubscriptionGiftSubscriptionInputParam { - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; } diff --git a/types/resources/Gift.d.ts b/types/resources/Gift.d.ts index 0ec557e..14dc8ab 100644 --- a/types/resources/Gift.d.ts +++ b/types/resources/Gift.d.ts @@ -244,7 +244,7 @@ declare module 'chargebee' { additional_information?: any; } export interface SubscriptionCreateInputParam { - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; } diff --git a/types/resources/HostedPage.d.ts b/types/resources/HostedPage.d.ts index fb18778..5a6f3d2 100644 --- a/types/resources/HostedPage.d.ts +++ b/types/resources/HostedPage.d.ts @@ -25,7 +25,7 @@ declare module 'chargebee' { | 'acknowledged'; failure_reason?: 'card_error' | 'server_error'; pass_thru_content?: string; - embed: boolean; + embed?: boolean; created_at?: number; expires_at?: number; layout?: LayoutEnum; @@ -532,7 +532,7 @@ declare module 'chargebee' { } export interface SubscriptionCheckoutNewInputParam { id?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; @@ -1097,7 +1097,7 @@ declare module 'chargebee' { customer_id?: string; } export interface SubscriptionCheckoutGiftInputParam { - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; /** diff --git a/types/resources/Quote.d.ts b/types/resources/Quote.d.ts index 67ffe83..e3986f8 100644 --- a/types/resources/Quote.d.ts +++ b/types/resources/Quote.d.ts @@ -843,7 +843,7 @@ declare module 'chargebee' { export interface SubscriptionCreateSubForCustomerQuoteInputParam { id?: string; po_number?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; @@ -898,7 +898,7 @@ declare module 'chargebee' { export interface SubscriptionEditCreateSubForCustomerQuoteInputParam { id?: string; po_number?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; diff --git a/types/resources/QuotedSubscription.d.ts b/types/resources/QuotedSubscription.d.ts index fd04adc..8b37ab1 100644 --- a/types/resources/QuotedSubscription.d.ts +++ b/types/resources/QuotedSubscription.d.ts @@ -4,8 +4,8 @@ declare module 'chargebee' { export interface QuotedSubscription { id: string; - plan_id: string; - plan_quantity: number; + plan_id?: string; + plan_quantity?: number; plan_unit_price?: number; setup_fee?: number; billing_period?: number; diff --git a/types/resources/Subscription.d.ts b/types/resources/Subscription.d.ts index 51b4ce2..175bb71 100644 --- a/types/resources/Subscription.d.ts +++ b/types/resources/Subscription.d.ts @@ -6,8 +6,8 @@ declare module 'chargebee' { [key: string]: unknown; id: string; currency_code: string; - plan_id: string; - plan_quantity: number; + plan_id?: string; + plan_quantity?: number; plan_unit_price?: number; setup_fee?: number; billing_period?: number; @@ -715,7 +715,7 @@ declare module 'chargebee' { export interface CreateInputParam { id?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; @@ -769,7 +769,7 @@ declare module 'chargebee' { } export interface CreateForCustomerInputParam { id?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; @@ -1087,7 +1087,7 @@ declare module 'chargebee' { export interface ImportSubscriptionInputParam { id?: string; client_profile_id?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number; @@ -1135,7 +1135,7 @@ declare module 'chargebee' { } export interface ImportForCustomerInputParam { id?: string; - plan_id: string; + plan_id?: string; plan_quantity?: number; plan_quantity_in_decimal?: string; plan_unit_price?: number;