{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-product-list-schema.json", "title": "ProductList", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/stripe-products-api-openapi.yml#/components/schemas/ProductList", "type": "object", "required": [ "data", "has_more", "object", "url" ], "properties": { "data": { "description": "Details about each object.", "items": { "$ref": "#/$defs/product" }, "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, "pattern": "^/v1/products", "type": "string" } }, "$defs": { "package_dimensions": { "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 }, "price": { "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 }, "product": { "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://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription),\n[share a Payment Link](https://stripe.com/docs/payment-links),\n[accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront),\nand more about [Products and Prices](https://stripe.com/docs/products-prices/overview)", "properties": { "active": { "description": "Whether the product is currently available for purchase.", "type": "boolean" }, "created": { "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", "format": "unix-time", "type": "integer" }, "default_price": { "anyOf": [ { "maxLength": 5000, "type": "string" }, { "$ref": "#/$defs/price" } ], "description": "The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product.", "x-expansionResources": { "oneOf": [ { "$ref": "#/$defs/price" } ] } }, "description": { "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.", "maxLength": 5000, "type": [ "string", "null" ] }, "features": { "description": "A list of up to 15 features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table).", "items": { "$ref": "#/$defs/product_feature" }, "type": "array" }, "id": { "description": "Unique identifier for the object.", "maxLength": 5000, "type": "string" }, "images": { "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer.", "items": { "maxLength": 5000, "type": "string" }, "type": "array" }, "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" }, "name": { "description": "The product's name, meant to be displayable to the customer.", "maxLength": 5000, "type": "string" }, "object": { "description": "String representing the object's type. Objects of the same type share the same value.", "enum": [ "product" ], "type": "string" }, "package_dimensions": { "anyOf": [ { "$ref": "#/$defs/package_dimensions" } ], "description": "The dimensions of this product for shipping purposes." }, "shippable": { "description": "Whether this product is shipped (i.e., physical goods).", "type": [ "boolean", "null" ] }, "statement_descriptor": { "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.", "maxLength": 5000, "type": [ "string", "null" ] }, "tax_code": { "anyOf": [ { "maxLength": 5000, "type": "string" }, { "$ref": "#/$defs/tax_code" } ], "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID.", "x-expansionResources": { "oneOf": [ { "$ref": "#/$defs/tax_code" } ] } }, "unit_label": { "description": "A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal.", "maxLength": 5000, "type": [ "string", "null" ] }, "updated": { "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch.", "format": "unix-time", "type": "integer" }, "url": { "description": "A URL of a publicly-accessible webpage for this product.", "maxLength": 2048, "type": [ "string", "null" ] } }, "required": [ "active", "created", "features", "id", "images", "livemode", "metadata", "name", "object", "updated" ], "title": "Product", "type": "object", "x-expandableFields": [ "default_price", "features", "package_dimensions", "tax_code" ], "x-resourceId": "product" }, "product_feature": { "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_code": { "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 } } }