Resume Subscription
Changed onResumes a paused subscription.
With billing_cycle_anchor: "now" (the default) the full period is charged at once, net of any unused time credited at the pause, and billing restarts from today. With "unchanged" the original billing date is kept: the partial period is billed on that date with the next full period, or, with proration_behavior: "always_invoice", charged now, net of any credit, with a negative amount going to the customer's balance.
Days already paid for are not billed again. After a pause with credit: "none", a resume before the paid period ends charges nothing at once: the paid days after the resume carry over, and with "now" the next charge covers the time from the old period end.
A declined charge returns a 402 naming the open invoice, and the subscription stays paused while that invoice is retried. Calling resume again pays that invoice rather than creating a new one.
Refusals carry a typed code: subscription_pause_not_enabled (422) when the account isn't in the rollout, not_paused (422) when the subscription isn't paused or a resume already happened, pause_in_progress (409) while a pause request holds the subscription, resume_in_progress (409) while another resume does, resume_invoice_not_open (422) when an earlier resume's invoice is no longer payable, and proration_behavior_requires_unchanged_anchor (422) when proration_behavior is sent with billing_cycle_anchor: "now".
Request
- Base URLhttps://api.withflex.com
- URLhttps://api.withflex.com/v1/subscriptions/{id}/resume
- AuthHTTP bearer
Path parameters
Request body
Example request
{
"billing_cycle_anchor": "unchanged",
"proration_behavior": "always_invoice"
}Response
An envelope wrapping a single subscription object.
Example response
{
"subscription": {
"subscription_id": "fsub_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"created_at": "2026-06-15T14:30:00Z",
"items": [
{
"subscription_item_id": "fsubi_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"price": "fprice_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"quantity": 2500,
"created_at": "2026-06-15T14:30:00Z",
"updated_at": "2026-06-15T14:30:00Z",
"test_mode": false
}
],
"latest_invoice": "fin_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"customer": "fcus_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"status": "incomplete",
"cancel_at_period_end": false,
"current_period_end": "string",
"current_period_start": "string",
"metadata": {
"order_id": "8842",
"channel": "shopify"
},
"test_mode": false,
"client_secret": {
"setup_secret": "string",
"payment_secret": "string"
},
"proration_behavior": "always_invoice",
"trial_start": "string",
"trial_end": "string",
"cancel_at": "2026-06-15T14:30:00Z",
"canceled_at": "2026-06-15T14:30:00Z",
"default_payment_method": "fpm_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"backup_payment_method": "fpm_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"discounts": [
{
"discount_id": "fdi_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"checkout_session": "fcs_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"customer": "fcus_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"subscription": "fsub_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"invoice": "fin_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"source": {
"coupon": "fcoup_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"type": "coupon"
},
"promo_code": "fpromo_01J9XR8M3K7VZ8N2YB4WJ6T0RA",
"test_mode": false,
"end": "string",
"start": "string"
}
],
"pause": {
"paused_at": "2026-06-15T14:30:00Z",
"resume_at": "2026-06-15T14:30:00Z",
"billing_cycle_anchor": "unchanged",
"proration_behavior": "always_invoice",
"credit": "unused_time"
}
}
}Changes
- info
endpoint added
- info