Stripe · Schema

Quote

A 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.

CommerceFinancial ServicesFintechPaymentsT1StripeAgentic CommercePoint-of-SalePayment Processing

Properties

Name Type Description
amount_subtotal integer Total before any discounts or taxes are applied.
amount_total integer Total after discounts and taxes are applied.
application object ID of the Connect Application that created the quote.
application_fee_amount integernull 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 wit
application_fee_percent numbernull 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 a
automatic_tax object
collection_method string 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 met
computed object
created integer Time at which the object was created. Measured in seconds since the Unix epoch.
currency stringnull 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 object The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
default_tax_rates array The tax rates applied to this quote.
description stringnull A description that will be displayed on the quote PDF.
discounts array The discounts applied to this quote.
expires_at integer The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.
footer stringnull A footer that will be displayed on the quote PDF.
from_quote object Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details.
header stringnull A header that will be displayed on the quote PDF.
id string Unique identifier for the object.
invoice object The invoice that was created from this quote.
invoice_settings object
line_items object A list of items the customer is being quoted for.
livemode boolean Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
metadata object Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
number stringnull A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize).
object string String representing the object's type. Objects of the same type share the same value.
on_behalf_of object 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.
status string The status of the quote.
status_transitions object
subscription object The subscription that was created or updated from this quote.
subscription_data object
subscription_schedule object The subscription schedule that was created or updated from this quote.
test_clock object ID of the test clock this quote belongs to.
total_details object
transfer_data object 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.
View JSON Schema on GitHub

JSON Schema

stripe-quote-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-quote-schema.json",
  "title": "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-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stripe-quotes-api-openapi.yml#/components/schemas/quote",
  "properties": {
    "amount_subtotal": {
      "description": "Total before any discounts or taxes are applied.",
      "type": "integer"
    },
    "amount_total": {
      "description": "Total after discounts and taxes are applied.",
      "type": "integer"
    },
    "application": {
      "anyOf": [
        {
          "maxLength": 5000,
          "type": "string"
        },
        {
          "$ref": "#/$defs/application"
        },
        {
          "$ref": "#/$defs/deleted_application"
        }
      ],
      "description": "ID of the Connect Application that created the quote.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/$defs/application"
          },
          {
            "$ref": "#/$defs/deleted_application"
          }
        ]
      }
    },
    "application_fee_amount": {
      "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.",
      "type": [
        "integer",
        "null"
      ]
    },
    "application_fee_percent": {
      "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.",
      "type": [
        "number",
        "null"
      ]
    },
    "automatic_tax": {
      "$ref": "#/$defs/quotes_resource_automatic_tax"
    },
    "collection_method": {
      "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`.",
      "enum": [
        "charge_automatically",
        "send_invoice"
      ],
      "type": "string"
    },
    "computed": {
      "$ref": "#/$defs/quotes_resource_computed"
    },
    "created": {
      "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
      "format": "unix-time",
      "type": "integer"
    },
    "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).",
      "maxLength": 5000,
      "type": [
        "string",
        "null"
      ]
    },
    "customer": {
      "anyOf": [
        {
          "maxLength": 5000,
          "type": "string"
        },
        {
          "$ref": "#/$defs/customer"
        },
        {
          "$ref": "#/$defs/deleted_customer"
        }
      ],
      "description": "The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/$defs/customer"
          },
          {
            "$ref": "#/$defs/deleted_customer"
          }
        ]
      }
    },
    "default_tax_rates": {
      "description": "The tax rates applied to this quote.",
      "items": {
        "anyOf": [
          {
            "maxLength": 5000,
            "type": "string"
          },
          {
            "$ref": "#/$defs/tax_rate"
          }
        ],
        "x-expansionResources": {
          "oneOf": [
            {
              "$ref": "#/$defs/tax_rate"
            }
          ]
        }
      },
      "type": "array"
    },
    "description": {
      "description": "A description that will be displayed on the quote PDF.",
      "maxLength": 5000,
      "type": [
        "string",
        "null"
      ]
    },
    "discounts": {
      "description": "The discounts applied to this quote.",
      "items": {
        "anyOf": [
          {
            "maxLength": 5000,
            "type": "string"
          },
          {
            "$ref": "#/$defs/discount"
          }
        ],
        "x-expansionResources": {
          "oneOf": [
            {
              "$ref": "#/$defs/discount"
            }
          ]
        }
      },
      "type": "array"
    },
    "expires_at": {
      "description": "The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch.",
      "format": "unix-time",
      "type": "integer"
    },
    "footer": {
      "description": "A footer that will be displayed on the quote PDF.",
      "maxLength": 5000,
      "type": [
        "string",
        "null"
      ]
    },
    "from_quote": {
      "anyOf": [
        {
          "$ref": "#/$defs/quotes_resource_from_quote"
        }
      ],
      "description": "Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details."
    },
    "header": {
      "description": "A header that will be displayed on the quote PDF.",
      "maxLength": 5000,
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "description": "Unique identifier for the object.",
      "maxLength": 5000,
      "type": "string"
    },
    "invoice": {
      "anyOf": [
        {
          "maxLength": 5000,
          "type": "string"
        },
        {
          "$ref": "#/$defs/invoice"
        },
        {
          "$ref": "#/$defs/deleted_invoice"
        }
      ],
      "description": "The invoice that was created from this quote.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/$defs/invoice"
          },
          {
            "$ref": "#/$defs/deleted_invoice"
          }
        ]
      }
    },
    "invoice_settings": {
      "$ref": "#/$defs/invoice_setting_quote_setting"
    },
    "line_items": {
      "description": "A list of items the customer is being quoted for.",
      "properties": {
        "data": {
          "description": "Details about each object.",
          "items": {
            "$ref": "#/$defs/item"
          },
          "type": "array"
        },
        "has_more": {
          "description": "True if this list has another page of items after this one that can be fetched.",
          "type": "boolean"
        },
        "object": {
          "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
          "enum": [
            "list"
          ],
          "type": "string"
        },
        "url": {
          "description": "The URL where this list can be accessed.",
          "maxLength": 5000,
          "type": "string"
        }
      },
      "required": [
        "data",
        "has_more",
        "object",
        "url"
      ],
      "title": "QuotesResourceListLineItems",
      "type": "object",
      "x-expandableFields": [
        "data"
      ]
    },
    "livemode": {
      "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
      "type": "boolean"
    },
    "metadata": {
      "additionalProperties": {
        "maxLength": 500,
        "type": "string"
      },
      "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
      "type": "object"
    },
    "number": {
      "description": "A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize).",
      "maxLength": 5000,
      "type": [
        "string",
        "null"
      ]
    },
    "object": {
      "description": "String representing the object's type. Objects of the same type share the same value.",
      "enum": [
        "quote"
      ],
      "type": "string"
    },
    "on_behalf_of": {
      "anyOf": [
        {
          "maxLength": 5000,
          "type": "string"
        },
        {
          "$ref": "#/$defs/account"
        }
      ],
      "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": "#/$defs/account"
          }
        ]
      }
    },
    "status": {
      "description": "The status of the quote.",
      "enum": [
        "accepted",
        "canceled",
        "draft",
        "open"
      ],
      "type": "string",
      "x-stripeBypassValidation": true
    },
    "status_transitions": {
      "$ref": "#/$defs/quotes_resource_status_transitions"
    },
    "subscription": {
      "anyOf": [
        {
          "maxLength": 5000,
          "type": "string"
        },
        {
          "$ref": "#/$defs/subscription"
        }
      ],
      "description": "The subscription that was created or updated from this quote.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/$defs/subscription"
          }
        ]
      }
    },
    "subscription_data": {
      "$ref": "#/$defs/quotes_resource_subscription_data_subscription_data"
    },
    "subscription_schedule": {
      "anyOf": [
        {
          "maxLength": 5000,
          "type": "string"
        },
        {
          "$ref": "#/$defs/subscription_schedule"
        }
      ],
      "description": "The subscription schedule that was created or updated from this quote.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/$defs/subscription_schedule"
          }
        ]
      }
    },
    "test_clock": {
      "anyOf": [
        {
          "maxLength": 5000,
          "type": "string"
        },
        {
          "$ref": "#/$defs/test_helpers.test_clock"
        }
      ],
      "description": "ID of the test clock this quote belongs to.",
      "x-expansionResources": {
        "oneOf": [
          {
            "$ref": "#/$defs/test_helpers.test_clock"
          }
        ]
      }
    },
    "total_details": {
      "$ref": "#/$defs/quotes_resource_total_details"
    },
    "transfer_data": {
      "anyOf": [
        {
          "$ref": "#/$defs/quotes_resource_transfer_data"
        }
      ],
      "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."
    }
  },
  "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"
  ],
  "type": "object",
  "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"
  ],
  "x-resourceId": "quote",
  "$defs": {
    "account": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "application": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "customer": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "deleted_application": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "deleted_customer": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "deleted_invoice": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "discount": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "invoice": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "invoice_setting_quote_setting": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "item": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "quotes_resource_automatic_tax": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "quotes_resource_computed": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "quotes_resource_from_quote": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "quotes_resource_status_transitions": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "quotes_resource_subscription_data_subscription_data": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "quotes_resource_total_details": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "quotes_resource_transfer_data": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "subscription": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "subscription_schedule": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "tax_rate": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "test_helpers.test_clock": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stripe-quote"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.