Subscriptions
Assign a subscription
POST /v1/subscriptions assigns a plan to a customer and returns the new
subscription, whose id is the stable id you
keep for every later call.
Code
Code
Request fields
| Field | Required | Effect |
|---|---|---|
customerId | yes | The customer to assign the plan to (UUID). |
planId | yes | The plan to assign (UUID). |
startDate | yes | When the subscription begins (ISO 8601). A future date creates it scheduled. |
endDate | no | A fixed end date; the subscription expires then. |
billingCycleAnchor | no | The date the billing cycle aligns to. Defaults to startDate. |
prorationBehavior | no | How the partial period from startDate to the anchor is handled. Default none — see Proration. |
trialDays | no | Trial length (0–365). The subscription is trial until it elapses. |
billingDirection | no | advance (charge at the start of the period) or arrears (at the end). Default advance. See Billing & cadence. |
productOverrides | no | Per-product quantity overrides against the plan template ([{ priceId, quantity }]). |
paymentMethodId | no | Payment method to charge for automatic billing. |
automaticBilling | no | Whether to charge the payment method automatically. |
customerDepartmentId / departmentContactOverrideId | no | Route invoice delivery to a customer department / contact. |
What you can't set over the API
currency— a subscription's currency is contractual, resolved from the customer and plan; there is no currency field on assign. Multi-currency is not selectable at assign time.- Send-offset / prebill days — the lead time for issuing an invoice before the period is operator-configured, not a public field.
What the first invoice does
The first charge depends on three inputs:
- Trial — with
trialDays, no charge is taken until the trial ends; the subscription sits intrialuntil then. - Billing direction —
advancecharges at the start of the first period;arrearscharges at the end. - Proration — when
startDatedoesn't equal thebillingCycleAnchor, the partial first period is handled perprorationBehavior. The defaultnonegifts it; the other modes charge it (immediately or on the next invoice). See Proration for the worked examples.
A card pay-first subscription (its first charge taken on a card up front)
sits in awaiting_payment and grants no access until that charge clears;
subscriptions billed by other means activate directly. See
Lifecycle & statuses.
Last modified on