Update a Subscription
Updates an existing subscription. All fields are optional — only provided fields are changed.
You can also review subscription state in the Merchant Dashboard.
Related guide: Subscriptions
Ending a trial early:
Pass trial_end: "now" to end a trialing subscription's trial immediately. The billing
schedule is rebuilt and the first charge fires right away.
Updating items:
Providing items replaces all existing subscription items with the new set.
- Type: stringidrequired
Subscription ID (26-character ULID).
Request body for updating an existing subscription. All fields are optional — only provided fields are changed.
- Type: stringdefault
_payment _method ID of the new default payment method.
- Type: string enumcollection
_method New payment collection method.
send_invoiceis (coming soon).values- charge
_automatically - send
_invoice
- Type: integerdays
_until _due min:1New number of days until invoice is due (for
send_invoicecollection method). - Type: booleancancel
_at _period _end If
true, the subscription remains active until the end of the current billing period, then cancels. Iffalse, re-activates a subscription that was previously set to cancel. - Type: string | null Format: date-timecancel
_at New scheduled cancellation date (ISO 8601).
- trial
_end New trial end date (ISO 8601 datetime), or
"now"to end the trial immediately. When set to"now", the billing schedule is rebuilt and the first charge fires right away.- enumconst:now
End the trial immediately.
values- now
- Type: string | null Format: date-timebilling
_cycle _anchor New billing cycle anchor date (ISO 8601).
- Type: object | null ·billing
_cycle _anchor _config Advanced billing cycle configuration. Allows precise control over when billing cycles occur. All fields are optional integers with specific ranges.
- Type: object ·trial
_settings Controls what happens when a trial period ends.
- Type: object ·cancellation
_details Details about why this subscription was cancelled.
- Type: stringon
_behalf _of New connected account ID.
- Type: string enumpayment
_behavior Controls when and how charges are collected after the update. Only
allow_incompleteanddefault_incompleteare accepted on update —error_if_incompleteandsend_invoiceare creation-only behaviors.-
allow_incomplete— without anchor: charge attempted inline immediately after the update; success →active; failure →past_due. Withbilling_cycle_anchor: charge deferred to the anchor date; success →active; failure →past_due. Up to 3 total charge attempts; exhaustion →canceled. -
default_incomplete— without anchor: charge attempted inline immediately after the update; success →active; failure →past_due. Withbilling_cycle_anchor: subscription staysincompleteuntil the anchor date; charge fires at the anchor date; success →active; failure →past_due. Up to 3 total charge attempts; exhaustion →incomplete_expired.
values- allow
_incomplete - default
_incomplete
-
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://api.paypercut.io/v1/subscriptions/01HD7M6DRKZ4Q4QEVWJB0RC1S6 \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"default_payment_method": "01NEWPAYMENTMETHODXXXXXXXX"
}'
{
"id": "01HD7M6DRKZ4Q4QEVWJB0RC1S6",
"customer": "01KJQ34MWYH0TES77RDXA8T8TT",
"status": "active",
"start_date": "2026-01-01T00:00:00Z",
"next_billing_date": "2026-02-01T00:00:00Z",
"current_period_start": "2026-01-01T00:00:00Z",
"current_period_end": "2026-02-01T00:00:00Z",
"cancel_at_period_end": true,
"cancel_at": null,
"canceled_at": null,
"paused_at": null,
"trial_start": null,
"trial_end": null,
"billing_cycle_anchor": "2026-01-01T00:00:00Z",
"collection_method": "charge_automatically",
"days_until_due": null,
"default_payment_method": "01NEWPAYMENTMETHODXXXXXXXX",
"currency": "USD",
"livemode": false,
"ended_at": null,
"cancellation_details": null,
"items": [
{
"id": "01XXXXXXXXXXXXXXXXXXXXXXX",
"price": "01XXXXXXXXXXXXXXXXXXXXXXX",
"product": "01XXXXXXXXXXXXXXXXXXXXXXX",
"quantity": 1,
"billing_interval": "monthly",
"unit_amount": 2999,
"currency": "USD",
"recurring": {
"interval": "monthly",
"interval_count": 1,
"usage_type": "licensed"
},
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-15T00:00:00Z"
}
],
"created": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-15T00:00:00Z"
}
