Skip to content

Subscriptions

See Subscriptions concept for the lifecycle. This page is the field reference.

Object

{
"id": "sub_…",
"object": "subscription",
"customer_id": "cus_…",
"plan_code": "pro-monthly-usd",
"status": "active",
"current_period_start": "2026-05-06T00:00:00Z",
"current_period_end": "2026-06-06T00:00:00Z",
"billing_cycle_anchor": "2026-05-06T00:00:00Z",
"trial_start": null,
"trial_end": null,
"paused_until": null,
"cancel_at": null,
"cancel_at_period_end": false,
"default_payment_method_id": "pm_…",
"quantities": { "active_seats": 7 },
"discounts": [ { "id": "dsc_…", "coupon_code": "SUMMER25", "remaining_cycles": 2 } ],
"commitment": null,
"dunning": null,
"latest_invoice_id": "inv_…",
"metadata": {},
"created_at": "2026-04-06T12:00:00Z",
"updated_at": "2026-05-06T00:00:00Z"
}

Endpoints

MethodPathWhat
POST/v1/subscriptionsCreate.
GET/v1/subscriptions/{id}Retrieve.
PATCH/v1/subscriptions/{id}Change plan, quantities, metadata.
GET/v1/subscriptionsList + filter.
POST/v1/subscriptions/{id}/pausePause.
POST/v1/subscriptions/{id}/resumeResume.
POST/v1/subscriptions/{id}/cancelCancel (at: now or period_end).
POST/v1/subscriptions/{id}/reactivateUndo a cancel_at_period_end.
POST/v1/subscriptions/{id}/extend-trialPush the trial end out.
POST/v1/subscriptions/{id}/quantitiesUpdate a metered quantity.
POST/v1/subscriptions/{id}/discountsApply a coupon.
DELETE/v1/subscriptions/{id}/discounts/{id}Remove a discount.
POST/v1/subscriptions/{id}/retry-paymentForce a dunning retry now.
POST/v1/subscriptions/{id}/dunning/pausePause dunning.
GET/v1/subscriptions/{id}/usageRead current / closed period usage totals.
GET/v1/subscriptions/{id}/upcoming-invoicePreview the next invoice.

Status values

pending_activation, trialing, active, past_due, paused, canceled, ended, incomplete_expired. See Status reference for the transition table.

current_period_*

The period the subscription is currently in. Updates atomically at the period boundary, alongside the new invoice’s creation.

commitment

Null for month-to-month. For committed subscriptions:

{
"months": 12,
"billing": "monthly",
"early_cancel": "forbid",
"auto_renew": true,
"started_at": "2026-04-01T00:00:00Z",
"ends_at": "2027-04-01T00:00:00Z"
}

See Trials & commitments.

dunning

Null when not in dunning. Otherwise:

{
"policy": "default",
"attempts": 2,
"next_attempt_at": "2026-05-09T00:00:00Z",
"started_at": "2026-05-04T12:00:00Z",
"exhausts_at": "2026-05-25T12:00:00Z"
}

Webhook events

The full set is in the Event catalog.