Skip to content

ScheduleSubscriptionPlanChangeCommand

Public command accepting one complete next-period subscription quote.

const ScheduleSubscriptionPlanChangeCommand: Schema.Struct<{
quote: Schema.Struct<{
id: Schema.brand<Schema.String, "PlanChangeQuoteId">;
subscriptionId: Schema.brand<Schema.String, "SubscriptionId">;
expectedVersion: Schema.brand<Schema.Int, "SubscriptionTermsVersion">;
effective: Schema.Literal<"next_period">;
effectiveAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
createdAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
expiresAt: Schema.brand<Schema.Int, "EpochMilliseconds">;
current: Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: Schema.tag<"offer">;
definition: Schema.brand<Schema.Struct<...>, "OfferTerms">;
}>, Schema.Struct<{
type: Schema.tag<"quantity_offer">;
selection: Schema.Struct<{
definition: ...;
quantity: ...;
totalAmount: ...;
}>;
}>]>;
target: Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: Schema.tag<"offer">;
definition: Schema.brand<Schema.Struct<...>, "OfferTerms">;
}>, Schema.Struct<{
type: Schema.tag<"quantity_offer">;
selection: Schema.Struct<{
definition: ...;
quantity: ...;
totalAmount: ...;
}>;
}>]>;
}>;
command: Schema.Struct<{
idempotencyKey: Schema.brand<Schema.String, "IdempotencyKey">;
quoteId: Schema.brand<Schema.String, "PlanChangeQuoteId">;
expectedVersion: Schema.brand<Schema.Int, "SubscriptionTermsVersion">;
}>;
}>;