Stripe: Billing portal schemas
26 Stripe schemas with complete fields and constraints.
← Billing portal operations · All schemas
Create a portal configuration — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A portal configuration describes the functionality and behavior you embed in a portal session. Related guide: [Configure the customer portal](/customer-management/configure-portal). |
active | boolean | Required within parent | Whether the configuration is active and can be used to create portal sessions. |
application | JSON | Optional | |
application (anyOf 1) | JSON | Alternative | ID of the Connect Application that created the configuration. |
application (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
application (anyOf 1) (anyOf 2) | Model | Alternative | Expand PostApplicationFeesIdRefund — response body — application / object: application |
application (anyOf 1) (anyOf 3) | Model | Alternative | Expand Accept a quote — response body — application / value / deleted: True, object: application |
application (anyOf 2) | null | Alternative | |
business_profile | Model | Required within parent | Expand Create a portal configuration — response body — business profile |
created | JSON | Required within parent | |
created (anyOf 1) | integer | Alternative | Time at which the object was created. Measured in seconds since the Unix epoch. Format: unix-time |
created (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
default_return_url | JSON | Optional | |
default_return_url (anyOf 1) | string | Alternative | The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overridden](https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. Maximum length: 5000 |
default_return_url (anyOf 2) | null | Alternative | |
features | Model | Required within parent | Expand Create a portal configuration — response body — features |
id | string | Required within parent | Unique identifier for the object. Maximum length: 5000 |
is_default | boolean | Required within parent | Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session. |
livemode | boolean | Required within parent | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
login_page | Model | Required within parent | Expand Create a portal configuration — response body — login page |
metadata | JSON | Optional | |
metadata (anyOf 1) | object | Alternative | Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Additional keys: see wildcard field |
metadata (anyOf 1).* | string | Additional keys | Maximum length: 500 |
metadata (anyOf 2) | null | Alternative | |
name | JSON | Optional | |
name (anyOf 1) | string | Alternative | The name of the configuration. Maximum length: 5000 |
name (anyOf 2) | null | Alternative | |
object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Known values: billing_portal.configuration |
updated | JSON | Required within parent | |
updated (anyOf 1) | integer | Alternative | Time at which the object was last updated. Measured in seconds since the Unix epoch. Format: unix-time |
updated (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Referenced models: PostApplicationFeesIdRefund — response body — application / object: application, Accept a quote — response body — application / value / deleted: True, object: application, Create a portal configuration — response body — business profile, Create a portal configuration — response body — features, Create a portal configuration — response body — login page
Create a portal configuration — response body — business profile
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
headline | JSON | Optional | |
headline (anyOf 1) | string | Alternative | The messaging shown to customers in the portal. Maximum length: 5000 |
headline (anyOf 2) | null | Alternative | |
privacy_policy_url | JSON | Optional | |
privacy_policy_url (anyOf 1) | string | Alternative | A link to the business’s publicly available privacy policy. Maximum length: 5000 |
privacy_policy_url (anyOf 2) | null | Alternative | |
terms_of_service_url | JSON | Optional | |
terms_of_service_url (anyOf 1) | string | Alternative | A link to the business’s publicly available terms of service. Maximum length: 5000 |
terms_of_service_url (anyOf 2) | null | Alternative |
Create a portal configuration — response body — features
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
customer_update | Model | Required within parent | Expand Create a portal configuration — response body — features customer update |
invoice_history | Model | Required within parent | Expand Create a portal configuration — response body — features invoice history |
payment_method_update | Model | Required within parent | Expand Create a portal configuration — response body — features payment method update |
subscription_cancel | Model | Required within parent | Expand Create a portal configuration — response body — features subscription cancel |
subscription_update | Model | Required within parent | Expand Create a portal configuration — response body — features subscription update |
Referenced models: Create a portal configuration — response body — features customer update, Create a portal configuration — response body — features invoice history, Create a portal configuration — response body — features payment method update, Create a portal configuration — response body — features subscription cancel, Create a portal configuration — response body — features subscription update
Create a portal configuration — response body — features customer update
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
allowed_updates | array | Required within parent | The types of customer updates that are supported. When empty, customers are not updateable. |
allowed_updates[] | string | Each item | Known values: address, email, name, phone, shipping, tax_id |
enabled | boolean | Required within parent | Whether the feature is enabled. |
Create a portal configuration — response body — features invoice history
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Whether the feature is enabled. |
Create a portal configuration — response body — features payment method update
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Whether the feature is enabled. |
payment_method_configuration | JSON | Optional | |
payment_method_configuration (anyOf 1) | string | Alternative | The [Payment Method Configuration](/api/payment_method_configurations) to use for this portal session. When specified, customers will be able to update their payment method to one of the options specified by the payment method configuration. If not set, the default payment method configuration is used. Maximum length: 5000 |
payment_method_configuration (anyOf 2) | null | Alternative |
Create a portal configuration — response body — features subscription cancel
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
cancellation_reason | Model | Required within parent | Expand Create a portal configuration — response body — features subscription cancel cancellation reason |
enabled | boolean | Required within parent | Whether the feature is enabled. |
mode | string | Required within parent | Whether to cancel subscriptions immediately or at the end of the billing period. Known values: at_period_end, immediately |
proration_behavior | string | Required within parent | Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`. Known values: always_invoice, create_prorations, none |
Referenced models: Create a portal configuration — response body — features subscription cancel cancellation reason
Create a portal configuration — response body — features subscription cancel cancellation reason
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | Whether the feature is enabled. |
feedback_options | JSON | Optional | |
feedback_options (anyOf 1) | array | Alternative | The IDs of custom feedback options configured for this cancellation reason. |
feedback_options (anyOf 1)[] | JSON | Each item | |
feedback_options (anyOf 1)[] (anyOf 1) | string | Alternative | Maximum length: 5000 |
feedback_options (anyOf 1)[] (anyOf 2) | Model | Alternative | Expand Create a feedback option — response body |
feedback_options (anyOf 2) | null | Alternative | |
options | array | Required within parent | Which cancellation reasons will be given as options to the customer. |
options[] | string | Each item | Known values: customer_service, low_quality, missing_features, other, switched_service, too_complex, too_expensive, unused |
Referenced models: Create a feedback option — response body
Create a portal configuration — response body — features subscription update
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
billing_cycle_anchor | JSON | Optional | |
billing_cycle_anchor (anyOf 1) | string | Alternative | Determines the value to use for the billing cycle anchor on subscription updates. Valid values are `now` or `unchanged`, and the default value is `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://docs.stripe.com/billing/subscriptions/billing-cycle). Known values: now, unchanged |
billing_cycle_anchor (anyOf 2) | null | Alternative | |
default_allowed_updates | array | Required within parent | The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable. |
default_allowed_updates[] | string | Each item | Known values: price, promotion_code, quantity |
enabled | boolean | Required within parent | Whether the feature is enabled. |
products | JSON | Optional | |
products (anyOf 1) | array | Alternative | The list of up to 10 products that support subscription updates. |
products (anyOf 1)[] | Model | Each item | Expand Create a portal configuration — response body — features subscription update products array item |
products (anyOf 2) | null | Alternative | |
proration_behavior | string | Required within parent | Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. Defaults to a value of `none` if you don't set it during creation. Known values: always_invoice, create_prorations, none |
schedule_at_period_end | Model | Required within parent | Expand Create a portal configuration — response body — features subscription update schedule at period end |
trial_update_behavior | string | Required within parent | Determines how handle updates to trialing subscriptions. Valid values are `end_trial` and `continue_trial`. Defaults to a value of `end_trial` if you don't set it during creation. Known values: continue_trial, end_trial |
Referenced models: Create a portal configuration — response body — features subscription update schedule at period end, Create a portal configuration — response body — features subscription update products array item
Create a portal configuration — response body — features subscription update products array item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
adjustable_quantity | Model | Required within parent | Expand Create a portal configuration — response body — features subscription update products array item adjustable quantity |
prices | array | Required within parent | The list of price IDs which, when subscribed to, a subscription can be updated. |
prices[] | string | Each item | Maximum length: 5000 |
product | string | Required within parent | The product ID. Maximum length: 5000 |
Referenced models: Create a portal configuration — response body — features subscription update products array item adjustable quantity
Create a portal configuration — response body — features subscription update products array item adjustable quantity
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | If true, the quantity can be adjusted to any non-negative integer. |
maximum | JSON | Optional | |
maximum (anyOf 1) | JSON | Alternative | |
maximum (anyOf 1) (anyOf 1) | integer | Alternative | The maximum quantity that can be set for the product. |
maximum (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
maximum (anyOf 2) | null | Alternative | |
minimum | JSON | Required within parent | |
minimum (anyOf 1) | integer | Alternative | The minimum quantity that can be set for the product. |
minimum (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Create a portal configuration — response body — features subscription update schedule at period end
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
conditions | array | Required within parent | List of conditions. When any condition is true, an update will be scheduled at the end of the current period. |
conditions[] | Model | Each item | Expand Create a portal configuration — response body — features subscription update schedule at period end conditions item |
Referenced models: Create a portal configuration — response body — features subscription update schedule at period end conditions item
Create a portal configuration — response body — features subscription update schedule at period end conditions item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
type | string | Required within parent | The type of condition. Known values: decreasing_item_amount, shortening_interval |
Create a portal configuration — response body — login page
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
enabled | boolean | Required within parent | If `true`, a shareable `url` will be generated that will take your customers to a hosted login page for the customer portal. If `false`, the previously generated `url`, if any, will be deactivated. |
url | JSON | Optional | |
url (anyOf 1) | string | Alternative | A shareable URL to the hosted portal login page. Your customers will be able to log in with their [email](https://docs.stripe.com/api/customers/object#customer_object-email) and receive a link to their customer portal. Maximum length: 5000 |
url (anyOf 2) | null | Alternative |
Create a portal session — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | The Billing customer portal is a Stripe-hosted UI for subscription and billing management. A portal configuration describes the functionality and features that you want to provide to your customers through the portal. A portal session describes the instantiation of the customer portal for a particular customer. By visiting the session's URL, the customer can manage their subscriptions and billing details. For security reasons, sessions are short-lived and will expire if the customer does not visit the URL. Create sessions on-demand when customers intend to manage their subscriptions and billing details. Related guide: [Customer management](/customer-management) |
configuration | JSON | Required within parent | The configuration used by this session, describing the features available. |
configuration (anyOf 1) | string | Alternative | Maximum length: 5000 |
configuration (anyOf 2) | Model | Alternative | Expand Create a portal configuration — response body |
created | JSON | Required within parent | |
created (anyOf 1) | integer | Alternative | Time at which the object was created. Measured in seconds since the Unix epoch. Format: unix-time |
created (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
customer | string | Required within parent | The ID of the customer for this session. Maximum length: 5000 |
customer_account | JSON | Optional | |
customer_account (anyOf 1) | string | Alternative | The ID of the account for this session. Maximum length: 5000 |
customer_account (anyOf 2) | null | Alternative | |
flow | JSON | Optional | |
flow (anyOf 1) | JSON | Alternative | Information about a specific flow for the customer to go through. See the [docs](https://docs.stripe.com/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows. |
flow (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type |
flow (anyOf 2) | null | Alternative | |
id | string | Required within parent | Unique identifier for the object. Maximum length: 5000 |
livemode | boolean | Required within parent | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
locale | JSON | Optional | |
locale (anyOf 1) | string | Alternative | The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used. Known values: auto, bg, cs, da, de, el, en, en-AU, en-CA, en-GB, en-IE, en-IN, en-NZ, en-SG, es, es-419, et, fi, fil, fr, fr-CA, hr, hu, id, it, ja, ko, lt, lv, ms, mt, nb, nl, pl, pt, pt-BR, ro, ru, sk, sl, sv, th, tr, vi, zh, zh-HK, zh-TW |
locale (anyOf 2) | null | Alternative | |
object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Known values: billing_portal.session |
on_behalf_of | JSON | Optional | |
on_behalf_of (anyOf 1) | string | Alternative | The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://docs.stripe.com/connect/separate-charges-and-transfers#settlement-merchant). Use the [Accounts API](https://docs.stripe.com/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays. Maximum length: 5000 |
on_behalf_of (anyOf 2) | null | Alternative | |
return_url | JSON | Optional | |
return_url (anyOf 1) | string | Alternative | The URL to redirect customers to when they click on the portal's link to return to your website. Maximum length: 5000 |
return_url (anyOf 2) | null | Alternative | |
url | string | Required within parent | The short-lived URL of the session that gives customers access to the customer portal. Maximum length: 5000 |
Referenced models: Create a portal configuration — response body, Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type
Create a portal session — response body — flow / value / after_completion, customer_update, subscription_cancel, subscription_update, subscription_update_confirm, type / subscription_cancel / Configuration when `flow.type=subscription_cancel` / retention, subscription / retention / value / type: coupon offer
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
coupon_offer | JSON | Optional | |
coupon_offer (anyOf 1) | JSON | Alternative | Configuration when `retention.type=coupon_offer`. |
coupon_offer (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow / value / after_completion, customer_update, subscription_cancel, subscription_update, subscription_update_confirm, type / subscription_cancel / Configuration when `flow.type=subscription_cancel` / retention, subscription / retention / value / type: coupon offer coupon offer Configuration when `retention type=coupon offer` coupon |
coupon_offer (anyOf 2) | null | Alternative | |
type | string | Required within parent | Type of retention strategy that will be used. Known values: coupon_offer |
Create a portal session — response body — flow / value / after_completion, customer_update, subscription_cancel, subscription_update, subscription_update_confirm, type / subscription_cancel / Configuration when `flow.type=subscription_cancel` / retention, subscription / retention / value / type: coupon offer coupon offer Configuration when `retention type=coupon offer` coupon
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
coupon | string | Required within parent | The ID of the coupon to be offered. Maximum length: 5000 |
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
after_completion | Model | Required within parent | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion |
customer_update | JSON | Optional | |
customer_update (anyOf 1) | JSON | Alternative | Configuration when `flow.type=customer_update`. |
customer_update (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a Payment Method — response body — zip |
customer_update (anyOf 2) | null | Alternative | |
subscription_cancel | JSON | Optional | |
subscription_cancel (anyOf 1) | JSON | Alternative | Configuration when `flow.type=subscription_cancel`. |
subscription_cancel (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription cancel Configuration when `flow type=subscription cancel` retention, subscription |
subscription_cancel (anyOf 2) | null | Alternative | |
subscription_update | JSON | Optional | |
subscription_update (anyOf 1) | JSON | Alternative | Configuration when `flow.type=subscription_update`. |
subscription_update (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update Configuration when `flow type=subscription update` subscription |
subscription_update (anyOf 2) | null | Alternative | |
subscription_update_confirm | JSON | Optional | |
subscription_update_confirm (anyOf 1) | JSON | Alternative | Configuration when `flow.type=subscription_update_confirm`. |
subscription_update_confirm (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription |
subscription_update_confirm (anyOf 2) | null | Alternative | |
type | string | Required within parent | Type of flow that the customer will go through. Known values: customer_update, payment_method_update, subscription_cancel, subscription_update, subscription_update_confirm |
Referenced models: Create a Payment Method — response body — zip, Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion, Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription cancel Configuration when `flow type=subscription cancel` retention, subscription, Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update Configuration when `flow type=subscription update` subscription, Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
hosted_confirmation | JSON | Optional | |
hosted_confirmation (anyOf 1) | JSON | Alternative | Configuration when `after_completion.type=hosted_confirmation`. |
hosted_confirmation (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion hosted confirmation value custom message |
hosted_confirmation (anyOf 2) | null | Alternative | |
redirect | JSON | Optional | |
redirect (anyOf 1) | JSON | Alternative | Configuration when `after_completion.type=redirect`. |
redirect (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion redirect value return url |
redirect (anyOf 2) | null | Alternative | |
type | string | Required within parent | The specified type of behavior after the flow is completed. Known values: hosted_confirmation, portal_homepage, redirect |
Referenced models: Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion hosted confirmation value custom message, Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion redirect value return url
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion hosted confirmation value custom message
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
custom_message | JSON | Optional | |
custom_message (anyOf 1) | string | Alternative | A custom message to display to the customer after the flow is completed. Maximum length: 5000 |
custom_message (anyOf 2) | null | Alternative |
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type after completion redirect value return url
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
return_url | string | Required within parent | The URL the customer will be redirected to after the flow is completed. Maximum length: 5000 |
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription cancel Configuration when `flow type=subscription cancel` retention, subscription
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
retention | JSON | Optional | |
retention (anyOf 1) | JSON | Alternative | Specify a retention strategy to be used in the cancellation flow. |
retention (anyOf 1) (anyOf 1) | Model | Alternative | Expand Create a portal session — response body — flow / value / after_completion, customer_update, subscription_cancel, subscription_update, subscription_update_confirm, type / subscription_cancel / Configuration when `flow.type=subscription_cancel` / retention, subscription / retention / value / type: coupon offer |
retention (anyOf 2) | null | Alternative | |
subscription | string | Required within parent | The ID of the subscription to be canceled. Maximum length: 5000 |
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update Configuration when `flow type=subscription update` subscription
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
subscription | string | Required within parent | The ID of the subscription to be updated. Maximum length: 5000 |
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
discounts | JSON | Optional | |
discounts (anyOf 1) | array | Alternative | The coupon or promotion code to apply to this subscription update. |
discounts (anyOf 1)[] | Model | Each item | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription discounts array item |
discounts (anyOf 2) | null | Alternative | |
items | array | Required within parent | The [subscription item](https://docs.stripe.com/api/subscription_items) to be updated through this flow. Currently, only up to one may be specified and subscriptions with multiple items are not updatable. |
items[] | Model | Each item | Expand Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription items item |
subscription | string | Required within parent | The ID of the subscription to be updated. Maximum length: 5000 |
Referenced models: Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription discounts array item, Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription items item
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription discounts array item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
coupon | JSON | Optional | |
coupon (anyOf 1) | string | Alternative | The ID of the coupon to apply to this subscription update. Maximum length: 5000 |
coupon (anyOf 2) | null | Alternative | |
promotion_code | JSON | Optional | |
promotion_code (anyOf 1) | string | Alternative | The ID of a promotion code to apply to this subscription update. Maximum length: 5000 |
promotion_code (anyOf 2) | null | Alternative |
Create a portal session — response body — flow value after completion, customer update, subscription cancel, subscription update, subscription update confirm, type subscription update confirm value discounts, items, subscription items item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
id | JSON | Optional | |
id (anyOf 1) | string | Alternative | The ID of the [subscription item](https://docs.stripe.com/api/subscriptions/object#subscription_object-items-data-id) to be updated. Maximum length: 5000 |
id (anyOf 2) | null | Alternative | |
price | JSON | Optional | |
price (anyOf 1) | string | Alternative | The price the customer should subscribe to through this flow. The price must also be included in the configuration's [`features.subscription_update.products`](https://docs.stripe.com/api/customer_portal/configuration#portal_configuration_object-features-subscription_update-products). Maximum length: 5000 |
price (anyOf 2) | null | Alternative | |
quantity | JSON | Optional | |
quantity (anyOf 1) | integer | Alternative | [Quantity](https://docs.stripe.com/subscriptions/quantities) for this item that the customer should subscribe to through this flow. |
quantity (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |