Skip to content
Proud to collaborate with Microsoft for Startups

stripe.subscriptions.update_subscription ​

Update a Stripe subscription (plan change with proration)

Upgrade, downgrade, or re-flag a subscription.

Pass price_id to move the subscription onto a different plan. The current subscription item is resolved first and swapped in place, which is what makes Stripe prorate rather than start a second line item. proration_behavior defaults to create_prorations (charge or credit the difference immediately); pass none to change the plan without any proration.

Acts on the CUSTOMER'S OWN Stripe account, authenticated via the org-scoped Stripe connection selected by cloud_connection_uuid.

Inputs:

  • cloud_connection_uuid: Org-scoped Stripe connection (customer's own account).
  • subscription_id: Stripe subscription ID (sub_...).
  • price_id: New price to move the subscription onto (optional).
  • quantity: New quantity for the item (optional).
  • proration_behavior: create_prorations | none | always_invoice (default: create_prorations) (optional).
  • cancel_at_period_end: Schedule (true) or clear (false) cancellation at period end (optional).
  • metadata: Metadata keys to set (optional).

Outputs (terminal state_data):

  • subscription_id: str
  • status: str
  • price_id: str — price after the change
  • proration_behavior: str

Connection required: cloud_connection_uuid — the organization's own Stripe account credentials; there is no platform-key fallback.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-stripe
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
cloud_connection_uuiduuidYes—Org-scoped Stripe connection (customer's own account)
subscription_idstringYes—Stripe subscription ID (sub_...)
price_idstringNo—New price to move the subscription onto
quantityintegerNo—New quantity for the item
proration_behaviorstringNo—create_prorations
cancel_at_period_endbooleanNo—Schedule (true) or clear (false) cancellation at period end
metadatajsonNo—Metadata keys to set

Output Schema ​

FieldTypeRequiredDefaultDescription
subscription_idstringNo——
statusstringNo——
price_idstringNo——
proration_behaviorstringNo——
cloud_connection_uuiduuidNo——
quantityintegerNo——
cancel_at_period_endbooleanNo——
metadatajsonNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
errorstringNo——
error_typestringNo——
failed_layerintegerNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "stripe.subscriptions.update_subscription",
  "initial_data": {
    "cloud_connection_uuid": "value",
    "subscription_id": "value"
  }
}