Open Context Protocol is live! πŸš€ Read the launch post
getCheckoutSessions

getCheckoutSessions

List all Checkout Sessions

Details

  • Method: GET
  • Path: /v1/checkout/sessions
  • Operation ID: GetCheckoutSessions

Parameters

{
  "created": {
    "description": "Only return Checkout Sessions that were created during the given date interval.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "customer": {
    "description": "Only return the Checkout Sessions for the Customer specified.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "customer_account": {
    "description": "Only return the Checkout Sessions for the Account specified.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "customer_details": {
    "description": "Only return the Checkout Sessions for the Customer details specified.",
    "required": false,
    "location": "query",
    "type": "object"
  },
  "ending_before": {
    "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "expand": {
    "description": "Specifies which fields in the response should be expanded.",
    "required": false,
    "location": "query",
    "type": "array"
  },
  "limit": {
    "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
    "required": false,
    "location": "query",
    "type": "integer"
  },
  "payment_intent": {
    "description": "Only return the Checkout Session for the PaymentIntent specified.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "payment_link": {
    "description": "Only return the Checkout Sessions for the Payment Link specified.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "starting_after": {
    "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "status": {
    "description": "Only return the Checkout Sessions matching the given status.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "complete",
      "expired",
      "open"
    ]
  },
  "subscription": {
    "description": "Only return the Checkout Session for the subscription specified.",
    "required": false,
    "location": "query",
    "type": "string"
  }
}

Response Schema

{
  "description": "",
  "properties": {
    "data": {
      "items": {
        "description": "A Checkout Session represents your customer's session as they pay for\none-time purchases or subscriptions through [Checkout](https://docs.stripe.com/payments/checkout)\nor [Payment Links](https://docs.stripe.com/payments/payment-links). We recommend creating a\nnew Session each time your customer attempts to pay.\n\nOnce payment is successful, the Checkout Session will contain a reference\nto the [Customer](https://docs.stripe.com/api/customers), and either the successful\n[PaymentIntent](https://docs.stripe.com/api/payment_intents) or an active\n[Subscription](https://docs.stripe.com/api/subscriptions).\n\nYou can create a Checkout Session on your server and redirect to its URL\nto begin Checkout.\n\nRelated guide: [Checkout quickstart](https://docs.stripe.com/checkout/quickstart)",
        "properties": {
          "adaptive_pricing": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_adaptive_pricing"
              }
            ],
            "description": "Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing).",
            "nullable": true
          },
          "after_expiration": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_after_expiration"
              }
            ],
            "description": "When set, provides configuration for actions to take if this Checkout Session expires.",
            "nullable": true
          },
          "allow_promotion_codes": {
            "description": "Enables user redeemable promotion codes.",
            "nullable": true,
            "type": "boolean"
          },
          "amount_subtotal": {
            "description": "Total of all items before discounts or taxes are applied.",
            "nullable": true,
            "type": "integer"
          },
          "amount_total": {
            "description": "Total of all items after discounts and taxes are applied.",
            "nullable": true,
            "type": "integer"
          },
          "automatic_tax": {
            "description": "",
            "properties": {
              "enabled": {
                "description": "Indicates whether automatic tax is enabled for the session",
                "type": "boolean"
              },
              "liability": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/connect_account_reference"
                  }
                ],
                "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.",
                "nullable": true
              },
              "provider": {
                "description": "The tax provider powering automatic tax.",
                "maxLength": 5000,
                "nullable": true,
                "type": "string"
              },
              "status": {
                "description": "The status of the most recent automated tax calculation for this session.",
                "enum": [
                  "complete",
                  "failed",
                  "requires_location_inputs"
                ],
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "enabled"
            ],
            "title": "PaymentPagesCheckoutSessionAutomaticTax",
            "type": "object",
            "x-expandableFields": [
              "liability"
            ]
          },
          "billing_address_collection": {
            "description": "Describes whether Checkout should collect the customer's billing address. Defaults to `auto`.",
            "enum": [
              "auto",
              "required"
            ],
            "nullable": true,
            "type": "string"
          },
          "branding_settings": {
            "description": "",
            "properties": {
              "background_color": {
                "description": "A hex color value starting with `#` representing the background color for the Checkout Session.",
                "maxLength": 5000,
                "type": "string"
              },
              "border_style": {
                "description": "The border style for the Checkout Session. Must be one of `rounded`, `rectangular`, or `pill`.",
                "enum": [
                  "pill",
                  "rectangular",
                  "rounded"
                ],
                "type": "string"
              },
              "button_color": {
                "description": "A hex color value starting with `#` representing the button color for the Checkout Session.",
                "maxLength": 5000,
                "type": "string"
              },
              "display_name": {
                "description": "The display name shown on the Checkout Session.",
                "maxLength": 5000,
                "type": "string"
              },
              "font_family": {
                "description": "The font family for the Checkout Session. Must be one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility).",
                "maxLength": 5000,
                "type": "string"
              },
              "icon": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_pages_checkout_session_branding_settings_icon"
                  }
                ],
                "description": "The icon for the Checkout Session. You cannot set both `logo` and `icon`.",
                "nullable": true
              },
              "logo": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_pages_checkout_session_branding_settings_logo"
                  }
                ],
                "description": "The logo for the Checkout Session. You cannot set both `logo` and `icon`.",
                "nullable": true
              }
            },
            "required": [
              "background_color",
              "border_style",
              "button_color",
              "display_name",
              "font_family"
            ],
            "title": "PaymentPagesCheckoutSessionBrandingSettings",
            "type": "object",
            "x-expandableFields": [
              "icon",
              "logo"
            ]
          },
          "cancel_url": {
            "description": "If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "client_reference_id": {
            "description": "A unique string to reference the Checkout Session. This can be a\ncustomer ID, a cart ID, or similar, and can be used to reconcile the\nSession with your internal systems.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "client_secret": {
            "description": "The client secret of your Checkout Session. Applies to Checkout Sessions with `ui_mode: embedded` or `ui_mode: custom`. For `ui_mode: embedded`, the client secret is to be used when initializing Stripe.js embedded checkout.\n For `ui_mode: custom`, use the client secret with [initCheckout](https://docs.stripe.com/js/custom_checkout/init) on your front end.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "collected_information": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_collected_information"
              }
            ],
            "description": "Information about the customer collected within the Checkout Session.",
            "nullable": true
          },
          "consent": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_consent"
              }
            ],
            "description": "Results of `consent_collection` for this session.",
            "nullable": true
          },
          "consent_collection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_consent_collection"
              }
            ],
            "description": "When set, provides configuration for the Checkout Session to gather active consent from customers.",
            "nullable": true
          },
          "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).",
            "format": "currency",
            "nullable": true,
            "type": "string"
          },
          "currency_conversion": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_currency_conversion"
              }
            ],
            "description": "Currency conversion details for [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31.",
            "nullable": true
          },
          "custom_fields": {
            "description": "Collect additional information from your customer using custom fields. Up to 3 fields are supported.",
            "items": {
              "description": "",
              "properties": {
                "dropdown": {
                  "description": "",
                  "properties": {
                    "default_value": {
                      "description": "The value that will pre-fill on the payment page.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    },
                    "options": {
                      "description": "The options available for the customer to select. Up to 200 options allowed.",
                      "items": {
                        "description": "",
                        "properties": {
                          "label": {
                            "description": "The label for the option, displayed to the customer. Up to 100 characters.",
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "value": {
                            "description": "The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.",
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": [
                          "label",
                          "value"
                        ],
                        "title": "PaymentPagesCheckoutSessionCustomFieldsOption",
                        "type": "object",
                        "x-expandableFields": []
                      },
                      "type": "array"
                    },
                    "value": {
                      "description": "The option selected by the customer. This will be the `value` for the option.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    }
                  },
                  "required": [
                    "options"
                  ],
                  "title": "PaymentPagesCheckoutSessionCustomFieldsDropdown",
                  "type": "object",
                  "x-expandableFields": [
                    "options"
                  ]
                },
                "key": {
                  "description": "String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters.",
                  "maxLength": 5000,
                  "type": "string"
                },
                "label": {
                  "description": "",
                  "properties": {
                    "custom": {
                      "description": "Custom text for the label, displayed to the customer. Up to 50 characters.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "The type of the label.",
                      "enum": [
                        "custom"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "title": "PaymentPagesCheckoutSessionCustomFieldsLabel",
                  "type": "object",
                  "x-expandableFields": []
                },
                "numeric": {
                  "description": "",
                  "properties": {
                    "default_value": {
                      "description": "The value that will pre-fill the field on the payment page.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    },
                    "maximum_length": {
                      "description": "The maximum character length constraint for the customer's input.",
                      "nullable": true,
                      "type": "integer"
                    },
                    "minimum_length": {
                      "description": "The minimum character length requirement for the customer's input.",
                      "nullable": true,
                      "type": "integer"
                    },
                    "value": {
                      "description": "The value entered by the customer, containing only digits.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    }
                  },
                  "title": "PaymentPagesCheckoutSessionCustomFieldsNumeric",
                  "type": "object",
                  "x-expandableFields": []
                },
                "optional": {
                  "description": "Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.",
                  "type": "boolean"
                },
                "text": {
                  "description": "",
                  "properties": {
                    "default_value": {
                      "description": "The value that will pre-fill the field on the payment page.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    },
                    "maximum_length": {
                      "description": "The maximum character length constraint for the customer's input.",
                      "nullable": true,
                      "type": "integer"
                    },
                    "minimum_length": {
                      "description": "The minimum character length requirement for the customer's input.",
                      "nullable": true,
                      "type": "integer"
                    },
                    "value": {
                      "description": "The value entered by the customer.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    }
                  },
                  "title": "PaymentPagesCheckoutSessionCustomFieldsText",
                  "type": "object",
                  "x-expandableFields": []
                },
                "type": {
                  "description": "The type of the field.",
                  "enum": [
                    "dropdown",
                    "numeric",
                    "text"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "key",
                "label",
                "optional",
                "type"
              ],
              "title": "PaymentPagesCheckoutSessionCustomFields",
              "type": "object",
              "x-expandableFields": [
                "dropdown",
                "label",
                "numeric",
                "text"
              ]
            },
            "type": "array"
          },
          "custom_text": {
            "description": "",
            "properties": {
              "after_submit": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_pages_checkout_session_custom_text_position"
                  }
                ],
                "description": "Custom text that should be displayed after the payment confirmation button.",
                "nullable": true
              },
              "shipping_address": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_pages_checkout_session_custom_text_position"
                  }
                ],
                "description": "Custom text that should be displayed alongside shipping address collection.",
                "nullable": true
              },
              "submit": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_pages_checkout_session_custom_text_position"
                  }
                ],
                "description": "Custom text that should be displayed alongside the payment confirmation button.",
                "nullable": true
              },
              "terms_of_service_acceptance": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/payment_pages_checkout_session_custom_text_position"
                  }
                ],
                "description": "Custom text that should be displayed in place of the default terms of service agreement text.",
                "nullable": true
              }
            },
            "title": "PaymentPagesCheckoutSessionCustomText",
            "type": "object",
            "x-expandableFields": [
              "after_submit",
              "shipping_address",
              "submit",
              "terms_of_service_acceptance"
            ]
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The ID of the customer for this Session.\nFor Checkout Sessions in `subscription` mode or Checkout Sessions with `customer_creation` set as `always` in `payment` mode, Checkout\nwill create a new customer object based on information provided\nduring the payment flow unless an existing customer was provided when\nthe Session was created.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "customer_account": {
            "description": "The ID of the account for this Session.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_creation": {
            "description": "Configure whether a Checkout Session creates a Customer when the Checkout Session completes.",
            "enum": [
              "always",
              "if_required"
            ],
            "nullable": true,
            "type": "string"
          },
          "customer_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_customer_details"
              }
            ],
            "description": "The customer details including the customer's tax exempt status and the customer's tax IDs. Customer's address details are not present on Sessions in `setup` mode.",
            "nullable": true
          },
          "customer_email": {
            "description": "If provided, this value will be used when the Customer object is created.\nIf not provided, customers will be asked to enter their email address.\nUse this parameter to prefill customer data if you already have an email\non file. To access information about the customer once the payment flow is\ncomplete, use the `customer` attribute.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "discounts": {
            "description": "List of coupons and promotion codes attached to the Checkout Session.",
            "items": {
              "description": "",
              "properties": {
                "coupon": {
                  "anyOf": [
                    {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    {
                      "$ref": "#/components/schemas/coupon"
                    }
                  ],
                  "description": "Coupon attached to the Checkout Session.",
                  "nullable": true,
                  "x-expansionResources": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/coupon"
                      }
                    ]
                  }
                },
                "promotion_code": {
                  "anyOf": [
                    {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    {
                      "$ref": "#/components/schemas/promotion_code"
                    }
                  ],
                  "description": "Promotion code attached to the Checkout Session.",
                  "nullable": true,
                  "x-expansionResources": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/promotion_code"
                      }
                    ]
                  }
                }
              },
              "title": "PaymentPagesCheckoutSessionDiscount",
              "type": "object",
              "x-expandableFields": [
                "coupon",
                "promotion_code"
              ]
            },
            "nullable": true,
            "type": "array"
          },
          "excluded_payment_method_types": {
            "description": "A list of the types of payment methods (e.g., `card`) that should be excluded from this Checkout Session. This should only be used when payment methods for this Checkout Session are managed through the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods).",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "expires_at": {
            "description": "The timestamp at which the Checkout Session will expire.",
            "format": "unix-time",
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/invoice"
              }
            ],
            "description": "ID of the invoice created by the Checkout Session, if it exists.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "invoice_creation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_invoice_creation"
              }
            ],
            "description": "Details on the state of invoice creation for the Checkout Session.",
            "nullable": true
          },
          "line_items": {
            "description": "The line items purchased by the customer.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "description": "A line item.",
                  "properties": {
                    "amount_discount": {
                      "description": "Total discount amount applied. If no discounts were applied, defaults to 0.",
                      "type": "integer"
                    },
                    "amount_subtotal": {
                      "description": "Total before any discounts or taxes are applied.",
                      "type": "integer"
                    },
                    "amount_tax": {
                      "description": "Total tax amount applied. If no tax was applied, defaults to 0.",
                      "type": "integer"
                    },
                    "amount_total": {
                      "description": "Total after discounts and taxes.",
                      "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).",
                      "format": "currency",
                      "type": "string"
                    },
                    "description": {
                      "description": "An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name.",
                      "maxLength": 5000,
                      "nullable": true,
                      "type": "string"
                    },
                    "discounts": {
                      "description": "The discounts applied to the line item.",
                      "items": {
                        "description": "",
                        "properties": {
                          "amount": {
                            "description": "The amount discounted.",
                            "type": "integer"
                          },
                          "discount": {
                            "description": "A discount represents the actual application of a [coupon](https://api.stripe.com#coupons) or [promotion code](https://api.stripe.com#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://docs.stripe.com/billing/subscriptions/discounts)",
                            "properties": {
                              "checkout_session": {
                                "description": "The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "customer": {
                                "anyOf": [
                                  {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  {
                                    "$ref": "#/components/schemas/customer"
                                  },
                                  {
                                    "$ref": "#/components/schemas/deleted_customer"
                                  }
                                ],
                                "description": "The ID of the customer associated with this discount.",
                                "nullable": true,
                                "x-expansionResources": {
                                  "oneOf": [
                                    {
                                      "$ref": "#/components/schemas/customer"
                                    },
                                    {
                                      "$ref": "#/components/schemas/deleted_customer"
                                    }
                                  ]
                                }
                              },
                              "customer_account": {
                                "description": "The ID of the account representing the customer associated with this discount.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "end": {
                                "description": "If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null.",
                                "format": "unix-time",
                                "nullable": true,
                                "type": "integer"
                              },
                              "id": {
                                "description": "The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array.",
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "invoice": {
                                "description": "The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "invoice_item": {
                                "description": "The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "object": {
                                "description": "String representing the object's type. Objects of the same type share the same value.",
                                "enum": [
                                  "discount"
                                ],
                                "type": "string"
                              },
                              "promotion_code": {
                                "anyOf": [
                                  {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  {
                                    "$ref": "#/components/schemas/promotion_code"
                                  }
                                ],
                                "description": "The promotion code applied to create this discount.",
                                "nullable": true,
                                "x-expansionResources": {
                                  "oneOf": [
                                    {
                                      "$ref": "#/components/schemas/promotion_code"
                                    }
                                  ]
                                }
                              },
                              "source": {
                                "description": "",
                                "properties": {
                                  "coupon": {
                                    "anyOf": [
                                      {
                                        "maxLength": 5000,
                                        "type": "string"
                                      },
                                      {
                                        "$ref": "#/components/schemas/coupon"
                                      }
                                    ],
                                    "description": "The coupon that was redeemed to create this discount.",
                                    "nullable": true,
                                    "x-expansionResources": {
                                      "oneOf": [
                                        {
                                          "$ref": "#/components/schemas/coupon"
                                        }
                                      ]
                                    }
                                  },
                                  "type": {
                                    "description": "The source type of the discount.",
                                    "enum": [
                                      "coupon"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type"
                                ],
                                "title": "DiscountSource",
                                "type": "object",
                                "x-expandableFields": [
                                  "coupon"
                                ]
                              },
                              "start": {
                                "description": "Date that the coupon was applied.",
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "subscription": {
                                "description": "The subscription that this coupon is applied to, if it is applied to a particular subscription.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "subscription_item": {
                                "description": "The subscription item that this coupon is applied to, if it is applied to a particular subscription item.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "object",
                              "source",
                              "start"
                            ],
                            "title": "Discount",
                            "type": "object",
                            "x-expandableFields": [
                              "customer",
                              "promotion_code",
                              "source"
                            ],
                            "x-resourceId": "discount"
                          }
                        },
                        "required": [
                          "amount",
                          "discount"
                        ],
                        "title": "LineItemsDiscountAmount",
                        "type": "object",
                        "x-expandableFields": [
                          "discount"
                        ]
                      },
                      "type": "array"
                    },
                    "id": {
                      "description": "Unique identifier for the object.",
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "metadata": {
                      "additionalProperties": {
                        "maxLength": 500,
                        "type": "string"
                      },
                      "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.",
                      "nullable": true,
                      "type": "object"
                    },
                    "object": {
                      "description": "String representing the object's type. Objects of the same type share the same value.",
                      "enum": [
                        "item"
                      ],
                      "type": "string"
                    },
                    "price": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/price"
                        }
                      ],
                      "description": "The price used to generate the line item.",
                      "nullable": true
                    },
                    "quantity": {
                      "description": "The quantity of products being purchased.",
                      "nullable": true,
                      "type": "integer"
                    },
                    "taxes": {
                      "description": "The taxes applied to the line item.",
                      "items": {
                        "description": "",
                        "properties": {
                          "amount": {
                            "description": "Amount of tax applied for this rate.",
                            "type": "integer"
                          },
                          "rate": {
                            "description": "Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](/billing/taxes/tax-rates)",
                            "properties": {
                              "active": {
                                "description": "Defaults to `true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.",
                                "type": "boolean"
                              },
                              "country": {
                                "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "created": {
                                "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "description": {
                                "description": "An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "display_name": {
                                "description": "The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.",
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "effective_percentage": {
                                "description": "Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true,\nthis percentage reflects the rate actually used to calculate tax based on the product's taxability\nand whether the user is registered to collect taxes in the corresponding jurisdiction.",
                                "nullable": true,
                                "type": "number"
                              },
                              "flat_amount": {
                                "anyOf": [
                                  {
                                    "$ref": "#/components/schemas/tax_rate_flat_amount"
                                  }
                                ],
                                "description": "The amount of the tax rate when the `rate_type` is `flat_amount`. Tax rates with `rate_type` `percentage` can vary based on the transaction, resulting in this field being `null`. This field exposes the amount and currency of the flat tax rate.",
                                "nullable": true
                              },
                              "id": {
                                "description": "Unique identifier for the object.",
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "inclusive": {
                                "description": "This specifies if the tax rate is inclusive or exclusive.",
                                "type": "boolean"
                              },
                              "jurisdiction": {
                                "description": "The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "jurisdiction_level": {
                                "description": "The level of the jurisdiction that imposes this tax rate. Will be `null` for manually defined tax rates.",
                                "enum": [
                                  "city",
                                  "country",
                                  "county",
                                  "district",
                                  "multiple",
                                  "state"
                                ],
                                "nullable": true,
                                "type": "string"
                              },
                              "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://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.",
                                "nullable": true,
                                "type": "object"
                              },
                              "object": {
                                "description": "String representing the object's type. Objects of the same type share the same value.",
                                "enum": [
                                  "tax_rate"
                                ],
                                "type": "string"
                              },
                              "percentage": {
                                "description": "Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.",
                                "type": "number"
                              },
                              "rate_type": {
                                "description": "Indicates the type of tax rate applied to the taxable amount. This value can be `null` when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax.",
                                "enum": [
                                  "flat_amount",
                                  "percentage"
                                ],
                                "nullable": true,
                                "type": "string"
                              },
                              "state": {
                                "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, \"NY\" for New York, United States.",
                                "maxLength": 5000,
                                "nullable": true,
                                "type": "string"
                              },
                              "tax_type": {
                                "description": "The high-level tax type, such as `vat` or `sales_tax`.",
                                "enum": [
                                  "amusement_tax",
                                  "communications_tax",
                                  "gst",
                                  "hst",
                                  "igst",
                                  "jct",
                                  "lease_tax",
                                  "pst",
                                  "qst",
                                  "retail_delivery_fee",
                                  "rst",
                                  "sales_tax",
                                  "service_tax",
                                  "vat"
                                ],
                                "nullable": true,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              }
                            },
                            "required": [
                              "active",
                              "created",
                              "display_name",
                              "id",
                              "inclusive",
                              "livemode",
                              "object",
                              "percentage"
                            ],
                            "title": "TaxRate",
                            "type": "object",
                            "x-expandableFields": [
                              "flat_amount"
                            ],
                            "x-resourceId": "tax_rate"
                          },
                          "taxability_reason": {
                            "description": "The 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.",
                            "enum": [
                              "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"
                            ],
                            "nullable": true,
                            "type": "string",
                            "x-stripeBypassValidation": true
                          },
                          "taxable_amount": {
                            "description": "The amount on which tax is calculated, in cents (or local equivalent).",
                            "nullable": true,
                            "type": "integer"
                          }
                        },
                        "required": [
                          "amount",
                          "rate"
                        ],
                        "title": "LineItemsTaxAmount",
                        "type": "object",
                        "x-expandableFields": [
                          "rate"
                        ]
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "amount_discount",
                    "amount_subtotal",
                    "amount_tax",
                    "amount_total",
                    "currency",
                    "id",
                    "object"
                  ],
                  "title": "LineItem",
                  "type": "object",
                  "x-expandableFields": [
                    "discounts",
                    "price",
                    "taxes"
                  ],
                  "x-resourceId": "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": "PaymentPagesCheckoutSessionListLineItems",
            "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"
          },
          "locale": {
            "description": "The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.",
            "enum": [
              "auto",
              "bg",
              "cs",
              "da",
              "de",
              "el",
              "en",
              "en-GB",
              "es",
              "es-419",
              "et",
              "fi",
              "fil",
              "fr",
              "fr-CA",
              "hr",
              "hu",
              "id",
              "it",
              "ja",
              "ko",
              "lt",
              "lv",
              "ms",
              "mt",
              "nb",
              "nl",
              "pl",
              "pt",
              "pt-BR",
              "ro",
              "ru",
              "sk",
              "sl",
              "sv",
              "th",
              "tr",
              "vi",
              "zh",
              "zh-HK",
              "zh-TW"
            ],
            "nullable": true,
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "metadata": {
            "additionalProperties": {
              "maxLength": 500,
              "type": "string"
            },
            "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.",
            "nullable": true,
            "type": "object"
          },
          "mode": {
            "description": "The mode of the Checkout Session.",
            "enum": [
              "payment",
              "setup",
              "subscription"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "name_collection": {
            "description": "",
            "properties": {
              "business": {
                "description": "",
                "properties": {
                  "enabled": {
                    "description": "Indicates whether business name collection is enabled for the session",
                    "type": "boolean"
                  },
                  "optional": {
                    "description": "Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "enabled",
                  "optional"
                ],
                "title": "PaymentPagesCheckoutSessionBusinessName",
                "type": "object",
                "x-expandableFields": []
              },
              "individual": {
                "description": "",
                "properties": {
                  "enabled": {
                    "description": "Indicates whether individual name collection is enabled for the session",
                    "type": "boolean"
                  },
                  "optional": {
                    "description": "Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.",
                    "type": "boolean"
                  }
                },
                "required": [
                  "enabled",
                  "optional"
                ],
                "title": "PaymentPagesCheckoutSessionIndividualName",
                "type": "object",
                "x-expandableFields": []
              }
            },
            "title": "PaymentPagesCheckoutSessionNameCollection",
            "type": "object",
            "x-expandableFields": [
              "business",
              "individual"
            ]
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": [
              "checkout.session"
            ],
            "type": "string"
          },
          "optional_items": {
            "description": "The optional items presented to the customer at checkout.",
            "items": {
              "description": "",
              "properties": {
                "adjustable_quantity": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/payment_pages_checkout_session_optional_item_adjustable_quantity"
                    }
                  ],
                  "nullable": true
                },
                "price": {
                  "maxLength": 5000,
                  "type": "string"
                },
                "quantity": {
                  "type": "integer"
                }
              },
              "required": [
                "price",
                "quantity"
              ],
              "title": "PaymentPagesCheckoutSessionOptionalItem",
              "type": "object",
              "x-expandableFields": [
                "adjustable_quantity"
              ]
            },
            "nullable": true,
            "type": "array"
          },
          "origin_context": {
            "description": "Where the user is coming from. This informs the optimizations that are applied to the session.",
            "enum": [
              "mobile_app",
              "web"
            ],
            "nullable": true,
            "type": "string"
          },
          "payment_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_intent"
              }
            ],
            "description": "The ID of the PaymentIntent for Checkout Sessions in `payment` mode. You can't confirm or cancel the PaymentIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://docs.stripe.com/api/checkout/sessions/expire) instead.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_intent"
                }
              ]
            }
          },
          "payment_link": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_link"
              }
            ],
            "description": "The ID of the Payment Link that created this Session.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_link"
                }
              ]
            }
          },
          "payment_method_collection": {
            "description": "Configure whether a Checkout Session should collect a payment method. Defaults to `always`.",
            "enum": [
              "always",
              "if_required"
            ],
            "nullable": true,
            "type": "string"
          },
          "payment_method_configuration_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_config_biz_payment_method_configuration_details"
              }
            ],
            "description": "Information about the payment method configuration used for this Checkout session if using dynamic payment methods.",
            "nullable": true
          },
          "payment_method_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/checkout_session_payment_method_options"
              }
            ],
            "description": "Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession.",
            "nullable": true
          },
          "payment_method_types": {
            "description": "A list of the types of payment methods (e.g. card) this Checkout\nSession is allowed to accept.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "payment_status": {
            "description": "The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`.\nYou can use this value to decide when to fulfill your customer's order.",
            "enum": [
              "no_payment_required",
              "paid",
              "unpaid"
            ],
            "type": "string"
          },
          "permissions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_permissions"
              }
            ],
            "description": "This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.\n\nFor specific permissions, please refer to their dedicated subsections, such as `permissions.update_shipping_details`.",
            "nullable": true
          },
          "phone_number_collection": {
            "description": "",
            "properties": {
              "enabled": {
                "description": "Indicates whether phone number collection is enabled for the session",
                "type": "boolean"
              }
            },
            "required": [
              "enabled"
            ],
            "title": "PaymentPagesCheckoutSessionPhoneNumberCollection",
            "type": "object",
            "x-expandableFields": []
          },
          "presentment_details": {
            "description": "",
            "properties": {
              "presentment_amount": {
                "description": "Amount intended to be collected by this payment, denominated in `presentment_currency`.",
                "type": "integer"
              },
              "presentment_currency": {
                "description": "Currency presented to the customer during payment.",
                "maxLength": 5000,
                "type": "string"
              }
            },
            "required": [
              "presentment_amount",
              "presentment_currency"
            ],
            "title": "PaymentFlowsPaymentIntentPresentmentDetails",
            "type": "object",
            "x-expandableFields": []
          },
          "recovered_from": {
            "description": "The ID of the original expired Checkout Session that triggered the recovery flow.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "redirect_on_completion": {
            "description": "This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`.",
            "enum": [
              "always",
              "if_required",
              "never"
            ],
            "type": "string"
          },
          "return_url": {
            "description": "Applies to Checkout Sessions with `ui_mode: embedded` or `ui_mode: custom`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.",
            "maxLength": 5000,
            "type": "string"
          },
          "saved_payment_method_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_saved_payment_method_options"
              }
            ],
            "description": "Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.",
            "nullable": true
          },
          "setup_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/setup_intent"
              }
            ],
            "description": "The ID of the SetupIntent for Checkout Sessions in `setup` mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://docs.stripe.com/api/checkout/sessions/expire) instead.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/setup_intent"
                }
              ]
            }
          },
          "shipping_address_collection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_shipping_address_collection"
              }
            ],
            "description": "When set, provides configuration for Checkout to collect a shipping address from a customer.",
            "nullable": true
          },
          "shipping_cost": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_shipping_cost"
              }
            ],
            "description": "The details of the customer cost of shipping, including the customer chosen ShippingRate.",
            "nullable": true
          },
          "shipping_options": {
            "description": "The shipping rate options applied to this Session.",
            "items": {
              "description": "",
              "properties": {
                "shipping_amount": {
                  "description": "A non-negative integer in cents representing how much to charge.",
                  "type": "integer"
                },
                "shipping_rate": {
                  "anyOf": [
                    {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    {
                      "$ref": "#/components/schemas/shipping_rate"
                    }
                  ],
                  "description": "The shipping rate.",
                  "x-expansionResources": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/shipping_rate"
                      }
                    ]
                  }
                }
              },
              "required": [
                "shipping_amount",
                "shipping_rate"
              ],
              "title": "PaymentPagesCheckoutSessionShippingOption",
              "type": "object",
              "x-expandableFields": [
                "shipping_rate"
              ]
            },
            "type": "array"
          },
          "status": {
            "description": "The status of the Checkout Session, one of `open`, `complete`, or `expired`.",
            "enum": [
              "complete",
              "expired",
              "open"
            ],
            "nullable": true,
            "type": "string"
          },
          "submit_type": {
            "description": "Describes the type of transaction being performed by Checkout in order to customize\nrelevant text on the page, such as the submit button. `submit_type` can only be\nspecified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used.",
            "enum": [
              "auto",
              "book",
              "donate",
              "pay",
              "subscribe"
            ],
            "nullable": true,
            "type": "string"
          },
          "subscription": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/subscription"
              }
            ],
            "description": "The ID of the [Subscription](https://docs.stripe.com/api/subscriptions) for Checkout Sessions in `subscription` mode.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/subscription"
                }
              ]
            }
          },
          "success_url": {
            "description": "The URL the customer will be directed to after the payment or\nsubscription creation is successful.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "tax_id_collection": {
            "description": "",
            "properties": {
              "enabled": {
                "description": "Indicates whether tax ID collection is enabled for the session",
                "type": "boolean"
              },
              "required": {
                "description": "Indicates whether a tax ID is required on the payment page",
                "enum": [
                  "if_supported",
                  "never"
                ],
                "type": "string"
              }
            },
            "required": [
              "enabled",
              "required"
            ],
            "title": "PaymentPagesCheckoutSessionTaxIDCollection",
            "type": "object",
            "x-expandableFields": []
          },
          "total_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_total_details"
              }
            ],
            "description": "Tax and discount details for the computed total amount.",
            "nullable": true
          },
          "ui_mode": {
            "description": "The UI mode of the Session. Defaults to `hosted`.",
            "enum": [
              "custom",
              "embedded",
              "hosted"
            ],
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "The URL to the Checkout Session. Applies to Checkout Sessions with `ui_mode: hosted`. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://docs.stripe.com/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.`\nThis value is only present when the session is active.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "wallet_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/checkout_session_wallet_options"
              }
            ],
            "description": "Wallet-specific configuration for this Checkout Session.",
            "nullable": true
          }
        },
        "required": [
          "automatic_tax",
          "created",
          "custom_fields",
          "custom_text",
          "expires_at",
          "id",
          "livemode",
          "mode",
          "object",
          "payment_method_types",
          "payment_status",
          "shipping_options"
        ],
        "title": "Session",
        "type": "object",
        "x-expandableFields": [
          "adaptive_pricing",
          "after_expiration",
          "automatic_tax",
          "branding_settings",
          "collected_information",
          "consent",
          "consent_collection",
          "currency_conversion",
          "custom_fields",
          "custom_text",
          "customer",
          "customer_details",
          "discounts",
          "invoice",
          "invoice_creation",
          "line_items",
          "name_collection",
          "optional_items",
          "payment_intent",
          "payment_link",
          "payment_method_configuration_details",
          "payment_method_options",
          "permissions",
          "phone_number_collection",
          "presentment_details",
          "saved_payment_method_options",
          "setup_intent",
          "shipping_address_collection",
          "shipping_cost",
          "shipping_options",
          "subscription",
          "tax_id_collection",
          "total_details",
          "wallet_options"
        ],
        "x-resourceId": "checkout.session"
      },
      "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": "PaymentPagesCheckoutSessionList",
  "type": "object",
  "x-expandableFields": [
    "data"
  ]
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('stripe')

# Call this tool
result = await agent.call_tool('getCheckoutSessions', {
    # Add required parameters here
})