Stripe · Schema

ProductList

CommerceFinancial ServicesFintechPaymentsT1StripeAgentic CommercePoint-of-SalePayment Processing

Properties

Name Type Description
data array Details about each object.
has_more boolean True if this list has another page of items after this one that can be fetched.
object string String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
url string The URL where this list can be accessed.
View JSON Schema on GitHub

JSON Schema

stripe-product-list-schema.json Raw ↑
{
  "$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
    }
  }
}

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-product-list"
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.