Resume Subscription
Reactivates a paused subscription, returning it to the status it was billing under.
status back to the status it was billing under — ACTIVE, or TRIALING if it is still inside a trial phase.
You can also send reason, an optional free-form string of at most 255 characters, stored on the subscription’s reason field. It overwrites whatever reason a preceding pause recorded.
billing_cycle_behavior is an optional field on this call. It decides what happens to the billing anchor — the date in billing_cycles.next_at — when the subscription resumes:KEEP— the original billing date is preserved. If it fell due while the subscription was paused, it advances by whole billing periods until it is in the future.RESTART— the cycle re-anchors to the moment of the resume, plus the subscription’s frequency.
billing_cycle_behavior was stored on the pause — set explicitly there, or recorded as KEEP by default. An explicit value on this call always wins over what the pause stored. A subscription paused before this feature was enabled for your organization has nothing stored, and a bodyless resume on one of those keeps the pre-existing default instead: a billing date still in the future is left untouched, and one that already passed moves one billing period from the resume.No charge is issued during the call under any of these. billing_cycle_behavior is write-only — it is accepted on the request and never echoed in any response.billing_cycle_behavior is available to organizations enabled for it; contact Yuno. For an organization that is not yet enabled, sending the field returns 400 — "billing_cycle_behavior is not enabled for this organization."KEEP and RESTART compared
A subscription with a future billing anchor is resumed with each value:RESTART moves billing_cycles.next_at one month out and stamps frequency.monthly_billing_day to 15, on both the engine-direct and the merchant chain. A subscription that already declares a monthly_billing_day keeps it: RESTART re-anchors the date but does not move the day it falls on.
frequency.monthly_billing_day, RESTART sets that field to the day of the restart, and every future renewal reads it. A subscription that already declares a billing day keeps it: the date does not move to the restart day, only the time of day is re-anchored. frequency.monthly_billing_day is returned on the subscription object, so the value a restart settled on can be read back from any subscription response.The same rule applies to a RESTART on Update Subscription — it is one rule, on both endpoints.subscription.resume webhook fires once, carrying resume_reason: MERCHANT for a resume you call yourself.
Errors
Authorizations
Path Parameters
The unique identifier of a subscription.
Body
KEEP (default when omitted): the original anchor is walked forward by whole periods it missed during the pause. RESTART: re-anchors the next charge to now, plus the subscription's frequency (monthly-billing-day rule as on Update). On a pause that stored its own billing_cycle_behavior (set at the pause call), omitting this field applies the behaviour stored on the pause; an explicit value here always wins. Write-only: never echoed in any response.
KEEP, RESTART "KEEP"
Free-form reason for the resume, written to the subscription's reason field from this call's own body (null when the body omits it, even if the pause had recorded one). At most 255 characters; blank is treated as absent.
255"customer is back"
Response
200
"7304911d-5df9-429e-8488-ad41abea1a4c"
"sub_001"
"streaming service"
"2404911d-5df9-429e-8488-ad41abea1a4b"
"001_marzo_23"
"ACTIVE"
"1904911d-5df9-429e-8488-ad41abea1a4d"
The payment method the subscription charges. A single object, not a list.
List of payment IDs created by the subscription. Omitted from the response when the subscription has no payments.
"2023-12-16T20:46:54.786342Z"
"2023-12-16T21:00:54.786342Z"
The subscription's country (ISO 3166-1 alpha-2).
"US"
Soft descriptor.
"ACME SUBSCRIPTION"
Start of the billing period the subscription is currently in, one cadence before current_period_end. Inside a trial or any other plan phase it follows that phase's cadence. A terminal subscription (CANCELED or COMPLETED) keeps its final window rather than going null. Null only for a subscription with no recurring cadence. Always returned together with current_period_end.
"2023-01-16T20:00:00.912480Z"
End of the billing period the subscription is currently in. Equal to billing_cycles.next_at. Always returned together with current_period_start.
"2023-02-16T20:00:00.786342Z"
Only present on subscriptions billed on a fixed date instead of a frequency; mutually exclusive with frequency.
Trial period.
The optional order enrichment sent at creation, echoed back. See The Subscription Object for its full shape.
Whether the subscription waited for its first payment to succeed before activating. false by default.
false
Free-form reason for the subscription's current status, when one was recorded; null otherwise.
"merchant request"
How many days before the next billing date the subscription.close_to_renewal webhook is sent. null means no renewal notification is sent.
3
Subscription agreement id.
"sa_6af2dfcd-44c0-4f16-a331-8bed3ed9c9fa"
When the subscription was canceled. Only set once it reaches CANCELED; null otherwise.
"2023-12-16T20:46:54.786342Z"
What triggered the cancellation: MERCHANT, SYSTEM, PLAN_CHANGE or RETRIES_EXHAUSTED. Only set once the subscription reaches CANCELED; null otherwise. Treat as open-ended — handle unrecognized values gracefully.
"MERCHANT"
When the subscription completed or expired. Only set once it reaches COMPLETED; null otherwise.
"2024-12-16T20:46:54.786342Z"
Only present when the subscription is linked to a plan.
"00000000-0000-4000-8000-000000000001"
Only present on plan-linked subscriptions. The moment the plan was attached — at creation from a plan, migration onto a plan, or a plan change.
"2023-12-16T20:46:54.786342Z"
Only present when this subscription was created by a plan change (switching an existing subscription to a different plan).
The linked plan's phase definitions, as the plan declares them — including the terminal REGULAR phase. Only present on plan-linked subscriptions whose plan has phases. This is the plan's own ladder, not this subscriber's snapshot: for what was pinned for this subscription at creation, use billing_phases.
Only present on plan-linked subscriptions.
"REGULAR"
When the phase named by current_phase hands over to the next one — for a subscription in its trial, when it switches to the regular price. End of the last billing period the phase covers, so on the final period of a trial it equals current_period_end. Null for a subscription with no plan and for one that already left the phase ladder.
"2023-03-16T20:00:00.786342Z"
Only present on plan-linked subscriptions whose plan has phases. Contains the leading TRIAL phases only, snapshotted at creation — the terminal REGULAR phase is never included, since its price isn't pinned and instead resolves from the plan at every billing. current_phase: "REGULAR" is how you know the ladder is exhausted.
The plan change scheduled for the next billing cycle, or null when none is pending. Schedule one with the plan_change block on Update Subscription.
The stored refund rule used to resolve a CUSTOM cancel refund when the cancel request sends no refund_amount of its own. Present only when one is configured; omitted, not null, otherwise. Available to organizations enabled for it; contact Yuno.
When the subscription is scheduled to resume automatically. Present only on a subscription currently paused with a duration (pause_cycles or pause_until sent at pause); absent, not null, on every other read.
"2026-10-15T15:54:22.780166Z"
null when no cancellation is pending.
null when refund was NONE or omitted. Present on the cancel response and on every later read once computed.
Present only when the current billing cycle is PAST_DUE and has not settled.