Update Subscription

chargebee.update_subscription
ActionCRM & salesconnection required

Calls the Chargebee API with the connection's credentials.

Change the items or terms of an existing subscription.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Chargebee
Secret shape
the site API key: the raw string, {"api_key": "…"}, or the HTTP Basic pair {"username": "<api key>", "password": ""}
Config it needs
site, base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

4 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 Chargebee subscription id.
stringYes———
subscription_items
The complete new item list, as a JSON array of {"item_price_id": "…", "quantity": 1} objects. Chargebee replaces the subscription's items with what is sent.
arrayNo—≥ 1 characters; array of object[{"item_price_id":"basic-USD-monthly","quantity":1}]
extra
Any other parameter documented for this endpoint, merged into the request body. Nested objects and arrays are form-encoded the way Chargebee documents them, e.g. {"billing_address": {"city": "Walnut"}}.
objectNo——{"billing_address":{"city":"Walnut"}}
idempotency_key
A unique value sent as 'chargebee-idempotency-key' so a retry inside Chargebee's 30-minute window replays the first response instead of charging or creating twice.
stringNo—≤ 100 characters—
  • At least one of subscription_items, extra must be set.

Example configuration

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

{
  "extra": {
    "billing_address": {
      "city": "Walnut"
    }
  },
  "subscription_items": [
    {
      "item_price_id": "basic-USD-monthly",
      "quantity": 1
    }
  ]
}

Output

One shape.

result

FieldTypeExample
subscription
The subscription resource as Chargebee returned it.
object—
customer
The customer the subscription belongs to.
object—
card
The card on the customer, when one is on file.
object—
invoice
The invoice this change raised, present only when Chargebee billed immediately.
object—
unbilled_charges
Charges the change created but did not invoice yet; an empty or absent list means everything was billed.
array—
credit_notes
Credit notes Chargebee raised for the part of the term that was not used.
array—
{
  "card": {},
  "credit_notes": [],
  "customer": {},
  "invoice": {},
  "subscription": {},
  "unbilled_charges": []
}

Notes

  • The Chargebee site and API key come from the connection; every path below is relative to https://<site>.chargebee.com/api/v2.
  • POST /subscriptions/{subscription-id}/update_for_items

See Update Subscription run in a workflow.

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