SchedulePhase
A single phase in a subscription schedule. Phases are applied sequentially. When a phase is applied, subscription items are updated to match the phase's items.
- Type: array · SchedulePhaseItems 1…
items requiredItems active during a phase. At least one item is required per phase. Items without
recurringare one-time charges (captured at phase creation, excluded from all future billing cycles).For the terminal phase with
end_behavior: CANCEL, repeat the previous phase's items. The subscription is canceled immediately when the last phase is applied, so the repeated items are never charged again.Phase item referencing an existing catalog price.
One-time charge: omit
recurring(or set null) — the item is charged once on phase creation and excluded from all future billing cycles.- Type: string
price requiredPrice ID from your product catalog.
- Type: string | null
currency min length:3max length:3Currency override. Falls back to schedule default_settings or subscription currency.
- Type: object | null
metadata Arbitrary key-value pairs for this item.
- Type: integer
quantity min:1Quantity of this item.
- Type: object · RecurringConfig
recurring Recurring billing configuration.
- Type: number | null
unit _amount min:0Unit amount override in cents. Falls back to the catalog price if omitted.
- Type: stringFormat: date-time
start _date requiredWhen this phase begins.
- Type: string | null
billing _cycle _anchor Billing anchor for the subscription created by this phase:
"phase_start"(default) — usestart_dateas the billing anchor"automatic"— inherit the subscription's existing anchor (no change on transition)- ISO 8601 datetime string — use a specific date
- Type: stringenum
collection _method How to collect payment during this phase.
send_invoiceis (coming soon).valuescharge _automatically send _invoice
- Type: string | nullFormat: date-time
end _date When this phase ends. Omit for an open-ended (last) phase. When reached and no further phases exist,
end_behaviordetermines what happens to the subscription. - Type: object | null
metadata Arbitrary key-value pairs for this phase.
- Type: anything
property Name
- Type: string | null
on _behalf _of Account ID for connected account scenarios.
- Type: integer
phase _index Zero-based index. Auto-assigned from array position if omitted.
- Type: string | nullFormat: date-time
trial _end Trial end date for the subscription created by this phase (Phase 0 only). When set, the subscription starts in
TRIALINGstatus and no charge is taken untiltrial_end. The billing schedulestartAtis set to this date. - Type: object · TrialSettings
trial _settings Controls what happens when a trial period ends.
- Type: object
end _behavior Behavior when the trial ends.

