portal_flows_flow_subscription_update
{
"type": "object",
"title": "PortalFlowsFlowSubscriptionUpdate",
"required": [
"subscription"
],
"properties": {
"subscription": {
"type": "string",
"maxLength": 5000,
"description": "The ID of the subscription to be updated."
}
},
"description": "",
"x-expandableFields": []
}
portal_flows_flow_subscription_update_confirm
{
"type": "object",
"title": "PortalFlowsFlowSubscriptionUpdateConfirm",
"required": [
"items",
"subscription"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/portal_flows_subscription_update_confirm_item"
},
"description": "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."
},
"discounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/portal_flows_subscription_update_confirm_discount"
},
"nullable": true,
"description": "The coupon or promotion code to apply to this subscription update."
},
"subscription": {
"type": "string",
"maxLength": 5000,
"description": "The ID of the subscription to be updated."
}
},
"description": "",
"x-expandableFields": [
"discounts",
"items"
]
}
portal_flows_retention
{
"type": "object",
"title": "PortalFlowsRetention",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"coupon_offer"
],
"type": "string",
"description": "Type of retention strategy that will be used."
},
"coupon_offer": {
"anyOf": [
{
"$ref": "#/components/schemas/portal_flows_coupon_offer"
}
],
"nullable": true,
"description": "Configuration when `retention.type=coupon_offer`."
}
},
"description": "",
"x-expandableFields": [
"coupon_offer"
]
}
portal_flows_subscription_update_confirm_discount
{
"type": "object",
"title": "PortalFlowsSubscriptionUpdateConfirmDiscount",
"properties": {
"coupon": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The ID of the coupon to apply to this subscription update."
},
"promotion_code": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The ID of a promotion code to apply to this subscription update."
}
},
"description": "",
"x-expandableFields": []
}
portal_flows_subscription_update_confirm_item
{
"type": "object",
"title": "PortalFlowsSubscriptionUpdateConfirmItem",
"properties": {
"id": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The ID of the [subscription item](https://docs.stripe.com/api/subscriptions/object#subscription_object-items-data-id) to be updated."
},
"price": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "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)."
},
"quantity": {
"type": "integer",
"description": "[Quantity](https://docs.stripe.com/subscriptions/quantities) for this item that the customer should subscribe to through this flow."
}
},
"description": "",
"x-expandableFields": []
}
portal_invoice_list
{
"type": "object",
"title": "PortalInvoiceList",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the feature is enabled."
}
},
"description": "",
"x-expandableFields": []
}
portal_login_page
{
"type": "object",
"title": "PortalLoginPage",
"required": [
"enabled"
],
"properties": {
"url": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "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."
},
"enabled": {
"type": "boolean",
"description": "If `true`, a shareable `url` will be generated that will take your customers to a hosted login page for the customer portal.\n\nIf `false`, the previously generated `url`, if any, will be deactivated."
}
},
"description": "",
"x-expandableFields": []
}
portal_payment_method_update
{
"type": "object",
"title": "PortalPaymentMethodUpdate",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the feature is enabled."
},
"payment_method_configuration": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "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."
}
},
"description": "",
"x-expandableFields": []
}
portal_resource_schedule_update_at_period_end
{
"type": "object",
"title": "PortalResourceScheduleUpdateAtPeriodEnd",
"required": [
"conditions"
],
"properties": {
"conditions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/portal_resource_schedule_update_at_period_end_condition"
},
"description": "List of conditions. When any condition is true, an update will be scheduled at the end of the current period."
}
},
"description": "",
"x-expandableFields": [
"conditions"
]
}
portal_resource_schedule_update_at_period_end_condition
{
"type": "object",
"title": "PortalResourceScheduleUpdateAtPeriodEndCondition",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"decreasing_item_amount",
"shortening_interval"
],
"type": "string",
"description": "The type of condition."
}
},
"description": "",
"x-expandableFields": []
}
portal_subscription_cancel
{
"type": "object",
"title": "PortalSubscriptionCancel",
"required": [
"cancellation_reason",
"enabled",
"mode",
"proration_behavior"
],
"properties": {
"mode": {
"enum": [
"at_period_end",
"immediately"
],
"type": "string",
"description": "Whether to cancel subscriptions immediately or at the end of the billing period."
},
"enabled": {
"type": "boolean",
"description": "Whether the feature is enabled."
},
"proration_behavior": {
"enum": [
"always_invoice",
"create_prorations",
"none"
],
"type": "string",
"description": "Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`."
},
"cancellation_reason": {
"$ref": "#/components/schemas/portal_subscription_cancellation_reason"
}
},
"description": "",
"x-expandableFields": [
"cancellation_reason"
]
}
portal_subscription_cancellation_reason
{
"type": "object",
"title": "PortalSubscriptionCancellationReason",
"required": [
"enabled",
"options"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the feature is enabled."
},
"options": {
"type": "array",
"items": {
"enum": [
"customer_service",
"low_quality",
"missing_features",
"other",
"switched_service",
"too_complex",
"too_expensive",
"unused"
],
"type": "string"
},
"description": "Which cancellation reasons will be given as options to the customer."
}
},
"description": "",
"x-expandableFields": []
}
portal_subscription_update
{
"type": "object",
"title": "PortalSubscriptionUpdate",
"required": [
"default_allowed_updates",
"enabled",
"proration_behavior",
"schedule_at_period_end",
"trial_update_behavior"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the feature is enabled."
},
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/portal_subscription_update_product"
},
"nullable": true,
"description": "The list of up to 10 products that support subscription updates."
},
"proration_behavior": {
"enum": [
"always_invoice",
"create_prorations",
"none"
],
"type": "string",
"description": "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."
},
"billing_cycle_anchor": {
"enum": [
"now",
"unchanged"
],
"type": "string",
"nullable": true,
"description": "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)."
},
"trial_update_behavior": {
"enum": [
"continue_trial",
"end_trial"
],
"type": "string",
"description": "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."
},
"schedule_at_period_end": {
"$ref": "#/components/schemas/portal_resource_schedule_update_at_period_end"
},
"default_allowed_updates": {
"type": "array",
"items": {
"enum": [
"price",
"promotion_code",
"quantity"
],
"type": "string"
},
"description": "The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable."
}
},
"description": "",
"x-expandableFields": [
"products",
"schedule_at_period_end"
]
}
portal_subscription_update_product
{
"type": "object",
"title": "PortalSubscriptionUpdateProduct",
"required": [
"adjustable_quantity",
"prices",
"product"
],
"properties": {
"prices": {
"type": "array",
"items": {
"type": "string",
"maxLength": 5000
},
"description": "The list of price IDs which, when subscribed to, a subscription can be updated."
},
"product": {
"type": "string",
"maxLength": 5000,
"description": "The product ID."
},
"adjustable_quantity": {
"$ref": "#/components/schemas/portal_subscription_update_product_adjustable_quantity"
}
},
"description": "",
"x-expandableFields": [
"adjustable_quantity"
]
}
portal_subscription_update_product_adjustable_quantity
{
"type": "object",
"title": "PortalSubscriptionUpdateProductAdjustableQuantity",
"required": [
"enabled",
"minimum"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "If true, the quantity can be adjusted to any non-negative integer."
},
"maximum": {
"type": "integer",
"nullable": true,
"description": "The maximum quantity that can be set for the product."
},
"minimum": {
"type": "integer",
"description": "The minimum quantity that can be set for the product."
}
},
"description": "",
"x-expandableFields": []
}
price
{
"type": "object",
"title": "Price",
"required": [
"active",
"billing_scheme",
"created",
"currency",
"id",
"livemode",
"metadata",
"object",
"product",
"type"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"type": {
"enum": [
"one_time",
"recurring"
],
"type": "string",
"description": "One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase."
},
"tiers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/price_tier"
},
"description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
},
"active": {
"type": "boolean",
"description": "Whether the price can be used for new purchases."
},
"object": {
"enum": [
"price"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"product": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/product"
},
{
"$ref": "#/components/schemas/deleted_product"
}
],
"description": "The ID of the product this price is associated with.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/product"
},
{
"$ref": "#/components/schemas/deleted_product"
}
]
}
},
"currency": {
"type": "string",
"format": "currency",
"description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)."
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"metadata": {
"type": "object",
"description": "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.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"nickname": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "A brief description of the price, hidden from customers."
},
"recurring": {
"anyOf": [
{
"$ref": "#/components/schemas/recurring"
}
],
"nullable": true,
"description": "The recurring components of a price such as `interval` and `usage_type`."
},
"lookup_key": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters."
},
"tiers_mode": {
"enum": [
"graduated",
"volume"
],
"type": "string",
"nullable": true,
"description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows."
},
"unit_amount": {
"type": "integer",
"nullable": true,
"description": "The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`."
},
"tax_behavior": {
"enum": [
"exclusive",
"inclusive",
"unspecified"
],
"type": "string",
"nullable": true,
"description": "Only required if a [default tax behavior](https://docs.stripe.com/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed."
},
"billing_scheme": {
"enum": [
"per_unit",
"tiered"
],
"type": "string",
"description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes."
},
"currency_options": {
"type": "object",
"description": "Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).",
"additionalProperties": {
"$ref": "#/components/schemas/currency_option"
}
},
"custom_unit_amount": {
"anyOf": [
{
"$ref": "#/components/schemas/custom_unit_amount"
}
],
"nullable": true,
"description": "When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links."
},
"transform_quantity": {
"anyOf": [
{
"$ref": "#/components/schemas/transform_quantity"
}
],
"nullable": true,
"description": "Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`."
},
"unit_amount_decimal": {
"type": "string",
"format": "decimal",
"nullable": true,
"description": "The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`."
}
},
"description": "Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.\n[Products](https://api.stripe.com#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has prices for $10/month, $100/year, and €9 once.\n\nRelated guides: [Set up a subscription](https://docs.stripe.com/billing/subscriptions/set-up-subscription), [create an invoice](https://docs.stripe.com/billing/invoices/create), and more about [products and prices](https://docs.stripe.com/products-prices/overview).",
"x-resourceId": "price",
"x-expandableFields": [
"currency_options",
"custom_unit_amount",
"product",
"recurring",
"tiers",
"transform_quantity"
]
}
price_tier
{
"type": "object",
"title": "PriceTier",
"properties": {
"up_to": {
"type": "integer",
"nullable": true,
"description": "Up to and including to this quantity will be contained in the tier."
},
"flat_amount": {
"type": "integer",
"nullable": true,
"description": "Price for the entire tier."
},
"unit_amount": {
"type": "integer",
"nullable": true,
"description": "Per unit price for units relevant to the tier."
},
"flat_amount_decimal": {
"type": "string",
"format": "decimal",
"nullable": true,
"description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places."
},
"unit_amount_decimal": {
"type": "string",
"format": "decimal",
"nullable": true,
"description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places."
}
},
"description": "",
"x-expandableFields": []
}
product
{
"type": "object",
"title": "Product",
"required": [
"active",
"created",
"id",
"images",
"livemode",
"marketing_features",
"metadata",
"name",
"object",
"updated"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"url": {
"type": "string",
"nullable": true,
"maxLength": 2048,
"description": "A URL of a publicly-accessible webpage for this product."
},
"name": {
"type": "string",
"maxLength": 5000,
"description": "The product's name, meant to be displayable to the customer."
},
"active": {
"type": "boolean",
"description": "Whether the product is currently available for purchase."
},
"images": {
"type": "array",
"items": {
"type": "string",
"maxLength": 5000
},
"description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
},
"object": {
"enum": [
"product"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"updated": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was last updated. Measured in seconds since the Unix epoch."
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"metadata": {
"type": "object",
"description": "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.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"tax_code": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/tax_code"
}
],
"nullable": true,
"description": "A [tax code](https://docs.stripe.com/tax/tax-categories) ID.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/tax_code"
}
]
}
},
"shippable": {
"type": "boolean",
"nullable": true,
"description": "Whether this product is shipped (i.e., physical goods)."
},
"unit_label": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal."
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes."
},
"default_price": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/price"
}
],
"nullable": true,
"description": "The ID of the [Price](https://docs.stripe.com/api/prices) object that is the default price for this product.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/price"
}
]
}
},
"marketing_features": {
"type": "array",
"items": {
"$ref": "#/components/schemas/product_marketing_feature"
},
"description": "A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://docs.stripe.com/payments/checkout/pricing-table)."
},
"package_dimensions": {
"anyOf": [
{
"$ref": "#/components/schemas/package_dimensions"
}
],
"nullable": true,
"description": "The dimensions of this product for shipping purposes."
},
"statement_descriptor": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. Only used for subscription payments."
}
},
"description": "Products describe the specific goods or services you offer to your customers.\nFor example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.\nThey can be used in conjunction with [Prices](https://api.stripe.com#prices) to configure pricing in Payment Links, Checkout, and Subscriptions.\n\nRelated guides: [Set up a subscription](https://docs.stripe.com/billing/subscriptions/set-up-subscription),\n[share a Payment Link](https://docs.stripe.com/payment-links),\n[accept payments with Checkout](https://docs.stripe.com/payments/accept-a-payment#create-product-prices-upfront),\nand more about [Products and Prices](https://docs.stripe.com/products-prices/overview)",
"x-resourceId": "product",
"x-expandableFields": [
"default_price",
"marketing_features",
"package_dimensions",
"tax_code"
]
}
product_feature
{
"type": "object",
"title": "ProductFeature",
"required": [
"entitlement_feature",
"id",
"livemode",
"object"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"object": {
"enum": [
"product_feature"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"entitlement_feature": {
"$ref": "#/components/schemas/entitlements.feature"
}
},
"description": "A product_feature represents an attachment between a feature and a product.\nWhen a product is purchased that has a feature attached, Stripe will create an entitlement to the feature for the purchasing customer.",
"x-resourceId": "product_feature",
"x-expandableFields": [
"entitlement_feature"
]
}
product_marketing_feature
{
"type": "object",
"title": "ProductMarketingFeature",
"properties": {
"name": {
"type": "string",
"maxLength": 5000,
"description": "The marketing feature name. Up to 80 characters long."
}
},
"description": "",
"x-expandableFields": []
}
promotion_code
{
"type": "object",
"title": "PromotionCode",
"required": [
"active",
"code",
"created",
"id",
"livemode",
"object",
"promotion",
"restrictions",
"times_redeemed"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"code": {
"type": "string",
"maxLength": 5000,
"description": "The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer. Valid characters are lower case letters (a-z), upper case letters (A-Z), digits (0-9), and dashes (-)."
},
"active": {
"type": "boolean",
"description": "Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid."
},
"object": {
"enum": [
"promotion_code"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"customer": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/customer"
},
{
"$ref": "#/components/schemas/deleted_customer"
}
],
"nullable": true,
"description": "The customer who can use this promotion code.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/customer"
},
{
"$ref": "#/components/schemas/deleted_customer"
}
]
}
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"metadata": {
"type": "object",
"nullable": true,
"description": "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.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"promotion": {
"$ref": "#/components/schemas/promotion_codes_resource_promotion"
},
"expires_at": {
"type": "integer",
"format": "unix-time",
"nullable": true,
"description": "Date at which the promotion code can no longer be redeemed."
},
"restrictions": {
"$ref": "#/components/schemas/promotion_codes_resource_restrictions"
},
"times_redeemed": {
"type": "integer",
"description": "Number of times this promotion code has been used."
},
"max_redemptions": {
"type": "integer",
"nullable": true,
"description": "Maximum number of times this promotion code can be redeemed."
},
"customer_account": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The account representing the customer who can use this promotion code."
}
},
"description": "A Promotion Code represents a customer-redeemable code for an underlying promotion.\nYou can create multiple codes for a single promotion.\n\nIf you enable promotion codes in your [customer portal configuration](https://docs.stripe.com/customer-management/configure-portal), then customers can redeem a code themselves when updating a subscription in the portal.\nCustomers can also view the currently active promotion codes and coupons on each of their subscriptions in the portal.",
"x-resourceId": "promotion_code",
"x-expandableFields": [
"customer",
"promotion",
"restrictions"
]
}
promotion_code_currency_option
{
"type": "object",
"title": "PromotionCodeCurrencyOption",
"required": [
"minimum_amount"
],
"properties": {
"minimum_amount": {
"type": "integer",
"description": "Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work)."
}
},
"description": "",
"x-expandableFields": []
}
promotion_codes_resource_promotion
{
"type": "object",
"title": "PromotionCodesResourcePromotion",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"coupon"
],
"type": "string",
"description": "The type of promotion."
},
"coupon": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/coupon"
}
],
"nullable": true,
"description": "If promotion `type` is `coupon`, the coupon for this promotion.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/coupon"
}
]
}
}
},
"description": "",
"x-expandableFields": [
"coupon"
]
}
promotion_codes_resource_restrictions
{
"type": "object",
"title": "PromotionCodesResourceRestrictions",
"required": [
"first_time_transaction"
],
"properties": {
"minimum_amount": {
"type": "integer",
"nullable": true,
"description": "Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work)."
},
"currency_options": {
"type": "object",
"description": "Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).",
"additionalProperties": {
"$ref": "#/components/schemas/promotion_code_currency_option"
}
},
"first_time_transaction": {
"type": "boolean",
"description": "A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices"
},
"minimum_amount_currency": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount"
}
},
"description": "",
"x-expandableFields": [
"currency_options"
]
}
proration_details
{
"type": "object",
"title": "ProrationDetails",
"required": [
"discount_amounts"
],
"properties": {
"credited_items": {
"anyOf": [
{
"$ref": "#/components/schemas/invoice_item_proration_credited_items"
}
],
"nullable": true,
"description": "For a credit proration, links to the debit invoice line items or invoice item that the credit applies to."
},
"discount_amounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/discounts_resource_discount_amount"
},
"description": "Discount amounts applied when the proration was created."
}
},
"description": "",
"x-expandableFields": [
"credited_items",
"discount_amounts"
]
}
quote
{
"type": "object",
"title": "Quote",
"required": [
"amount_subtotal",
"amount_total",
"automatic_tax",
"collection_method",
"computed",
"created",
"discounts",
"expires_at",
"id",
"invoice_settings",
"livemode",
"metadata",
"object",
"status",
"status_transitions",
"subscription_data",
"total_details"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"footer": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "A footer that will be displayed on the quote PDF."
},
"header": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "A header that will be displayed on the quote PDF."
},
"number": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://docs.stripe.com/quotes/overview#finalize)."
},
"object": {
"enum": [
"quote"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"status": {
"enum": [
"accepted",
"canceled",
"draft",
"open"
],
"type": "string",
"description": "The status of the quote.",
"x-stripeBypassValidation": true
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"invoice": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/invoice"
},
{
"$ref": "#/components/schemas/deleted_invoice"
}
],
"nullable": true,
"description": "The invoice that was created from this quote.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/invoice"
},
{
"$ref": "#/components/schemas/deleted_invoice"
}
]
}
},
"computed": {
"$ref": "#/components/schemas/quotes_resource_computed"
},
"currency": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)."
},
"customer": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/customer"
},
{
"$ref": "#/components/schemas/deleted_customer"
}
],
"nullable": true,
"description": "The customer who received this quote. A customer is required to finalize the quote. Once specified, you can't change it.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/customer"
},
{
"$ref": "#/components/schemas/deleted_customer"
}
]
}
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"metadata": {
"type": "object",
"description": "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.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"discounts": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/discount"
}
],
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/discount"
}
]
}
},
"description": "The discounts applied to this quote."
},
"expires_at": {
"type": "integer",
"format": "unix-time",
"description": "The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch."
},
"from_quote": {
"anyOf": [
{
"$ref": "#/components/schemas/quotes_resource_from_quote"
}
],
"nullable": true,
"description": "Details of the quote that was cloned. See the [cloning documentation](https://docs.stripe.com/quotes/clone) for more details."
},
"line_items": {
"type": "object",
"title": "QuotesResourceListLineItems",
"required": [
"data",
"has_more",
"object",
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 5000,
"description": "The URL where this list can be accessed."
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/item"
},
"description": "Details about each object."
},
"object": {
"enum": [
"list"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`."
},
"has_more": {
"type": "boolean",
"description": "True if this list has another page of items after this one that can be fetched."
}
},
"description": "A list of items the customer is being quoted for.",
"x-expandableFields": [
"data"
]
},
"test_clock": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/test_helpers.test_clock"
}
],
"nullable": true,
"description": "ID of the test clock this quote belongs to.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/test_helpers.test_clock"
}
]
}
},
"application": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/application"
},
{
"$ref": "#/components/schemas/deleted_application"
}
],
"nullable": true,
"description": "ID of the Connect Application that created the quote.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/application"
},
{
"$ref": "#/components/schemas/deleted_application"
}
]
}
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "A description that will be displayed on the quote PDF."
},
"amount_total": {
"type": "integer",
"description": "Total after discounts and taxes are applied."
},
"on_behalf_of": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/account"
}
],
"nullable": true,
"description": "The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/account"
}
]
}
},
"subscription": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/subscription"
}
],
"nullable": true,
"description": "The subscription that was created or updated from this quote.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/subscription"
}
]
}
},
"automatic_tax": {
"$ref": "#/components/schemas/quotes_resource_automatic_tax"
},
"total_details": {
"$ref": "#/components/schemas/quotes_resource_total_details"
},
"transfer_data": {
"anyOf": [
{
"$ref": "#/components/schemas/quotes_resource_transfer_data"
}
],
"nullable": true,
"description": "The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices."
},
"amount_subtotal": {
"type": "integer",
"description": "Total before any discounts or taxes are applied."
},
"customer_account": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The account representing the customer who received this quote. A customer or account is required to finalize the quote. Once specified, you can't change it."
},
"invoice_settings": {
"$ref": "#/components/schemas/invoice_setting_quote_setting"
},
"collection_method": {
"enum": [
"charge_automatically",
"send_invoice"
],
"type": "string",
"description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`."
},
"default_tax_rates": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/tax_rate"
}
],
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/tax_rate"
}
]
}
},
"description": "The tax rates applied to this quote."
},
"subscription_data": {
"$ref": "#/components/schemas/quotes_resource_subscription_data_subscription_data"
},
"status_transitions": {
"$ref": "#/components/schemas/quotes_resource_status_transitions"
},
"subscription_schedule": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/subscription_schedule"
}
],
"nullable": true,
"description": "The subscription schedule that was created or updated from this quote.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/subscription_schedule"
}
]
}
},
"application_fee_amount": {
"type": "integer",
"nullable": true,
"description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote."
},
"application_fee_percent": {
"type": "number",
"nullable": true,
"description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote."
}
},
"description": "A Quote is a way to model prices that you'd like to provide to a customer.\nOnce accepted, it will automatically create an invoice, subscription or subscription schedule.",
"x-resourceId": "quote",
"x-expandableFields": [
"application",
"automatic_tax",
"computed",
"customer",
"default_tax_rates",
"discounts",
"from_quote",
"invoice",
"invoice_settings",
"line_items",
"on_behalf_of",
"status_transitions",
"subscription",
"subscription_data",
"subscription_schedule",
"test_clock",
"total_details",
"transfer_data"
]
}
quotes_resource_automatic_tax
{
"type": "object",
"title": "QuotesResourceAutomaticTax",
"required": [
"enabled"
],
"properties": {
"status": {
"enum": [
"complete",
"failed",
"requires_location_inputs"
],
"type": "string",
"nullable": true,
"description": "The status of the most recent automated tax calculation for this quote."
},
"enabled": {
"type": "boolean",
"description": "Automatically calculate taxes"
},
"provider": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The tax provider powering automatic tax."
},
"liability": {
"anyOf": [
{
"$ref": "#/components/schemas/connect_account_reference"
}
],
"nullable": true,
"description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account."
}
},
"description": "",
"x-expandableFields": [
"liability"
]
}
quotes_resource_computed
{
"type": "object",
"title": "QuotesResourceComputed",
"required": [
"upfront"
],
"properties": {
"upfront": {
"$ref": "#/components/schemas/quotes_resource_upfront"
},
"recurring": {
"anyOf": [
{
"$ref": "#/components/schemas/quotes_resource_recurring"
}
],
"nullable": true,
"description": "The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices."
}
},
"description": "",
"x-expandableFields": [
"recurring",
"upfront"
]
}
quotes_resource_from_quote
{
"type": "object",
"title": "QuotesResourceFromQuote",
"required": [
"is_revision",
"quote"
],
"properties": {
"quote": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/quote"
}
],
"description": "The quote that was cloned.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/quote"
}
]
}
},
"is_revision": {
"type": "boolean",
"description": "Whether this quote is a revision of a different quote."
}
},
"description": "",
"x-expandableFields": [
"quote"
]
}
quotes_resource_recurring
{
"type": "object",
"title": "QuotesResourceRecurring",
"required": [
"amount_subtotal",
"amount_total",
"interval",
"interval_count",
"total_details"
],
"properties": {
"interval": {
"enum": [
"day",
"month",
"week",
"year"
],
"type": "string",
"description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`."
},
"amount_total": {
"type": "integer",
"description": "Total after discounts and taxes are applied."
},
"total_details": {
"$ref": "#/components/schemas/quotes_resource_total_details"
},
"interval_count": {
"type": "integer",
"description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months."
},
"amount_subtotal": {
"type": "integer",
"description": "Total before any discounts or taxes are applied."
}
},
"description": "",
"x-expandableFields": [
"total_details"
]
}
quotes_resource_status_transitions
{
"type": "object",
"title": "QuotesResourceStatusTransitions",
"properties": {
"accepted_at": {
"type": "integer",
"format": "unix-time",
"nullable": true,
"description": "The time that the quote was accepted. Measured in seconds since Unix epoch."
},
"canceled_at": {
"type": "integer",
"format": "unix-time",
"nullable": true,
"description": "The time that the quote was canceled. Measured in seconds since Unix epoch."
},
"finalized_at": {
"type": "integer",
"format": "unix-time",
"nullable": true,
"description": "The time that the quote was finalized. Measured in seconds since Unix epoch."
}
},
"description": "",
"x-expandableFields": []
}
quotes_resource_subscription_data_billing_mode
{
"type": "object",
"title": "QuotesResourceSubscriptionDataBillingMode",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"classic",
"flexible"
],
"type": "string",
"description": "Controls how prorations and invoices for subscriptions are calculated and orchestrated."
},
"flexible": {
"$ref": "#/components/schemas/subscriptions_resource_billing_mode_flexible"
}
},
"description": "The billing mode of the quote.",
"x-expandableFields": [
"flexible"
]
}
quotes_resource_subscription_data_subscription_data
{
"type": "object",
"title": "QuotesResourceSubscriptionDataSubscriptionData",
"required": [
"billing_mode"
],
"properties": {
"metadata": {
"type": "object",
"nullable": true,
"description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"description": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs."
},
"billing_mode": {
"$ref": "#/components/schemas/quotes_resource_subscription_data_billing_mode"
},
"effective_date": {
"type": "integer",
"format": "unix-time",
"nullable": true,
"description": "When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch."
},
"trial_period_days": {
"type": "integer",
"nullable": true,
"description": "Integer representing the number of trial period days before the customer is charged for the first time."
}
},
"description": "",
"x-expandableFields": [
"billing_mode"
]
}
quotes_resource_total_details
{
"type": "object",
"title": "QuotesResourceTotalDetails",
"required": [
"amount_discount",
"amount_tax"
],
"properties": {
"breakdown": {
"$ref": "#/components/schemas/quotes_resource_total_details_resource_breakdown"
},
"amount_tax": {
"type": "integer",
"description": "This is the sum of all the tax amounts."
},
"amount_discount": {
"type": "integer",
"description": "This is the sum of all the discounts."
},
"amount_shipping": {
"type": "integer",
"nullable": true,
"description": "This is the sum of all the shipping amounts."
}
},
"description": "",
"x-expandableFields": [
"breakdown"
]
}
quotes_resource_total_details_resource_breakdown
{
"type": "object",
"title": "QuotesResourceTotalDetailsResourceBreakdown",
"required": [
"discounts",
"taxes"
],
"properties": {
"taxes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/line_items_tax_amount"
},
"description": "The aggregated tax amounts by rate."
},
"discounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/line_items_discount_amount"
},
"description": "The aggregated discounts."
}
},
"description": "",
"x-expandableFields": [
"discounts",
"taxes"
]
}
quotes_resource_transfer_data
{
"type": "object",
"title": "QuotesResourceTransferData",
"required": [
"destination"
],
"properties": {
"amount": {
"type": "integer",
"nullable": true,
"description": "The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination."
},
"destination": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/account"
}
],
"description": "The account where funds from the payment will be transferred to upon payment success.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/account"
}
]
}
},
"amount_percent": {
"type": "number",
"nullable": true,
"description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount will be transferred to the destination."
}
},
"description": "",
"x-expandableFields": [
"destination"
]
}
quotes_resource_upfront
{
"type": "object",
"title": "QuotesResourceUpfront",
"required": [
"amount_subtotal",
"amount_total",
"total_details"
],
"properties": {
"line_items": {
"type": "object",
"title": "QuotesResourceListLineItems",
"required": [
"data",
"has_more",
"object",
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 5000,
"description": "The URL where this list can be accessed."
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/item"
},
"description": "Details about each object."
},
"object": {
"enum": [
"list"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`."
},
"has_more": {
"type": "boolean",
"description": "True if this list has another page of items after this one that can be fetched."
}
},
"description": "The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice.",
"x-expandableFields": [
"data"
]
},
"amount_total": {
"type": "integer",
"description": "Total after discounts and taxes are applied."
},
"total_details": {
"$ref": "#/components/schemas/quotes_resource_total_details"
},
"amount_subtotal": {
"type": "integer",
"description": "Total before any discounts or taxes are applied."
}
},
"description": "",
"x-expandableFields": [
"line_items",
"total_details"
]
}
radar.early_fraud_warning
{
"type": "object",
"title": "RadarEarlyFraudWarning",
"required": [
"actionable",
"charge",
"created",
"fraud_type",
"id",
"livemode",
"object"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"charge": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/charge"
}
],
"description": "ID of the charge this early fraud warning is for, optionally expanded.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/charge"
}
]
}
},
"object": {
"enum": [
"radar.early_fraud_warning"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"actionable": {
"type": "boolean",
"description": "An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later."
},
"fraud_type": {
"type": "string",
"maxLength": 5000,
"description": "The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`."
},
"payment_intent": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/payment_intent"
}
],
"description": "ID of the Payment Intent this early fraud warning is for, optionally expanded.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/payment_intent"
}
]
}
}
},
"description": "An early fraud warning indicates that the card issuer has notified us that a\ncharge may be fraudulent.\n\nRelated guide: [Early fraud warnings](https://docs.stripe.com/disputes/measuring#early-fraud-warnings)",
"x-resourceId": "radar.early_fraud_warning",
"x-expandableFields": [
"charge",
"payment_intent"
]
}
radar.payment_evaluation
{
"type": "object",
"title": "InsightsResourcesPaymentEvaluation",
"required": [
"created_at",
"events",
"id",
"livemode",
"object",
"recommended_action",
"signals"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/insights_resources_payment_evaluation_event"
},
"description": "Event information associated with the payment evaluation, such as refunds, dispute, early fraud warnings, or user interventions."
},
"object": {
"enum": [
"radar.payment_evaluation"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"outcome": {
"anyOf": [
{
"$ref": "#/components/schemas/insights_resources_payment_evaluation_outcome"
}
],
"nullable": true,
"description": "Indicates the final outcome for the payment evaluation."
},
"signals": {
"$ref": "#/components/schemas/insights_resources_payment_evaluation_signals"
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"metadata": {
"type": "object",
"nullable": true,
"description": "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.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"created_at": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"payment_details": {
"$ref": "#/components/schemas/insights_resources_payment_evaluation_payment_details"
},
"customer_details": {
"$ref": "#/components/schemas/insights_resources_payment_evaluation_customer_details"
},
"recommended_action": {
"enum": [
"block",
"continue"
],
"type": "string",
"description": "Recommended action based on the score of the `fraudulent_payment` signal. Possible values are `block`, `continue` and `request_three_d_secure`.",
"x-stripeBypassValidation": true
},
"client_device_metadata_details": {
"$ref": "#/components/schemas/insights_resources_payment_evaluation_client_device_metadata"
}
},
"description": "Payment Evaluations represent the risk lifecycle of an externally processed payment. It includes the Radar risk score from Stripe, payment outcome taken by the merchant or processor, and any post transaction events, such as refunds or disputes. See the [Radar API guide](/radar/multiprocessor) for integration steps.",
"x-resourceId": "radar.payment_evaluation",
"x-expandableFields": [
"client_device_metadata_details",
"customer_details",
"events",
"outcome",
"payment_details",
"signals"
]
}
radar.value_list
{
"type": "object",
"title": "RadarListList",
"required": [
"alias",
"created",
"created_by",
"id",
"item_type",
"list_items",
"livemode",
"metadata",
"name",
"object"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"name": {
"type": "string",
"maxLength": 5000,
"description": "The name of the value list."
},
"alias": {
"type": "string",
"maxLength": 5000,
"description": "The name of the value list for use in rules."
},
"object": {
"enum": [
"radar.value_list"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"metadata": {
"type": "object",
"description": "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.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"item_type": {
"enum": [
"account",
"card_bin",
"card_fingerprint",
"case_sensitive_string",
"country",
"crypto_fingerprint",
"customer_id",
"email",
"ip_address",
"sepa_debit_fingerprint",
"string",
"us_bank_account_fingerprint"
],
"type": "string",
"description": "The type of items in the value list. One of `card_fingerprint`, `card_bin`, `crypto_fingerprint`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, `customer_id`, `account`, `sepa_debit_fingerprint`, or `us_bank_account_fingerprint`."
},
"created_by": {
"type": "string",
"maxLength": 5000,
"description": "The name or email address of the user who created this value list."
},
"list_items": {
"type": "object",
"title": "RadarListListItemList",
"required": [
"data",
"has_more",
"object",
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 5000,
"description": "The URL where this list can be accessed."
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/radar.value_list_item"
},
"description": "Details about each object."
},
"object": {
"enum": [
"list"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`."
},
"has_more": {
"type": "boolean",
"description": "True if this list has another page of items after this one that can be fetched."
}
},
"description": "List of items contained within this value list.",
"x-expandableFields": [
"data"
]
}
},
"description": "Value lists allow you to group values together which can then be referenced in rules.\n\nRelated guide: [Default Stripe lists](https://docs.stripe.com/radar/lists#managing-list-items)",
"x-resourceId": "radar.value_list",
"x-expandableFields": [
"list_items"
]
}
radar.value_list_item
{
"type": "object",
"title": "RadarListListItem",
"required": [
"created",
"created_by",
"id",
"livemode",
"object",
"value",
"value_list"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"value": {
"type": "string",
"maxLength": 5000,
"description": "The value of the item."
},
"object": {
"enum": [
"radar.value_list_item"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"livemode": {
"type": "boolean",
"description": "If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`."
},
"created_by": {
"type": "string",
"maxLength": 5000,
"description": "The name or email address of the user who added this item to the value list."
},
"value_list": {
"type": "string",
"maxLength": 5000,
"description": "The identifier of the value list this item belongs to."
}
},
"description": "Value list items allow you to add specific values to a given Radar value list, which can then be used in rules.\n\nRelated guide: [Managing list items](https://docs.stripe.com/radar/lists#managing-list-items)",
"x-resourceId": "radar.value_list_item",
"x-expandableFields": []
}
radar_radar_options
{
"type": "object",
"title": "RadarRadarOptions",
"properties": {
"session": {
"type": "string",
"maxLength": 5000,
"description": "A [Radar Session](https://docs.stripe.com/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments."
}
},
"description": "Options to configure Radar. See [Radar Session](https://docs.stripe.com/radar/radar-session) for more information.",
"x-expandableFields": []
}
radar_review_resource_location
{
"type": "object",
"title": "RadarReviewResourceLocation",
"properties": {
"city": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The city where the payment originated."
},
"region": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The state/county/province/region where the payment originated."
},
"country": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Two-letter ISO code representing the country where the payment originated."
},
"latitude": {
"type": "number",
"nullable": true,
"description": "The geographic latitude where the payment originated."
},
"longitude": {
"type": "number",
"nullable": true,
"description": "The geographic longitude where the payment originated."
}
},
"description": "",
"x-expandableFields": []
}
radar_review_resource_session
{
"type": "object",
"title": "RadarReviewResourceSession",
"properties": {
"device": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Information about the device used for the browser session (e.g., `Samsung SM-G930T`)."
},
"browser": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The browser used in this browser session (e.g., `Chrome`)."
},
"version": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The version for the browser session (e.g., `61.0.3163.100`)."
},
"platform": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The platform for the browser session (e.g., `Macintosh`)."
}
},
"description": "",
"x-expandableFields": []
}
received_payment_method_details_financial_account
{
"type": "object",
"title": "received_payment_method_details_financial_account",
"required": [
"id",
"network"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "The FinancialAccount ID."
},
"network": {
"enum": [
"stripe"
],
"type": "string",
"description": "The rails the ReceivedCredit was sent over. A FinancialAccount can only send funds over `stripe`."
}
},
"description": "",
"x-expandableFields": []
}
recurring
{
"type": "object",
"title": "Recurring",
"required": [
"interval",
"interval_count",
"usage_type"
],
"properties": {
"meter": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The meter tracking the usage of a metered price"
},
"interval": {
"enum": [
"day",
"month",
"week",
"year"
],
"type": "string",
"description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`."
},
"usage_type": {
"enum": [
"licensed",
"metered"
],
"type": "string",
"description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`."
},
"interval_count": {
"type": "integer",
"description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months."
}
},
"description": "",
"x-expandableFields": []
}
refund
{
"type": "object",
"title": "Refund",
"required": [
"amount",
"created",
"currency",
"id",
"object"
],
"properties": {
"id": {
"type": "string",
"maxLength": 5000,
"description": "Unique identifier for the object."
},
"amount": {
"type": "integer",
"description": "Amount, in cents (or local equivalent)."
},
"charge": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/charge"
}
],
"nullable": true,
"description": "ID of the charge that's refunded.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/charge"
}
]
}
},
"object": {
"enum": [
"refund"
],
"type": "string",
"description": "String representing the object's type. Objects of the same type share the same value."
},
"reason": {
"enum": [
"duplicate",
"expired_uncaptured_charge",
"fraudulent",
"requested_by_customer"
],
"type": "string",
"nullable": true,
"description": "Reason for the refund, which is either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`).",
"x-stripeBypassValidation": true
},
"status": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Status of the refund. This can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Learn more about [failed refunds](https://docs.stripe.com/refunds#failed-refunds)."
},
"created": {
"type": "integer",
"format": "unix-time",
"description": "Time at which the object was created. Measured in seconds since the Unix epoch."
},
"currency": {
"type": "string",
"format": "currency",
"description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)."
},
"metadata": {
"type": "object",
"nullable": true,
"description": "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.",
"additionalProperties": {
"type": "string",
"maxLength": 500
}
},
"description": {
"type": "string",
"maxLength": 5000,
"description": "An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only)."
},
"next_action": {
"$ref": "#/components/schemas/refund_next_action"
},
"failure_reason": {
"type": "string",
"maxLength": 5000,
"description": "Provides the reason for the refund failure. Possible values are: `lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request`, or `unknown`."
},
"payment_intent": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/payment_intent"
}
],
"nullable": true,
"description": "ID of the PaymentIntent that's refunded.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/payment_intent"
}
]
}
},
"pending_reason": {
"enum": [
"charge_pending",
"insufficient_funds",
"processing"
],
"type": "string",
"description": "Provides the reason for why the refund is pending. Possible values are: `processing`, `insufficient_funds`, or `charge_pending`."
},
"receipt_number": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "This is the transaction number that appears on email receipts sent for this refund."
},
"transfer_reversal": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/transfer_reversal"
}
],
"nullable": true,
"description": "This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/transfer_reversal"
}
]
}
},
"instructions_email": {
"type": "string",
"maxLength": 5000,
"description": "For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions."
},
"balance_transaction": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/balance_transaction"
}
],
"nullable": true,
"description": "Balance transaction that describes the impact on your account balance.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/balance_transaction"
}
]
}
},
"destination_details": {
"$ref": "#/components/schemas/refund_destination_details"
},
"presentment_details": {
"$ref": "#/components/schemas/payment_flows_payment_intent_presentment_details"
},
"source_transfer_reversal": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/transfer_reversal"
}
],
"nullable": true,
"description": "The transfer reversal that's associated with the refund. Only present if the charge came from another Stripe account.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/transfer_reversal"
}
]
}
},
"failure_balance_transaction": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"$ref": "#/components/schemas/balance_transaction"
}
],
"description": "After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.",
"x-expansionResources": {
"oneOf": [
{
"$ref": "#/components/schemas/balance_transaction"
}
]
}
}
},
"description": "Refund objects allow you to refund a previously created charge that isn't\nrefunded yet. Funds are refunded to the credit or debit card that's\ninitially charged.\n\nRelated guide: [Refunds](https://docs.stripe.com/refunds)",
"x-resourceId": "refund",
"x-expandableFields": [
"balance_transaction",
"charge",
"destination_details",
"failure_balance_transaction",
"next_action",
"payment_intent",
"presentment_details",
"source_transfer_reversal",
"transfer_reversal"
]
}
refund_destination_details
{
"type": "object",
"title": "refund_destination_details",
"required": [
"type"
],
"properties": {
"eps": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"p24": {
"$ref": "#/components/schemas/refund_destination_details_p24"
},
"pix": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"zip": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"alma": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"blik": {
"$ref": "#/components/schemas/refund_destination_details_blik"
},
"card": {
"$ref": "#/components/schemas/refund_destination_details_card"
},
"type": {
"type": "string",
"maxLength": 5000,
"description": "The type of transaction-specific details of the payment method used in the refund (e.g., `card`). An additional hash is included on `destination_details` with a name matching this value. It contains information specific to the refund transaction."
},
"swish": {
"$ref": "#/components/schemas/refund_destination_details_swish"
},
"twint": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"affirm": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"alipay": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"crypto": {
"$ref": "#/components/schemas/refund_destination_details_crypto"
},
"klarna": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"mb_way": {
"$ref": "#/components/schemas/refund_destination_details_mb_way"
},
"paynow": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"paypal": {
"$ref": "#/components/schemas/refund_destination_details_paypal"
},
"sofort": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"cashapp": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"giropay": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"grabpay": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"revolut": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"scalapay": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"amazon_pay": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"multibanco": {
"$ref": "#/components/schemas/refund_destination_details_multibanco"
},
"wechat_pay": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"au_bank_transfer": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"br_bank_transfer": {
"$ref": "#/components/schemas/refund_destination_details_br_bank_transfer"
},
"eu_bank_transfer": {
"$ref": "#/components/schemas/refund_destination_details_eu_bank_transfer"
},
"gb_bank_transfer": {
"$ref": "#/components/schemas/refund_destination_details_gb_bank_transfer"
},
"jp_bank_transfer": {
"$ref": "#/components/schemas/refund_destination_details_jp_bank_transfer"
},
"mx_bank_transfer": {
"$ref": "#/components/schemas/refund_destination_details_mx_bank_transfer"
},
"nz_bank_transfer": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"th_bank_transfer": {
"$ref": "#/components/schemas/refund_destination_details_th_bank_transfer"
},
"us_bank_transfer": {
"$ref": "#/components/schemas/refund_destination_details_us_bank_transfer"
},
"afterpay_clearpay": {
"$ref": "#/components/schemas/destination_details_unimplemented"
},
"customer_cash_balance": {
"$ref": "#/components/schemas/destination_details_unimplemented"
}
},
"description": "",
"x-expandableFields": [
"affirm",
"afterpay_clearpay",
"alipay",
"alma",
"amazon_pay",
"au_bank_transfer",
"blik",
"br_bank_transfer",
"card",
"cashapp",
"crypto",
"customer_cash_balance",
"eps",
"eu_bank_transfer",
"gb_bank_transfer",
"giropay",
"grabpay",
"jp_bank_transfer",
"klarna",
"mb_way",
"multibanco",
"mx_bank_transfer",
"nz_bank_transfer",
"p24",
"paynow",
"paypal",
"pix",
"revolut",
"scalapay",
"sofort",
"swish",
"th_bank_transfer",
"twint",
"us_bank_transfer",
"wechat_pay",
"zip"
]
}
refund_destination_details_blik
{
"type": "object",
"title": "refund_destination_details_blik",
"properties": {
"reference": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The reference assigned to the refund."
},
"reference_status": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`."
},
"network_decline_code": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed."
}
},
"description": "",
"x-expandableFields": []
}
refund_destination_details_br_bank_transfer
{
"type": "object",
"title": "refund_destination_details_br_bank_transfer",
"properties": {
"reference": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "The reference assigned to the refund."
},
"reference_status": {
"type": "string",
"nullable": true,
"maxLength": 5000,
"description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`."
}
},
"description": "",
"x-expandableFields": []
}