Attributes
This object represents a subscription that can be associated with a customer.string
The unique identifier of the subscription (MAX 64 ; MIN 36).Example: 7304911d-5df9-429e-8488-ad41abea1a4c
string
The subscription name (MAX 255; MIN 3).Example: sub_001
string
The subscription description (MAX 255; MIN 3).Example: Servicio de streaming
string
The unique identifier of the account that will have the subscription plan available to use (MAX 64 ; MIN 36).Example: 2404911d-5df9-429e-8488-ad41abea1a4b
string
Identification of the subscription plan (MAX 255; MIN 3).Example: 001_marzo_23
string
Statement descriptor shown on the cardholder’s bank statement (MAX 255). When set, it is propagated to every rebill payment generated by the subscription engine. Length and formatting limits vary by provider; see Statement descriptor on recurring payments.Example: ACME SUBSCRIPTION
string
The subscription’s country.Example: CO
enum
Status of the subscription.Possible values:
CREATED= Transitory status while the initial payment hasn’t been processed yet. Only occurs when the subscription is created withinitial_payment_validation: true; it transitions toACTIVEonce the first payment succeeds (or toCANCELEDif it fails and retries are exhausted).ACTIVE= The subscription has been created with an associated customer and is already active.TRIALING= The subscription is inside a plan’s leading trial phase (seeplan_id/current_phase). Transitions toACTIVEautomatically once the trial ends — this is webhooked like any other status change.PAUSED= The subscription has been paused and can be reactivated.COMPLETED= The subscription is completed because it reached the end date and time.CANCELED= Subscription canceled. Seecancellation_sourcefor what triggered it.
enum
What caused the subscription to be canceled. Only set once the subscription reaches
CANCELED; null otherwise.Possible values:MERCHANT= You canceled the subscription, through Cancel Subscription or the dashboard.SYSTEM= Yuno canceled the subscription automatically. This includes a subscription created withinitial_payment_validation: truewhose first payment did not succeed.PLAN_CHANGE= The subscription was replaced as part of a plan change. A new subscription continues the customer’s billing under the new plan.RETRIES_EXHAUSTED= Retries for a billing cycle ended without a successful payment while the subscription hadretries.cancel_on_exhausted_retriesset totrue. See Retries.
Treat this field as open-ended. New values can be introduced as Yuno adds cancellation behaviors, so handle an unrecognized value gracefully rather than switching exhaustively over the list above.
RETRIES_EXHAUSTED is the most recent addition.string
The unique identifier of the plan this subscription was created from, if any (MAX 64; MIN 36). Only present when the subscription is linked to a plan — absent (not
null) for subscriptions created with a raw amount/frequency instead of a plan_id.Example: 00000000-0000-4000-8000-000000000001Timestamp
When the subscription is linked to a plan, the moment the plan was attached — at creation from a plan, migration onto a plan, or a plan change. Only present on plan-linked subscriptions.
string
When this subscription was created by a plan change (switching an existing subscription to a different plan), this is the
id of the subscription it replaced. Only present in that case.Scheduled changes made with the plan_change object on Update Subscription apply in place and never set this field.enum
Which phase of the linked plan’s trial ladder the subscription is currently in. Only present on plan-linked subscriptions. Absent as well when the subscription was created by a plan change with
skip_trial: true — that subscription is plan-linked and its plan has phases, but it never enters the ladder.Possible values: TRIAL, REGULAR.array of objects
The plan’s leading TRIAL phases, snapshotted for this subscriber’s country at creation time. Only present on plan-linked subscriptions whose plan has phases. Absent as well when the subscription was created by a plan change with
skip_trial: true — that subscription is plan-linked and its plan has phases, but it never enters the ladder.object
Specifies the subscription amount object, with the value and currency.
object
The frequency defined for the payment subscription. If not set, defaults are MONTH for type and 1 for value.
object
Specifies the billing_cycles object.
Timestamp
The start of the billing period currently in progress — the timestamp of that cycle’s first (non-retry) payment attempt. Zero-amount cycles, such as a free trial phase, open a period the same way even though no charge is sent.Returned only by Retrieve Subscription —
GET /v1/subscriptions/{subscription_id} — and only once the first cycle has been charged. Every other response omits the pair regardless of how many cycles have been charged: create, update, pause, resume, cancel and retry. It is never populated on subscription list responses or on webhook payloads.On REST responses the keys are omitted entirely when unresolved; webhook payloads may carry them as null. Treat null and missing as the same thing.Example: 2023-01-16T20:00:00.912480ZTimestamp
The end of the billing period currently in progress, which is also when the next charge is scheduled. Always equal to
billing_cycles.next_at.This pair describes the period the subscription is scheduled into, not one that is necessarily paid for: if a cycle’s charge failed and its retries are still running, the window has already moved to the period that charge was meant to open.Absent under the same conditions as current_period_start; the two are always present or absent together.These values are only meaningful while the subscription is live. A CANCELED or COMPLETED subscription keeps whatever window it last had; current_period_end then refers to a charge that will not be taken, and on a completed fixed-term subscription it can fall before current_period_start.Example: 2023-02-16T20:00:00.786342Zobject
[Optional] Specifies the billing_date object. Mutually exclusive with the frequency object.
object
Specifies the customer_payer object.
object
Specifies the payment_method object.
object
Specifies the trial_period object.
object
Specifies the availability object. The dates that the subscription will be available. If null the start date will be the day of the creation and it will not have a finish date.
object
Specifies the retries object. If we need to retry declined transactions in Yuno and the amount if necessary.
bool
Flag to identify if the subscription should wait for the first payment in order to continue. False by default.Example: false
object
The plan change scheduled for the next billing cycle, or
null when none is pending. Schedule one with the plan_change block on PATCH /v1/subscriptions/{id}; undo it with "plan_change": null.A scheduled change is applied to this same subscription — no new subscription is created, and neither previous_subscription_id nor cancellation_source: PLAN_CHANGE is set.array of objects
Specifies the metadata array.
string
Links this subscription to the initial payment created with the same agreement ID. Used for tracking, reconciliation, and chargeback handling (MAX 255).The value must exactly match the
subscription_agreement_id sent in payment_method.detail.card.stored_credentials.subscription_agreement_id on the originating payment.Example: sa_6af2dfcd-44c0-4f16-a331-8bed3ed9c9faArray of strings
Specifies the payments array.Example: [“5104911d-5df9-229e-8468-bd41abea1a4s”]
This array is currently always empty in webhook payloads. Subscribe to
payment.* webhooks to track charges. For the subscription’s full charge history (amounts, provider, phase context), use List Subscription Payments instead of this field.Timestamp
Subscription creation date and time (ISO 8601 MAX 27; MIN 27).Example: 2023-12-16T20:46:54.786342Z
Timestamp
Subscription last updated date and time (ISO 8601 MAX 27; MIN 27).Example: 2023-12-16T21:00:54.786342Z
object
Specifies the additional_data object. This object is not mandatory. However, if you send this information, the payment experience will be enhanced for your user.