Skip to content

Stripe: Quotes schemas

21 Stripe schemas with complete fields and constraints.

← Quotes operations · All schemas

Accept a quote — response body

FieldTypePresenceDescription and constraints
$objectRootA Quote is a way to model prices that you'd like to provide to a customer.
Once accepted, it will automatically create an invoice, subscription or subscription schedule.
amount_subtotalJSONRequired within parent
amount_subtotal (anyOf 1)integerAlternativeTotal before any discounts or taxes are applied.
amount_subtotal (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_totalJSONRequired within parent
amount_total (anyOf 1)integerAlternativeTotal after discounts and taxes are applied.
amount_total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
applicationJSONOptional
application (anyOf 1)JSONAlternativeID of the Connect Application that created the quote.
application (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
application (anyOf 1) (anyOf 2)ModelAlternativeExpand PostApplicationFeesIdRefund — response body — application / object: application
application (anyOf 1) (anyOf 3)ModelAlternativeExpand Accept a quote — response body — application / value / deleted: True, object: application
application (anyOf 2)nullAlternative
application_fee_amountJSONOptional
application_fee_amount (anyOf 1)JSONAlternative
application_fee_amount (anyOf 1) (anyOf 1)integerAlternativeThe 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_amount (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
application_fee_amount (anyOf 2)nullAlternative
application_fee_percentJSONOptional
application_fee_percent (anyOf 1)JSONAlternative
application_fee_percent (anyOf 1) (anyOf 1)numberAlternativeA 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.
application_fee_percent (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
application_fee_percent (anyOf 2)nullAlternative
automatic_taxModelRequired within parentExpand Accept a quote — response body — automatic tax
collection_methodstringRequired within parentEither `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`.
Known values: charge_automatically, send_invoice
computedModelRequired within parentExpand Accept a quote — response body — computed
createdJSONRequired within parent
created (anyOf 1)integerAlternativeTime at which the object was created. Measured in seconds since the Unix epoch.
Format: unix-time
created (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencyJSONOptional
currency (anyOf 1)stringAlternativeThree-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).
Maximum length: 5000
currency (anyOf 2)nullAlternative
customerJSONOptional
customer (anyOf 1)JSONAlternativeThe customer who received this quote. A customer is required to finalize the quote. Once specified, you can't change it.
customer (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
customer (anyOf 1) (anyOf 2)ModelAlternativeExpand Create a customer — response body
customer (anyOf 1) (anyOf 3)ModelAlternativeExpand Delete a customer — response body
customer (anyOf 2)nullAlternative
customer_accountJSONOptional
customer_account (anyOf 1)stringAlternativeThe 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.
Maximum length: 5000
customer_account (anyOf 2)nullAlternative
default_tax_ratesarrayOptionalThe tax rates applied to this quote.
default_tax_rates[]JSONEach item
default_tax_rates[] (anyOf 1)stringAlternativeMaximum length: 5000
default_tax_rates[] (anyOf 2)ModelAlternativeExpand Create a tax rate — response body
descriptionJSONOptional
description (anyOf 1)stringAlternativeA description that will be displayed on the quote PDF.
Maximum length: 5000
description (anyOf 2)nullAlternative
discountsarrayRequired within parentThe discounts applied to this quote.
discounts[]JSONEach item
discounts[] (anyOf 1)stringAlternativeMaximum length: 5000
discounts[] (anyOf 2)ModelAlternativeExpand Get Customers Customer Discount — response body
expires_atJSONRequired within parent
expires_at (anyOf 1)integerAlternativeThe date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
Format: unix-time
expires_at (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
footerJSONOptional
footer (anyOf 1)stringAlternativeA footer that will be displayed on the quote PDF.
Maximum length: 5000
footer (anyOf 2)nullAlternative
from_quoteJSONOptional
from_quote (anyOf 1)JSONAlternativeDetails of the quote that was cloned. See the [cloning documentation](https://docs.stripe.com/quotes/clone) for more details.
from_quote (anyOf 1) (anyOf 1)ModelAlternativeExpand Accept a quote — response body — from quote value is revision, quote
from_quote (anyOf 2)nullAlternative
headerJSONOptional
header (anyOf 1)stringAlternativeA header that will be displayed on the quote PDF.
Maximum length: 5000
header (anyOf 2)nullAlternative
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
invoiceJSONOptional
invoice (anyOf 1)JSONAlternativeThe invoice that was created from this quote.
invoice (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
invoice (anyOf 1) (anyOf 2)ModelAlternativeExpand Pay an invoice — response body
invoice (anyOf 1) (anyOf 3)ModelAlternativeExpand Delete a draft invoice — response body
invoice (anyOf 2)nullAlternative
invoice_settingsModelRequired within parentExpand Accept a quote — response body — invoice settings
line_itemsobjectOptionalA list of items the customer is being quoted for.
line_items.dataarrayRequired within parentDetails about each object.
line_items.data[]ModelEach itemExpand Retrieve a quote's line items — response body — data item
line_items.has_morebooleanRequired within parentTrue if this list has another page of items after this one that can be fetched.
line_items.objectstringRequired within parentString representing the object's type. Objects of the same type share the same value. Always has the value `list`.
Known values: list
line_items.urlstringRequired within parentThe URL where this list can be accessed.
Maximum length: 5000
livemodebooleanRequired within parentIf the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
metadataobjectRequired within parentSet 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.*stringAdditional keysMaximum length: 500
numberJSONOptional
number (anyOf 1)stringAlternativeA unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://docs.stripe.com/quotes/overview#finalize).
Maximum length: 5000
number (anyOf 2)nullAlternative
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: quote
on_behalf_ofJSONOptional
on_behalf_of (anyOf 1)JSONAlternativeThe 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.
on_behalf_of (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
on_behalf_of (anyOf 1) (anyOf 2)ModelAlternativeExpand Create an account — response body
on_behalf_of (anyOf 2)nullAlternative
statusstringRequired within parentThe status of the quote.
Known values: accepted, canceled, draft, open
status_transitionsModelRequired within parentExpand Accept a quote — response body — status transitions
subscriptionJSONOptional
subscription (anyOf 1)JSONAlternativeThe subscription that was created or updated from this quote.
subscription (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
subscription (anyOf 1) (anyOf 2)ModelAlternativeExpand Pause a subscription — response body
subscription (anyOf 2)nullAlternative
subscription_dataModelRequired within parentExpand Accept a quote — response body — subscription data
subscription_scheduleJSONOptional
subscription_schedule (anyOf 1)JSONAlternativeThe subscription schedule that was created or updated from this quote.
subscription_schedule (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
subscription_schedule (anyOf 1) (anyOf 2)ModelAlternativeExpand Cancel a schedule — response body
subscription_schedule (anyOf 2)nullAlternative
test_clockJSONOptional
test_clock (anyOf 1)JSONAlternativeID of the test clock this quote belongs to.
test_clock (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
test_clock (anyOf 1) (anyOf 2)ModelAlternativeExpand Create a test clock — response body
test_clock (anyOf 2)nullAlternative
total_detailsModelRequired within parentExpand Accept a quote — response body — total details
transfer_dataJSONOptional
transfer_data (anyOf 1)JSONAlternativeThe 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.
transfer_data (anyOf 1) (anyOf 1)ModelAlternativeExpand Accept a quote — response body — transfer data value amount, amount percent, destination
transfer_data (anyOf 2)nullAlternative

Referenced models: Create an account — response body, PostApplicationFeesIdRefund — response body — application / object: application, Create a customer — response body, Accept a quote — response body — application / value / deleted: True, object: application, Delete a customer — response body, Delete a draft invoice — response body, Get Customers Customer Discount — response body, Pay an invoice — response body, Accept a quote — response body — invoice settings, Retrieve a quote's line items — response body — data item, Accept a quote — response body — total details, Accept a quote — response body — automatic tax, Accept a quote — response body — computed, Accept a quote — response body — from quote value is revision, quote, Accept a quote — response body — status transitions, Accept a quote — response body — subscription data, Accept a quote — response body — transfer data value amount, amount percent, destination, Pause a subscription — response body, Cancel a schedule — response body, Create a tax rate — response body, Create a test clock — response body

Accept a quote — response body — application / value / deleted: True, object: application

FieldTypePresenceDescription and constraints
$objectRoot
deletedbooleanRequired within parentAlways true for a deleted object
Known values: True
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
nameJSONOptional
name (anyOf 1)stringAlternativeThe name of the application.
Maximum length: 5000
name (anyOf 2)nullAlternative
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: application

Accept a quote — response body — automatic tax

FieldTypePresenceDescription and constraints
$objectRoot
enabledbooleanRequired within parentAutomatically calculate taxes
liabilityJSONOptional
liability (anyOf 1)JSONAlternativeThe 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.
liability (anyOf 1) (anyOf 1)ModelAlternativeExpand Pay an invoice — response body — issuer
liability (anyOf 2)nullAlternative
providerJSONOptional
provider (anyOf 1)stringAlternativeThe tax provider powering automatic tax.
Maximum length: 5000
provider (anyOf 2)nullAlternative
statusJSONOptional
status (anyOf 1)stringAlternativeThe status of the most recent automated tax calculation for this quote.
Known values: complete, failed, requires_location_inputs
status (anyOf 2)nullAlternative

Referenced models: Pay an invoice — response body — issuer

Accept a quote — response body — computed

FieldTypePresenceDescription and constraints
$objectRoot
recurringJSONOptional
recurring (anyOf 1)JSONAlternativeThe 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.
recurring (anyOf 1) (anyOf 1)ModelAlternativeExpand Accept a quote — response body — computed / recurring / value / interval: day, month, week, year
recurring (anyOf 2)nullAlternative
upfrontModelRequired within parentExpand Accept a quote — response body — computed upfront

Referenced models: Accept a quote — response body — computed / recurring / value / interval: day, month, week, year, Accept a quote — response body — computed upfront

Accept a quote — response body — computed / recurring / value / interval: day, month, week, year

FieldTypePresenceDescription and constraints
$objectRoot
amount_subtotalJSONRequired within parent
amount_subtotal (anyOf 1)integerAlternativeTotal before any discounts or taxes are applied.
amount_subtotal (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_totalJSONRequired within parent
amount_total (anyOf 1)integerAlternativeTotal after discounts and taxes are applied.
amount_total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
intervalstringRequired within parentThe frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`.
Known values: day, month, week, year
interval_countJSONRequired within parent
interval_count (anyOf 1)integerAlternativeThe number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.
interval_count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
total_detailsModelRequired within parentExpand Accept a quote — response body — total details

Referenced models: Accept a quote — response body — total details

Accept a quote — response body — computed upfront

FieldTypePresenceDescription and constraints
$objectRoot
amount_subtotalJSONRequired within parent
amount_subtotal (anyOf 1)integerAlternativeTotal before any discounts or taxes are applied.
amount_subtotal (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_totalJSONRequired within parent
amount_total (anyOf 1)integerAlternativeTotal after discounts and taxes are applied.
amount_total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
line_itemsobjectOptionalThe 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.
line_items.dataarrayRequired within parentDetails about each object.
line_items.data[]ModelEach itemExpand Retrieve a quote's line items — response body — data item
line_items.has_morebooleanRequired within parentTrue if this list has another page of items after this one that can be fetched.
line_items.objectstringRequired within parentString representing the object's type. Objects of the same type share the same value. Always has the value `list`.
Known values: list
line_items.urlstringRequired within parentThe URL where this list can be accessed.
Maximum length: 5000
total_detailsModelRequired within parentExpand Accept a quote — response body — total details

Referenced models: Retrieve a quote's line items — response body — data item, Accept a quote — response body — total details

Accept a quote — response body — from quote value is revision, quote

FieldTypePresenceDescription and constraints
$objectRoot
is_revisionbooleanRequired within parentWhether this quote is a revision of a different quote.
quoteJSONRequired within parentThe quote that was cloned.
quote (anyOf 1)stringAlternativeMaximum length: 5000
quote (anyOf 2)ModelAlternativeExpand Accept a quote — response body

Referenced models: Accept a quote — response body

Accept a quote — response body — invoice settings

FieldTypePresenceDescription and constraints
$objectRoot
custom_fieldsJSONOptional
custom_fields (anyOf 1)arrayAlternativeA list of up to 4 custom fields to be displayed on the invoice.
custom_fields (anyOf 1)[]ModelEach itemExpand Pay an invoice — response body — custom fields Custom fields displayed on the invoice item
custom_fields (anyOf 2)nullAlternative
days_until_dueJSONOptional
days_until_due (anyOf 1)JSONAlternative
days_until_due (anyOf 1) (anyOf 1)integerAlternativeNumber of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`.
days_until_due (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
days_until_due (anyOf 2)nullAlternative
descriptionJSONOptional
description (anyOf 1)stringAlternativeAn arbitrary string attached to the object. Often useful for displaying to users.
Maximum length: 5000
description (anyOf 2)nullAlternative
footerJSONOptional
footer (anyOf 1)stringAlternativeFooter to be displayed on the invoice.
Maximum length: 5000
footer (anyOf 2)nullAlternative
issuerModelRequired within parentExpand Pay an invoice — response body — issuer

Referenced models: Pay an invoice — response body — issuer, Pay an invoice — response body — custom fields Custom fields displayed on the invoice item

Accept a quote — response body — status transitions

FieldTypePresenceDescription and constraints
$objectRoot
accepted_atJSONOptional
accepted_at (anyOf 1)JSONAlternative
accepted_at (anyOf 1) (anyOf 1)integerAlternativeThe time that the quote was accepted. Measured in seconds since Unix epoch.
Format: unix-time
accepted_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
accepted_at (anyOf 2)nullAlternative
canceled_atJSONOptional
canceled_at (anyOf 1)JSONAlternative
canceled_at (anyOf 1) (anyOf 1)integerAlternativeThe time that the quote was canceled. Measured in seconds since Unix epoch.
Format: unix-time
canceled_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
canceled_at (anyOf 2)nullAlternative
finalized_atJSONOptional
finalized_at (anyOf 1)JSONAlternative
finalized_at (anyOf 1) (anyOf 1)integerAlternativeThe time that the quote was finalized. Measured in seconds since Unix epoch.
Format: unix-time
finalized_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
finalized_at (anyOf 2)nullAlternative

Accept a quote — response body — subscription data

FieldTypePresenceDescription and constraints
$objectRoot
billing_modeModelRequired within parentExpand Accept a quote — response body — subscription data billing mode
descriptionJSONOptional
description (anyOf 1)stringAlternativeThe 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.
Maximum length: 5000
description (anyOf 2)nullAlternative
effective_dateJSONOptional
effective_date (anyOf 1)JSONAlternative
effective_date (anyOf 1) (anyOf 1)integerAlternativeWhen 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.
Format: unix-time
effective_date (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
effective_date (anyOf 2)nullAlternative
metadataJSONOptional
metadata (anyOf 1)objectAlternativeSet 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.
Additional keys: see wildcard field
metadata (anyOf 1).*stringAdditional keysMaximum length: 500
metadata (anyOf 2)nullAlternative
trial_period_daysJSONOptional
trial_period_days (anyOf 1)JSONAlternative
trial_period_days (anyOf 1) (anyOf 1)integerAlternativeInteger representing the number of trial period days before the customer is charged for the first time.
trial_period_days (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
trial_period_days (anyOf 2)nullAlternative

Referenced models: Accept a quote — response body — subscription data billing mode

Accept a quote — response body — subscription data billing mode

FieldTypePresenceDescription and constraints
$objectRootThe billing mode of the quote.
flexibleModelOptionalExpand Accept a quote — response body — subscription data billing mode flexible
typestringRequired within parentControls how prorations and invoices for subscriptions are calculated and orchestrated.
Known values: classic, flexible

Referenced models: Accept a quote — response body — subscription data billing mode flexible

Accept a quote — response body — subscription data billing mode flexible

FieldTypePresenceDescription and constraints
$objectRoot
proration_discountsstringOptionalControls how invoices and invoice items display proration amounts and discount amounts.
Known values: included, itemized

Accept a quote — response body — total details

FieldTypePresenceDescription and constraints
$objectRoot
amount_discountJSONRequired within parent
amount_discount (anyOf 1)integerAlternativeThis is the sum of all the discounts.
amount_discount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_shippingJSONOptional
amount_shipping (anyOf 1)JSONAlternative
amount_shipping (anyOf 1) (anyOf 1)integerAlternativeThis is the sum of all the shipping amounts.
amount_shipping (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_shipping (anyOf 2)nullAlternative
amount_taxJSONRequired within parent
amount_tax (anyOf 1)integerAlternativeThis is the sum of all the tax amounts.
amount_tax (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
breakdownModelOptionalExpand Accept a quote — response body — total details breakdown

Referenced models: Accept a quote — response body — total details breakdown

Accept a quote — response body — total details breakdown

FieldTypePresenceDescription and constraints
$objectRoot
discountsarrayRequired within parentThe aggregated discounts.
discounts[]ModelEach itemExpand Retrieve a quote's line items — response body — data item discounts item
taxesarrayRequired within parentThe aggregated tax amounts by rate.
taxes[]ModelEach itemExpand Retrieve a quote's line items — response body — data item taxes item

Referenced models: Retrieve a quote's line items — response body — data item discounts item, Retrieve a quote's line items — response body — data item taxes item

Accept a quote — response body — transfer data value amount, amount percent, destination

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONOptional
amount (anyOf 1)JSONAlternative
amount (anyOf 1) (anyOf 1)integerAlternativeThe 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.
amount (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount (anyOf 2)nullAlternative
amount_percentJSONOptional
amount_percent (anyOf 1)JSONAlternative
amount_percent (anyOf 1) (anyOf 1)numberAlternativeA 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.
amount_percent (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_percent (anyOf 2)nullAlternative
destinationJSONRequired within parentThe account where funds from the payment will be transferred to upon payment success.
destination (anyOf 1)stringAlternativeMaximum length: 5000
destination (anyOf 2)ModelAlternativeExpand Create an account — response body

Referenced models: Create an account — response body

Create a quote — request body — body invoice settings

FieldTypePresenceDescription and constraints
$objectRootAll invoices will be billed using the specified settings.
custom_fieldsJSONOptional
custom_fields (anyOf 1)arrayAlternative
custom_fields (anyOf 1)[]objectEach item
custom_fields (anyOf 1)[].namestringRequired within parentMaximum length: 40
custom_fields (anyOf 1)[].valuestringRequired within parentMaximum length: 140
custom_fields (anyOf 2)stringAlternativeOne of:
days_until_dueintegerOptional
descriptionJSONOptional
description (anyOf 1)stringAlternativeMaximum length: 500
description (anyOf 2)stringAlternativeOne of:
footerJSONOptional
footer (anyOf 1)stringAlternativeMaximum length: 5000
footer (anyOf 2)stringAlternativeOne of:
issuerobjectOptional
issuer.accountstringOptional
issuer.typestringRequired within parentOne of: account, self

Create a quote — request body — body line items item price data

FieldTypePresenceDescription and constraints
$objectRoot
currencystringRequired within parentFormat: currency
productstringRequired within parentMaximum length: 5000
recurringobjectOptional
recurring.intervalstringRequired within parentOne of: day, month, week, year
recurring.interval_countintegerOptional
tax_behaviorstringOptionalOne of: exclusive, inclusive, unspecified
unit_amountintegerOptional
unit_amount_decimalstringOptionalFormat: decimal

Retrieve a quote's line items — response body — data item

FieldTypePresenceDescription and constraints
$objectRootA line item.
adjustable_quantityJSONOptional
adjustable_quantity (anyOf 1)JSONAlternative
adjustable_quantity (anyOf 1) (anyOf 1)ModelAlternativeExpand Retrieve a quote's line items — response body — data item adjustable quantity value enabled, maximum, minimum
adjustable_quantity (anyOf 2)nullAlternative
amount_discountJSONRequired within parent
amount_discount (anyOf 1)integerAlternativeTotal discount amount applied. If no discounts were applied, defaults to 0.
amount_discount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_subtotalJSONRequired within parent
amount_subtotal (anyOf 1)integerAlternativeTotal before any discounts or taxes are applied.
amount_subtotal (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_taxJSONRequired within parent
amount_tax (anyOf 1)integerAlternativeTotal tax amount applied. If no tax was applied, defaults to 0.
amount_tax (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_totalJSONRequired within parent
amount_total (anyOf 1)integerAlternativeTotal after discounts and taxes.
amount_total (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-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).
Format: currency
descriptionJSONOptional
description (anyOf 1)stringAlternativeAn arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name.
Maximum length: 5000
description (anyOf 2)nullAlternative
discountsarrayOptionalThe discounts applied to the line item.
discounts[]ModelEach itemExpand Retrieve a quote's line items — response body — data item discounts item
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
metadataJSONOptional
metadata (anyOf 1)objectAlternativeSet 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).*stringAdditional keysMaximum length: 500
metadata (anyOf 2)nullAlternative
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: item
priceJSONOptional
price (anyOf 1)JSONAlternativeThe price used to generate the line item.
price (anyOf 1) (anyOf 1)ModelAlternativeExpand Create a price — response body
price (anyOf 2)nullAlternative
quantityJSONOptional
quantity (anyOf 1)JSONAlternative
quantity (anyOf 1) (anyOf 1)integerAlternativeThe quantity of products being purchased.
quantity (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
quantity (anyOf 2)nullAlternative
taxesarrayOptionalThe taxes applied to the line item.
taxes[]ModelEach itemExpand Retrieve a quote's line items — response body — data item taxes item

Referenced models: Retrieve a quote's line items — response body — data item adjustable quantity value enabled, maximum, minimum, Retrieve a quote's line items — response body — data item discounts item, Retrieve a quote's line items — response body — data item taxes item, Create a price — response body

Retrieve a quote's line items — response body — data item adjustable quantity value enabled, maximum, minimum

FieldTypePresenceDescription and constraints
$objectRoot
enabledbooleanRequired within parent
maximumJSONOptional
maximum (anyOf 1)JSONAlternative
maximum (anyOf 1) (anyOf 1)integerAlternative
maximum (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
maximum (anyOf 2)nullAlternative
minimumJSONOptional
minimum (anyOf 1)JSONAlternative
minimum (anyOf 1) (anyOf 1)integerAlternative
minimum (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
minimum (anyOf 2)nullAlternative

Retrieve a quote's line items — response body — data item discounts item

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeThe amount discounted.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
discountModelRequired within parentExpand Get Customers Customer Discount — response body

Referenced models: Get Customers Customer Discount — response body

Retrieve a quote's line items — response body — data item taxes item

FieldTypePresenceDescription and constraints
$objectRoot
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeAmount of tax applied for this rate.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
rateModelRequired within parentExpand Create a tax rate — response body
taxability_reasonJSONOptional
taxability_reason (anyOf 1)stringAlternativeThe reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
Known values: customer_exempt, not_collecting, not_subject_to_tax, not_supported, portion_product_exempt, portion_reduced_rated, portion_standard_rated, product_exempt, product_exempt_holiday, proportionally_rated, reduced_rated, reverse_charge, standard_rated, taxable_basis_reduced, zero_rated
taxability_reason (anyOf 2)nullAlternative
taxable_amountJSONOptional
taxable_amount (anyOf 1)JSONAlternative
taxable_amount (anyOf 1) (anyOf 1)integerAlternativeThe amount on which tax is calculated, in cents (or local equivalent).
taxable_amount (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
taxable_amount (anyOf 2)nullAlternative

Referenced models: Create a tax rate — response body

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.