Update Subscription

paddle.update_subscription
ActionBusiness appsconnection required

Calls the Paddle API with the connection's credentials.

Change the plan, quantity, billing date or collection of a subscription.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Paddle
Secret shape
the Paddle API key (pdl_…), or {"api_key": "…"}
Config it needs
environment, base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

14 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
subscription_id
The subscription id, prefixed sub_.
stringYes———
proration_billing_mode
How Paddle bills a mid-cycle change; required when items or dates change.
stringNo—one of "prorated_immediately", "prorated_next_billing_period", "full_immediately", "full_next_billing_period", "do_not_bill"—
items
JSON array replacing every subscription item; omitted ones are removed.
arrayNo—≥ 1 characters; array of object—
price_id
Shortcut for putting the subscription on this single price.
stringNo———
quantity
How many units of price_id the subscription should carry.
numberConditional1≥ 1; only with price_id—
next_billed_at
RFC 3339 date to move the next charge to.
stringNo———
collection_mode
automatic to charge the saved card, manual to issue invoices.
stringNo—one of "automatic", "manual"—
currency_code
Three-letter currency to bill in; Paddle only allows this on manual ones.
stringNo—3–3 characters—
customer_id
Move the subscription to a different customer.
stringNo———
address_id
Move the subscription to a different billing address.
stringNo———
business_id
Move the subscription to a different business.
stringNo———
discount_id
Apply this discount to the subscription immediately.
stringNo——dsc_01gtgztp8f4kek3yd4g1wrxw3z
on_payment_failure
Whether to keep the change when the proration payment fails.
stringNo—one of "prevent_change", "apply_change"—
custom_data
Replacement key-value data for the subscription (JSON).
objectNo———
  • At least one of discount_id, price_id, items, next_billed_at, collection_mode, currency_code, customer_id, address_id, business_id, on_payment_failure, custom_data must be set.

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "discount_id": "dsc_01gtgztp8f4kek3yd4g1wrxw3z",
  "quantity": 1
}

Output

One shape.

result

FieldTypeExample
id
The subscription id, prefixed sub_.
string—
status
active, trialing, paused, past_due or canceled.
string—
customer_id
The customer this subscription bills.
string—
currency_code
Three-letter currency this subscription bills in.
string—
collection_mode
automatic when Paddle charges, manual for an invoice.
string—
billing_cycle
interval and frequency of the recurring charge.
object—
current_billing_period
starts_at and ends_at of the period being billed.
object—
next_billed_at
RFC 3339 date of the next charge, or null.
string—
scheduled_change
A pending cancel, pause or resume, or null.
object—
items
The prices on the subscription and their quantities.
array—
{
  "billing_cycle": {},
  "collection_mode": "",
  "currency_code": "",
  "current_billing_period": {},
  "customer_id": "",
  "id": "",
  "items": [],
  "next_billed_at": "",
  "scheduled_change": {},
  "status": ""
}

Notes

  • The items list is a replacement, not a patch: send every price the subscription should keep, or Paddle removes the ones you left out.

See Update Subscription run in a workflow.

In a technical demo we add the Paddle connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.